Skip to content

Commit 14715f6

Browse files
committed
GEOS_jll build 3.8.0+0
0 parents  commit 14715f6

17 files changed

+1111
-0
lines changed

Artifacts.toml

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
[[GEOS]]
2+
arch = "x86_64"
3+
git-tree-sha1 = "dc7a1d3a38df379a2c17be5b7fe2a83066b5f3e0"
4+
os = "macos"
5+
6+
[[GEOS.download]]
7+
sha256 = "6827913c08a018efad88ae435be298dbd3d25f7be67da3a69750679c49589554"
8+
url = "https://github.com/JuliaBinaryWrappers/GEOS_jll.jl/releases/download/GEOS-v3.8.0+0/GEOS.v3.8.0.x86_64-apple-darwin14.tar.gz"
9+
[[GEOS]]
10+
arch = "i686"
11+
git-tree-sha1 = "625f472c355eaffa9962a983d9fd60e8cd03388b"
12+
libc = "glibc"
13+
os = "linux"
14+
15+
[[GEOS.download]]
16+
sha256 = "3b6ab823b4ba28a3dae4e7e09d47ff131fc1ee42e941aa92ba28cec08295210e"
17+
url = "https://github.com/JuliaBinaryWrappers/GEOS_jll.jl/releases/download/GEOS-v3.8.0+0/GEOS.v3.8.0.i686-linux-gnu.tar.gz"
18+
[[GEOS]]
19+
arch = "x86_64"
20+
git-tree-sha1 = "6565dd71a65354df598dfcabce74ebad87f24510"
21+
os = "freebsd"
22+
23+
[[GEOS.download]]
24+
sha256 = "8129ee17e1bf41df6173e415e5ea17389597f6151ef6e192c8e543442c99bdb2"
25+
url = "https://github.com/JuliaBinaryWrappers/GEOS_jll.jl/releases/download/GEOS-v3.8.0+0/GEOS.v3.8.0.x86_64-unknown-freebsd11.1.tar.gz"
26+
[[GEOS]]
27+
arch = "powerpc64le"
28+
git-tree-sha1 = "df42a805cccc2c9dea9413064a5d9e7705620448"
29+
libc = "glibc"
30+
os = "linux"
31+
32+
[[GEOS.download]]
33+
sha256 = "90b2fe18d6a50fdc3241a7455420ca43b0f5b2e1d39a5b3d8891a618a7c747bd"
34+
url = "https://github.com/JuliaBinaryWrappers/GEOS_jll.jl/releases/download/GEOS-v3.8.0+0/GEOS.v3.8.0.powerpc64le-linux-gnu.tar.gz"
35+
[[GEOS]]
36+
arch = "x86_64"
37+
git-tree-sha1 = "10c8a762fc9d52b2526b4e7b72ca94bb94ab0acb"
38+
libc = "musl"
39+
os = "linux"
40+
41+
[[GEOS.download]]
42+
sha256 = "77b4cf81cd66fdf8c25240f0bf8fec2cf4023f2413d842a3bb223128221171f1"
43+
url = "https://github.com/JuliaBinaryWrappers/GEOS_jll.jl/releases/download/GEOS-v3.8.0+0/GEOS.v3.8.0.x86_64-linux-musl.tar.gz"
44+
[[GEOS]]
45+
arch = "x86_64"
46+
git-tree-sha1 = "7e3b40b7bb49e6ecd2ba78970ab38051a518acce"
47+
libc = "glibc"
48+
os = "linux"
49+
50+
[[GEOS.download]]
51+
sha256 = "6faec962efd184441e3be2005255e1fb77159f7ec605badb4b7f08b4378b9a58"
52+
url = "https://github.com/JuliaBinaryWrappers/GEOS_jll.jl/releases/download/GEOS-v3.8.0+0/GEOS.v3.8.0.x86_64-linux-gnu.tar.gz"
53+
[[GEOS]]
54+
arch = "x86_64"
55+
git-tree-sha1 = "899bb0e10d4accc34dff74b1c82ffbfe56dc8b23"
56+
os = "windows"
57+
58+
[[GEOS.download]]
59+
sha256 = "4187cac4d985f013cccab06f43fbbd452e5a90f3566e8dfb601c66761ebdcd7b"
60+
url = "https://github.com/JuliaBinaryWrappers/GEOS_jll.jl/releases/download/GEOS-v3.8.0+0/GEOS.v3.8.0.x86_64-w64-mingw32.tar.gz"
61+
[[GEOS]]
62+
arch = "aarch64"
63+
git-tree-sha1 = "055e04ae40d8736fdfc5be2327a10b50b40bf633"
64+
libc = "musl"
65+
os = "linux"
66+
67+
[[GEOS.download]]
68+
sha256 = "16b846aba4147d1a506dc197ea2934bea4e9b279581344aa05296b842ec42885"
69+
url = "https://github.com/JuliaBinaryWrappers/GEOS_jll.jl/releases/download/GEOS-v3.8.0+0/GEOS.v3.8.0.aarch64-linux-musl.tar.gz"
70+
[[GEOS]]
71+
arch = "armv7l"
72+
git-tree-sha1 = "37a69f62ecf17cf6053bbd6ff2136ebc0acc58b8"
73+
libc = "glibc"
74+
os = "linux"
75+
76+
[[GEOS.download]]
77+
sha256 = "27c1645858c267e537ae71800d276fb423678d9d4ba85c7c7533ebaed952850a"
78+
url = "https://github.com/JuliaBinaryWrappers/GEOS_jll.jl/releases/download/GEOS-v3.8.0+0/GEOS.v3.8.0.arm-linux-gnueabihf.tar.gz"
79+
[[GEOS]]
80+
arch = "i686"
81+
git-tree-sha1 = "97a98c41b8e39559818dc3f0b77ffdbbb134dc23"
82+
libc = "musl"
83+
os = "linux"
84+
85+
[[GEOS.download]]
86+
sha256 = "1e7bf1223571b06b47702eff3b4a624a494a8f1ef829d4dbae657f76991c5ce4"
87+
url = "https://github.com/JuliaBinaryWrappers/GEOS_jll.jl/releases/download/GEOS-v3.8.0+0/GEOS.v3.8.0.i686-linux-musl.tar.gz"
88+
[[GEOS]]
89+
arch = "armv7l"
90+
git-tree-sha1 = "5476027680f7dc57c75bac7b3146953cddc960bf"
91+
libc = "musl"
92+
os = "linux"
93+
94+
[[GEOS.download]]
95+
sha256 = "710c591e932cee8c5be09ade7d4ea9b9359d276718f69bf23b867490212e3bba"
96+
url = "https://github.com/JuliaBinaryWrappers/GEOS_jll.jl/releases/download/GEOS-v3.8.0+0/GEOS.v3.8.0.arm-linux-musleabihf.tar.gz"
97+
[[GEOS]]
98+
arch = "aarch64"
99+
git-tree-sha1 = "393a9b276bd34e5dba87e57e4eeabc6a768db404"
100+
libc = "glibc"
101+
os = "linux"
102+
103+
[[GEOS.download]]
104+
sha256 = "ac2e14e1c8d9734d3ac931c78a60184e37bd5ac83a53ec50cb1847638921ffe0"
105+
url = "https://github.com/JuliaBinaryWrappers/GEOS_jll.jl/releases/download/GEOS-v3.8.0+0/GEOS.v3.8.0.aarch64-linux-gnu.tar.gz"
106+
[[GEOS]]
107+
arch = "i686"
108+
git-tree-sha1 = "53b2e134177f5312c01a8023f1890049bb76bac2"
109+
os = "windows"
110+
111+
[[GEOS.download]]
112+
sha256 = "29409b26b487f3203f644859d5641783d7350e74871e7ca1dbd0c80060f78469"
113+
url = "https://github.com/JuliaBinaryWrappers/GEOS_jll.jl/releases/download/GEOS-v3.8.0+0/GEOS.v3.8.0.i686-w64-mingw32.tar.gz"

