Generate and host Julia bindings for the p4est library provided by P4est_jll.jl. The content of the P4est_jll_bindings repository itself is not immediately relevant for users of p4est in Julia. However, the Julia wrapper package P4est.jl uses the artifacts attached to the releases of this repository to automatically retrieve pre-generated Julia bindings. In general, we try to track the releases of P4est_jll.jl and thus use the same version numbers to avoid confusion.
If you are just looking for the relevant Artifacts.toml
entries to
automatically download the bindings, check out the
Entries for Artifacts.toml section below.
To use Julia scripts in this repository, you first need to install a few dependencies by executing the following command in the repository folder:
julia --project=@. -e 'import Pkg; Pkg.instantiate()'
This step is only necessary once. Then, proceed as follows:
- Create new bindings
Create a new bindings file, e.g., using the build process of P4est.jl with the environment variableJULIA_P4EST_GENERATE_BINDINGS
set toyes
. - Create new bindings artifact
To create a new artifact with a given bindings file, runcreate_bindings_artifact.jl
as follows:Here,julia --project create_bindings_artifact.jl path/to/bindings.jl X.Y.Z
X.Y.Z
should be the P4est_jll.jl release version in semver format for which the bindings have been generated, e.g.,2.3.1
. This will create a new artifact archive that can be attached as an asset to a new release of this repository, e.g.,P4est.v2.3.1.tar.gz
, and return its name to the terminal. - Generate entries for Artifacts.toml
Note the exact release name of the P4est_jll.jl release for which the bindings have been generated. They can be found on the P4est_jll.jl release page. For example, for the p4est version2.3.1
, the corresponding release name isP4est-v2.3.1+0
(including the+0
). Run the scriptgenerate_artifacts_toml.jl
aswherejulia --project generate_artifacts_toml.jl ARTIFACT_FILE RELASE_NAME
ARTIFACT_FILE
is the archive you created in the previous step andRELEASE_NAME
is the noted release name. Use the output of the script to create a new entry in the Entries for Artifacts.toml section below, i.e., edit thisREADME.md
and commit it to the repository. - Create a new release
Create a new release of the P4est_jll_bindings repository and use the release name from the previous step for both theTag version
and theRelease title
. At the bottom of the page, attach the newly created artifact file, e.g.,P4est.v2.3.1.tar.gz
. Then, publish the release.
P4est_jll_bindings was initiated by Michael Schlottke-Lakemper (University of Cologne, Germany) and Hendrik Ranocha (University of Münster, Germany).
P4est_jll_bindings is licensed under the MIT license (see LICENSE.md).
Please add new release at the top, i.e., the list is sorted by decreasing version number.
- P4est-v2.8.0+0
[libp4est] git-tree-sha1 = "ab08f50b99b6c4060e331e5ece8352645c380dd5" [[libp4est.download]] sha256 = "837eacdd075584af5a5e5f727973b0a216717919ab6e2bdd0200b222c3c3f38d" url = "https://github.com/trixi-framework/P4est_jll_bindings/releases/download/P4est-v2.8.0+0/P4est.v2.8.0.tar.gz"
- P4est-v2.3.1+0
[libp4est] git-tree-sha1 = "45086a10bb6c634ab1f35758ecaadcefbbbbaf13" [[libp4est.download]] sha256 = "0ff5f74c9391a9e32fe517327819ac8917a906925605db0569a5beca7b45bcb8" url = "https://github.com/trixi-framework/P4est_jll_bindings/releases/download/P4est-v2.3.1+0/P4est.v2.3.1.tar.gz"