Skip to content

Commit 883b46b

Browse files
committed
libpolymake_julia_jll build 0.1.1+0
1 parent 2b3df72 commit 883b46b

File tree

7 files changed

+71
-20
lines changed

7 files changed

+71
-20
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
override/

Artifacts.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
[[libpolymake_julia]]
22
arch = "x86_64"
33
cxxstring_abi = "cxx11"
4-
git-tree-sha1 = "d9dd3f9d94b63067ca00c37c32a3635baa839cfb"
4+
git-tree-sha1 = "46f404f64d5373366d6f196ad716b571da2eb2e6"
55
os = "macos"
66

77
[[libpolymake_julia.download]]
8-
sha256 = "eae3b2c4d8d43a368bf36cc70fa3a23f385606e639792eae373f075a649b05c6"
9-
url = "https://github.com/JuliaBinaryWrappers/libpolymake_julia_jll.jl/releases/download/libpolymake_julia-v0.1.0+0/libpolymake_julia.v0.1.0.x86_64-apple-darwin14-cxx11.tar.gz"
8+
sha256 = "d8e137517990da3fa44f7dbe39b8eede370bf2e036a648b876afbe89ed89c1c4"
9+
url = "https://github.com/JuliaBinaryWrappers/libpolymake_julia_jll.jl/releases/download/libpolymake_julia-v0.1.1+0/libpolymake_julia.v0.1.1.x86_64-apple-darwin14-cxx11.tar.gz"
1010
[[libpolymake_julia]]
1111
arch = "x86_64"
1212
cxxstring_abi = "cxx11"
13-
git-tree-sha1 = "59ec19d51241971f4c6df61f6f6495d7b0c6f37f"
13+
git-tree-sha1 = "d9ebad932075ab7bf1e075ebb5841b87c9769749"
1414
libc = "glibc"
1515
os = "linux"
1616

1717
[[libpolymake_julia.download]]
18-
sha256 = "eea90236b62de0cbbeb2c7cea714d267fce94443f3ce89589587c425c4a4ab30"
19-
url = "https://github.com/JuliaBinaryWrappers/libpolymake_julia_jll.jl/releases/download/libpolymake_julia-v0.1.0+0/libpolymake_julia.v0.1.0.x86_64-linux-gnu-cxx11.tar.gz"
18+
sha256 = "ad1feecf7360ea05731d87ca2966dcc901a68333938224b70f8218d516ea068f"
19+
url = "https://github.com/JuliaBinaryWrappers/libpolymake_julia_jll.jl/releases/download/libpolymake_julia-v0.1.1+0/libpolymake_julia.v0.1.1.x86_64-linux-gnu-cxx11.tar.gz"

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "libpolymake_julia_jll"
22
uuid = "4d8266f6-2b3b-57e3-ad7a-d431eaaac945"
3-
version = "0.1.0+0"
3+
version = "0.1.1+0"
44

55
[deps]
66
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
# `libpolymake_julia_jll.jl` (v0.1.0+0)
1+
# `libpolymake_julia_jll.jl` (v0.1.1+0)
22

