Skip to content

Commit

Permalink
Libiconv_jll build 1.16.0+0
Browse files Browse the repository at this point in the history
  • Loading branch information
staticfloat committed Sep 1, 2019
0 parents commit c2be336
Show file tree
Hide file tree
Showing 17 changed files with 872 additions and 0 deletions.
113 changes: 113 additions & 0 deletions Artifacts.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
[[Libiconv]]
arch = "x86_64"
git-tree-sha1 = "bebfd2e9c4cca2f0a37275b6b463670c1fccb18f"
libc = "glibc"
os = "linux"

[[Libiconv.download]]
sha256 = "88b9b11b99b1d66caa8397663b38886b12eeb30fb1ee4418e43761149fb45257"
url = "https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.16.0+0/Libiconv.v1.16.0.x86_64-linux-gnu.tar.gz"
[[Libiconv]]
arch = "x86_64"
git-tree-sha1 = "5537f754816983dd1b8b722aad0aa581ac1fe4b9"
os = "macos"

[[Libiconv.download]]
sha256 = "9cd7ce295085e1d63252e9065f8b7c41e3c35604039417e4eb3e235e815708a4"
url = "https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.16.0+0/Libiconv.v1.16.0.x86_64-apple-darwin14.tar.gz"
[[Libiconv]]
arch = "i686"
git-tree-sha1 = "1ecee7084a2dc8feeb667d8c724e87b0da3e8951"
os = "windows"

[[Libiconv.download]]
sha256 = "29bdad22b4d9780b38adb17b32e4f4cb971bdec3a9951239f4a78dced9b4dad7"
url = "https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.16.0+0/Libiconv.v1.16.0.i686-w64-mingw32.tar.gz"
[[Libiconv]]
arch = "aarch64"
git-tree-sha1 = "9b94d12d5b737ebb363464b047e3f272c81da354"
libc = "glibc"
os = "linux"

[[Libiconv.download]]
sha256 = "31c725be17f94299ae02b28219f3cd7fdb297440f0303aa70f83a79f71893f74"
url = "https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.16.0+0/Libiconv.v1.16.0.aarch64-linux-gnu.tar.gz"
[[Libiconv]]
arch = "i686"
git-tree-sha1 = "33d206e1b3b07a67f8c2a5aab073e75eef634e75"
libc = "musl"
os = "linux"

[[Libiconv.download]]
sha256 = "e86c1a642cc993545647b037fd55487437cb07080d3cb12db1e971f823c45931"
url = "https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.16.0+0/Libiconv.v1.16.0.i686-linux-musl.tar.gz"
[[Libiconv]]
arch = "x86_64"
git-tree-sha1 = "705da39cea730e58ba44dba4e8721a1ed5e8c353"
os = "windows"

[[Libiconv.download]]
sha256 = "3cb448413852c03d92aa43146bfc88b23851e1654b705a1203b59af3b6b25ff5"
url = "https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.16.0+0/Libiconv.v1.16.0.x86_64-w64-mingw32.tar.gz"
[[Libiconv]]
arch = "powerpc64le"
git-tree-sha1 = "5f9c56589d7ecf4033282a82bd0b8924b8d327e1"
libc = "glibc"
os = "linux"

[[Libiconv.download]]
sha256 = "bfae01d3860938a424ed7de86032e3699a661b492a2fbeefa795a0f44ebd30b1"
url = "https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.16.0+0/Libiconv.v1.16.0.powerpc64le-linux-gnu.tar.gz"
[[Libiconv]]
arch = "x86_64"
git-tree-sha1 = "a5c5256893d4296de5f6cf49959148b45883e800"
os = "freebsd"

[[Libiconv.download]]
sha256 = "0fe5e4215d5ab9582c1fc6259ed001dcf319ff8868a37a788e20160c923b071a"
url = "https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.16.0+0/Libiconv.v1.16.0.x86_64-unknown-freebsd11.1.tar.gz"
[[Libiconv]]
arch = "armv7l"
git-tree-sha1 = "69a4ea772085b0fa1529d0830d5119e4471d8852"
libc = "musl"
os = "linux"

