Skip to content

Commit

Permalink
LibPQ_jll build 12.3.0+0
Browse files Browse the repository at this point in the history
  • Loading branch information
jlbuild committed Jul 3, 2020
1 parent bcbe761 commit 934af74
Show file tree
Hide file tree
Showing 18 changed files with 920 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 @@
[[LibPQ]]
arch = "aarch64"
git-tree-sha1 = "c1fecc716a63d70095c0ed333d3397f26e21a271"
libc = "glibc"
os = "linux"

[[LibPQ.download]]
sha256 = "a44903b47db2b0be6004c39bb142124c11cf46a316a5cbb7d04ce77624d7f0ab"
url = "https://github.com/JuliaBinaryWrappers/LibPQ_jll.jl/releases/download/LibPQ-v12.3.0+0/LibPQ.v12.3.0.aarch64-linux-gnu.tar.gz"
[[LibPQ]]
arch = "aarch64"
git-tree-sha1 = "4edd9dc7b6feb1ef89917abe23dc6687a9668119"
libc = "musl"
os = "linux"

[[LibPQ.download]]
sha256 = "8a5afc96eb383f6b5af3ae24d63c2616201d4fa9fb880ac211729f6d50700617"
url = "https://github.com/JuliaBinaryWrappers/LibPQ_jll.jl/releases/download/LibPQ-v12.3.0+0/LibPQ.v12.3.0.aarch64-linux-musl.tar.gz"
[[LibPQ]]
arch = "armv7l"
git-tree-sha1 = "825c8afc5b2b77f784ebad613508f6d5051f4a65"
libc = "glibc"
os = "linux"

[[LibPQ.download]]
sha256 = "241062e144d5d3f417f3163320714c8a031df684d92f84f084cadcbb72d01709"
url = "https://github.com/JuliaBinaryWrappers/LibPQ_jll.jl/releases/download/LibPQ-v12.3.0+0/LibPQ.v12.3.0.armv7l-linux-gnueabihf.tar.gz"
[[LibPQ]]
arch = "armv7l"
git-tree-sha1 = "038f9f4205c26b1aa4a8ccb55e5ad87de02e4ff9"
libc = "musl"
os = "linux"

[[LibPQ.download]]
sha256 = "8f03ea2f2a6b200cb62a747d44f35086464eb142334a2b641b142cea1fa383aa"
url = "https://github.com/JuliaBinaryWrappers/LibPQ_jll.jl/releases/download/LibPQ-v12.3.0+0/LibPQ.v12.3.0.armv7l-linux-musleabihf.tar.gz"
[[LibPQ]]
arch = "i686"
git-tree-sha1 = "a02039d81135c792eb429010781ecbf45fe8225c"
libc = "glibc"
os = "linux"

[[LibPQ.download]]
sha256 = "b5377f61ca4ca82c4b8cf22db8bc99e747ba9fc65367f304dd2e71ce6db5e55f"
url = "https://github.com/JuliaBinaryWrappers/LibPQ_jll.jl/releases/download/LibPQ-v12.3.0+0/LibPQ.v12.3.0.i686-linux-gnu.tar.gz"
[[LibPQ]]
arch = "i686"
git-tree-sha1 = "381fcf70c469802cd09cd6e92f677efd9d8bca37"
libc = "musl"
os = "linux"

[[LibPQ.download]]
sha256 = "8fb30f68809a888312477b4a3ae99232563059c84f2b1922593a4208bdd87a2f"
url = "https://github.com/JuliaBinaryWrappers/LibPQ_jll.jl/releases/download/LibPQ-v12.3.0+0/LibPQ.v12.3.0.i686-linux-musl.tar.gz"
[[LibPQ]]
arch = "i686"
git-tree-sha1 = "9f41d303d176baa2ea1a191da1b5ccc5ae72e63e"
os = "windows"

