Skip to content

Commit

Permalink
GEOS_jll build 3.8.1+0
Browse files Browse the repository at this point in the history
  • Loading branch information
jlbuild committed Mar 30, 2020
1 parent 9dd822b commit 7e2d438
Show file tree
Hide file tree
Showing 43 changed files with 633 additions and 1,655 deletions.
339 changes: 113 additions & 226 deletions Artifacts.toml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name = "GEOS_jll"
uuid = "d604d12d-fa86-5845-992e-78dc15976526"
version = "3.8.0+4"
version = "3.8.1+0"

[deps]
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
Expand Down
21 changes: 16 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,20 @@

This is an autogenerated package constructed using [`BinaryBuilder.jl`](https://github.com/JuliaPackaging/BinaryBuilder.jl).

## Usage
## Products

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:
The code bindings within this package are autogenerated from the following `Products` defined within the `build_tarballs.jl` file that generated this package:

```julia
products = [
LibraryProduct(["libgeos", "libgeos-3-8"], :libgeos_cpp),
LibraryProduct(["libgeos_c"], :libgeos)
]
```

## Usage example

For example purposes, we will assume that the following products were defined in the imaginary package `Example_jll`:

```julia
products = [
Expand All @@ -14,18 +25,18 @@ products = [
]
```

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:
With such products defined, `Example_jll` would 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:

```julia
using GEOS_jll
using Example_jll

# For file products, you can access its file location directly:
data_lines = open(data_txt, "r") do io
readlines(io)
end

# For library products, you can use the exported variable name in `ccall()` invocations directly
num_chars = ccall((libdataproc, :count_characters), Cint, (Cstring, Cint), data_lines[1], length(data_lines[1]))
num_chars = ccall((:count_characters, libdataproc), Cint, (Cstring, Cint), data_lines[1], length(data_lines[1]))

# For executable products, you can use the exported variable name as a function that you can call
mungify_exe() do mungify_exe_path
Expand Down
7 changes: 5 additions & 2 deletions src/GEOS_jll.jl
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ artifacts = Pkg.Artifacts.load_artifacts_toml(artifacts_toml; pkg_uuid=UUID("d60
platforms = [Pkg.Artifacts.unpack_platform(e, "GEOS", artifacts_toml) for e in artifacts["GEOS"]]

# Filter platforms based on what wrappers we've generated on-disk
platforms = filter(p -> isfile(joinpath(@__DIR__, "wrappers", triplet(p) * ".jl")), platforms)
filter!(p -> isfile(joinpath(@__DIR__, "wrappers", replace(triplet(p), "arm-" => "armv7l-") * ".jl")), platforms)

# From the available options, choose the best platform
best_platform = select_platform(Dict(p => triplet(p) for p in platforms))
Expand All @@ -43,7 +43,10 @@ best_platform = select_platform(Dict(p => triplet(p) for p in platforms))
if best_platform === nothing
@debug("Unable to load GEOS; unsupported platform $(triplet(platform_key_abi()))")
else
# Load the appropriate wrapper
# Load the appropriate wrapper. Note that on older Julia versions, we still
# say "arm-linux-gnueabihf" instead of the more correct "armv7l-linux-gnueabihf",
# so we manually correct for that here:
best_platform = replace(best_platform, "arm-" => "armv7l-")
include(joinpath(@__DIR__, "wrappers", "$(best_platform).jl"))
end

Expand Down
38 changes: 19 additions & 19 deletions src/wrappers/aarch64-linux-gnu-cxx03.jl
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
# Autogenerated wrapper script for GEOS_jll for aarch64-linux-gnu-cxx03
export libgeos, libgeos_cpp
export libgeos_cpp, libgeos

## Global variables
PATH = ""
LIBPATH = ""
LIBPATH_env = "LD_LIBRARY_PATH"

# Relative path to `libgeos`
const libgeos_splitpath = ["lib", "libgeos_c.so"]
# Relative path to `libgeos_cpp`
const libgeos_cpp_splitpath = ["lib", "libgeos.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libgeos_path = ""
libgeos_cpp_path = ""

# libgeos-specific global declaration
# libgeos_cpp-specific global declaration
# This will be filled out by __init__()
libgeos_handle = C_NULL
libgeos_cpp_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libgeos = "libgeos_c.so.1"
const libgeos_cpp = "libgeos-3.8.1.so"


# Relative path to `libgeos_cpp`
const libgeos_cpp_splitpath = ["lib", "libgeos.so"]
# Relative path to `libgeos`
const libgeos_splitpath = ["lib", "libgeos_c.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libgeos_cpp_path = ""
libgeos_path = ""

# libgeos_cpp-specific global declaration
# libgeos-specific global declaration
# This will be filled out by __init__()
libgeos_cpp_handle = C_NULL
libgeos_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libgeos_cpp = "libgeos-3.8.0.so"
const libgeos = "libgeos_c.so.1"


"""
Expand All @@ -44,19 +44,19 @@ function __init__()
global PATH_list, LIBPATH_list
# We first need to add to LIBPATH_list the libraries provided by Julia
append!(LIBPATH_list, [joinpath(Sys.BINDIR, Base.LIBDIR, "julia"), joinpath(Sys.BINDIR, Base.LIBDIR)])
global libgeos_path = normpath(joinpath(artifact_dir, libgeos_splitpath...))
global libgeos_cpp_path = normpath(joinpath(artifact_dir, libgeos_cpp_splitpath...))

# Manually `dlopen()` this right now so that future invocations
# of `ccall` with its `SONAME` will find this path immediately.
global libgeos_handle = dlopen(libgeos_path)
push!(LIBPATH_list, dirname(libgeos_path))
global libgeos_cpp_handle = dlopen(libgeos_cpp_path)
push!(LIBPATH_list, dirname(libgeos_cpp_path))

global libgeos_cpp_path = normpath(joinpath(artifact_dir, libgeos_cpp_splitpath...))
global libgeos_path = normpath(joinpath(artifact_dir, libgeos_splitpath...))

# Manually `dlopen()` this right now so that future invocations
# of `ccall` with its `SONAME` will find this path immediately.
global libgeos_cpp_handle = dlopen(libgeos_cpp_path)
push!(LIBPATH_list, dirname(libgeos_cpp_path))
global libgeos_handle = dlopen(libgeos_path)
push!(LIBPATH_list, dirname(libgeos_path))

# Filter out duplicate and empty entries in our PATH and LIBPATH entries
filter!(!isempty, unique!(PATH_list))
Expand Down
38 changes: 19 additions & 19 deletions src/wrappers/aarch64-linux-gnu-cxx11.jl
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
# Autogenerated wrapper script for GEOS_jll for aarch64-linux-gnu-cxx11
export libgeos, libgeos_cpp
export libgeos_cpp, libgeos

## Global variables
PATH = ""
LIBPATH = ""
LIBPATH_env = "LD_LIBRARY_PATH"

# Relative path to `libgeos`
const libgeos_splitpath = ["lib", "libgeos_c.so"]
# Relative path to `libgeos_cpp`
const libgeos_cpp_splitpath = ["lib", "libgeos.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libgeos_path = ""
libgeos_cpp_path = ""

# libgeos-specific global declaration
# libgeos_cpp-specific global declaration
# This will be filled out by __init__()
libgeos_handle = C_NULL
libgeos_cpp_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libgeos = "libgeos_c.so.1"
const libgeos_cpp = "libgeos-3.8.1.so"


# Relative path to `libgeos_cpp`
const libgeos_cpp_splitpath = ["lib", "libgeos.so"]
# Relative path to `libgeos`
const libgeos_splitpath = ["lib", "libgeos_c.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libgeos_cpp_path = ""
libgeos_path = ""

# libgeos_cpp-specific global declaration
# libgeos-specific global declaration
# This will be filled out by __init__()
libgeos_cpp_handle = C_NULL
libgeos_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libgeos_cpp = "libgeos-3.8.0.so"
const libgeos = "libgeos_c.so.1"


"""
Expand All @@ -44,19 +44,19 @@ function __init__()
global PATH_list, LIBPATH_list
# We first need to add to LIBPATH_list the libraries provided by Julia
append!(LIBPATH_list, [joinpath(Sys.BINDIR, Base.LIBDIR, "julia"), joinpath(Sys.BINDIR, Base.LIBDIR)])
global libgeos_path = normpath(joinpath(artifact_dir, libgeos_splitpath...))
global libgeos_cpp_path = normpath(joinpath(artifact_dir, libgeos_cpp_splitpath...))

# Manually `dlopen()` this right now so that future invocations
# of `ccall` with its `SONAME` will find this path immediately.
global libgeos_handle = dlopen(libgeos_path)
push!(LIBPATH_list, dirname(libgeos_path))
global libgeos_cpp_handle = dlopen(libgeos_cpp_path)
push!(LIBPATH_list, dirname(libgeos_cpp_path))

global libgeos_cpp_path = normpath(joinpath(artifact_dir, libgeos_cpp_splitpath...))
global libgeos_path = normpath(joinpath(artifact_dir, libgeos_splitpath...))

# Manually `dlopen()` this right now so that future invocations
# of `ccall` with its `SONAME` will find this path immediately.
global libgeos_cpp_handle = dlopen(libgeos_cpp_path)
push!(LIBPATH_list, dirname(libgeos_cpp_path))
global libgeos_handle = dlopen(libgeos_path)
push!(LIBPATH_list, dirname(libgeos_path))

# Filter out duplicate and empty entries in our PATH and LIBPATH entries
filter!(!isempty, unique!(PATH_list))
Expand Down
71 changes: 0 additions & 71 deletions src/wrappers/aarch64-linux-gnu.jl

This file was deleted.

38 changes: 19 additions & 19 deletions src/wrappers/aarch64-linux-musl-cxx03.jl
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
# Autogenerated wrapper script for GEOS_jll for aarch64-linux-musl-cxx03
export libgeos, libgeos_cpp
export libgeos_cpp, libgeos

## Global variables
PATH = ""
LIBPATH = ""
LIBPATH_env = "LD_LIBRARY_PATH"

# Relative path to `libgeos`
const libgeos_splitpath = ["lib", "libgeos_c.so"]
# Relative path to `libgeos_cpp`
const libgeos_cpp_splitpath = ["lib", "libgeos.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libgeos_path = ""
libgeos_cpp_path = ""

# libgeos-specific global declaration
# libgeos_cpp-specific global declaration
# This will be filled out by __init__()
libgeos_handle = C_NULL
libgeos_cpp_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libgeos = "libgeos_c.so.1"
const libgeos_cpp = "libgeos-3.8.1.so"


# Relative path to `libgeos_cpp`
const libgeos_cpp_splitpath = ["lib", "libgeos.so"]
# Relative path to `libgeos`
const libgeos_splitpath = ["lib", "libgeos_c.so"]

# This will be filled out by __init__() for all products, as it must be done at runtime
libgeos_cpp_path = ""
libgeos_path = ""

# libgeos_cpp-specific global declaration
# libgeos-specific global declaration
# This will be filled out by __init__()
libgeos_cpp_handle = C_NULL
libgeos_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libgeos_cpp = "libgeos-3.8.0.so"
const libgeos = "libgeos_c.so.1"


"""
Expand All @@ -44,19 +44,19 @@ function __init__()
global PATH_list, LIBPATH_list
# We first need to add to LIBPATH_list the libraries provided by Julia
append!(LIBPATH_list, [joinpath(Sys.BINDIR, Base.LIBDIR, "julia"), joinpath(Sys.BINDIR, Base.LIBDIR)])
global libgeos_path = normpath(joinpath(artifact_dir, libgeos_splitpath...))
global libgeos_cpp_path = normpath(joinpath(artifact_dir, libgeos_cpp_splitpath...))

# Manually `dlopen()` this right now so that future invocations
# of `ccall` with its `SONAME` will find this path immediately.
global libgeos_handle = dlopen(libgeos_path)
push!(LIBPATH_list, dirname(libgeos_path))
global libgeos_cpp_handle = dlopen(libgeos_cpp_path)
push!(LIBPATH_list, dirname(libgeos_cpp_path))

global libgeos_cpp_path = normpath(joinpath(artifact_dir, libgeos_cpp_splitpath...))
global libgeos_path = normpath(joinpath(artifact_dir, libgeos_splitpath...))

# Manually `dlopen()` this right now so that future invocations
# of `ccall` with its `SONAME` will find this path immediately.
global libgeos_cpp_handle = dlopen(libgeos_cpp_path)
push!(LIBPATH_list, dirname(libgeos_cpp_path))
global libgeos_handle = dlopen(libgeos_path)
push!(LIBPATH_list, dirname(libgeos_path))

# Filter out duplicate and empty entries in our PATH and LIBPATH entries
filter!(!isempty, unique!(PATH_list))
Expand Down
Loading

0 comments on commit 7e2d438

Please sign in to comment.