[[Libiconv.download]]
sha256 = "bf3ccd632f8581fc07e235d2d1a39ea2a50d290373312c22c2778326ab0fa7b6"
url = "https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.16.0+0/Libiconv.v1.16.0.arm-linux-musleabihf.tar.gz"
[[Libiconv]]
arch = "aarch64"
git-tree-sha1 = "a41c7a27c598bff4b6bab1f4e31d42a7f95aabad"
libc = "musl"
os = "linux"

[[Libiconv.download]]
sha256 = "9cbf93b673ef9d9b7156887e4589043e92ec55d7fe0346c66b8ca279f8dda3f7"
url = "https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.16.0+0/Libiconv.v1.16.0.aarch64-linux-musl.tar.gz"
[[Libiconv]]
arch = "i686"
git-tree-sha1 = "697726dd2d05df62d7fb3b992524b6975aa81b0b"
libc = "glibc"
os = "linux"

[[Libiconv.download]]
sha256 = "9c684b831f912929094d8dd06124893cca3809d2bbb6a6f0e66148d93798d7f3"
url = "https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.16.0+0/Libiconv.v1.16.0.i686-linux-gnu.tar.gz"
[[Libiconv]]
arch = "x86_64"
git-tree-sha1 = "83084b855814c8fa2914ba4be685f38cf2b7f156"
libc = "musl"
os = "linux"

[[Libiconv.download]]
sha256 = "cf0ca9cd00dbfdc62ce74e89e0cb2b47f3d18335a176c41bed0a7c2172cf2d80"
url = "https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.16.0+0/Libiconv.v1.16.0.x86_64-linux-musl.tar.gz"
[[Libiconv]]
arch = "armv7l"
git-tree-sha1 = "ef21e36f1552e19de9424b67b99df6039956668b"
libc = "glibc"
os = "linux"

[[Libiconv.download]]
sha256 = "a1f115552cb98687205097434301707969d7e5fb72d2040bb7672b024f534577"
url = "https://github.com/JuliaBinaryWrappers/Libiconv_jll.jl/releases/download/Libiconv-v1.16.0+0/Libiconv.v1.16.0.arm-linux-gnueabihf.tar.gz"
10 changes: 10 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name = "Libiconv_jll"
uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531"
version = "1.16.0+0"

[deps]
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"

[compat]
julia = "1.3"
34 changes: 34 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Libiconv_jll.jl

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

## Usage

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:

```julia
products = [
FileProduct("src/data.txt", :data_txt),
LibraryProduct("libdataproc", :libdataproc),
ExecutableProduct("mungify", :mungify_exe)
]
```

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:

```julia
using Libiconv_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]))

# For executable products, you can use the exported variable name as a function that you can call
mungify_exe() do mungify_exe_path
run(`$mungify_exe_path $num_chars`)
end
```
26 changes: 26 additions & 0 deletions src/Libiconv_jll.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
module Libiconv_jll
using Pkg, Pkg.BinaryPlatforms, Pkg.Artifacts, Libdl
import Base: UUID

# Load Artifacts.toml file
artifacts_toml = joinpath(@__DIR__, "..", "Artifacts.toml")

# Extract all platforms
artifacts = Pkg.Artifacts.load_artifacts_toml(artifacts_toml; pkg_uuid=UUID("94ce4f54-9a6c-5748-9c1c-f9c7231a4531"))
platforms = [Pkg.Artifacts.unpack_platform(e, "Libiconv", artifacts_toml) for e in artifacts["Libiconv"]]

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

# From the available options, choose the best platform
best_platform = select_platform(Dict(p => triplet(p) for p in platforms))

# Silently fail if there's no binaries for this platform
if best_platform === nothing
@debug("Unable to load Libiconv; unsupported platform $(triplet(platform_key_abi()))")
else
# Load the appropriate wrapper
include(joinpath(@__DIR__, "wrappers", "$(best_platform).jl"))
end

end # module Libiconv_jll
53 changes: 53 additions & 0 deletions src/wrappers/aarch64-linux-gnu.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Autogenerated wrapper script for Libiconv_jll for aarch64-linux-gnu
export libiconv