[[LibPQ.download]]
sha256 = "450133afcd25345763e9b46949b751872b95f2658af3df07db7674ecf40a1ecf"
url = "https://github.com/JuliaBinaryWrappers/LibPQ_jll.jl/releases/download/LibPQ-v12.3.0+0/LibPQ.v12.3.0.i686-w64-mingw32.tar.gz"
[[LibPQ]]
arch = "powerpc64le"
git-tree-sha1 = "22e2f2498fa17403a6508f0e6be66927ef6b82e9"
libc = "glibc"
os = "linux"

[[LibPQ.download]]
sha256 = "21fc2591ccf436b01613bea4d1a65b864e6733961cca9d03bd13a993685780e0"
url = "https://github.com/JuliaBinaryWrappers/LibPQ_jll.jl/releases/download/LibPQ-v12.3.0+0/LibPQ.v12.3.0.powerpc64le-linux-gnu.tar.gz"
[[LibPQ]]
arch = "x86_64"
git-tree-sha1 = "80baf7640519cca938d790cd982069cf3f438527"
os = "macos"

[[LibPQ.download]]
sha256 = "51f06713c14eaafc15b4f9a0ff96cfadc0665e294ff8f6857fd3acb1354e9575"
url = "https://github.com/JuliaBinaryWrappers/LibPQ_jll.jl/releases/download/LibPQ-v12.3.0+0/LibPQ.v12.3.0.x86_64-apple-darwin14.tar.gz"
[[LibPQ]]
arch = "x86_64"
git-tree-sha1 = "13aaf7cd71e97d0fc2ad985886201d917e5c53b3"
libc = "glibc"
os = "linux"

[[LibPQ.download]]
sha256 = "3d4a0e280ab4ee889cb89ee443c3d31ce68222e38644f113ba91def3067a4a8d"
url = "https://github.com/JuliaBinaryWrappers/LibPQ_jll.jl/releases/download/LibPQ-v12.3.0+0/LibPQ.v12.3.0.x86_64-linux-gnu.tar.gz"
[[LibPQ]]
arch = "x86_64"
git-tree-sha1 = "457b5a48dcbc87c6dbacac8238cb6c198500db37"
libc = "musl"
os = "linux"

[[LibPQ.download]]
sha256 = "e56b8752cd2aa39030f1f4a52508d46f79135f1325810eefc3eb074465b65927"
url = "https://github.com/JuliaBinaryWrappers/LibPQ_jll.jl/releases/download/LibPQ-v12.3.0+0/LibPQ.v12.3.0.x86_64-linux-musl.tar.gz"
[[LibPQ]]
arch = "x86_64"
git-tree-sha1 = "1af62c2fbfab17f10324dedb50e45bbb44ad17c0"
os = "freebsd"

[[LibPQ.download]]
sha256 = "dcec73380a190cbd38d4a22c69c34fc23da05e4f005c36a7177d581dd32b18bc"
url = "https://github.com/JuliaBinaryWrappers/LibPQ_jll.jl/releases/download/LibPQ-v12.3.0+0/LibPQ.v12.3.0.x86_64-unknown-freebsd11.1.tar.gz"
[[LibPQ]]
arch = "x86_64"
git-tree-sha1 = "8b63de5067c2044a8e0bb0e0b23c49e2016a8ed9"
os = "windows"

[[LibPQ.download]]
sha256 = "a3dce235b54851071ee9caf3e4bc4f88eeb3b33fd15926aa25b24ffbc68823a4"
url = "https://github.com/JuliaBinaryWrappers/LibPQ_jll.jl/releases/download/LibPQ-v12.3.0+0/LibPQ.v12.3.0.x86_64-w64-mingw32.tar.gz"
8 changes: 8 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
The Julia source code within this repository (all files under `src/`) are
released under the terms of the MIT "Expat" License, the text of which is
included below. This license does not apply to the binary package wrapped by
this Julia package and automatically downloaded by the Julia package manager
upon installing this wrapper package. The binary package's license is shipped
alongside the binary itself and can be found within the
`share/licenses/LibPQ` directory within its prefix.

MIT License

Copyright (c) 2020 JuliaBinaryWrappers
Expand Down
11 changes: 11 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name = "LibPQ_jll"
uuid = "08be9ffa-1c94-5ee5-a977-46a84ec9b350"
version = "12.3.0+0"

