Skip to content

Commit

Permalink
FastJet_jll build 3.3.4+0
Browse files Browse the repository at this point in the history
  • Loading branch information
jlbuild committed May 7, 2020
1 parent 4fe369b commit 1affd94
Show file tree
Hide file tree
Showing 34 changed files with 10,438 additions and 1,347 deletions.
499 changes: 123 additions & 376 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 = "FastJet_jll"
uuid = "7111ce8a-33e8-59c0-b870-b64149b8fb4c"
version = "3.3.3+2"
version = "3.3.4+0"

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

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

## Usage
For more details about JLL packages, see `BinaryBuilder.jl` [documentation](https://juliapackaging.github.io/BinaryBuilder.jl/dev/jll/).

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:
## Products

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(["libfastjetplugins"], :libfastjetplugins),
LibraryProduct(["libsiscone_spherical"], :libsiscone_spherical),
LibraryProduct(["libFlavorCone"], :libFlavorCone),
LibraryProduct(["libSubjetCounting"], :libSubjetCounting),
LibraryProduct(["libfastjet"], :libfastjet),
LibraryProduct(["libfastjettools"], :libfastjettools),
LibraryProduct(["libJetFFMoments"], :libJetFFMoments),
LibraryProduct(["libClusteringVetoPlugin"], :libClusteringVetoPlugin),
LibraryProduct(["libConstituentSubtractor"], :libClusteringVetoPlugin),
LibraryProduct(["libRecursiveTools"], :libRecursiveTools),
LibraryProduct(["libLundPlane"], :libLundPlane),
LibraryProduct(["libsiscone"], :libsiscone),
LibraryProduct(["libQCDAwarePlugin"], :libQCDAwarePlugin),
LibraryProduct(["libNsubjettiness"], :libNsubjettiness),
LibraryProduct(["libGenericSubtractor"], :libGenericSubtractor),
LibraryProduct(["libJetsWithoutJets"], :libJetsWithoutJets),
LibraryProduct(["libSoftKiller"], :libSoftKiller),
LibraryProduct(["libJetCleanser"], :libJetCleanser),
LibraryProduct(["libEnergyCorrelator"], :libEnergyCorrelator),
LibraryProduct(["libScJet"], :libScJet),
LibraryProduct(["libValenciaPlugin"], :libValenciaPlugin),
LibraryProduct(["libVariableR"], :libVariableR)
]
```

## 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 +47,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 FastJet_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
9 changes: 6 additions & 3 deletions src/FastJet_jll.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ if VERSION < v"1.3.0-rc4"
# 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 wtihin a `VERSION >= v"1.3"` conditional, and use
# 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.
Expand All @@ -34,7 +34,7 @@ artifacts = Pkg.Artifacts.load_artifacts_toml(artifacts_toml; pkg_uuid=UUID("711
platforms = [Pkg.Artifacts.unpack_platform(e, "FastJet", artifacts_toml) for e in artifacts["FastJet"]]

# 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 FastJet; 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
Loading

0 comments on commit 1affd94

Please sign in to comment.