Skip to content

Commit 36959d7

Browse files
committed
OpenSSL_jll build 1.1.1+0
0 parents  commit 36959d7

17 files changed

+1540
-0
lines changed

Artifacts.toml

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
[[OpenSSL]]
2+
arch = "x86_64"
3+
git-tree-sha1 = "db01252ad9dc68fe85c86589d72df368c612f47c"
4+
os = "macos"
5+
6+
[[OpenSSL.download]]
7+
sha256 = "ed44e58892414a281ca4625fb49049ae1813ac4c4a0f08b614763ceedc381920"
8+
url = "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/Rootfs-v2019.9.25+0/OpenSSL.v1.1.1+c.x86_64-apple-darwin14.tar.gz"
9+
[[OpenSSL]]
10+
arch = "i686"
11+
git-tree-sha1 = "ba18febecb18806a902bb908b443aaecd733fe61"
12+
libc = "glibc"
13+
os = "linux"
14+
15+
[[OpenSSL.download]]
16+
sha256 = "f440f358bfec1eb45fd4bd82ad707c7346c5306c9223ec1876cb289768ba4ed6"
17+
url = "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/Rootfs-v2019.9.25+0/OpenSSL.v1.1.1+c.i686-linux-gnu.tar.gz"
18+
[[OpenSSL]]
19+
arch = "x86_64"
20+
git-tree-sha1 = "c67ea89d731af5f5a4216bfd0b7e49add4e9044b"
21+
os = "freebsd"
22+
23+
[[OpenSSL.download]]
24+
sha256 = "b773fa8492ceb52d8896fc97e93777475c0e1dedab0a79fd24ca8a1a0ef313e3"
25+
url = "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/Rootfs-v2019.9.25+0/OpenSSL.v1.1.1+c.x86_64-unknown-freebsd11.1.tar.gz"
26+
[[OpenSSL]]
27+
arch = "powerpc64le"
28+
git-tree-sha1 = "5f46efd1693f87715d1639b5494ba85566d1015d"
29+
libc = "glibc"
30+
os = "linux"
31+
32+
[[OpenSSL.download]]
33+
sha256 = "561483db6b404618eb3615535a275921b083cd34577de9c0793f48f561db1ff4"
34+
url = "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/Rootfs-v2019.9.25+0/OpenSSL.v1.1.1+c.powerpc64le-linux-gnu.tar.gz"
35+
[[OpenSSL]]
36+
arch = "x86_64"
37+
git-tree-sha1 = "c080492400d17de862f03ed3a8ee7f97307c151c"
38+
libc = "musl"
39+
os = "linux"
40+
41+
[[OpenSSL.download]]
42+
sha256 = "0b68858b71f6b29b7e809cd7517bd10b810bd15f7672c462e2c1d23bcb120e8c"
43+
url = "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/Rootfs-v2019.9.25+0/OpenSSL.v1.1.1+c.x86_64-linux-musl.tar.gz"
44+
[[OpenSSL]]
45+
arch = "x86_64"
46+
git-tree-sha1 = "3ef276dc7f4cc68636d3f8346c551d1914079f84"
47+
libc = "glibc"
48+
os = "linux"
49+
50+
[[OpenSSL.download]]
51+
sha256 = "18381a871031fd7e6309f09bdc6116f0dadb99cf662143593690efe1b16bd327"
52+
url = "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/Rootfs-v2019.9.25+0/OpenSSL.v1.1.1+c.x86_64-linux-gnu.tar.gz"
53+
[[OpenSSL]]
54+
arch = "x86_64"
55+
git-tree-sha1 = "9abc71b87648e2e6c7aefae33e8be36879dec4fd"
56+
os = "windows"
57+
58+
[[OpenSSL.download]]
59+
sha256 = "4ca741578315ba169ac89cb38a9fc23ad329581a2e503521a587dd236fada6b0"
60+
url = "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/Rootfs-v2019.9.25+0/OpenSSL.v1.1.1+c.x86_64-w64-mingw32.tar.gz"
61+
[[OpenSSL]]
62+
arch = "aarch64"
63+
git-tree-sha1 = "20bcf0e1ff9e4413b61c12d8fc25f04076d65670"
64+
libc = "musl"
65+
os = "linux"
66+
67+
[[OpenSSL.download]]
68+
sha256 = "349a2e8a5a268e85c36c49e65b4ad120d32e384fa777911aa677d20828d52450"
69+
url = "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/Rootfs-v2019.9.25+0/OpenSSL.v1.1.1+c.aarch64-linux-musl.tar.gz"
70+
[[OpenSSL]]
71+
arch = "armv7l"
72+
git-tree-sha1 = "057444697eb1d84f1d696a190983c94891372e50"
73+
libc = "glibc"
74+
os = "linux"
75+
76+
[[OpenSSL.download]]
77+
sha256 = "532c84c5871e53f35b8657e4435eaf298e6afcbe300a671483c25b6e1995e387"
78+
url = "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/Rootfs-v2019.9.25+0/OpenSSL.v1.1.1+c.arm-linux-gnueabihf.tar.gz"
79+
[[OpenSSL]]
80+
arch = "i686"
81+
git-tree-sha1 = "1d10068cdab3ea76d57c5223eabfd63704300095"
82+
libc = "musl"
83+
os = "linux"
84+
85+
[[OpenSSL.download]]
86+
sha256 = "3384b8d8bc07cd655d5929c37aa12ec84d013634eab483bb4dce2ba729ff3ff9"
87+
url = "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/Rootfs-v2019.9.25+0/OpenSSL.v1.1.1+c.i686-linux-musl.tar.gz"
88+
[[OpenSSL]]
89+
arch = "armv7l"
90+
git-tree-sha1 = "54e63efbae2f210cd77d6f5e206c545acdbfd515"
91+
libc = "musl"
92+
os = "linux"
93+
94+
[[OpenSSL.download]]
95+
sha256 = "84461e71b33c51048596e50b6362ed21130f0b525daba5e21c777f56ebb8c348"
96+
url = "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/Rootfs-v2019.9.25+0/OpenSSL.v1.1.1+c.arm-linux-musleabihf.tar.gz"
97+
[[OpenSSL]]
98+
arch = "aarch64"
99+
git-tree-sha1 = "7c960b48e273e1c0b6063a3637a53095bcdba5f7"
100+
libc = "glibc"
101+
os = "linux"
102+
103+
[[OpenSSL.download]]
104+
sha256 = "104629060ded70b8799b7ee9683ccc366b58a158049768e289f3787e346b1485"
105+
url = "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/Rootfs-v2019.9.25+0/OpenSSL.v1.1.1+c.aarch64-linux-gnu.tar.gz"
106+
[[OpenSSL]]
107+
arch = "i686"
108+
git-tree-sha1 = "2c2938e547bcd4b6224bf6eccd9464201ff4041a"
109+
os = "windows"
110+
111+
[[OpenSSL.download]]
112+
sha256 = "c511d9d2feab0f4d3e94cecc683d5268050721075482762f397ee21992b0cc9b"
113+
url = "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl/releases/download/Rootfs-v2019.9.25+0/OpenSSL.v1.1.1+c.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 = "OpenSSL_jll"
2+
uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95"
3+
version = "1.1.1+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+
# OpenSSL_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 OpenSSL_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/OpenSSL_jll.jl

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
module OpenSSL_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("458c3c95-2e84-50aa-8efc-19380b2a3a95"))
15+
platforms = [Pkg.Artifacts.unpack_platform(e, "OpenSSL", artifacts_toml) for e in artifacts["OpenSSL"]]
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 OpenSSL; 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 OpenSSL_jll