[deps]
Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
OpenSSL_jll = "458c3c95-2e84-50aa-8efc-19380b2a3a95"
Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"

[compat]
julia = "1.0"
42 changes: 42 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# `LibPQ_jll.jl` (v12.3.0+0)

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/95df9d5f50ac77f3a05163e41e11c373490d0734/L/LibPQ/build_tarballs.jl) script can be found on [`Yggdrasil`](https://github.com/JuliaPackaging/Yggdrasil/), the community build tree.

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

## Sources

The tarballs for `LibPQ_jll.jl` have been built from these sources:

* compressed archive: https://ftp.postgresql.org/pub/source/v12.3/postgresql-12.3.tar.gz (SHA256 checksum: `708fd5b32a97577679d3c13824c633936f886a733fc55ab5a9240b615a105f50`)
* compressed archive: https://data.iana.org/time-zones/releases/tzcode2020a.tar.gz (SHA256 checksum: `7d2af7120ee03df71fbca24031ccaf42404752e639196fe93c79a41b38a6d669`)

## Platforms

`LibPQ_jll.jl` is available for the following platforms:

* `Linux(:aarch64, libc=:glibc)` (`aarch64-linux-gnu`)
* `Linux(:aarch64, libc=:musl)` (`aarch64-linux-musl`)
* `Linux(:armv7l, libc=:glibc, call_abi=:eabihf)` (`armv7l-linux-gnueabihf`)
* `Linux(:armv7l, libc=:musl, call_abi=:eabihf)` (`armv7l-linux-musleabihf`)
* `Linux(:i686, libc=:glibc)` (`i686-linux-gnu`)
* `Linux(:i686, libc=:musl)` (`i686-linux-musl`)
* `Windows(:i686)` (`i686-w64-mingw32`)
* `Linux(:powerpc64le, libc=:glibc)` (`powerpc64le-linux-gnu`)
* `MacOS(:x86_64)` (`x86_64-apple-darwin14`)
* `Linux(:x86_64, libc=:glibc)` (`x86_64-linux-gnu`)
* `Linux(:x86_64, libc=:musl)` (`x86_64-linux-musl`)
* `FreeBSD(:x86_64)` (`x86_64-unknown-freebsd11.1`)
* `Windows(:x86_64)` (`x86_64-w64-mingw32`)

## Dependencies

The following JLL packages are required by `LibPQ_jll.jl`:

* [`OpenSSL_jll`](https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl)

## Products

The code bindings within this package are autogenerated from the following `Products`:

* `LibraryProduct`: `LIBPQ_HANDLE`
57 changes: 57 additions & 0 deletions src/LibPQ_jll.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
module LibPQ_jll

if isdefined(Base, :Experimental) && isdefined(Base.Experimental, Symbol("@optlevel"))
@eval Base.Experimental.@optlevel 0
end

if VERSION < v"1.3.0-rc4"
# We lie a bit in the registry that JLL packages are usable on Julia 1.0-1.2.
# This is to allow packages that might want to support Julia 1.0 to get the
# benefits of a JLL package on 1.3 (requiring them to declare a dependence on
# this JLL package in their Project.toml) but engage in heroic hacks to do
# something other than actually use a JLL package on 1.0-1.2. By allowing
# this package to be installed (but not loaded) on 1.0-1.2, we enable users
# to avoid splitting their package versions into pre-1.3 and post-1.3 branches
# if they are willing to engage in the kinds of hoop-jumping they might need
# to in order to install binaries in a JLL-compatible way on 1.0-1.2. One
# example of this hoop-jumping being to express a dependency on this JLL
# package, then import it within a `VERSION >= v"1.3"` conditional, and use
# the deprecated `build.jl` mechanism to download the binaries through e.g.
# `BinaryProvider.jl`. This should work well for the simplest packages, and
# require greater and greater heroics for more and more complex packages.
error("Unable to import LibPQ_jll on Julia versions older than 1.3!")
end

using Pkg, Pkg.BinaryPlatforms, Pkg.Artifacts, Libdl
import Base: UUID

# We put these inter-JLL-package API values here so that they are always defined, even if there
# is no underlying wrapper held within this JLL package.
const PATH_list = String[]
const LIBPATH_list = String[]

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

# Extract all platforms
artifacts = Pkg.Artifacts.load_artifacts_toml(artifacts_toml; pkg_uuid=UUID("08be9ffa-1c94-5ee5-a977-46a84ec9b350"))
platforms = [Pkg.Artifacts.unpack_platform(e, "LibPQ", artifacts_toml) for e in artifacts["LibPQ"]]

# Filter platforms based on what wrappers we've generated on-disk
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))