3-
This is an autogenerated package constructed using [`BinaryBuilder.jl`](https://github.com/JuliaPackaging/BinaryBuilder.jl). The originating [`build_tarballs.jl`](https://github.com/JuliaPackaging/Yggdrasil/blob/655720821ada7b248e4afb374b001584c998e97f/L/libpolymake_julia/build_tarballs.jl) script can be found on [`Yggdrasil`](https://github.com/JuliaPackaging/Yggdrasil/), the community build tree.
3+
This is an autogenerated package constructed using [`BinaryBuilder.jl`](https://github.com/JuliaPackaging/BinaryBuilder.jl). The originating [`build_tarballs.jl`](https://github.com/JuliaPackaging/Yggdrasil/blob/a00dc0a73a78a5434cb414ee7d0ccd7b7b912d6c/L/libpolymake_julia/build_tarballs.jl) script can be found on [`Yggdrasil`](https://github.com/JuliaPackaging/Yggdrasil/), the community build tree. If you have any issue, please report it to the Yggdrasil [bug tracker](https://github.com/JuliaPackaging/Yggdrasil/issues).
44

55
For more details about JLL packages and how to use them, see `BinaryBuilder.jl` [documentation](https://juliapackaging.github.io/BinaryBuilder.jl/dev/jll/).
66

77
## Sources
88

99
The tarballs for `libpolymake_julia_jll.jl` have been built from these sources:
1010

11-
* compressed archive: https://github.com/oscar-system/libpolymake-julia/archive/v0.1.0.tar.gz (SHA256 checksum: `533237a1a1f7ff544017b9576704b2f05c6e3139443ea0aaa20bc88560675e9a`)
11+
* compressed archive: https://github.com/oscar-system/libpolymake-julia/archive/v0.1.1.tar.gz (SHA256 checksum: `9765ecfbce06c2cca2ac3e2d9df13bc020a99f520502fbebd8be047b7eb548d9`)
1212

1313
## Platforms
1414

src/libpolymake_julia_jll.jl

Lines changed: 46 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ module libpolymake_julia_jll
22

33
if isdefined(Base, :Experimental) && isdefined(Base.Experimental, Symbol("@optlevel"))
44
@eval Base.Experimental.@optlevel 0
5-
end
6-
5+
end
6+
77
if VERSION < v"1.3.0-rc4"
88
# We lie a bit in the registry that JLL packages are usable on Julia 1.0-1.2.
99
# This is to allow packages that might want to support Julia 1.0 to get the
@@ -25,11 +25,55 @@ end
2525
using Pkg, Pkg.BinaryPlatforms, Pkg.Artifacts, Libdl
2626
import Base: UUID
2727

28+
wrapper_available = false
29+
"""
30+
is_available()
31+
32+
Return whether the artifact is available for the current platform.
33+
"""
34+
is_available() = wrapper_available
35+
2836
# We put these inter-JLL-package API values here so that they are always defined, even if there
2937
# is no underlying wrapper held within this JLL package.
3038
const PATH_list = String[]
3139
const LIBPATH_list = String[]
3240

41+
# We determine, here, at compile-time, whether our JLL package has been dev'ed and overridden
42+
override_dir = joinpath(dirname(@__DIR__), "override")
43+
if isdir(override_dir)
44+
function find_artifact_dir()
45+
return override_dir
46+
end
47+
else
48+
function find_artifact_dir()
49+
return artifact"libpolymake_julia"
50+
end
51+
52+
"""
53+
dev_jll()
54+
55+
Check this package out to the dev package directory (usually ~/.julia/dev),
56+
copying the artifact over to a local `override` directory, allowing package
57+
developers to experiment with a locally-built binary.
58+
"""
59+
function dev_jll()
60+
# First, `dev` out the package, but don't effect the current project
61+
mktempdir() do temp_env
62+
Pkg.activate(temp_env) do
63+
Pkg.develop("libpolymake_julia_jll")
64+
end
65+
end
66+
# Create the override directory
67+
override_dir = joinpath(Pkg.devdir(), "libpolymake_julia_jll", "override")
68+
# Copy the current artifact contents into that directory
69+
if !isdir(override_dir)
70+
cp(artifact"libpolymake_julia", override_dir)
71+
end
72+
# Force recompilation of that package, just in case it wasn't dev'ed before
73+
touch(joinpath(Pkg.devdir(), "libpolymake_julia_jll", "src", "libpolymake_julia_jll.jl"))
74+
@info("libpolymake_julia_ll dev'ed out to /depot/dev/libpolymake_julia_jll with pre-populated override directory")
75+
end
76+
end
3377
# Load Artifacts.toml file
3478
artifacts_toml = joinpath(@__DIR__, "..", "Artifacts.toml")
3579

src/wrappers/x86_64-apple-darwin14-cxx11.jl

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,18 @@ type_translator_path = ""
6666
type_translator = ""
6767

6868

69+
# Inform that the wrapper is available for this platform
70+
wrapper_available = true
71+
6972
"""
7073
Open all libraries
7174
"""
7275
function __init__()
73-
global artifact_dir = abspath(artifact"libpolymake_julia")
76+
# This either calls `@artifact_str()`, or returns a constant string if we're overridden.
77+
global artifact_dir = find_artifact_dir()
7478

75-
# Initialize PATH and LIBPATH environment variable listings
7679
global PATH_list, LIBPATH_list
80+
# Initialize PATH and LIBPATH environment variable listings
7781
# From the list of our dependencies, generate a tuple of all the PATH and LIBPATH lists,
7882
# then append them to our own.
7983
foreach(p -> append!(PATH_list, p), (CompilerSupportLibraries_jll.PATH_list, libcxxwrap_julia_jll.PATH_list, polymake_jll.PATH_list,))
@@ -83,7 +87,7 @@ function __init__()
8387

8488
# Manually `dlopen()` this right now so that future invocations
8589
# of `ccall` with its `SONAME` will find this path immediately.
86-
global libpolymake_julia_handle = dlopen(libpolymake_julia_path)
90+
global libpolymake_julia_handle = dlopen(libpolymake_julia_path, RTLD_LAZY | RTLD_DEEPBIND)
8791
push!(LIBPATH_list, dirname(libpolymake_julia_path))
8892

8993
global polymake_run_script_path = normpath(joinpath(artifact_dir, polymake_run_script_splitpath...))
@@ -100,4 +104,3 @@ function __init__()
100104

101105

102106
end # __init__()
103-

src/wrappers/x86_64-linux-gnu-cxx11.jl

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,18 @@ type_translator_path = ""
6666
type_translator = ""
6767

6868

69+
# Inform that the wrapper is available for this platform
70+
wrapper_available = true
71+
6972
"""
7073
Open all libraries
7174
"""
7275
function __init__()
73-
global artifact_dir = abspath(artifact"libpolymake_julia")
76+
# This either calls `@artifact_str()`, or returns a constant string if we're overridden.
77+
global artifact_dir = find_artifact_dir()
7478

75-
# Initialize PATH and LIBPATH environment variable listings
7679
global PATH_list, LIBPATH_list
80+
# Initialize PATH and LIBPATH environment variable listings
7781
# From the list of our dependencies, generate a tuple of all the PATH and LIBPATH lists,
7882
# then append them to our own.
7983
foreach(p -> append!(PATH_list, p), (CompilerSupportLibraries_jll.PATH_list, libcxxwrap_julia_jll.PATH_list, polymake_jll.PATH_list,))
@@ -83,7 +87,7 @@ function __init__()
8387

8488
# Manually `dlopen()` this right now so that future invocations
8589
# of `ccall` with its `SONAME` will find this path immediately.
86-
global libpolymake_julia_handle = dlopen(libpolymake_julia_path)
90+
global libpolymake_julia_handle = dlopen(libpolymake_julia_path, RTLD_LAZY | RTLD_DEEPBIND)
8791
push!(LIBPATH_list, dirname(libpolymake_julia_path))
8892

8993
global polymake_run_script_path = normpath(joinpath(artifact_dir, polymake_run_script_splitpath...))
@@ -100,4 +104,3 @@ function __init__()
100104

101105

102106
end # __init__()
103-

0 commit comments

Comments
 (0)