src/wrappers/aarch64-linux-gnu.jl

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
# Autogenerated wrapper script for OpenSSL_jll for aarch64-linux-gnu
2+
export libcrypto, openssl, libssl
3+
4+
## Global variables
5+
PATH = ""
6+
LIBPATH = ""
7+
LIBPATH_env = "LD_LIBRARY_PATH"
8+
9+
# Relative path to `libcrypto`
10+
const libcrypto_splitpath = ["lib", "libcrypto.so"]
11+
12+
# This will be filled out by __init__() for all products, as it must be done at runtime
13+
libcrypto_path = ""
14+
15+
# libcrypto-specific global declaration
16+
# This will be filled out by __init__()
17+
libcrypto_handle = C_NULL
18+
19+
# This must be `const` so that we can use it with `ccall()`
20+
const libcrypto = "libcrypto.so.1.1"
21+
22+
23+
# Relative path to `openssl`
24+
const openssl_splitpath = ["bin", "openssl"]
25+
26+
# This will be filled out by __init__() for all products, as it must be done at runtime
27+
openssl_path = ""
28+
29+
# openssl-specific global declaration
30+
function openssl(f::Function; adjust_PATH::Bool = true, adjust_LIBPATH::Bool = true)
31+
global PATH, LIBPATH
32+
env_mapping = Dict{String,String}()
33+
if adjust_PATH
34+
if !isempty(get(ENV, "PATH", ""))
35+
env_mapping["PATH"] = string(ENV["PATH"], ':', PATH)
36+
else
37+
env_mapping["PATH"] = PATH
38+
end
39+
end
40+
if adjust_LIBPATH
41+
if !isempty(get(ENV, LIBPATH_env, ""))
42+
env_mapping[LIBPATH_env] = string(ENV[LIBPATH_env], ':', LIBPATH)
43+
else
44+
env_mapping[LIBPATH_env] = LIBPATH
45+
end
46+
end
47+
withenv(env_mapping...) do
48+
f(openssl_path)
49+
end
50+
end
51+
52+
53+
# Relative path to `libssl`
54+
const libssl_splitpath = ["lib", "libssl.so"]
55+
56+
# This will be filled out by __init__() for all products, as it must be done at runtime
57+
libssl_path = ""
58+
59+
# libssl-specific global declaration
60+
# This will be filled out by __init__()
61+
libssl_handle = C_NULL
62+
63+
# This must be `const` so that we can use it with `ccall()`
64+
const libssl = "libssl.so.1.1"
65+
66+
67+
"""
68+
Open all libraries
69+
"""
70+
function __init__()
71+
global prefix = abspath(joinpath(@__DIR__, ".."))
72+
73+
# Initialize PATH and LIBPATH environment variable listings
74+
global PATH_list, LIBPATH_list
75+
global libcrypto_path = abspath(joinpath(artifact"OpenSSL", libcrypto_splitpath...))
76+
77+
# Manually `dlopen()` this right now so that future invocations
78+
# of `ccall` with its `SONAME` will find this path immediately.
79+
global libcrypto_handle = dlopen(libcrypto_path)
80+
push!(LIBPATH_list, dirname(libcrypto_path))
81+
82+
global openssl_path = abspath(joinpath(artifact"OpenSSL", openssl_splitpath...))
83+
84+
push!(PATH_list, dirname(openssl_path))
85+
global libssl_path = abspath(joinpath(artifact"OpenSSL", libssl_splitpath...))
86+
87+
# Manually `dlopen()` this right now so that future invocations
88+
# of `ccall` with its `SONAME` will find this path immediately.
89+
global libssl_handle = dlopen(libssl_path)
90+
push!(LIBPATH_list, dirname(libssl_path))
91+
92+
# Filter out duplicate and empty entries in our PATH and LIBPATH entries
93+
filter!(!isempty, unique!(PATH_list))
94+
filter!(!isempty, unique!(LIBPATH_list))
95+
global PATH = join(PATH_list, ':')
96+
global LIBPATH = join(LIBPATH_list, ':')
97+
98+
# Add each element of LIBPATH to our DL_LOAD_PATH (necessary on platforms
99+
# that don't honor our "already opened" trick)
100+
#for lp in LIBPATH_list
101+
# push!(DL_LOAD_PATH, lp)
102+
#end
103+
end # __init__()
104+

0 commit comments

Comments
 (0)