# Silently fail if there's no binaries for this platform
if best_platform === nothing
@debug("Unable to load LibPQ; unsupported platform $(triplet(platform_key_abi()))")
else
# 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

end # module LibPQ_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 LibPQ_jll for aarch64-linux-gnu
export LIBPQ_HANDLE

using OpenSSL_jll
## Global variables
PATH = ""
LIBPATH = ""
LIBPATH_env = "LD_LIBRARY_PATH"
LIBPATH_default = ""

# Relative path to `LIBPQ_HANDLE`
const LIBPQ_HANDLE_splitpath = ["lib", "libpq.so"]

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

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

# This must be `const` so that we can use it with `ccall()`
const LIBPQ_HANDLE = "libpq.so.5"


"""
Open all libraries
"""
function __init__()
global artifact_dir = abspath(artifact"LibPQ")

# Initialize PATH and LIBPATH environment variable listings
global PATH_list, LIBPATH_list
# From the list of our dependencies, generate a tuple of all the PATH and LIBPATH lists,
# then append them to our own.
foreach(p -> append!(PATH_list, p), (OpenSSL_jll.PATH_list,))
foreach(p -> append!(LIBPATH_list, p), (OpenSSL_jll.LIBPATH_list,))

global LIBPQ_HANDLE_path = normpath(joinpath(artifact_dir, LIBPQ_HANDLE_splitpath...))

# Manually `dlopen()` this right now so that future invocations
# of `ccall` with its `SONAME` will find this path immediately.
global LIBPQ_HANDLE_handle = dlopen(LIBPQ_HANDLE_path)
push!(LIBPATH_list, dirname(LIBPQ_HANDLE_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(vcat(LIBPATH_list, [joinpath(Sys.BINDIR, Base.LIBDIR, "julia"), joinpath(Sys.BINDIR, Base.LIBDIR)]), ':')


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 LibPQ_jll for aarch64-linux-musl
export LIBPQ_HANDLE

using OpenSSL_jll
## Global variables
PATH = ""
LIBPATH = ""
LIBPATH_env = "LD_LIBRARY_PATH"
LIBPATH_default = ""

# Relative path to `LIBPQ_HANDLE`
const LIBPQ_HANDLE_splitpath = ["lib", "libpq.so"]

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

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

# This must be `const` so that we can use it with `ccall()`
const LIBPQ_HANDLE = "libpq.so.5"


"""
Open all libraries
"""
function __init__()
global artifact_dir = abspath(artifact"LibPQ")

# Initialize PATH and LIBPATH environment variable listings
global PATH_list, LIBPATH_list
# From the list of our dependencies, generate a tuple of all the PATH and LIBPATH lists,
# then append them to our own.
foreach(p -> append!(PATH_list, p), (OpenSSL_jll.PATH_list,))
foreach(p -> append!(LIBPATH_list, p), (OpenSSL_jll.LIBPATH_list,))

global LIBPQ_HANDLE_path = normpath(joinpath(artifact_dir, LIBPQ_HANDLE_splitpath...))

# Manually `dlopen()` this right now so that future invocations
# of `ccall` with its `SONAME` will find this path immediately.
global LIBPQ_HANDLE_handle = dlopen(LIBPQ_HANDLE_path)
push!(LIBPATH_list, dirname(LIBPQ_HANDLE_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(vcat(LIBPATH_list, [joinpath(Sys.BINDIR, Base.LIBDIR, "julia"), joinpath(Sys.BINDIR, Base.LIBDIR)]), ':')


end # __init__()

Loading

0 comments on commit 934af74

Please sign in to comment.