## Global variables
const PATH_list = String[]
const LIBPATH_list = String[]
PATH = ""
LIBPATH = ""
LIBPATH_env = "LD_LIBRARY_PATH"

# Relative path to `libiconv`
const libiconv_splitpath = ["lib", "libiconv.so"]

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

# libiconv-specific global declaration
# This will be filled out by __init__()
libiconv_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libiconv = "libiconv.so.2"


"""
Open all libraries
"""
function __init__()
global prefix = abspath(joinpath(@__DIR__, ".."))

# Initialize PATH and LIBPATH environment variable listings
global PATH_list, LIBPATH_list

global libiconv_path = abspath(joinpath(artifact"Libiconv", libiconv_splitpath...))

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

# Filter out duplicate and empty entries in our PATH and LIBPATH entries
filter!(!isempty, unique!(PATH_list))
filter!(!isempty, unique!(LIBPATH_list))
global PATH = join(PATH_list, ':')
global LIBPATH = join(LIBPATH_list, ':')

# Add each element of LIBPATH to our DL_LOAD_PATH (necessary on platforms
# that don't honor our "already opened" trick)
#for lp in LIBPATH_list
# push!(DL_LOAD_PATH, lp)
#end
end # __init__()

53 changes: 53 additions & 0 deletions src/wrappers/aarch64-linux-musl.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Autogenerated wrapper script for Libiconv_jll for aarch64-linux-musl
export libiconv

## Global variables
const PATH_list = String[]
const LIBPATH_list = String[]
PATH = ""
LIBPATH = ""
LIBPATH_env = "LD_LIBRARY_PATH"

# Relative path to `libiconv`
const libiconv_splitpath = ["lib", "libiconv.so"]

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

# libiconv-specific global declaration
# This will be filled out by __init__()
libiconv_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libiconv = "libiconv.so.2"


"""
Open all libraries
"""
function __init__()
global prefix = abspath(joinpath(@__DIR__, ".."))

# Initialize PATH and LIBPATH environment variable listings
global PATH_list, LIBPATH_list

global libiconv_path = abspath(joinpath(artifact"Libiconv", libiconv_splitpath...))

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

# Filter out duplicate and empty entries in our PATH and LIBPATH entries
filter!(!isempty, unique!(PATH_list))
filter!(!isempty, unique!(LIBPATH_list))
global PATH = join(PATH_list, ':')
global LIBPATH = join(LIBPATH_list, ':')

# Add each element of LIBPATH to our DL_LOAD_PATH (necessary on platforms
# that don't honor our "already opened" trick)
#for lp in LIBPATH_list
# push!(DL_LOAD_PATH, lp)
#end
end # __init__()

53 changes: 53 additions & 0 deletions src/wrappers/arm-linux-gnueabihf.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Autogenerated wrapper script for Libiconv_jll for arm-linux-gnueabihf
export libiconv

## Global variables
const PATH_list = String[]
const LIBPATH_list = String[]
PATH = ""
LIBPATH = ""
LIBPATH_env = "LD_LIBRARY_PATH"

# Relative path to `libiconv`
const libiconv_splitpath = ["lib", "libiconv.so"]

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

# libiconv-specific global declaration
# This will be filled out by __init__()
libiconv_handle = C_NULL

# This must be `const` so that we can use it with `ccall()`
const libiconv = "libiconv.so.2"


"""
Open all libraries
"""
function __init__()
global prefix = abspath(joinpath(@__DIR__, ".."))

# Initialize PATH and LIBPATH environment variable listings
global PATH_list, LIBPATH_list

global libiconv_path = abspath(joinpath(artifact"Libiconv", libiconv_splitpath...))

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

# Filter out duplicate and empty entries in our PATH and LIBPATH entries
filter!(!isempty, unique!(PATH_list))
filter!(!isempty, unique!(LIBPATH_list))
global PATH = join(PATH_list, ':')
global LIBPATH = join(LIBPATH_list, ':')

# Add each element of LIBPATH to our DL_LOAD_PATH (necessary on platforms
# that don't honor our "already opened" trick)
#for lp in LIBPATH_list
# push!(DL_LOAD_PATH, lp)
#end
end # __init__()

Loading

0 comments on commit c2be336

Please sign in to comment.