Skip to content

Commit 33d4751

Browse files
authored
Use the full Gurobi packages for artifacts (#37)
1 parent d7bce4d commit 33d4751

File tree

11 files changed

+59
-79
lines changed

11 files changed

+59
-79
lines changed

Artifacts.toml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,40 @@
11
[[Gurobi]]
2-
git-tree-sha1 = "11980007f4c80fcdcbdd8e7b8dafaa8657dcead9"
2+
git-tree-sha1 = "f0e5f5a89f78144698ed87413adc7743688584f5"
33
arch = "x86_64"
44
os = "linux"
55

66
[[Gurobi.download]]
7-
sha256 = "df72e6621633f3bb88faa0fd08daa0c0fa84492b9ab20237e4422f23b3898903"
8-
url = "https://anaconda.org/Gurobi/gurobi/12.0.3/download/linux-64/gurobi-12.0.3-py311_0.tar.bz2"
7+
sha256 = "98455455709e8b34b34032ed90d4bf1246b14f4313a312f7c775066ff5c1f652"
8+
url = "https://packages.gurobi.com/13.0/gurobi13.0.0_linux64.tar.gz"
99
[[Gurobi]]
10-
git-tree-sha1 = "9ab677b1a86b74c7561876f064c4924e44e53338"
10+
git-tree-sha1 = "8c5a6a5a0da6625f88cd6349d26e910ffe670c9f"
1111
arch = "aarch64"
1212
os = "linux"
1313

1414
[[Gurobi.download]]
15-
sha256 = "26b93fd4ef91ef220d1739a321aba3fd023a206a733849d64f5c1708b8db9a8a"
16-
url = "https://anaconda.org/Gurobi/gurobi/12.0.3/download/linux-aarch64/gurobi-12.0.3-py311_0.tar.bz2"
15+
sha256 = "d301613332cad505620dcd192ccfe855e9ad456d20f8544944514e2ff7a23851"
16+
url = "https://packages.gurobi.com/13.0/gurobi13.0.0_armlinux64.tar.gz"
1717
[[Gurobi]]
18-
git-tree-sha1 = "6128cd989db64bbbce58dd5725bb2990b87f18c9"
18+
git-tree-sha1 = "df29ce14d0a4a14d0ab2ad6233c0c6a9bb76abce"
1919
arch = "x86_64"
2020
os = "macos"
2121

2222
[[Gurobi.download]]
23-
sha256 = "83031cf70526a2d8d5d4d2a500779fea447a3542975401b0ab42dd721de6d447"
24-
url = "https://anaconda.org/Gurobi/gurobi/12.0.3/download/osx-64/gurobi-12.0.3-py311_0.tar.bz2"
23+
sha256 = "85ac3591eadea53d041fa5b19ba61582c567a43aabfe04e36780c88acf35f36c"
24+
url = "https://packages.gurobi.com/13.0/gurobi13.0.0_macos_universal2.tar.gz"
2525
[[Gurobi]]
26-
git-tree-sha1 = "49c8e5760716c69803360127c673c65ea56a65f5"
26+
git-tree-sha1 = "df29ce14d0a4a14d0ab2ad6233c0c6a9bb76abce"
2727
arch = "aarch64"
2828
os = "macos"
2929

3030
[[Gurobi.download]]
31-
sha256 = "1600598d2cc6fe958ac4e56e32d69266020238ce4c4fa1f2f28c81c94101b33c"
32-
url = "https://anaconda.org/Gurobi/gurobi/12.0.3/download/osx-arm64/gurobi-12.0.3-py311_0.tar.bz2"
31+
sha256 = "85ac3591eadea53d041fa5b19ba61582c567a43aabfe04e36780c88acf35f36c"
32+
url = "https://packages.gurobi.com/13.0/gurobi13.0.0_macos_universal2.tar.gz"
3333
[[Gurobi]]
34-
git-tree-sha1 = "b31bf0fecbd28572b2ff8cf05c035350be319a5d"
34+
git-tree-sha1 = "5880b5e4612ccf8d60680288f5cbeb8d7429f765"
3535
arch = "x86_64"
3636
os = "windows"
3737

3838
[[Gurobi.download]]
39-
sha256 = "d4a3f481e863b30e994d73ef9aaaf91362d6e99cf5d8aa543b87bc89feba453c"
40-
url = "https://anaconda.org/Gurobi/gurobi/12.0.3/download/win-64/gurobi-12.0.3-py311_0.tar.bz2"
39+
sha256 = "7ffd782fe8c8576bd5fdcd8c9a12191dca03606384a47193202b06ac95fffdbb"
40+
url = "https://packages.gurobi.com/13.0/gurobi13.0.0_win64.tar.gz"

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "Gurobi_jll"
22
uuid = "c018c7e6-a5b0-4aea-8f80-9c1ef9991411"
33
authors = ["odow <[email protected]>"]
4-
version = "12.0.3"
4+
version = "13.0.0"
55

66
[deps]
77
Artifacts = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# `Gurobi_jll.jl`
22

33
`Gurobi_jll` is a JLL package manually built from the binaries at
4-
[https://anaconda.org/Gurobi/gurobi/files](https://anaconda.org/Gurobi/gurobi/files).
4+
[https://www.gurobi.com/downloads/](https://www.gurobi.com/downloads/).
55

66
## Affiliation
77

@@ -17,9 +17,9 @@ The Gurobi artifacts that are automatically downloaded on install are governed
1717
by the [Gurobi EULA](https://www.gurobi.com/EULA). When installing `Gurobi_jll`,
1818
you accept the terms of this agreement.
1919

20-
A copy of the license agreement is stored at `share/doc/gurobi/EULA.pdf` in the
20+
A copy of the license agreement is stored at `gurobiXYZ/<platform>/EULA.pdf` in the
2121
installed artifact. Copies of the licenses of third-party software used in the
22-
Gurobi libraries are provided in `info/licenses/thirdparty` in the installed
22+
Gurobi libraries are provided in `gurobiXYZ/<platform>/licenses` in the installed
2323
artifact, which is located at `Gurobi_jll.artifact_dir`.
2424

2525
The underlying solver is a closed-source commercial product for which you must
@@ -32,6 +32,7 @@ The underlying solver is a closed-source commercial product for which you must
3232
* `macOS x86_64` (`x86_64-apple-darwin`)
3333
* `macOS arm64` (`aarch64-apple-darwin`)
3434
* `Linux x86_64` (`x86_64-linux-gnu`)
35+
* `Linux arm64` (`aarch64-linux-gnu`)
3536
* `Windows x86_64` (`x86_64-w64-mingw32`)
3637

3738
## Products

THIRD_PARTY_NOTICE.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ The Gurobi artifacts that are automatically downloaded on install are governed
66
by the [Gurobi EULA](https://www.gurobi.com/EULA). When installing `Gurobi_jll`,
77
you accept the terms of this agreement.
88

9-
A copy of the license agreement is stored at `share/doc/gurobi/EULA.pdf` in the
10-
installed artifact, which is located at `Gurobi_jll.artifact_dir`. Copies of
11-
the licenses of third-party software used in the Gurobi libraries are provided in
12-
`share/doc/gurobi/refman/copyright_notices_for_3rd_.html` in the installed artifact.
9+
A copy of the license agreement is stored at `gurobiXYZ/<platform>/EULA.pdf` in the
10+
installed artifact. Copies of the licenses of third-party software used in the
11+
Gurobi libraries are provided in `gurobiXYZ/<platform>/licenses` in the installed
12+
artifact, which is located at `Gurobi_jll.artifact_dir`.
1313

1414
The underlying solver is a closed-source commercial product for which you must
1515
[purchase a license](https://www.gurobi.com).

scripts/update_artifacts.jl

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55

66
using Tar, Inflate, SHA, TOML
77

8-
function get_artifact(data; version::String, pyversion::String)
9-
filename = "gurobi-$version-$pyversion.tar.bz2"
10-
url = "https://anaconda.org/Gurobi/gurobi/$version/download/$(data.conda)/$filename"
8+
function get_artifact(data; version::String)
9+
v = VersionNumber(version)
10+
minorversion = "$(v.major).$(v.minor)"
11+
filename = "gurobi$(version)_$(data.platform).tar.gz"
12+
url = "https://packages.gurobi.com/$minorversion/gurobi$(version)_$(data.platform).tar.gz"
1113
run(`wget $url`)
1214
ret = Dict(
1315
"git-tree-sha1" => Tar.tree_hash(`gzcat $filename`),
@@ -21,15 +23,15 @@ function get_artifact(data; version::String, pyversion::String)
2123
return ret
2224
end
2325

24-
function main(; version, pyversion = "py311_0")
26+
function main(; version)
2527
platforms = [
26-
(os = "linux", arch = "x86_64", conda = "linux-64"),
27-
(os = "linux", arch = "aarch64", conda = "linux-aarch64"),
28-
(os = "macos", arch = "x86_64", conda = "osx-64"),
29-
(os = "macos", arch = "aarch64", conda = "osx-arm64"),
30-
(os = "windows", arch = "x86_64", conda = "win-64"),
28+
(os = "linux", arch = "x86_64", platform = "linux64"),
29+
(os = "linux", arch = "aarch64", platform = "armlinux64"),
30+
(os = "macos", arch = "x86_64", platform = "macos_universal2"),
31+
(os = "macos", arch = "aarch64", platform = "macos_universal2"),
32+
(os = "windows", arch = "x86_64", platform = "win64"),
3133
]
32-
output = Dict("Gurobi" => get_artifact.(platforms; version, pyversion))
34+
output = Dict("Gurobi" => get_artifact.(platforms; version))
3335
open(joinpath(dirname(@__DIR__), "Artifacts.toml"), "w") do io
3436
return TOML.print(io, output)
3537
end

src/wrappers/aarch64-apple-darwin.jl

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export gurobi_cl, grbgetkey, libgurobi
77

88
JLLWrappers.@generate_wrapper_header("Gurobi")
99

10-
JLLWrappers.@declare_library_product(libgurobi, "@rpath/libgurobi120.dylib")
10+
JLLWrappers.@declare_library_product(libgurobi, "@rpath/libgurobi130.dylib")
1111

1212
JLLWrappers.@declare_executable_product(gurobi_cl)
1313

@@ -17,15 +17,11 @@ function __init__()
1717
JLLWrappers.@generate_init_header()
1818
JLLWrappers.@init_library_product(
1919
libgurobi,
20-
"lib/libgurobi120.dylib",
20+
"gurobi1300/macos_universal2/lib/libgurobi130.dylib",
2121
RTLD_LAZY | RTLD_DEEPBIND,
2222
)
23-
JLLWrappers.@init_executable_product(gurobi_cl, "bin/gurobi_cl")
24-
JLLWrappers.@init_executable_product(grbgetkey, "bin/grbgetkey")
25-
gurobi_lic = joinpath(artifact_dir, "lib", "gurobi.lic")
26-
if isfile(gurobi_lic)
27-
rm(gurobi_lic; force = true)
28-
end
23+
JLLWrappers.@init_executable_product(gurobi_cl, "gurobi1300/macos_universal2/bin/gurobi_cl")
24+
JLLWrappers.@init_executable_product(grbgetkey, "gurobi1300/macos_universal2/bin/grbgetkey")
2925
JLLWrappers.@generate_init_footer()
3026
return
3127
end # __init__()

src/wrappers/aarch64-linux-gnu.jl

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export gurobi_cl, grbgetkey, libgurobi
77

88
JLLWrappers.@generate_wrapper_header("Gurobi")
99

10-
JLLWrappers.@declare_library_product(libgurobi, "libgurobi120.so")
10+
JLLWrappers.@declare_library_product(libgurobi, "libgurobi130.so")
1111

1212
JLLWrappers.@declare_executable_product(gurobi_cl)
1313

@@ -17,15 +17,11 @@ function __init__()
1717
JLLWrappers.@generate_init_header()
1818
JLLWrappers.@init_library_product(
1919
libgurobi,
20-
"lib/libgurobi120.so",
20+
"gurobi1300/armlinux64/lib/libgurobi130.so",
2121
RTLD_LAZY | RTLD_DEEPBIND,
2222
)
23-
JLLWrappers.@init_executable_product(gurobi_cl, "bin/gurobi_cl")
24-
JLLWrappers.@init_executable_product(grbgetkey, "bin/grbgetkey")
25-
gurobi_lic = joinpath(artifact_dir, "lib", "gurobi.lic")
26-
if isfile(gurobi_lic)
27-
rm(gurobi_lic; force = true)
28-
end
23+
JLLWrappers.@init_executable_product(gurobi_cl, "gurobi1300/armlinux64/bin/gurobi_cl")
24+
JLLWrappers.@init_executable_product(grbgetkey, "gurobi1300/armlinux64/bin/grbgetkey")
2925
JLLWrappers.@generate_init_footer()
3026
return
3127
end # __init__()

src/wrappers/x86_64-apple-darwin.jl

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export gurobi_cl, grbgetkey, libgurobi
77

88
JLLWrappers.@generate_wrapper_header("Gurobi")
99

10-
JLLWrappers.@declare_library_product(libgurobi, "@rpath/libgurobi120.dylib")
10+
JLLWrappers.@declare_library_product(libgurobi, "@rpath/libgurobi130.dylib")
1111

1212
JLLWrappers.@declare_executable_product(gurobi_cl)
1313

@@ -17,21 +17,16 @@ function __init__()
1717
JLLWrappers.@generate_init_header()
1818
# This is needed to work-around a permission issue on some intel macs.
1919
# See Gurobi.jl#545 for details.
20-
libgurobi_path = joinpath(artifact_dir, "lib", "libgurobi120.dylib")
20+
libgurobi_path = joinpath(artifact_dir, "gurobi1300", "macos_universal2", "lib", "libgurobi130.dylib")
2121
run(`codesign --remove-signature $libgurobi_path`)
2222
# Back to the standard header
2323
JLLWrappers.@init_library_product(
2424
libgurobi,
25-
"lib/libgurobi120.dylib",
25+
"gurobi1300/macos_universal2/lib/libgurobi130.dylib",
2626
RTLD_LAZY | RTLD_DEEPBIND,
2727
)
28-
JLLWrappers.@init_executable_product(gurobi_cl, "bin/gurobi_cl")
29-
JLLWrappers.@init_executable_product(grbgetkey, "bin/grbgetkey")
30-
# The standard license supports only Python installs. Remove it.
31-
gurobi_lic = joinpath(artifact_dir, "lib", "gurobi.lic")
32-
if isfile(gurobi_lic)
33-
rm(gurobi_lic; force = true)
34-
end
28+
JLLWrappers.@init_executable_product(gurobi_cl, "gurobi1300/macos_universal2/bin/gurobi_cl")
29+
JLLWrappers.@init_executable_product(grbgetkey, "gurobi1300/macos_universal2/bin/grbgetkey")
3530
JLLWrappers.@generate_init_footer()
3631
return
3732
end # __init__()

src/wrappers/x86_64-linux-gnu.jl

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export gurobi_cl, grbgetkey, libgurobi
77

88
JLLWrappers.@generate_wrapper_header("Gurobi")
99

10-
JLLWrappers.@declare_library_product(libgurobi, "libgurobi120.so")
10+
JLLWrappers.@declare_library_product(libgurobi, "libgurobi130.so")
1111

1212
JLLWrappers.@declare_executable_product(gurobi_cl)
1313

@@ -17,15 +17,11 @@ function __init__()
1717
JLLWrappers.@generate_init_header()
1818
JLLWrappers.@init_library_product(
1919
libgurobi,
20-
"lib/libgurobi120.so",
20+
"gurobi1300/linux64/lib/libgurobi130.so",
2121
RTLD_LAZY | RTLD_DEEPBIND,
2222
)
23-
JLLWrappers.@init_executable_product(gurobi_cl, "bin/gurobi_cl")
24-
JLLWrappers.@init_executable_product(grbgetkey, "bin/grbgetkey")
25-
gurobi_lic = joinpath(artifact_dir, "lib", "gurobi.lic")
26-
if isfile(gurobi_lic)
27-
rm(gurobi_lic; force = true)
28-
end
23+
JLLWrappers.@init_executable_product(gurobi_cl, "gurobi1300/linux64/bin/gurobi_cl")
24+
JLLWrappers.@init_executable_product(grbgetkey, "gurobi1300/linux64/bin/grbgetkey")
2925
JLLWrappers.@generate_init_footer()
3026
return
3127
end # __init__()

src/wrappers/x86_64-w64-mingw32.jl

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,27 +7,21 @@ export gurobi_cl, grbgetkey, libgurobi
77

88
JLLWrappers.@generate_wrapper_header("Gurobi")
99

10-
JLLWrappers.@declare_library_product(libgurobi, "gurobi120.dll")
10+
JLLWrappers.@declare_library_product(libgurobi, "gurobi130.dll")
1111

1212
JLLWrappers.@declare_executable_product(gurobi_cl)
1313

1414
JLLWrappers.@declare_executable_product(grbgetkey)
1515

1616
function __init__()
1717
JLLWrappers.@generate_init_header()
18-
gurobi_lic = joinpath(artifact_dir, "gurobi.lic")
19-
if isfile(gurobi_lic)
20-
rm(gurobi_lic; force = true)
21-
# While we're at it, there's a permission error with the conda binaries
22-
chmod(artifact_dir, 0o755; recursive = true)
23-
end
2418
JLLWrappers.@init_library_product(
2519
libgurobi,
26-
"gurobi120.dll",
20+
joinpath("gurobi1300", "win64", "bin", "gurobi130.dll"),
2721
RTLD_LAZY | RTLD_DEEPBIND,
2822
)
29-
JLLWrappers.@init_executable_product(gurobi_cl, "gurobi_cl.exe")
30-
JLLWrappers.@init_executable_product(grbgetkey, "grbgetkey.exe")
23+
JLLWrappers.@init_executable_product(gurobi_cl, joinpath("gurobi1300", "win64", "bin", "gurobi_cl.exe"))
24+
JLLWrappers.@init_executable_product(grbgetkey, joinpath("gurobi1300", "win64", "bin", "grbgetkey.exe"))
3125
JLLWrappers.@generate_init_footer()
3226
return
3327
end # __init__()

0 commit comments

Comments
 (0)