Skip to content

Commit

Permalink
Merge branch 'master' into eschnett/hdf5-cross
Browse files Browse the repository at this point in the history
* master: (38 commits)
  Bump LLVM to 14.0.6-3 (JuliaPackaging#6589)
  [llama_cpp] Bump version (JuliaPackaging#6588)
  [GMT] Let libcurl_jll compat have 7.7s and 8.0.1 (JuliaPackaging#6586)
  Make autotools more relocatable (JuliaPackaging#6585)
  [Libtool] Clean up, add more executable products (JuliaPackaging#6581)
  Bump MParT_jll to 2.0.2 (JuliaPackaging#6584)
  [automake] Add Automake `v1.16` (JuliaPackaging#6583)
  [autoconf] Add `autoconf` `v2.71` (JuliaPackaging#6582)
  [Bison] ensure the package does not hardcode paths (JuliaPackaging#6580)
  [gawk] Add v5.2.1 (JuliaPackaging#6579)
  New Recipe: Kira v2.3.0 (JuliaPackaging#6485)
  Regenerate PTSCOTCH_jll with a compat entry for SCOTCH_jll (JuliaPackaging#6575)
  [file] Add GNU file `v5.44` (JuliaPackaging#6573)
  [HSL] Compile v1.0.0 (JuliaPackaging#6549)
  Regenerate MUMPS_jll with a compat entry for SCOTCH_jll (JuliaPackaging#6576)
  Regenerate MMG_jll with a compat entry for SCOTCH_jll (JuliaPackaging#6571)
  Regenerate neper_jll with a compat entry for SCOTCH_jll (JuliaPackaging#6572)
  [Singular] update to 4.3.2-0 + depth pathches (JuliaPackaging#6577)
  Regenerate qr_mumps_jll with a compat entry for SCOTCH_jll (JuliaPackaging#6574)
  [patch] Add Patch `v2.7.6` (JuliaPackaging#6570)
  ...
  • Loading branch information
eschnett committed Apr 16, 2023
2 parents 37d72c4 + 6794ebd commit a1f8df5
Show file tree
Hide file tree
Showing 62 changed files with 3,666 additions and 358 deletions.
7 changes: 4 additions & 3 deletions A/AcousticsToolbox/build_tarballs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,17 @@
using BinaryBuilder, Pkg

name = "AcousticsToolbox"
version = v"2020.11.4"
version_string = "2022_4_20"
version = VersionNumber(replace(version_string, "_" => "."))

# Collection of sources required to complete build
sources = [
ArchiveSource("http://oalib.hlsresearch.com/AcousticsToolbox/at_2020_11_4.zip", "6f9fe5d3d7fd99fc34fb2a2c3308f2e660a1cc0ea93f0651111af698acf442f0")
ArchiveSource("http://oalib.hlsresearch.com/AcousticsToolbox/at_$(version_string).zip", "ff3494c8a0c696dca17ddacb9a2a412eaf664c3204f4a424afe77e66edefc950")
]

# Bash recipe for building across all platforms
script = raw"""
cd $WORKSPACE/srcdir/at_*
cd $WORKSPACE/srcdir/at
rm -rf ../__MACOSX
perl -p -i -e 's/\-march=native//; s/\-ffast\-math//; s/\-mtune=native//;' Makefile
find . -name *.exe -exec rm {} \;
Expand Down
27 changes: 27 additions & 0 deletions A/autoconf/build_tarballs.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
using BinaryBuilder

name = "autoconf"
version = v"2.71"

# Collection of sources required to complete build
sources = [
ArchiveSource("https://ftp.gnu.org/gnu/autoconf/autoconf-$(version.major).$(version.minor).tar.xz",
"f14c83cfebcc9427f2c3cea7258bd90df972d92eb26752da4ddad81c87a0faa4")
]

# Bash recipe for building across all platforms
script = raw"""
cd $WORKSPACE/srcdir/autoconf*/
./configure --prefix=${prefix} --build=${MACHTYPE} --host=${target} PERL="/usr/bin/env perl"
make -j${nproc}
make install
"""

platforms = [AnyPlatform()]
products = [
FileProduct("bin/autoconf", :autoconf),
]

dependencies = Dependency[
]
build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6")
28 changes: 28 additions & 0 deletions A/automake/build_tarballs.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
using BinaryBuilder

name = "automake"
version = v"1.16.5"

# Collection of sources required to complete build
sources = [
ArchiveSource("https://ftp.gnu.org/gnu/automake/automake-$(version).tar.xz",
"f01d58cd6d9d77fbdca9eb4bbd5ead1988228fdb73d6f7a201f5f8d6b118b469")
]

# Bash recipe for building across all platforms
script = raw"""
cd $WORKSPACE/srcdir/automake*/
./configure --prefix=${prefix} --build=${MACHTYPE} --host=${target} PERL="/usr/bin/env perl"
make -j${nproc}
make install
"""

platforms = [AnyPlatform()]
products = [
FileProduct("bin/aclocal", :aclocal),
]

dependencies = [
Dependency("autoconf_jll"),
]
build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6")
2 changes: 1 addition & 1 deletion B/Bison/build_tarballs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ sources = [
# Bash recipe for building across all platforms
script = raw"""
cd $WORKSPACE/srcdir/bison-*
./configure --prefix=${prefix} --build=${MACHTYPE} --host=${target}
./configure --prefix=${prefix} --build=${MACHTYPE} --host=${target} --enable-relocatable
make -j${nproc}
make install
"""
Expand Down
2 changes: 2 additions & 0 deletions C/CUTENSOR/build_tarballs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,5 @@ for build in builds
skip_audit=true, dont_dlopen=true)
end
end

# bump
4 changes: 2 additions & 2 deletions E/Enzyme/build_tarballs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ include(joinpath(YGGDRASIL_DIR, "platforms", "llvm.jl"))
name = "Enzyme"
repo = "https://github.com/EnzymeAD/Enzyme.git"

auto_version = "refs/tags/v0.0.52"
auto_version = "refs/tags/v0.0.53"
version = VersionNumber(split(auto_version, "/")[end])

llvm_versions = [v"11.0.1", v"12.0.1", v"13.0.1", v"14.0.2", v"15.0.7"]

# Collection of sources required to build attr
sources = [
GitSource(repo, "ae0eb382878a556abd6af2749644631c6cd48370"),
GitSource(repo, "1b0f69089fd5c81365f731a140c26767b9546f0d"),
ArchiveSource("https://github.com/phracker/MacOSX-SDKs/releases/download/10.15/MacOSX10.14.sdk.tar.xz",
"0f03869f72df8705b832910517b47dd5b79eb4e160512602f593ed243b28715f"),
]
Expand Down
79 changes: 79 additions & 0 deletions F/FireFly/build_tarballs.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Note that this script can accept some limited command-line arguments, run
# `julia build_tarballs.jl --help` to see a usage message.
using BinaryBuilder, Pkg
using Base.BinaryPlatforms
const YGGDRASIL_DIR = (dirnamedirnamedirname)(@__FILE__)
(includejoinpath)(YGGDRASIL_DIR, "platforms", "mpi.jl")

name = "FireFly"
version = v"2.0.3"

# Collection of sources required to complete build
sources = [
GitSource("https://gitlab.com/firefly-library/firefly.git", "f0b0b316790fbe23b88dd7b759220944bc77302d")
]

# Bash recipe for building across all platforms
script = raw"""
mkdir $WORKSPACE/srcdir/FireFly-build
cd ${WORKSPACE}/srcdir/firefly
sed -i "s/TARGETS FireFly_static FireFly_shared/TARGETS FireFly_shared/g" CMakeLists.txt
cd $WORKSPACE/srcdir/FireFly-build
cmake -DWITH_FLINT=true \
-DWITH_JEMALLOC=true \
-DWITH_MPI=true \
-DCMAKE_INSTALL_PREFIX=$prefix \
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TARGET_TOOLCHAIN} \
-DCMAKE_BUILD_TYPE=Release \
${EXTRA_CMAKE_FLAGS} \
${WORKSPACE}/srcdir/firefly
cmake --build . -j${nproc} -t install
install_license ${WORKSPACE}/srcdir/firefly/LICENSE
"""

augment_platform_block = """
using Base.BinaryPlatforms
$(MPI.augment)
augment_platform!(platform::Platform) = augment_mpi!(platform)
"""

# These are the platforms we will build for by default, unless further
# platforms are passed in on the command line
platforms = supported_platforms(; exclude=Sys.iswindows)
filter!(p -> nbits(p) 32, platforms)
platforms = expand_cxxstring_abis(platforms)
platforms, platform_dependencies = MPI.augment_platforms(platforms)

# Avoid platforms where the MPI implementation isn't supported
# OpenMPI
platforms = filter(p -> !(p["mpi"] == "openmpi" && arch(p) == "armv6l" && libc(p) == "glibc"), platforms)
# MPItrampoline
platforms = filter(p -> !(p["mpi"] == "mpitrampoline" && libc(p) == "musl"), platforms)
platforms = filter(p -> !(p["mpi"] == "mpitrampoline" && Sys.isfreebsd(p)), platforms)

# The products that we will ensure are always built
products = [
LibraryProduct("libfirefly", :libfirefly)
]

# Dependencies that must be installed before this package can be built
dependencies = [
Dependency(PackageSpec(name="CompilerSupportLibraries_jll", uuid="e66e0078-7015-5450-92f7-15fbd957f2ae")) # ensure that the correct version of libatomic @ x86_64-linux-gnu-cxx11-mpi+openmpi
Dependency(PackageSpec(name="FLINT_jll", uuid="e134572f-a0d5-539d-bddf-3cad8db41a82"))
Dependency(PackageSpec(name="GMP_jll", uuid="781609d7-10c4-51f6-84f2-b8444358ff6d"); compat="6.2.0")
Dependency(PackageSpec(name="Zlib_jll", uuid="83775a58-1f1d-513f-b197-d71354ab007a"))
Dependency(PackageSpec(name="jemalloc_jll", uuid="454a8cc1-5e0e-5123-92d5-09b094f0e876"))
]
append!(dependencies, platform_dependencies)

# Build the tarballs, and possibly a `build.jl` as well.
build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies;
augment_platform_block,
julia_compat="1.6",
# preferred_gcc_version = v"5.2.0" # for std=c++14
# preferred_gcc_version = v"6.1.0" # for making the target example
preferred_gcc_version = v"7.1.0" # for avoiding unexpected segmentation fault on x86_64-linux-gnu-cxx11 @ Buildkite.com
)
41 changes: 41 additions & 0 deletions F/file/build_tarballs.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
using BinaryBuilder

name = "file"

# NOTE: the cross-compilation story of `file` is kind of broken
# and requires a two-step build; we dodge this by providing `file`
# in the rootfs right now, but this locks us to exactly this version.
version = v"5.41"

# Collection of sources required to complete build
sources = [
GitSource("https://github.com/file/file.git",
"504206e53a89fd6eed71aeaf878aa3512418eab1")
]

# Bash recipe for building across all platforms
script = raw"""
cd $WORKSPACE/srcdir/file/
autoreconf -i -f
./configure --prefix=${prefix} --host=${target}
make -j${nproc}
make install
install_license COPYING
"""

# Disable windows for now, as that requires `libgnurx`.
platforms = filter(!Sys.iswindows, supported_platforms())
# Disable i686-linux-musl because we end up in dynamic linker hell
platforms = filter(p -> !(libc(p) == "musl" && arch(p) == "i686"), platforms)

products = [
ExecutableProduct("file", :file)
]
dependencies = [
Dependency("Bzip2_jll"),
Dependency("XZ_jll"),
Dependency("Zlib_jll"),
]
build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6")
4 changes: 2 additions & 2 deletions G/GMT/build_tarballs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ DCW_VERSION="2.1.1"
# Collection of sources required to complete build
sources = [
GitSource("https://github.com/GenericMappingTools/gmt",
"02d24df3402a20e23100920ede49285a9594e2a7"),
"02adf702a73d5e2ce0772fc6be69a934ff5b4719"),

ArchiveSource("https://github.com/GenericMappingTools/gshhg-gmt/releases/download/$GSHHG_VERSION/gshhg-gmt-$GSHHG_VERSION.tar.gz",
"9bb1a956fca0718c083bef842e625797535a00ce81f175df08b042c2a92cfe7f"),
Expand Down Expand Up @@ -70,7 +70,7 @@ products = [

# Dependencies that must be installed before this package can be built
dependencies = [
Dependency(PackageSpec(name="LibCURL_jll", uuid="deac9b47-8bc7-5906-a0fe-35ac56dc84c0"); compat="7.73.0")
Dependency(PackageSpec(name="LibCURL_jll", uuid="deac9b47-8bc7-5906-a0fe-35ac56dc84c0"); compat="7.73.0, 8.0.1")
Dependency("NetCDF_jll", compat="400.902.5")
Dependency("PROJ_jll", compat="900.100.0")
Dependency(PackageSpec(name="GDAL_jll", uuid="a7073274-a066-55f0-b90d-d619367d196c"); compat="301.600.200")
Expand Down
34 changes: 34 additions & 0 deletions G/gawk/build_tarballs.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
using BinaryBuilder

name = "gawk"
version = v"5.2.1"

# Collection of sources required to complete build
sources = [
ArchiveSource("https://ftp.gnu.org/gnu/gawk/gawk-$(version).tar.xz",
"673553b91f9e18cc5792ed51075df8d510c9040f550a6f74e09c9add243a7e4f")
]

# Bash recipe for building across all platforms
script = raw"""
cd $WORKSPACE/srcdir/gawk*/
CONFIGURE_ARGS=()
if [[ ${target} == aarch64-apple-darwin* ]]; then
# See https://git.savannah.gnu.org/cgit/gawk.git/tree/README_d/README.macosx?h=gawk-5.2.1#n1
CONFIGURE_ARGS+=( --disable-pma )
fi
./configure --prefix=${prefix} --host=${target} ${CONFIGURE_ARGS[@]}
make -j${nproc}
make install
install_license COPYING
"""

# Windows currently fails due to a problem with mingw headers (langinfo.h) not being found
platforms = filter(!Sys.iswindows, supported_platforms())
products = [
ExecutableProduct("gawk", :gawk)
]
dependencies = Dependency[]
build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6")
34 changes: 34 additions & 0 deletions H/HSL/build_tarballs.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Note that this script can accept some limited command-line arguments, run
# `julia build_tarballs.jl --help` to see a usage message.
using BinaryBuilder, Pkg

name = "HSL"
version = v"1.0.0"

# Collection of sources required to complete build
sources = [
GitSource("https://github.com/ralna/JuliaHSL.git", "3461aed2e62f6588098692891403d8737407131c")
]

# Bash recipe for building across all platforms
script = raw"""
cd $WORKSPACE/srcdir/JuliaHSL/dummy
meson setup builddir --cross-file=${MESON_TARGET_TOOLCHAIN} --buildtype=release
meson compile -C builddir
meson install -C builddir
"""

# These are the platforms we will build for by default, unless further
# platforms are passed in on the command line
platforms = supported_platforms()

# The products that we will ensure are always built
products = [
LibraryProduct("libhsl", :libhsl)
]

# Dependencies that must be installed before this package can be built
dependencies = []

# Build the tarballs, and possibly a `build.jl` as well.
build_tarballs(ARGS, name, version, sources, script, platforms, products, dependencies; julia_compat="1.6")
17 changes: 6 additions & 11 deletions J/JlrsLedger/build_tarballs.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,30 +3,25 @@
using BinaryBuilder, Pkg

name = "JlrsLedger"
version = v"0.0.2"
version = v"0.0.3"

# Collection of sources required to complete build
sources = [
GitSource("https://github.com/Taaitaaiger/jlrs_ledger.git",
"5ff67d8b0f6b6eea50904290e9888e8779e7cd8f"),
"0f1b3ab293445a53f68582302f2d50265507edbe"),
]

# Bash recipe for building across all platforms
script = raw"""
cd $WORKSPACE/srcdir/jlrs_ledger
if [[ "${target}" == *-musl* ]]; then
rust_flags="-C target-feature=-crt-static"
fi
RUSTFLAGS=$rust_flags cargo build --release --verbose
cargo build --release --verbose
install_license LICENSE
install -Dvm 0755 "target/${rust_target}/release/"*jlrs_ledger".${dlext}" "${libdir}/libjlrs_ledger.${dlext}"
"""

# Rust toolchain for i686 Windows is unusable
is_excluded(p) = Sys.iswindows(p) && nbits(p) != 64
platforms = supported_platforms(; exclude=is_excluded)
# These are the platforms we will build for by default, unless further
# platforms are passed in on the command line
platforms = supported_platforms()

# The products that we will ensure are always built
products = [
Expand Down
Loading

0 comments on commit a1f8df5

Please sign in to comment.