Project.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name = "GEOS_jll"
2+
uuid = "d604d12d-fa86-5845-992e-78dc15976526"
3+
version = "3.8.0+0"
4+
5+
[deps]
6+
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
7+
Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
8+
9+
[compat]
10+
julia = "1.3"

README.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# GEOS_jll.jl
2+
3+
This is an autogenerated package constructed using [`BinaryBuilder.jl`](https://github.com/JuliaPackaging/BinaryBuilder.jl).
4+
5+
## Usage
6+
7+
The code bindings within this package are autogenerated from the `Products` defined within the `build_tarballs.jl` file that generated this package. For example purposes, we will assume that the following products were defined:
8+
9+
```julia
10+
products = [
11+
FileProduct("src/data.txt", :data_txt),
12+
LibraryProduct("libdataproc", :libdataproc),
13+
ExecutableProduct("mungify", :mungify_exe)
14+
]
15+
```
16+
17+
With such products defined, this package will contain `data_txt`, `libdataproc` and `mungify_exe` symbols exported. For `FileProduct` variables, the exported value is a string pointing to the location of the file on-disk. For `LibraryProduct` variables, it is a string corresponding to the `SONAME` of the desired library (it will have already been `dlopen()`'ed, so typical `ccall()` usage applies), and for `ExecutableProduct` variables, the exported value is a function that can be called to set appropriate environment variables. Example:
18+
19+
```julia
20+
using GEOS_jll
21+
22+
# For file products, you can access its file location directly:
23+
data_lines = open(data_txt, "r") do io
24+
readlines(io)
25+
end
26+
27+
# For library products, you can use the exported variable name in `ccall()` invocations directly
28+
num_chars = ccall((libdataproc, :count_characters), Cint, (Cstring, Cint), data_lines[1], length(data_lines[1]))
29+
30+
# For executable products, you can use the exported variable name as a function that you can call
31+
mungify_exe() do mungify_exe_path
32+
run(`$mungify_exe_path $num_chars`)
33+
end
34+
```

src/GEOS_jll.jl

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
module GEOS_jll
2+
using Pkg, Pkg.BinaryPlatforms, Pkg.Artifacts, Libdl
3+
import Base: UUID
4+
5+
# We put these inter-JLL-package API values here so that they are always defined, even if there
6+
# is no underlying wrapper held within this JLL package.
7+
const PATH_list = String[]
8+
const LIBPATH_list = String[]
9+
10+
# Load Artifacts.toml file
11+
artifacts_toml = joinpath(@__DIR__, "..", "Artifacts.toml")
12+
13+
# Extract all platforms
14+
artifacts = Pkg.Artifacts.load_artifacts_toml(artifacts_toml; pkg_uuid=UUID("d604d12d-fa86-5845-992e-78dc15976526"))
15+
platforms = [Pkg.Artifacts.unpack_platform(e, "GEOS", artifacts_toml) for e in artifacts["GEOS"]]
16+
17+
# Filter platforms based on what wrappers we've generated on-disk
18+
platforms = filter(p -> isfile(joinpath(@__DIR__, "wrappers", triplet(p) * ".jl")), platforms)
19+
20+
# From the available options, choose the best platform
21+
best_platform = select_platform(Dict(p => triplet(p) for p in platforms))
22+
23+
# Silently fail if there's no binaries for this platform
24+
if best_platform === nothing
25+
@debug("Unable to load GEOS; unsupported platform $(triplet(platform_key_abi()))")
26+
else
27+
# Load the appropriate wrapper
28+
include(joinpath(@__DIR__, "wrappers", "$(best_platform).jl"))
29+
end
30+
31+
end # module GEOS_jll

src/wrappers/aarch64-linux-gnu.jl

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Autogenerated wrapper script for GEOS_jll for aarch64-linux-gnu
2+
export libgeos, libgeos_cpp
3+
4+
## Global variables
5+
PATH = ""
6+
LIBPATH = ""
7+
LIBPATH_env = "LD_LIBRARY_PATH"
8+
9+
# Relative path to `libgeos`
10+
const libgeos_splitpath = ["lib", "libgeos_c.so"]
11+
12+
# This will be filled out by __init__() for all products, as it must be done at runtime
13+
libgeos_path = ""
14+
15+
# libgeos-specific global declaration
16+
# This will be filled out by __init__()
17+
libgeos_handle = C_NULL
18+
19+
# This must be `const` so that we can use it with `ccall()`
20+
const libgeos = "libgeos_c.so.1"
21+
22+
23+
# Relative path to `libgeos_cpp`
24+
const libgeos_cpp_splitpath = ["lib", "libgeos.so"]
25+
26+
# This will be filled out by __init__() for all products, as it must be done at runtime
27+
libgeos_cpp_path = ""
28+
29+
# libgeos_cpp-specific global declaration
30+
# This will be filled out by __init__()
31+
libgeos_cpp_handle = C_NULL
32+
33+
# This must be `const` so that we can use it with `ccall()`
34+
const libgeos_cpp = "libgeos-3.8.0.so"
35+
36+
37+
"""
38+
Open all libraries
39+
"""
40+
function __init__()
41+
global prefix = abspath(joinpath(@__DIR__, ".."))
42+
43+
# Initialize PATH and LIBPATH environment variable listings
44+
global PATH_list, LIBPATH_list
45+
global libgeos_path = abspath(joinpath(artifact"GEOS", libgeos_splitpath...))
46+
47+
# Manually `dlopen()` this right now so that future invocations
48+
# of `ccall` with its `SONAME` will find this path immediately.
49+
global libgeos_handle = dlopen(libgeos_path)
50+
push!(LIBPATH_list, dirname(libgeos_path))
51+
52+
global libgeos_cpp_path = abspath(joinpath(artifact"GEOS", libgeos_cpp_splitpath...))
53+
54+
# Manually `dlopen()` this right now so that future invocations
55+
# of `ccall` with its `SONAME` will find this path immediately.
56+
global libgeos_cpp_handle = dlopen(libgeos_cpp_path)
57+
push!(LIBPATH_list, dirname(libgeos_cpp_path))
58+
59+
# Filter out duplicate and empty entries in our PATH and LIBPATH entries
60+
filter!(!isempty, unique!(PATH_list))
61+
filter!(!isempty, unique!(LIBPATH_list))
62+
global PATH = join(PATH_list, ':')
63+
global LIBPATH = join(LIBPATH_list, ':')
64+
65+
# Add each element of LIBPATH to our DL_LOAD_PATH (necessary on platforms
66+
# that don't honor our "already opened" trick)
67+
#for lp in LIBPATH_list
68+
# push!(DL_LOAD_PATH, lp)
69+
#end
70+
end # __init__()
71+

src/wrappers/aarch64-linux-musl.jl

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
# Autogenerated wrapper script for GEOS_jll for aarch64-linux-musl
2+
export libgeos, libgeos_cpp
3+
4+
## Global variables
5+
PATH = ""
6+
LIBPATH = ""
7+
LIBPATH_env = "LD_LIBRARY_PATH"
8+
9+
# Relative path to `libgeos`
10+
const libgeos_splitpath = ["lib", "libgeos_c.so"]
11+
12+
# This will be filled out by __init__() for all products, as it must be done at runtime
13+
libgeos_path = ""
14+
15+
# libgeos-specific global declaration
16+
# This will be filled out by __init__()
17+
libgeos_handle = C_NULL
18+
19+
# This must be `const` so that we can use it with `ccall()`
20+
const libgeos = "libgeos_c.so.1"
21+
22+
23+
# Relative path to `libgeos_cpp`
24+
const libgeos_cpp_splitpath = ["lib", "libgeos.so"]
25+
26+
# This will be filled out by __init__() for all products, as it must be done at runtime
27+
libgeos_cpp_path = ""
28+
29+
# libgeos_cpp-specific global declaration
30+
# This will be filled out by __init__()
31+
libgeos_cpp_handle = C_NULL
32+
33+
# This must be `const` so that we can use it with `ccall()`
34+
const libgeos_cpp = "libgeos-3.8.0.so"
35+
36+
37+
"""
38+
Open all libraries
39+
"""
40+
function __init__()
41+
global prefix = abspath(joinpath(@__DIR__, ".."))
42+
43+
# Initialize PATH and LIBPATH environment variable listings
44+
global PATH_list, LIBPATH_list
45+
global libgeos_path = abspath(joinpath(artifact"GEOS", libgeos_splitpath...))
46+
47+
# Manually `dlopen()` this right now so that future invocations
48+
# of `ccall` with its `SONAME` will find this path immediately.
49+
global libgeos_handle = dlopen(libgeos_path)
50+
push!(LIBPATH_list, dirname(libgeos_path))
51+
52+
global libgeos_cpp_path = abspath(joinpath(artifact"GEOS", libgeos_cpp_splitpath...))
53+
54+
# Manually `dlopen()` this right now so that future invocations
55+
# of `ccall` with its `SONAME` will find this path immediately.
56+
global libgeos_cpp_handle = dlopen(libgeos_cpp_path)
57+
push!(LIBPATH_list, dirname(libgeos_cpp_path))
58+
59+
# Filter out duplicate and empty entries in our PATH and LIBPATH entries
60+
filter!(!isempty, unique!(PATH_list))
61+
filter!(!isempty, unique!(LIBPATH_list))
62+
global PATH = join(PATH_list, ':')
63+
global LIBPATH = join(LIBPATH_list, ':')
64+
65+
# Add each element of LIBPATH to our DL_LOAD_PATH (necessary on platforms
66+
# that don't honor our "already opened" trick)
67+
#for lp in LIBPATH_list
68+
# push!(DL_LOAD_PATH, lp)
69+
#end
70+
end # __init__()
71+

0 commit comments

Comments
 (0)