diff --git a/packages/acl/Containerfile b/packages/acl/Containerfile new file mode 100644 index 0000000..bf5ce1c --- /dev/null +++ b/packages/acl/Containerfile @@ -0,0 +1,36 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=2.3.2 +ENV SRC_HASH=5f2bdbad629707aa7d85c623f994aa8a1d2dec55a73de5205bac0bf6058a2f7c +ENV SRC_FILE=acl-${VERSION}.tar.gz +ENV SRC_SITE=https://download.savannah.nongnu.org/releases/acl/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/attr . / +RUN tar -xf ${SRC_FILE} +WORKDIR acl-${VERSION} +RUN --network=none <<-EOF + set -eux + ./configure \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr \ + --libdir=/usr/lib \ + --libexecdir=/usr/libexec + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/alsa-lib/Containerfile b/packages/alsa-lib/Containerfile new file mode 100644 index 0000000..0b12325 --- /dev/null +++ b/packages/alsa-lib/Containerfile @@ -0,0 +1,41 @@ +FROM scratch AS base +ENV VERSION=1.2.12 +ENV SRC_HASH=4868cd908627279da5a634f468701625be8cc251d84262c7e5b6a218391ad0d2 +ENV SRC_FILE=alsa-lib-${VERSION}.tar.bz2 +ENV SRC_SITE=https://alsa-project.org/files/pub/lib/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/linux-headers . / +COPY --from=stagex/make . / +COPY --from=stagex/musl . / +RUN tar -xf ${SRC_FILE} +WORKDIR alsa-lib-${VERSION} +RUN --network=none <<-EOF + set -eux; \ + ./configure \ + --build=x86_64-linux-musl \ + --host=x86_64-linux-musl \ + --prefix=/usr \ + --libdir=/usr/lib \ + --disable-python \ + --disable-static \ + --disable-resmgr \ + --enable-rawmidi \ + --enable-seq \ + --enable-aload \ + --disable-dependency-tracking \ + --without-versioned + make -j "$(nproc)" +EOF + +FROM build AS install +RUN --network=none make DESTDIR=/rootfs install + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/apr-util/Containerfile b/packages/apr-util/Containerfile new file mode 100644 index 0000000..49859f4 --- /dev/null +++ b/packages/apr-util/Containerfile @@ -0,0 +1,53 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.6.3 +ENV SRC_HASH=a41076e3710746326c3945042994ad9a4fcac0ce0277dd8fea076fec3c9772b5 +ENV SRC_FILE=apr-util-${VERSION}.tar.bz2 +ENV SRC_SITE=https://www.apache.org/dist/apr/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/expat . / +COPY --from=stagex/gdbm . / +COPY --from=stagex/openldap . / +COPY --from=stagex/sqlite3 . / +COPY --from=stagex/openssl . / +COPY --from=stagex/postgresql . / +COPY --from=stagex/apr . / +COPY --from=stagex/libtool . / +COPY --from=stagex/util-linux . / + +RUN tar -xf ${SRC_FILE} +WORKDIR apr-util-${VERSION} +COPY *.patch . +RUN --network=none <<-EOF + set -eux + patch -p1 < musl-fix-testsuite.patch + ./configure \ + --prefix=/usr \ + --with-apr=/usr \ + --with-ldap \ + --with-pgsql \ + --with-mysql \ + --with-sqlite3 \ + --with-crypto \ + --with-openssl \ + --without-sqlite2 \ + --with-dbm=ndbm \ + --with-ndbm + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/apr-util/musl-fix-testsuite.patch b/packages/apr-util/musl-fix-testsuite.patch new file mode 100644 index 0000000..eb2c510 --- /dev/null +++ b/packages/apr-util/musl-fix-testsuite.patch @@ -0,0 +1,19 @@ +diff --git a/test/testxlate.c b/test/testxlate.c +index 6981eff..de00fa4 100644 +--- a/test/testxlate.c ++++ b/test/testxlate.c +@@ -116,8 +116,12 @@ static void test_transformation(abts_case *tc, void *data) + } + + /* 4. Transformation using charset aliases */ +- one_test(tc, "UTF-8", "UTF-7", test_utf8, test_utf7, p); +- one_test(tc, "UTF-7", "UTF-8", test_utf7, test_utf8, p); ++ if (is_transform_supported(tc, "UTF-8", "UTF-7", p)) { ++ one_test(tc, "UTF-8", "UTF-7", test_utf8, test_utf7, p); ++ } ++ if (is_transform_supported(tc, "UTF-7", "UTF-8", p)) { ++ one_test(tc, "UTF-7", "UTF-8", test_utf7, test_utf8, p); ++ } + } + + #endif /* APR_HAS_XLATE */ diff --git a/packages/apr/Containerfile b/packages/apr/Containerfile new file mode 100644 index 0000000..3998660 --- /dev/null +++ b/packages/apr/Containerfile @@ -0,0 +1,38 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.7.4 +ENV SRC_HASH=fc648de983f3a2a6c9e78dea1f180639bd2fad6c06d556d4367a701fe5c35577 +ENV SRC_FILE=apr-${VERSION}.tar.bz2 +ENV SRC_SITE=https://www.apache.org/dist/apr/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/util-linux . / +RUN tar -xf ${SRC_FILE} +WORKDIR apr-${VERSION} +COPY *.patch . +RUN --network=none <<-EOF + set -eux \ + patch -p1 apr-1.6.2-dont-test-dlclose.patch + patch -p1 semtimedop-s390x.patch + ./configure \ + --prefix=/usr \ + --datadir=/usr/share \ + --enable-nonportable-atomics=no \ + --with-devrandom=/dev/urandom + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/apr/apr-1.6.2-dont-test-dlclose.patch b/packages/apr/apr-1.6.2-dont-test-dlclose.patch new file mode 100644 index 0000000..faf8b0b --- /dev/null +++ b/packages/apr/apr-1.6.2-dont-test-dlclose.patch @@ -0,0 +1,22 @@ +dlclose is a no-op on musl. Test will always fail. + +--- apr-1.6.2/test/testdso.c.old 2010-01-03 19:35:07.000000000 -0600 ++++ apr-1.6.2/test/testdso.c 2017-09-10 18:43:43.374983090 -0500 +@@ -244,7 +244,7 @@ + abts_run_test(suite, test_load_module, NULL); + abts_run_test(suite, test_dso_sym, NULL); + abts_run_test(suite, test_dso_sym_return_value, NULL); +- abts_run_test(suite, test_unload_module, NULL); ++ /* abts_run_test(suite, test_unload_module, NULL); */ + + #ifdef LIB_NAME + apr_filepath_merge(&libname, NULL, LIB_NAME, 0, p); +@@ -252,7 +252,7 @@ + abts_run_test(suite, test_load_library, NULL); + abts_run_test(suite, test_dso_sym_library, NULL); + abts_run_test(suite, test_dso_sym_return_value_library, NULL); +- abts_run_test(suite, test_unload_library, NULL); ++ /* abts_run_test(suite, test_unload_library, NULL); */ + #endif + + abts_run_test(suite, test_load_notthere, NULL); \ No newline at end of file diff --git a/packages/apr/semtimedop-s390x.patch b/packages/apr/semtimedop-s390x.patch new file mode 100644 index 0000000..f1bb9ea --- /dev/null +++ b/packages/apr/semtimedop-s390x.patch @@ -0,0 +1,16 @@ +the testsuite hangs on s390x when testing locking mechanism sysvsem. Work +around by avoid use semtimedop for s390x. + +diff --git a/locks/unix/proc_mutex.c b/locks/unix/proc_mutex.c +index 8e2187f..cad6c4a 100644 +--- a/locks/unix/proc_mutex.c ++++ b/locks/unix/proc_mutex.c +@@ -449,7 +449,7 @@ static const apr_proc_mutex_unix_lock_methods_t mutex_sysv_methods = + proc_mutex_sysv_create, + proc_mutex_sysv_acquire, + proc_mutex_sysv_tryacquire, +-#if defined(HAVE_SEMTIMEDOP) ++#if defined(HAVE_SEMTIMEDOP) && !defined(__s390x__) + proc_mutex_sysv_timedacquire, + #else + proc_mutex_spinsleep_timedacquire, \ No newline at end of file diff --git a/packages/argon2/Containerfile b/packages/argon2/Containerfile new file mode 100644 index 0000000..1c8dc94 --- /dev/null +++ b/packages/argon2/Containerfile @@ -0,0 +1,29 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=20190702 +ENV SRC_HASH=daf972a89577f8772602bf2eb38b6a3dd3d922bf5724d45e7f9589b5e830442c +ENV SRC_FILE=${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/P-H-C/phc-winner-argon2/archive/refs/tags/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +RUN tar -xf $SRC_FILE +WORKDIR phc-winner-argon2-${VERSION} +RUN --network=none <<-EOF + set -eux + make -j "$(nproc)" OPTTARGET=none ARGON2_VERSION=${VERSION} +EOF + +FROM build AS install +RUN make OPTTARGET=none LIBRARY_REL=lib DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/aspell/Containerfile b/packages/aspell/Containerfile new file mode 100644 index 0000000..d56683e --- /dev/null +++ b/packages/aspell/Containerfile @@ -0,0 +1,38 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=0.60.8.1 +ENV SRC_HASH=d6da12b34d42d457fa604e435ad484a74b2effcd120ff40acd6bb3fb2887d21b +ENV SRC_FILE=aspell-${VERSION}.tar.gz +ENV SRC_SITE=https://ftp.gnu.org/gnu/aspell/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/perl . / +COPY --from=stagex/binutils . / +COPY --from=stagex/musl . / +COPY --from=stagex/make . / +COPY --from=stagex/gcc . / +RUN tar -xf ${SRC_FILE} +WORKDIR aspell-${VERSION} +ENV SOURCE_DATE_EPOCH=1 +RUN --network=none <<-EOF + set -ex + ./configure \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr \ + --sysconfdir=/etc \ + --enable-dict-dir=/usr/share/aspell \ + --enable-pkgdatadir=/usr/share/aspell + make -j "$(nproc)" +EOF + +FROM build AS install +RUN --network=none make DESTDIR="/rootfs" install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/attr/Containerfile b/packages/attr/Containerfile new file mode 100644 index 0000000..a8d8dc8 --- /dev/null +++ b/packages/attr/Containerfile @@ -0,0 +1,43 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=2.5.2 +ENV SRC_HASH=39bf67452fa41d0948c2197601053f48b3d78a029389734332a6309a680c6c87 +ENV SRC_FILE=attr-${VERSION}.tar.gz +ENV SRC_SITE=https://download.savannah.nongnu.org/releases/attr/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/perl . / + +RUN tar -xf ${SRC_FILE} +WORKDIR attr-${VERSION} +RUN --network=none <<-EOF + set -eux + ./configure \ + --prefix=/usr \ + --exec-prefix=/ \ + --sbindir=/bin \ + --bindir=/usr/bin \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --includedir=/usr/include \ + --mandir=/usr/share/man \ + --docdir=/usr/share/doc/attr \ + --datadir=/usr/share \ + --disable-nls + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/brotli/Containerfile b/packages/brotli/Containerfile new file mode 100644 index 0000000..be02f79 --- /dev/null +++ b/packages/brotli/Containerfile @@ -0,0 +1,42 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.1.0 +ENV SRC_HASH=e720a6ca29428b803f4ad165371771f5398faba397edf6778837a18599ea13ff +ENV SRC_FILE=v${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/google/brotli/archive/refs/tags/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/samurai . / +COPY --from=stagex/cmake . / +COPY --from=stagex/openssl . / +RUN tar -xf ${SRC_FILE} +WORKDIR brotli-${VERSION} +RUN --network=none <<-EOF + set -eux + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr/lib \ + -DBUILD_SHARED_LIBS=OFF + cmake --build build + + cmake -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr/lib \ + -DBUILD_SHARED_LIBS=ON + cmake --build build +EOF + +FROM build AS install +RUN DESTDIR=/rootfs cmake --install build +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/clang/Containerfile b/packages/clang/Containerfile index c500eff..3587d66 100644 --- a/packages/clang/Containerfile +++ b/packages/clang/Containerfile @@ -9,6 +9,7 @@ ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . FROM fetch AS build COPY --from=stagex/busybox . / +COPY --from=stagex/linux-headers . / COPY --from=stagex/binutils . / COPY --from=stagex/cmake . / COPY --from=stagex/ninja . / @@ -17,28 +18,35 @@ COPY --from=stagex/gcc . / COPY --from=stagex/python . / COPY --from=stagex/py-setuptools . / COPY --from=stagex/openssl . / -COPY --from=stagex/gcc . / +COPY --from=stagex/git . / COPY --from=stagex/llvm . / COPY --from=stagex/zlib . / +COPY --from=stagex/ninja . / +COPY --from=stagex/libxml2 . / +COPY --from=stagex/samurai . / RUN tar -xf ${SRC_FILE} WORKDIR llvm-project-${VERSION}.src RUN --network=none <<-EOF set -eux cmake \ - -S clang \ - -B build \ - -G Ninja \ - -Wno-dev \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr/ \ - -DCMAKE_INSTALL_RPATH=/usr/ \ - -DCLANG_BUILT_STANDALONE=ON \ - -DCLANG_LINK_CLANG_DYLIB=ON \ - -DCLANG_PLUGIN_SUPPORT=ON \ - -DCLANG_VENDOR=stagex \ - -DLIBCLANG_BUILD_STATIC=ON - cmake --build build + -S clang \ + -B build \ + -G Ninja \ + -Wno-dev \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr/ \ + -DCLANG_BUILT_STANDALONE=ON \ + -DCLANG_CONFIG_FILE_SYSTEM_DIR=/etc/clang16 \ + -DCLANG_ENABLE_ARCMT=ON \ + -DCMAKE_INSTALL_RPATH=/usr/ \ + -DCLANG_LINK_CLANG_DYLIB=ON \ + -DCLANG_PLUGIN_SUPPORT=ON \ + -DCLANG_VENDOR=stagex \ + -DENABLE_LINKER_BUILD_ID=ON \ + -DLIBCLANG_BUILD_STATIC=ON + ninja -C build clang-tblgen + ninja -C build EOF FROM build AS install diff --git a/packages/cython/Containerfile b/packages/cython/Containerfile new file mode 100644 index 0000000..aa6dc49 --- /dev/null +++ b/packages/cython/Containerfile @@ -0,0 +1,42 @@ +FROM scratch AS base +ENV VERSION=3.0.10 +ENV SRC_HASH=00f97476cef9fcd9a89f9d2a49be3b518e1a74b91f377fe08c97fcb44bc0f7d7 +ENV SRC_FILE=${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/cython/cython/archive/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/zlib . / +COPY --from=stagex/openssl . / +COPY --from=stagex/python . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/libffi . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-gpep517 . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/py-distro . / +COPY --from=stagex/py-dateutil . / +COPY --from=stagex/py-urllib3 . / +COPY --from=stagex/py-cffi . / +RUN tar -xzf ${SRC_FILE} +WORKDIR cython-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 +# +FROM build AS install +RUN --network=none <<-EOF + set -eux + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/doxygen/Containerfile b/packages/doxygen/Containerfile new file mode 100644 index 0000000..b260de6 --- /dev/null +++ b/packages/doxygen/Containerfile @@ -0,0 +1,48 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.10.0 +ENV SRC_HASH=dd7c556b4d96ca5e682534bc1f1a78a5cfabce0c425b14c1b8549802686a4442 +ENV SRC_FILE=doxygen-${VERSION}.src.tar.gz +ENV SRC_SITE=https://doxygen.nl/files/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/flex . / +COPY --from=stagex/bison . / +COPY --from=stagex/coreutils . / +COPY --from=stagex/perl . / +COPY --from=stagex/python . / +COPY --from=stagex/cmake . / +COPY --from=stagex/samurai . / +COPY --from=stagex/pkgconf . / +COPY --from=stagex/libxml2 . / +COPY --from=stagex/perl . / +COPY --from=stagex/openssl . / +COPY --from=stagex/m4 . / +RUN tar -xf ${SRC_FILE} +WORKDIR doxygen-${VERSION} +COPY *.patch . +RUN --network=none <<-EOF + set -eux \ + patch -p1 remove-usage-of-fstat64.patch + cmake -B build -G Ninja \ + -DGIT_EXECUTABLE=/bin/false \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=MinSizeRel \ + -Dbuild_xmlparser=ON + cmake --build build +EOF + +FROM build AS install +RUN DESTDIR=/rootfs cmake --install build +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/doxygen/remove-usage-of-fstat64.patch b/packages/doxygen/remove-usage-of-fstat64.patch new file mode 100644 index 0000000..4ec3cd2 --- /dev/null +++ b/packages/doxygen/remove-usage-of-fstat64.patch @@ -0,0 +1,23 @@ +--- a/deps/spdlog/include/spdlog/details/os-inl.h ++++ b/deps/spdlog/include/spdlog/details/os-inl.h +@@ -236,20 +236,11 @@ + # else + int fd = ::fileno(f); + # endif +-// 64 bits(but not in osx or cygwin, where fstat64 is deprecated) +-# if (defined(__linux__) || defined(__sun) || defined(_AIX)) && (defined(__LP64__) || defined(_LP64)) +- struct stat64 st; +- if (::fstat64(fd, &st) == 0) +- { +- return static_cast(st.st_size); +- } +-# else // other unix or linux 32 bits or cygwin + struct stat st; + if (::fstat(fd, &st) == 0) + { + return static_cast(st.st_size); + } +-# endif + #endif + throw_spdlog_ex("Failed getting file size from fd", errno); + return 0; // will not be reached. \ No newline at end of file diff --git a/packages/dtc/Containerfile b/packages/dtc/Containerfile new file mode 100644 index 0000000..1bbe8f8 --- /dev/null +++ b/packages/dtc/Containerfile @@ -0,0 +1,44 @@ +FROM scratch AS base +ENV VERSION=1.7.0 +ENV SRC_HASH=29edce3d302a15563d8663198bbc398c5a0554765c83830d0d4c0409d21a16c4 +ENV SRC_FILE=dtc-${VERSION}.tar.xz +ENV SRC_SITE=https://kernel.org/pub/software/utils/dtc/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/make . / +COPY --from=stagex/binutils . / +COPY --from=stagex/linux-headers . / +COPY --from=stagex/perl . / +COPY --from=stagex/m4 . / +COPY --from=stagex/gcc . / +COPY --from=stagex/bison . / +COPY --from=stagex/openssl . / +COPY --from=stagex/libzstd . / +COPY --from=stagex/zlib . / +COPY --from=stagex/flex . / +COPY --from=stagex/pkgconf . / +COPY --from=stagex/coreutils . / +COPY --from=stagex/python . / +COPY --from=stagex/py-setuptools . / +RUN tar -xf ${SRC_FILE} +WORKDIR dtc-${VERSION} +RUN --network=none <<-EOF + set -eux + sed -i s:-Werror::g Makefile + sed -i "s|@VERSION@|${VERSION}|" setup.py + make -j "$(nproc)" +EOF + +FROM build AS install +RUN <<-EOF + set -eux + make DESTDIR=/rootfs PREFIX=/usr install +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/eif_build/Containerfile b/packages/eif_build/Containerfile index 4b0a940..4ec053c 100644 --- a/packages/eif_build/Containerfile +++ b/packages/eif_build/Containerfile @@ -25,11 +25,11 @@ RUN cargo fetch --locked FROM fetch AS build RUN --network=none \ - cargo build \ - --no-default-features \ - --locked \ - --release \ - --target x86_64-unknown-linux-musl + cargo build \ + --no-default-features \ + --locked \ + --release \ + --target x86_64-unknown-linux-musl FROM build AS install WORKDIR /rootfs/usr/bin diff --git a/packages/expat/Containerfile b/packages/expat/Containerfile new file mode 100644 index 0000000..694519c --- /dev/null +++ b/packages/expat/Containerfile @@ -0,0 +1,36 @@ + +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=2.6.2 +ENV SRC_HASH=d4cf38d26e21a56654ffe4acd9cd5481164619626802328506a2869afab29ab3 +ENV SRC_FILE=expat-${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/libexpat/libexpat/releases/download/R_2_6_2/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +RUN tar -xf $SRC_FILE +WORKDIR expat-${VERSION} +RUN --network=none <<-EOF + set -eux + ./configure \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --enable-static + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/fmt/Containerfile b/packages/fmt/Containerfile new file mode 100644 index 0000000..30e338b --- /dev/null +++ b/packages/fmt/Containerfile @@ -0,0 +1,45 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=10.2.1 +ENV SRC_HASH=1250e4cc58bf06ee631567523f48848dc4596133e163f02615c97f78bab6c811 +ENV SRC_FILE=${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/fmtlib/fmt/archive/refs/tags/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/openssl . / +COPY --from=stagex/postgresql . / +COPY --from=stagex/cmake . / +COPY --from=stagex/samurai . / +COPY --from=stagex/python . / +COPY --from=stagex/doxygen . / +RUN tar -xf ${SRC_FILE} +WORKDIR fmt-${VERSION} +COPY *.patch . +RUN --network=none <<-EOF + set -eux + patch -p1 fix-handling-of-static-separator.patch + # Build in-tree so the prebuilt docs get installed correctly. + # See https://github.com/fmtlib/fmt/issues/2837 + cmake -B . -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=None \ + CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" + cmake --build . +EOF + +FROM build AS install +RUN DESTDIR=/rootfs cmake --install . +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/fmt/fix-handling-of-static-separator.patch b/packages/fmt/fix-handling-of-static-separator.patch new file mode 100644 index 0000000..4a44c8c --- /dev/null +++ b/packages/fmt/fix-handling-of-static-separator.patch @@ -0,0 +1,31 @@ +From 44c3fe1ebb466ab5c296e1a1a6991c7c7b51b72e Mon Sep 17 00:00:00 2001 +From: Victor Zverovich +Date: Fri, 9 Feb 2024 15:58:56 -0800 +Subject: [PATCH] Fix handling of static separator + +--- + include/fmt/format-inl.h | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +--- a/include/fmt/format-inl.h ++++ b/include/fmt/format-inl.h +@@ -114,7 +114,11 @@ template FMT_FUNC Char d + + FMT_FUNC auto write_loc(appender out, loc_value value, + const format_specs<>& specs, locale_ref loc) -> bool { +-#ifndef FMT_STATIC_THOUSANDS_SEPARATOR ++#ifdef FMT_STATIC_THOUSANDS_SEPARATOR ++ value.visit(loc_writer<>{ ++ out, specs, std::string(1, FMT_STATIC_THOUSANDS_SEPARATOR), "\3", "."}); ++ return true; ++#else + auto locale = loc.get(); + // We cannot use the num_put facet because it may produce output in + // a wrong encoding. +@@ -123,7 +127,6 @@ FMT_FUNC auto write_loc(appender out, lo + return std::use_facet(locale).put(out, value, specs); + return facet(locale).put(out, value, specs); + #endif +- return false; + } + } // namespace detail diff --git a/packages/freetds/Containerfile b/packages/freetds/Containerfile new file mode 100644 index 0000000..c52a68b --- /dev/null +++ b/packages/freetds/Containerfile @@ -0,0 +1,48 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.4.22 +ENV SRC_HASH=a9a7f24f0a7a871617e76e8cc6e6556ae788042f1c006195665505499b2334b1 +ENV SRC_FILE=freetds-${VERSION}.tar.bz2 +ENV SRC_SITE=https://www.freetds.org/files/stable/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/musl . / +COPY --from=stagex/make . / +COPY --from=stagex/gcc . / +COPY --from=stagex/libtool . / +COPY --from=stagex/linux-headers . / +COPY --from=stagex/readline . / +COPY --from=stagex/unixodbc . / +COPY --from=stagex/openssl . / +COPY --from=stagex/perl . / +RUN tar -xf ${SRC_FILE} +WORKDIR freetds-${VERSION} +RUN --network=none <<-EOF + set -ex + ./configure \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --enable-msdblib \ + --with-openssl=/usr \ + --enable-odbc \ + --with-unixodbc=/usr + make -j "$(nproc)" +EOF + +FROM build AS install +RUN --network=none <<-EOF + set -eu + make DESTDIR="/rootfs" install +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/gdbm/Containerfile b/packages/gdbm/Containerfile new file mode 100644 index 0000000..200043e --- /dev/null +++ b/packages/gdbm/Containerfile @@ -0,0 +1,40 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.23 +ENV SRC_HASH=74b1081d21fff13ae4bd7c16e5d6e504a4c26f7cde1dca0d963a484174bbcacd +ENV SRC_FILE=gdbm-${VERSION}.tar.gz +ENV SRC_SITE=https://ftp.gnu.org/gnu/gdbm/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/bash . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/openssl . / +RUN tar -xf ${SRC_FILE} +WORKDIR gdbm-${VERSION} +ENV SOURCE_DATE_EPOCH=1 +RUN --network=none <<-EOF + set -eux + ./configure \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr \ + --enable-libgdbm-compat \ + --disable-largefile \ + --disable-dependency-tracking \ + --enable-fast-install + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/glib/Containerfile b/packages/glib/Containerfile new file mode 100644 index 0000000..e64dc68 --- /dev/null +++ b/packages/glib/Containerfile @@ -0,0 +1,66 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=2.80.0 +ENV SRC_HASH=8228a92f92a412160b139ae68b6345bd28f24434a7b5af150ebe21ff587a561d +ENV SRC_FILE=glib-${VERSION}.tar.xz +ENV SRC_SITE=https://download.gnome.org/sources/glib/2.80/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/python . / +COPY --from=stagex/zlib . / +COPY --from=stagex/bzip2 . / +COPY --from=stagex/pkgconf . / +COPY --from=stagex/linux-headers . / +COPY --from=stagex/ncurses . / +COPY --from=stagex/meson . / +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/pcre2 . / +COPY --from=stagex/python . / +COPY --from=stagex/bison . / +COPY --from=stagex/flex . / +COPY --from=stagex/py-packaging . / +COPY --from=stagex/libxslt . / +COPY --from=stagex/libffi . / +COPY --from=stagex/xz . / +COPY --from=stagex/expat . / +COPY --from=stagex/rhash . / +COPY --from=stagex/libxml2 . / +COPY --from=stagex/util-linux . / +COPY --from=stagex/libxslt . / +COPY --from=stagex/gettext . / +COPY --from=stagex/ninja . / +RUN tar -xf ${SRC_FILE} +WORKDIR glib-${VERSION} +COPY *.patch . +RUN --network=none <<-EOF + set -eux + export CFLAGS="-ffat-lto-objects -O2" + export CXXFLAGS="-O2" + export CPPFLAGS="-O2" + meson setup \ + --default-library=shared \ + --prefix=/usr \ + -Dman-pages=disabled \ + -Dlibmount=disabled \ + -Dtests=false \ + -Dintrospection=disabled \ + -Dnls=disabled \ + . output + meson compile -C output + meson install --no-rebuild -C output +EOF + +FROM build AS install +RUN DESTDIR=/rootfs meson install --no-rebuild -C output +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/groff/Containerfile b/packages/groff/Containerfile new file mode 100644 index 0000000..de92356 --- /dev/null +++ b/packages/groff/Containerfile @@ -0,0 +1,38 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.23.0 +ENV SRC_HASH=6b9757f592b7518b4902eb6af7e54570bdccba37a871fddb2d30ae3863511c13 +ENV SRC_FILE=groff-${VERSION}.tar.gz +ENV SRC_SITE=https://ftp.gnu.org/gnu/groff/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/perl . / +COPY --from=stagex/m4 . / +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +RUN tar -xf $SRC_FILE +WORKDIR groff-${VERSION} +ENV SOURCE_DATE_EPOCH=1 +RUN --network=none <<-EOF + set -eux + ./configure \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr \ + --without-x \ + --disable-rpath + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/hunspell/Containerfile b/packages/hunspell/Containerfile new file mode 100644 index 0000000..f135031 --- /dev/null +++ b/packages/hunspell/Containerfile @@ -0,0 +1,39 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.7.2 +ENV SRC_HASH=11ddfa39afe28c28539fe65fc4f1592d410c1e9b6dd7d8a91ca25d85e9ec65b8 +ENV SRC_FILE=hunspell-${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/hunspell/hunspell/releases/download/v${VERSION}/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/bash . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/openssl . / +RUN tar -xf ${SRC_FILE} +WORKDIR hunspell-${VERSION} +RUN --network=none <<-EOF + set -eux + ./configure \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr \ + --with-ui \ + --with-readline \ + --disable-static \ + --without-included-gettext + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/krb5/Containerfile b/packages/krb5/Containerfile new file mode 100644 index 0000000..49c3727 --- /dev/null +++ b/packages/krb5/Containerfile @@ -0,0 +1,63 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.21.2 +ENV SRC_HASH=9560941a9d843c0243a71b17a7ac6fe31c7cebb5bce3983db79e52ae7e850491 +ENV SRC_FILE=krb5-${VERSION}.tar.gz +ENV SRC_SITE=https://kerberos.org/dist/krb5/1.21/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/perl . / +COPY --from=stagex/bash . / +COPY --from=stagex/m4 . / +COPY --from=stagex/curl . / +COPY --from=stagex/linux-headers . / +COPY --from=stagex/util-linux . / +COPY --from=stagex/autoconf . / +COPY --from=stagex/automake . / +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/e2fsprogs . / +COPY --from=stagex/python . / +COPY --from=stagex/openldap . / +COPY --from=stagex/openssl . / +COPY --from=stagex/groff . / +COPY --from=stagex/libevent . / +COPY --from=stagex/bison . / +COPY --from=stagex/libtool . / +COPY --from=stagex/libverto . / +COPY --from=stagex/pkgconf . / +RUN tar -xf $SRC_FILE +WORKDIR krb5-${VERSION}/src +RUN --network=none <<-EOF + set -eux + ./configure \ + CPPFLAGS="-fPIC -I/usr/include/et" \ + WARN_CFLAGS= \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr \ + --localstatedir=/var/lib \ + --enable-shared \ + --disable-nls \ + --disable-static \ + --disable-rpath \ + --with-system-et \ + --with-system-ss \ + --with-system-verto \ + --without-tcl \ + --with-ldap + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/libaio/Containerfile b/packages/libaio/Containerfile new file mode 100644 index 0000000..4a466fb --- /dev/null +++ b/packages/libaio/Containerfile @@ -0,0 +1,33 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=0.3.113 +ENV SRC_HASH=716c7059703247344eb066b54ecbc3ca2134f0103307192e6c2b7dab5f9528ab +ENV SRC_FILE=libaio-libaio-${VERSION}.tar.gz +ENV SRC_SITE=https://pagure.io/libaio/archive/libaio-${VERSION}/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/bash . / +COPY --from=stagex/gcc . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/linux-headers . / + +RUN tar -xf ${SRC_FILE} +WORKDIR libaio-libaio-${VERSION} +COPY *.patch . +RUN --network=none <<-EOF + set -eux + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/libcap-ng/Containerfile b/packages/libcap-ng/Containerfile new file mode 100644 index 0000000..37e7f09 --- /dev/null +++ b/packages/libcap-ng/Containerfile @@ -0,0 +1,38 @@ +FROM scratch AS base +ENV VERSION=0.8.5 +ENV SRC_HASH=3ba5294d1cbdfa98afaacfbc00b6af9ed2b83e8a21817185dfd844cc8c7ac6ff +ENV SRC_FILE=libcap-ng-${VERSION}.tar.gz +ENV SRC_SITE=http://people.redhat.com/sgrubb/libcap-ng/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/gcc . / +COPY --from=stagex/linux-headers . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/musl . / +RUN tar -xf ${SRC_FILE} +WORKDIR libcap-ng-${VERSION} +RUN --network=none <<-EOF + set -eux; + ./configure \ + --build=x86_64-linux-musl \ + --host=x86_64-linux-musl \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --without-python \ + --without-python3 \ + --enable-static + make -j "$(nproc)" +EOF + +FROM build AS install +RUN --network=none make DESTDIR=/rootfs install + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/libedit/Containerfile b/packages/libedit/Containerfile new file mode 100644 index 0000000..fc43410 --- /dev/null +++ b/packages/libedit/Containerfile @@ -0,0 +1,44 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=20230828-3.1 +ENV SRC_HASH=4ee8182b6e569290e7d1f44f0f78dac8716b35f656b76528f699c69c98814dad +ENV SRC_FILE=libedit-${VERSION}.tar.gz +ENV SRC_SITE=https://www.thrysoee.dk/editline/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/perl . / +COPY --from=stagex/ncurses . / +COPY --from=stagex/gawk . / +COPY --from=stagex/autoconf . / +COPY --from=stagex/automake . / +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +RUN tar -xf $SRC_FILE +WORKDIR libedit-${VERSION} +RUN --network=none <<-EOF + set -eux + ./configure \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / + + diff --git a/packages/libevent/Containerfile b/packages/libevent/Containerfile new file mode 100644 index 0000000..3c08af6 --- /dev/null +++ b/packages/libevent/Containerfile @@ -0,0 +1,42 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=2.1.12 +ENV SRC_HASH=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb +ENV SRC_FILE=libevent-${VERSION}-stable.tar.gz +ENV SRC_SITE=https://github.com/libevent/libevent/releases/download/release-${VERSION}-stable/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/bash . / +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/openssl . / +RUN tar -xf $SRC_FILE +WORKDIR libevent-${VERSION}-stable +RUN --network=none <<-EOF + set -eux + ./configure \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr \ + --sysconfdir=/etc + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / + + + + + + diff --git a/packages/libical/Containerfile b/packages/libical/Containerfile new file mode 100644 index 0000000..b30addc --- /dev/null +++ b/packages/libical/Containerfile @@ -0,0 +1,43 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=5.1.4 +ENV SRC_HASH=bdf344c5adbcc6797940f8f8cb75cb59f5a3794eb21b9547751a11782a792ef7 +ENV SRC_FILE=nuspell-${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/nuspell/nuspell/archive/refs/tags/v${VERSION}.tar.gz + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/perl . / +COPY --from=stagex/binutils . / +COPY --from=stagex/cmake . / +COPY --from=stagex/ninja . / +COPY --from=stagex/samurai . / +COPY --from=stagex/musl . / +COPY --from=stagex/openssl . / +COPY --from=stagex/icu . / +COPY --from=stagex/make . / +COPY --from=stagex/gcc . / +RUN tar -xf v${VERSION}.tar.gz +WORKDIR nuspell-${VERSION} +RUN --network=none <<-EOF + set -ex + CXXFLAGS="$CXXFLAGS -flto=auto" \ + cmake -B build -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True \ + -DCMAKE_BUILD_TYPE=None \ + -DBUILD_TESTING="$(want_check && echo ON || echo OFF)" \ + -DBUILD_DOCS=OFF + cmake --build build +EOF + +FROM build AS install +RUN --network=none DESTDIR="/rootfs" cmake --install build +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/libiconv/Containerfile b/packages/libiconv/Containerfile new file mode 100644 index 0000000..99b2f66 --- /dev/null +++ b/packages/libiconv/Containerfile @@ -0,0 +1,37 @@ + +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.17 +ENV SRC_HASH=8f74213b56238c85a50a5329f77e06198771e70dd9a739779f4c02f65d971313 +ENV SRC_FILE=libiconv-${VERSION}.tar.gz +ENV SRC_SITE=https://ftp.gnu.org/gnu/libiconv/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/bash . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/openssl . / +RUN tar -xf ${SRC_FILE} +WORKDIR libiconv-${VERSION} +RUN --network=none <<-EOF + set -eux + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --enable-openssl \ + --disable-openssl-runtime + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/libseccomp/Containerfile b/packages/libseccomp/Containerfile new file mode 100644 index 0000000..cbf240c --- /dev/null +++ b/packages/libseccomp/Containerfile @@ -0,0 +1,41 @@ +FROM scratch AS base +ENV VERSION=2.5.5 +ENV SRC_HASH=248a2c8a4d9b9858aa6baf52712c34afefcf9c9e94b76dce02c1c9aa25fb3375 +ENV SRC_FILE=libseccomp-${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/seccomp/libseccomp/releases/download/v${VERSION}/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/gcc . / +COPY --from=stagex/gperf . / +COPY --from=stagex/linux-headers . / +COPY --from=stagex/binutils . / +COPY --from=stagex/python . / +COPY --from=stagex/cython . / +COPY --from=stagex/make . / +COPY --from=stagex/musl . / +COPY --from=stagex/zlib . / +RUN tar -xf ${SRC_FILE} +WORKDIR libseccomp-${VERSION} +RUN --network=none <<-EOF + set -eux; + ./configure \ + --build=x86_64-linux-musl \ + --host=x86_64-linux-musl \ + --prefix=/usr \ + --infodir=/usr/share/info \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --enable-python \ + --enable-static + make -j "$(nproc)" +EOF + +FROM build AS install +RUN --network=none make DESTDIR=/rootfs install + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/libsodium/Containerfile b/packages/libsodium/Containerfile new file mode 100644 index 0000000..19da266 --- /dev/null +++ b/packages/libsodium/Containerfile @@ -0,0 +1,35 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.0.20 +ENV SRC_HASH=ebb65ef6ca439333c2bb41a0c1990587288da07f6c7fd07cb3a18cc18d30ce19 +ENV SRC_FILE=libsodium-${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/jedisct1/libsodium/releases/download/${VERSION}-RELEASE/libsodium-${VERSION}.tar.gz + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/musl . / +COPY --from=stagex/make . / +COPY --from=stagex/gcc . / +RUN tar -xf ${SRC_FILE} +WORKDIR libsodium-${VERSION} +RUN --network=none <<-EOF + set -ex + ./configure \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr + make -j "$(nproc)" +EOF + +FROM build AS install +RUN --network=none <<-EOF + set -eu + make DESTDIR="/rootfs" install +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/libverto/Containerfile b/packages/libverto/Containerfile new file mode 100644 index 0000000..8337aa0 --- /dev/null +++ b/packages/libverto/Containerfile @@ -0,0 +1,63 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=0.3.2 +ENV SRC_HASH=8d1756fd704f147549f606cd987050fb94b0b1ff621ea6aa4d6bf0b74450468a +ENV SRC_FILE=libverto-${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/latchset/libverto/releases/download/0.3.2/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/perl . / +COPY --from=stagex/bash . / +COPY --from=stagex/m4 . / +COPY --from=stagex/curl . / +COPY --from=stagex/linux-headers . / +COPY --from=stagex/util-linux . / +COPY --from=stagex/autoconf . / +COPY --from=stagex/automake . / +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/e2fsprogs . / +COPY --from=stagex/python . / +COPY --from=stagex/openldap . / +COPY --from=stagex/libtool . / +COPY --from=stagex/openssl . / +COPY --from=stagex/groff . / +COPY --from=stagex/busybox . / +COPY --from=stagex/perl . / +COPY --from=stagex/autoconf . / +COPY --from=stagex/automake . / +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/libedit . / +COPY --from=stagex/python . / +COPY --from=stagex/libevent . / +COPY --from=stagex/pkgconf . / +RUN tar -xf $SRC_FILE +WORKDIR libverto-${VERSION} +RUN --network=none <<-EOF + set -eux + ./configure \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr \ + --localstatedir=/var/lib \ + --with-libdev \ + --with-libevent + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + +RUN mv /rootfs/usr/lib/libverto-libevent.so.* /rootfs/usr/lib/ + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/linux-pam/Containerfile b/packages/linux-pam/Containerfile new file mode 100644 index 0000000..f00e036 --- /dev/null +++ b/packages/linux-pam/Containerfile @@ -0,0 +1,56 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.6.1 +ENV SRC_HASH=f8923c740159052d719dbfc2a2f81942d68dd34fcaf61c706a02c9b80feeef8e +ENV SRC_FILE=Linux-PAM-${VERSION}.tar.xz +ENV SRC_SITE=https://github.com/linux-pam/linux-pam/releases/download/v${VERSION}/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/bison . / +COPY --from=stagex/cmake . / +COPY --from=stagex/perl . / +COPY --from=stagex/autoconf . / +COPY --from=stagex/automake . / +COPY --from=stagex/linux-headers . / +COPY --from=stagex/utmps . / +COPY --from=stagex/libtool . / +COPY --from=stagex/gettext . / +COPY --from=stagex/flex . / +COPY --from=stagex/pkgconf . / +RUN tar -xf ${SRC_FILE} +WORKDIR Linux-PAM-${VERSION} +RUN --network=none <<-EOF + set -eux + export CFLAGS="-flto=auto $(pkg-config --cflags utmps)" + export LDFLAGS=$(pkg-config --libs utmps) + ./configure \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr \ + --libdir=/usr/lib \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --disable-nls \ + --disable-db \ + --disable-examples \ + --sbindir=/usr/sbin \ + --enable-securedir=/usr/lib/security + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/lld/Containerfile b/packages/lld/Containerfile index 79a2e1d..4c8688e 100644 --- a/packages/lld/Containerfile +++ b/packages/lld/Containerfile @@ -26,15 +26,15 @@ COPY --from=stagex/gcc /usr/lib64/* /usr/lib/ RUN tar -xf ${SRC_FILE} WORKDIR llvm-project-${VERSION}.src RUN set -eux; \ - cmake \ - -S lld \ - -B build \ - -G Ninja \ - -Wno-dev \ + cmake \ + -S lld \ + -B build \ + -G Ninja \ + -Wno-dev \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr/ \ -DCMAKE_INSTALL_RPATH=/usr/ \ - -DLLVM_ENABLE_ZLIB=FORCE_ON; \ + -DLLVM_ENABLE_ZLIB=FORCE_ON; \ cmake --build build FROM build AS install diff --git a/packages/lmdb/Containerfile b/packages/lmdb/Containerfile new file mode 100644 index 0000000..ab01c65 --- /dev/null +++ b/packages/lmdb/Containerfile @@ -0,0 +1,34 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=0.9.31 +ENV SRC_HASH=f7aecdd1bcc69fb32bb33d8544cfe50f8e9e916f366d598a268e1f43ee9c7603 +ENV SRC_FILE=openldap-LMDB_${VERSION}.tar.gz +ENV SRC_SITE=https://git.openldap.org/openldap/openldap/-/archive/LMDB_${VERSION}/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/bash . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/openssl . / +RUN tar -xf ${SRC_FILE} +WORKDIR openldap-LMDB_${VERSION}/libraries/liblmdb +COPY *.patch . +RUN --network=none <<-EOF + set -eux \ + patch -p1 lmdb-make.patch + export CFLAGS="-O2 -fPIC" + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/lmdb/lmdb-make.patch b/packages/lmdb/lmdb-make.patch new file mode 100644 index 0000000..dabb6b0 --- /dev/null +++ b/packages/lmdb/lmdb-make.patch @@ -0,0 +1,83 @@ +diff --git a/Makefile b/Makefile +index f254511..949d9ae 100644 +--- a/Makefile ++++ b/Makefile +@@ -26,6 +26,10 @@ OPT = -O2 -g + CFLAGS = $(THREADS) $(OPT) $(W) $(XCFLAGS) + LDLIBS = + SOLIBS = ++SOVER_MAJ = 0 ++SOVER_MIN = 0 ++SOVER_PATCH = 0 ++SOVERSION = $(SOVER_MAJ).$(SOVER_MIN).$(SOVER_PATCH) + SOEXT = .so + prefix = /usr/local + exec_prefix = $(prefix) +@@ -38,7 +42,7 @@ mandir = $(datarootdir)/man + ######################################################################## + + IHDRS = lmdb.h +-ILIBS = liblmdb.a liblmdb$(SOEXT) ++ILIBS = liblmdb$(SOEXT) liblmdb$(SOEXT).$(SOVERSION) liblmdb$(SOEXT).$(SOVER_MAJ) + IPROGS = mdb_stat mdb_copy mdb_dump mdb_load + IDOCS = mdb_stat.1 mdb_copy.1 mdb_dump.1 mdb_load.1 + PROGS = $(IPROGS) mtest mtest2 mtest3 mtest4 mtest5 +@@ -49,13 +53,13 @@ install: $(ILIBS) $(IPROGS) $(IHDRS) + mkdir -p $(DESTDIR)$(libdir) + mkdir -p $(DESTDIR)$(includedir) + mkdir -p $(DESTDIR)$(mandir)/man1 +- for f in $(IPROGS); do cp $$f $(DESTDIR)$(bindir); done +- for f in $(ILIBS); do cp $$f $(DESTDIR)$(libdir); done +- for f in $(IHDRS); do cp $$f $(DESTDIR)$(includedir); done +- for f in $(IDOCS); do cp $$f $(DESTDIR)$(mandir)/man1; done ++ for f in $(IPROGS); do cp -a $$f $(DESTDIR)$(bindir); done ++ for f in $(ILIBS); do cp -a $$f $(DESTDIR)$(libdir); done ++ for f in $(IHDRS); do cp -a $$f $(DESTDIR)$(includedir); done ++ for f in $(IDOCS); do cp -a $$f $(DESTDIR)$(mandir)/man1; done + + clean: +- rm -rf $(PROGS) *.[ao] *.[ls]o *~ testdb ++ rm -rf $(PROGS) *.[ao] *.[ls]o* *~ testdb + + test: all + rm -rf testdb && mkdir testdb +@@ -64,21 +68,25 @@ test: all + liblmdb.a: mdb.o midl.o + $(AR) rs $@ mdb.o midl.o + +-liblmdb$(SOEXT): mdb.lo midl.lo ++liblmdb$(SOEXT) liblmdb$(SOEXT).$(SOVER_MAJ): liblmdb$(SOEXT).$(SOVERSION) ++ rm -f $@ ++ ln -s $< $@ ++ ++liblmdb$(SOEXT).$(SOVERSION): mdb.lo midl.lo + # $(CC) $(LDFLAGS) -pthread -shared -Wl,-Bsymbolic -o $@ mdb.o midl.o $(SOLIBS) +- $(CC) $(LDFLAGS) -pthread -shared -o $@ mdb.lo midl.lo $(SOLIBS) +- +-mdb_stat: mdb_stat.o liblmdb.a +-mdb_copy: mdb_copy.o liblmdb.a +-mdb_dump: mdb_dump.o liblmdb.a +-mdb_load: mdb_load.o liblmdb.a +-mtest: mtest.o liblmdb.a +-mtest2: mtest2.o liblmdb.a +-mtest3: mtest3.o liblmdb.a +-mtest4: mtest4.o liblmdb.a +-mtest5: mtest5.o liblmdb.a +-mtest6: mtest6.o liblmdb.a +-mplay: mplay.o liblmdb.a ++ $(CC) $(LDFLAGS) -pthread -shared -Wl,-soname,liblmdb$(SOEXT).$(SOVER_MAJ) -o $@ mdb.lo midl.lo $(SOLIBS) ++ ++mdb_stat: mdb_stat.o liblmdb.so ++mdb_copy: mdb_copy.o liblmdb.so ++mdb_dump: mdb_dump.o liblmdb.so ++mdb_load: mdb_load.o liblmdb.so ++mtest: mtest.o liblmdb.so ++mtest2: mtest2.o liblmdb.so ++mtest3: mtest3.o liblmdb.so ++mtest4: mtest4.o liblmdb.so ++mtest5: mtest5.o liblmdb.so ++mtest6: mtest6.o liblmdb.so ++mplay: mplay.o liblmdb.so + + mdb.o: mdb.c lmdb.h midl.h + $(CC) $(CFLAGS) $(CPPFLAGS) -c mdb.c diff --git a/packages/lzo/Containerfile b/packages/lzo/Containerfile new file mode 100644 index 0000000..96ac62a --- /dev/null +++ b/packages/lzo/Containerfile @@ -0,0 +1,39 @@ +FROM scratch AS base +ENV VERSION=2.10 +ENV SRC_HASH=c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072 +ENV SRC_FILE=lzo-${VERSION}.tar.gz +ENV SRC_SITE=https://www.oberhumer.com/opensource/lzo/download/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/linux-headers . / +COPY --from=stagex/cmake . / +COPY --from=stagex/ninja . / +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/openssl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/zlib . / + +RUN tar -xf ${SRC_FILE} +WORKDIR lzo-${VERSION} +RUN <<-EOF + set -eux + cmake -B build -G Ninja \ + -DBUILD_TESTING=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_SHARED=ON + cmake --build build +EOF + +FROM build AS install +RUN --network=none DESTDIR="/rootfs" cmake --install build + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/numactl/Containerfile b/packages/numactl/Containerfile new file mode 100644 index 0000000..f744019 --- /dev/null +++ b/packages/numactl/Containerfile @@ -0,0 +1,35 @@ +FROM scratch AS base +ENV VERSION=2.0.18 +ENV SRC_HASH=b4fc0956317680579992d7815bc43d0538960dc73aa1dd8ca7e3806e30bc1274 +ENV SRC_FILE=numactl-${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/numactl/numactl/releases/download/v${VERSION}/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/musl . / +COPY --from=stagex/linux-headers . / +COPY --from=stagex/make . / +COPY --from=stagex/gcc . / +COPY --from=stagex/gperf . / + +RUN --network=none tar -xf ${SRC_FILE} +WORKDIR numactl-${VERSION} +RUN --network=none < +Date: Mon, 8 Apr 2024 14:58:12 +0200 +Subject: [PATCH] Fix cookie_seek_function_t signature under musl (#13890) + +Fixes GH-11678 +--- + main/streams/cast.c | 10 +++------- + 1 file changed, 3 insertions(+), 7 deletions(-) + +diff --git a/main/streams/cast.c b/main/streams/cast.c +index 3bad65fbac1f5..8d9f4a9d2d54b 100644 +--- a/main/streams/cast.c ++++ b/main/streams/cast.c +@@ -104,6 +104,9 @@ static ssize_t stream_cookie_writer(void *cookie, const char *buffer, size_t siz + + # ifdef COOKIE_SEEKER_USES_OFF64_T + static int stream_cookie_seeker(void *cookie, off64_t *position, int whence) ++# else ++static int stream_cookie_seeker(void *cookie, off_t *position, int whence) ++# endif + { + + *position = php_stream_seek((php_stream *)cookie, (zend_off_t)*position, whence); +@@ -113,13 +116,6 @@ static int stream_cookie_seeker(void *cookie, off64_t *position, int whence) + } + return 0; + } +-# else +-static int stream_cookie_seeker(void *cookie, zend_off_t position, int whence) +-{ +- +- return php_stream_seek((php_stream *)cookie, position, whence); +-} +-# endif + + static int stream_cookie_closer(void *cookie) + { diff --git a/packages/php/fix-tests-devserver.patch b/packages/php/fix-tests-devserver.patch new file mode 100644 index 0000000..ec335f2 --- /dev/null +++ b/packages/php/fix-tests-devserver.patch @@ -0,0 +1,22 @@ +From: Jakub Jirutka +Date: Mon, 01 May 2017 01:33:00 +0200 +Subject: [PATCH] Fix tests failing due to extra message from built-in web server + +Remove messages like: + + PHP 7.1.4 Development Server started at Mon May 1 00:42:39 2017 + +from test outputs, because tests do not expect them. I have no clue what +happens here... + +--- a/run-tests.php ++++ b/run-tests.php +@@ -2563,6 +2563,9 @@ + // Does the output match what is expected? + $output = preg_replace("/\r\n/", "\n", trim($out)); + ++ // Remove message from built-in development server. ++ $output = preg_replace("/^PHP [0-9.]+ Development Server started at .*\n\n?/m", "", $output); ++ + /* when using CGI, strip the headers from the output */ + $headers = [] \ No newline at end of file diff --git a/packages/php/includedir.patch b/packages/php/includedir.patch new file mode 100644 index 0000000..2aaa2cb --- /dev/null +++ b/packages/php/includedir.patch @@ -0,0 +1,40 @@ +--- a/scripts/Makefile.frag ++++ b/scripts/Makefile.frag +@@ -2,7 +2,7 @@ + # Build environment install + # + +-phpincludedir = $(includedir)/php ++phpincludedir = $(includedir)/php83 + phpbuilddir = $(libdir)/build + + BUILD_FILES = \ +--- a/ext/pdo/Makefile.frag ++++ b/ext/pdo/Makefile.frag +@@ -1,4 +1,4 @@ +-phpincludedir=$(prefix)/include/php ++phpincludedir=$(prefix)/include/php83 + + PDO_HEADER_FILES= \ + php_pdo.h \ +--- a/scripts/php-config.in ++++ b/scripts/php-config.in +@@ -6,7 +6,7 @@ + exec_prefix="@exec_prefix@" + version="@PHP_VERSION@" + vernum="@PHP_VERSION_ID@" +-include_dir="@includedir@/php" ++include_dir="@includedir@/php83" + includes="-I$include_dir -I$include_dir/main -I$include_dir/TSRM -I$include_dir/Zend -I$include_dir/ext -I$include_dir/ext/date/lib" + ldflags="@PHP_LDFLAGS@" + libs="@EXTRA_LIBS@" +--- a/scripts/phpize.in ++++ b/scripts/phpize.in +@@ -5,7 +5,7 @@ + datarootdir='@datarootdir@' + exec_prefix="`eval echo @exec_prefix@`" + phpdir="`eval echo @libdir@`/build" +-includedir="`eval echo @includedir@`/php" ++includedir="`eval echo @includedir@`/php83" + builddir="`pwd`" + SED="@SED@" diff --git a/packages/php/install-pear.patch b/packages/php/install-pear.patch new file mode 100644 index 0000000..54fc64e --- /dev/null +++ b/packages/php/install-pear.patch @@ -0,0 +1,14 @@ +--- ./pear/Makefile.frag.orig 2013-04-12 07:02:27.041602514 +0000 ++++ ./pear/Makefile.frag 2013-04-12 07:04:09.065836822 +0000 +@@ -1,7 +1,10 @@ + peardir=$(PEAR_INSTALLDIR) + ++# help the built php to find xml extension so we can install pear ++PEAR_INSTALL_XML_FLAGS = -d extension="$(top_builddir)/modules/xml.so" -d extension="$(top_builddir)/modules/phar.so" ++ + # Skip all php.ini files altogether +-PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dopen_basedir= -derror_reporting=1803 -dmemory_limit=-1 -ddetect_unicode=0 ++PEAR_INSTALL_FLAGS = -n -dshort_open_tag=0 -dopen_basedir= -derror_reporting=1803 -dmemory_limit=-1 -ddetect_unicode=0 $(PEAR_INSTALL_XML_FLAGS) + + WGET = `which wget 2>/dev/null` + FETCH = `which fetch 2>/dev/null` diff --git a/packages/php/loongarch64-support-for-fibers.patch b/packages/php/loongarch64-support-for-fibers.patch new file mode 100644 index 0000000..1a57dbb --- /dev/null +++ b/packages/php/loongarch64-support-for-fibers.patch @@ -0,0 +1,245 @@ +Patch-Source: https://github.com/php/php-src/commit/0766ac6e357282eafb51cbdc5383345e7487260b +From 0766ac6e357282eafb51cbdc5383345e7487260b Mon Sep 17 00:00:00 2001 +From: qiangxuhui +Date: Mon, 1 Apr 2024 07:16:47 +0000 +Subject: [PATCH] loongarch64 support for fibers + +Add loongarch64 assembly files from Boost, needed for fibers support, +and hook up loongarch64 fibers support during configure. + +Close GH-13914 +--- + Zend/asm/jump_loongarch64_sysv_elf_gas.S | 121 +++++++++++++++++++++++ + Zend/asm/make_loongarch64_sysv_elf_gas.S | 72 ++++++++++++++ + configure.ac | 2 + + 3 files changed, 195 insertions(+) + create mode 100644 Zend/asm/jump_loongarch64_sysv_elf_gas.S + create mode 100644 Zend/asm/make_loongarch64_sysv_elf_gas.S + +diff --git a/Zend/asm/jump_loongarch64_sysv_elf_gas.S b/Zend/asm/jump_loongarch64_sysv_elf_gas.S +new file mode 100644 +index 0000000000..74c081e07f +--- /dev/null ++++ b/Zend/asm/jump_loongarch64_sysv_elf_gas.S +@@ -0,0 +1,121 @@ ++/******************************************************* ++ * * ++ * ------------------------------------------------- * ++ * | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * ++ * ------------------------------------------------- * ++ * | 0 | 8 | 16 | 24 | * ++ * ------------------------------------------------- * ++ * | FS0 | FS1 | FS2 | FS3 | * ++ * ------------------------------------------------- * ++ * ------------------------------------------------- * ++ * | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * ++ * ------------------------------------------------- * ++ * | 32 | 40 | 48 | 56 | * ++ * ------------------------------------------------- * ++ * | FS4 | FS5 | FS6 | FS7 | * ++ * ------------------------------------------------- * ++ * ------------------------------------------------- * ++ * | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | * ++ * ------------------------------------------------- * ++ * | 64 | 72 | 80 | 88 | * ++ * ------------------------------------------------- * ++ * | S0 | S1 | S2 | S3 | * ++ * ------------------------------------------------- * ++ * ------------------------------------------------- * ++ * | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | * ++ * ------------------------------------------------- * ++ * | 96 | 100 | 104 | 108 | 112 | 116 | 120 | 124 | * ++ * ------------------------------------------------- * ++ * | S4 | S5 | S6 | S7 | * ++ * ------------------------------------------------- * ++ * ------------------------------------------------- * ++ * | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | * ++ * ------------------------------------------------- * ++ * | 128 | 132 | 136 | 140 | 144 | 148 | 152 | 156 | * ++ * ------------------------------------------------- * ++ * | S8 | FP | RA | PC | * ++ * ------------------------------------------------- * ++ * * ++ * *****************************************************/ ++ ++.file "jump_loongarch64_sysv_elf_gas.S" ++.text ++.globl jump_fcontext ++.align 2 ++.type jump_fcontext,@function ++jump_fcontext: ++ # reserve space on stack ++ addi.d $sp, $sp, -160 ++ ++ # save fs0 - fs7 ++ fst.d $fs0, $sp, 0 ++ fst.d $fs1, $sp, 8 ++ fst.d $fs2, $sp, 16 ++ fst.d $fs3, $sp, 24 ++ fst.d $fs4, $sp, 32 ++ fst.d $fs5, $sp, 40 ++ fst.d $fs6, $sp, 48 ++ fst.d $fs7, $sp, 56 ++ ++ # save s0 - s8, fp, ra ++ st.d $s0, $sp, 64 ++ st.d $s1, $sp, 72 ++ st.d $s2, $sp, 80 ++ st.d $s3, $sp, 88 ++ st.d $s4, $sp, 96 ++ st.d $s5, $sp, 104 ++ st.d $s6, $sp, 112 ++ st.d $s7, $sp, 120 ++ st.d $s8, $sp, 128 ++ st.d $fp, $sp, 136 ++ st.d $ra, $sp, 144 ++ ++ # save RA as PC ++ st.d $ra, $sp, 152 ++ ++ # store SP (pointing to context-data) in A2 ++ move $a2, $sp ++ ++ # restore SP (pointing to context-data) from A0 ++ move $sp, $a0 ++ ++ # load fs0 - fs7 ++ fld.d $fs0, $sp, 0 ++ fld.d $fs1, $sp, 8 ++ fld.d $fs2, $sp, 16 ++ fld.d $fs3, $sp, 24 ++ fld.d $fs4, $sp, 32 ++ fld.d $fs5, $sp, 40 ++ fld.d $fs6, $sp, 48 ++ fld.d $fs7, $sp, 56 ++ ++ #load s0 - s7 ++ ld.d $s0, $sp, 64 ++ ld.d $s1, $sp, 72 ++ ld.d $s2, $sp, 80 ++ ld.d $s3, $sp, 88 ++ ld.d $s4, $sp, 96 ++ ld.d $s5, $sp, 104 ++ ld.d $s6, $sp, 112 ++ ld.d $s7, $sp, 120 ++ ld.d $s8, $sp, 128 ++ ld.d $fp, $sp, 136 ++ ld.d $ra, $sp, 144 ++ ++ # return transfer_t from jump ++ # pass transfer_t as first arg in context function ++ # a0 == FCTX, a1 == DATA ++ move $a0, $a2 ++ ++ # load PC ++ ld.d $a2, $sp, 152 ++ ++ # restore stack ++ addi.d $sp, $sp, 160 ++ ++ # jump to context ++ jr $a2 ++.size jump_fcontext, .-jump_fcontext ++ ++/* Mark that we don't need executable stack. */ ++.section .note.GNU-stack,"",%progbits +diff --git a/Zend/asm/make_loongarch64_sysv_elf_gas.S b/Zend/asm/make_loongarch64_sysv_elf_gas.S +new file mode 100644 +index 0000000000..55062702f1 +--- /dev/null ++++ b/Zend/asm/make_loongarch64_sysv_elf_gas.S +@@ -0,0 +1,72 @@ ++/******************************************************* ++ * * ++ * ------------------------------------------------- * ++ * | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | * ++ * ------------------------------------------------- * ++ * | 0 | 8 | 16 | 24 | * ++ * ------------------------------------------------- * ++ * | FS0 | FS1 | FS2 | FS3 | * ++ * ------------------------------------------------- * ++ * ------------------------------------------------- * ++ * | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | * ++ * ------------------------------------------------- * ++ * | 32 | 40 | 48 | 56 | * ++ * ------------------------------------------------- * ++ * | FS4 | FS5 | FS6 | FS7 | * ++ * ------------------------------------------------- * ++ * ------------------------------------------------- * ++ * | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | * ++ * ------------------------------------------------- * ++ * | 64 | 72 | 80 | 88 | * ++ * ------------------------------------------------- * ++ * | S0 | S1 | S2 | S3 | * ++ * ------------------------------------------------- * ++ * ------------------------------------------------- * ++ * | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | * ++ * ------------------------------------------------- * ++ * | 96 | 100 | 104 | 108 | 112 | 116 | 120 | 124 | * ++ * ------------------------------------------------- * ++ * | S4 | S5 | S6 | S7 | * ++ * ------------------------------------------------- * ++ * ------------------------------------------------- * ++ * | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | * ++ * ------------------------------------------------- * ++ * | 128 | 132 | 136 | 140 | 144 | 148 | 152 | 156 | * ++ * ------------------------------------------------- * ++ * | S8 | FP | RA | PC | * ++ * ------------------------------------------------- * ++ * * ++ * *****************************************************/ ++ ++.file "make_loongarch64_sysv_elf_gas.S" ++.text ++.globl make_fcontext ++.align 2 ++.type make_fcontext,@function ++make_fcontext: ++ # shift address in A0 to lower 16 byte boundary ++ bstrins.d $a0, $zero, 3, 0 ++ ++ # reserve space for context-data on context-stack ++ addi.d $a0, $a0, -160 ++ ++ # third arg of make_fcontext() == address of context-function ++ st.d $a2, $a0, 152 ++ ++ # save address of finish as return-address for context-function ++ # will be entered after context-function returns ++ la.local $a4, finish ++ st.d $a4, $a0, 144 ++ ++ # return pointer to context-data ++ jr $ra ++ ++finish: ++ # exit code is zero ++ li.d $a0, 0 ++ # call _exit(0) ++ b %plt(_exit) ++ ++.size make_fcontext, .-make_fcontext ++/* Mark that we don't need executable stack. */ ++.section .note.GNU-stack,"",%progbits +diff --git a/configure.ac b/configure.ac +index 2bf60c434d..da646ac69f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1253,6 +1253,7 @@ AS_CASE([$host_cpu], + [riscv64*], [fiber_cpu="riscv64"], + [sparc64], [fiber_cpu="sparc64"], + [s390x*], [fiber_cpu="s390x"], ++ [loongarch64*], [fiber_cpu="loongarch64"], + [mips64*], [fiber_cpu="mips64"], + [mips*], [fiber_cpu="mips32"], + [fiber_cpu="unknown"] +@@ -1275,6 +1276,7 @@ AS_CASE([$fiber_cpu], + [riscv64], [fiber_asm_file_prefix="riscv64_sysv"], + [sparc64], [fiber_asm_file_prefix="sparc64_sysv"], + [s390x], [fiber_asm_file_prefix="s390x_sysv"], ++ [loongarch64], [fiber_asm_file_prefix="loongarch64_sysv"], + [mips64], [fiber_asm_file_prefix="mips64_n64"], + [mips32], [fiber_asm_file_prefix="mips32_o32"], + [fiber_asm_file_prefix="unknown"] +-- +2.44.0 diff --git a/packages/php/php83-fpm-verson-suffix.patch b/packages/php/php83-fpm-verson-suffix.patch new file mode 100644 index 0000000..0de56c0 --- /dev/null +++ b/packages/php/php83-fpm-verson-suffix.patch @@ -0,0 +1,79 @@ +--- a/sapi/fpm/fpm/fpm_conf.c ++++ b/sapi/fpm/fpm/fpm_conf.c +@@ -1262,7 +1262,7 @@ + } + + if (!fpm_global_config.error_log) { +- fpm_global_config.error_log = strdup("log/php-fpm.log"); ++ fpm_global_config.error_log = strdup("log/php83/error.log"); + } + + #ifdef HAVE_SYSTEMD +@@ -1273,7 +1273,7 @@ + + #ifdef HAVE_SYSLOG_H + if (!fpm_global_config.syslog_ident) { +- fpm_global_config.syslog_ident = strdup("php-fpm"); ++ fpm_global_config.syslog_ident = strdup("php-fpm83"); + } + + if (fpm_global_config.syslog_facility < 0) { +@@ -1777,7 +1777,7 @@ + if (fpm_globals.prefix == NULL) { + spprintf(&tmp, 0, "%s/php-fpm.conf", PHP_SYSCONFDIR); + } else { +- spprintf(&tmp, 0, "%s/etc/php-fpm.conf", fpm_globals.prefix); ++ spprintf(&tmp, 0, "%s/etc/php83/php-fpm.conf", fpm_globals.prefix); + } + + if (!tmp) { + +--- a/sapi/fpm/php-fpm.conf.in ++++ b/sapi/fpm/php-fpm.conf.in +@@ -16,3 +16,3 @@ + ; Default Value: none +-;pid = run/php-fpm.pid ++;pid = run/php-fpm83.pid + +@@ -22,4 +22,4 @@ + ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ +-; Default Value: log/php-fpm.log +-;error_log = log/php-fpm.log ++; Default Value: log/php83/error.log ++;error_log = log/php83/error.log + +@@ -35,4 +35,4 @@ + ; which must suit common needs. +-; Default Value: php-fpm +-;syslog.ident = php-fpm ++; Default Value: php-fpm83 ++;syslog.ident = php-fpm83 + +--- a/sapi/fpm/www.conf.in ++++ b/sapi/fpm/www.conf.in +@@ -273,7 +273,7 @@ + + ; The access log file + ; Default: not set +-;access.log = log/$pool.access.log ++;access.log = log/php83/$pool.access.log + + ; The access log format. + ; The following syntax is allowed +@@ -337,7 +337,7 @@ + ; The log file for slow requests + ; Default Value: not set + ; Note: slowlog is mandatory if request_slowlog_timeout is set +-;slowlog = log/$pool.log.slow ++;slowlog = log/php83/$pool.slow.log + + ; The timeout for serving a single request after which a PHP backtrace will be + ; dumped to the 'slowlog' file. A value of '0s' means 'off'. +@@ -450,6 +450,6 @@ + ; specified at startup with the -d argument + ;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com + ;php_flag[display_errors] = off +-;php_admin_value[error_log] = /var/log/fpm-php.www.log ++;php_admin_value[error_log] = /var/log/php83/$pool.error.log + ;php_admin_flag[log_errors] = on + ;php_admin_value[memory_limit] = 32M diff --git a/packages/php/phpinfo-avif.patch b/packages/php/phpinfo-avif.patch new file mode 100644 index 0000000..b2af4ea --- /dev/null +++ b/packages/php/phpinfo-avif.patch @@ -0,0 +1,30 @@ +Patch-Source: https://github.com/php/php-src/pull/7526 +From d3402bfd3e9a87b1d4ce3785e393e698746c645c Mon Sep 17 00:00:00 2001 +From: Andy Postnikov +Date: Tue, 28 Sep 2021 23:35:37 +0300 +Subject: [PATCH] display libavif version and codecs via phpinfo() + +--- + ext/gd/gd.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/ext/gd/gd.c b/ext/gd/gd.c +index 880d6dddc7d7..67349e8749bf 100644 +--- a/ext/gd/gd.c ++++ b/ext/gd/gd.c +@@ -455,6 +455,15 @@ + #endif + #ifdef HAVE_GD_AVIF + php_info_print_table_row(2, "AVIF Support", "enabled"); ++#ifdef HAVE_GD_BUNDLED ++#include ++ { ++ php_info_print_table_row(2, "AVIF Version", avifVersion()); ++ char tmp[256]; ++ avifCodecVersions(tmp); ++ php_info_print_table_row(2, "AVIF Codecs", tmp); ++ } ++#endif + #endif + #ifdef HAVE_GD_TGA + php_info_print_table_row(2, "TGA Read Support", "enabled"); diff --git a/packages/php/sharedir.patch b/packages/php/sharedir.patch new file mode 100644 index 0000000..900c41d --- /dev/null +++ b/packages/php/sharedir.patch @@ -0,0 +1,11 @@ +--- a/php.ini-production ++++ b/php.ini-production +@@ -742,7 +742,7 @@ + ;;;;;;;;;;;;;;;;;;;;;;;;; + + ; UNIX: "/path1:/path2" +-;include_path = ".:/php/includes" ++include_path = ".:/usr/share/php83" + ; + ; Windows: "\path1;\path2" + ;include_path = ".;c:\php\includes" \ No newline at end of file diff --git a/packages/py-alabaster/Containerfile b/packages/py-alabaster/Containerfile new file mode 100644 index 0000000..2b6048f --- /dev/null +++ b/packages/py-alabaster/Containerfile @@ -0,0 +1,39 @@ +FROM scratch AS base +ENV VERSION=0.7.16 +ENV SRC_HASH=75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65 +ENV SRC_FILE=alabaster-${VERSION}.tar.gz +ENV SRC_SITE=https://files.pythonhosted.org/packages/source/a/alabaster/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/zlib . / +COPY --from=stagex/openssl . / +COPY --from=stagex/python . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/libffi . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-packaging . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/py-gpep517 . / +RUN tar -xzf ${SRC_FILE} +WORKDIR alabaster-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-babel/Containerfile b/packages/py-babel/Containerfile new file mode 100644 index 0000000..a788ee2 --- /dev/null +++ b/packages/py-babel/Containerfile @@ -0,0 +1,39 @@ +FROM scratch AS base +ENV VERSION=2.14.0 +ENV SRC_HASH=6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363 +ENV SRC_FILE=Babel-${VERSION}.tar.gz +ENV SRC_SITE=https://files.pythonhosted.org/packages/source/B/Babel/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/zlib . / +COPY --from=stagex/openssl . / +COPY --from=stagex/python . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/libffi . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-packaging . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/py-gpep517 . / +RUN tar -xzf ${SRC_FILE} +WORKDIR Babel-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eux + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-docutils/Containerfile b/packages/py-docutils/Containerfile index fd841a8..908a281 100644 --- a/packages/py-docutils/Containerfile +++ b/packages/py-docutils/Containerfile @@ -7,20 +7,25 @@ ENV SRC_SITE=https://files.pythonhosted.org/packages/source/d/docutils/${SRC_FIL FROM base AS fetch ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . -FROM fetch AS install +FROM fetch AS build COPY --from=stagex/busybox . / COPY --from=stagex/musl . / COPY --from=stagex/python . / +COPY --from=stagex/libffi . / COPY --from=stagex/py-flit . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-setuptools . / COPY --from=stagex/py-gpep517 . / COPY --from=stagex/zlib . / RUN tar -xzf ${SRC_FILE} WORKDIR docutils-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install RUN --network=none <<-EOF - set -eu - sitedir="$(python3 -c 'import site;print(site.getsitepackages()[0])')" - mkdir -p "/rootfs/${sitedir}" - cp -a docutils "/rootfs/$sitedir" + set -eu + python -m installer -d /rootfs .dist/*.whl find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf EOF diff --git a/packages/py-hatchling/Containerfile b/packages/py-hatchling/Containerfile new file mode 100644 index 0000000..08980aa --- /dev/null +++ b/packages/py-hatchling/Containerfile @@ -0,0 +1,41 @@ +FROM scratch AS base +ENV VERSION=1.25.0 +ENV SRC_HASH=7064631a512610b52250a4d3ff1bd81551d6d1431c4eb7b72e734df6c74f4262 +ENV SRC_FILE=hatchling-${VERSION}.tar.gz +ENV SRC_SITE=https://files.pythonhosted.org/packages/source/h/hatchling/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/zlib . / +COPY --from=stagex/openssl . / +COPY --from=stagex/python . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/libffi . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-packaging . / +COPY --from=stagex/py-trove-classifiers . / +COPY --from=stagex/py-pathspec . / +COPY --from=stagex/py-pluggy . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/py-gpep517 . / +RUN tar -xzf ${SRC_FILE} +WORKDIR hatchling-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eux + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-idna/Containerfile b/packages/py-idna/Containerfile new file mode 100644 index 0000000..d836cf3 --- /dev/null +++ b/packages/py-idna/Containerfile @@ -0,0 +1,39 @@ +FROM scratch AS base +ENV VERSION=3.7 +ENV SRC_HASH=07017f753632624abaa31aa2c1b243aea6409367256de4183671d95e019f7d70 +ENV SRC_FILE=v${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/kjd/idna/archive/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/zlib . / +COPY --from=stagex/openssl . / +COPY --from=stagex/python . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/libffi . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-packaging . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/py-gpep517 . / +RUN tar -xzf ${SRC_FILE} +WORKDIR idna-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eux + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-imagesize/Containerfile b/packages/py-imagesize/Containerfile new file mode 100644 index 0000000..2ac7bdb --- /dev/null +++ b/packages/py-imagesize/Containerfile @@ -0,0 +1,39 @@ +FROM scratch AS base +ENV VERSION=1.4.1 +ENV SRC_HASH=69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a +ENV SRC_FILE=imagesize-${VERSION}.tar.gz +ENV SRC_SITE=https://files.pythonhosted.org/packages/source/i/imagesize/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/zlib . / +COPY --from=stagex/openssl . / +COPY --from=stagex/python . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/libffi . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-packaging . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/py-gpep517 . / +RUN tar -xzf ${SRC_FILE} +WORKDIR imagesize-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eux + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-jinja2/Containerfile b/packages/py-jinja2/Containerfile new file mode 100644 index 0000000..c8f15a9 --- /dev/null +++ b/packages/py-jinja2/Containerfile @@ -0,0 +1,38 @@ +FROM scratch AS base +ENV VERSION=3.1.4 +ENV SRC_HASH=4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369 +ENV SRC_FILE=jinja2-${VERSION}.tar.gz +ENV SRC_SITE=https://files.pythonhosted.org/packages/source/j/jinja2/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/zlib . / +COPY --from=stagex/openssl . / +COPY --from=stagex/python . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/libffi . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-packaging . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/py-gpep517 . / +RUN tar -xzf ${SRC_FILE} +WORKDIR jinja2-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-markupsafe/Containerfile b/packages/py-markupsafe/Containerfile new file mode 100644 index 0000000..c803b2a --- /dev/null +++ b/packages/py-markupsafe/Containerfile @@ -0,0 +1,39 @@ +FROM scratch AS base +ENV VERSION=2.1.5 +ENV SRC_HASH=d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b +ENV SRC_FILE=MarkupSafe-${VERSION}.tar.gz +ENV SRC_SITE=https://files.pythonhosted.org/packages/source/M/MarkupSafe/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/zlib . / +COPY --from=stagex/openssl . / +COPY --from=stagex/python . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/libffi . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-packaging . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/py-gpep517 . / +RUN tar -xzf ${SRC_FILE} +WORKDIR MarkupSafe-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-pathspec/Containerfile b/packages/py-pathspec/Containerfile new file mode 100644 index 0000000..ea60fa2 --- /dev/null +++ b/packages/py-pathspec/Containerfile @@ -0,0 +1,37 @@ +FROM scratch AS base +ENV VERSION=0.12.1 +ENV SRC_HASH=a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712 +ENV SRC_FILE=pathspec-${VERSION}.tar.gz +ENV SRC_SITE=https://files.pythonhosted.org/packages/source/p/pathspec/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/zlib . / +COPY --from=stagex/openssl . / +COPY --from=stagex/python . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/libffi . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/py-gpep517 . / +RUN tar -xzf ${SRC_FILE} +WORKDIR pathspec-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-pluggy/Containerfile b/packages/py-pluggy/Containerfile new file mode 100644 index 0000000..2870d14 --- /dev/null +++ b/packages/py-pluggy/Containerfile @@ -0,0 +1,39 @@ +FROM scratch AS base +ENV VERSION=1.5.0 +ENV SRC_HASH=2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1 +ENV SRC_FILE=pluggy-${VERSION}.tar.gz +ENV SRC_SITE=https://files.pythonhosted.org/packages/source/p/pluggy/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/zlib . / +COPY --from=stagex/openssl . / +COPY --from=stagex/python . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/libffi . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-pathspec . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/py-gpep517 . / +RUN tar -xzf ${SRC_FILE} +WORKDIR pluggy-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-pygments/Containerfile b/packages/py-pygments/Containerfile new file mode 100644 index 0000000..fc53586 --- /dev/null +++ b/packages/py-pygments/Containerfile @@ -0,0 +1,42 @@ +FROM scratch AS base +ENV VERSION=2.18.0 +ENV SRC_HASH=786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 +ENV SRC_FILE=pygments-${VERSION}.tar.gz +ENV SRC_SITE=https://files.pythonhosted.org/packages/source/P/Pygments/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/zlib . / +COPY --from=stagex/openssl . / +COPY --from=stagex/python . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/libffi . / +COPY --from=stagex/py-trove-classifiers . / +COPY --from=stagex/py-packaging . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-pathspec . / +COPY --from=stagex/py-pluggy . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/py-gpep517 . / +COPY --from=stagex/py-hatchling . / +RUN tar -xzf ${SRC_FILE} +WORKDIR pygments-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-requests/Containerfile b/packages/py-requests/Containerfile new file mode 100644 index 0000000..9c87d7d --- /dev/null +++ b/packages/py-requests/Containerfile @@ -0,0 +1,39 @@ +FROM scratch AS base +ENV VERSION=2.32.3 +ENV SRC_HASH=55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 +ENV SRC_FILE=requests-${VERSION}.tar.gz +ENV SRC_SITE=https://files.pythonhosted.org/packages/source/r/requests/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/zlib . / +COPY --from=stagex/openssl . / +COPY --from=stagex/python . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/libffi . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-packaging . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/py-gpep517 . / +RUN tar -xzf ${SRC_FILE} +WORKDIR requests-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-snowballstemmer/Containerfile b/packages/py-snowballstemmer/Containerfile new file mode 100644 index 0000000..d106ede --- /dev/null +++ b/packages/py-snowballstemmer/Containerfile @@ -0,0 +1,39 @@ +FROM scratch AS base +ENV VERSION=2.2.0 +ENV SRC_HASH=09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1 +ENV SRC_FILE=snowballstemmer-${VERSION}.tar.gz +ENV SRC_SITE=https://files.pythonhosted.org/packages/source/s/snowballstemmer/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/zlib . / +COPY --from=stagex/openssl . / +COPY --from=stagex/python . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/libffi . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-packaging . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/py-gpep517 . / +RUN tar -xzf ${SRC_FILE} +WORKDIR snowballstemmer-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-sphinx/Containerfile b/packages/py-sphinx/Containerfile new file mode 100644 index 0000000..109d204 --- /dev/null +++ b/packages/py-sphinx/Containerfile @@ -0,0 +1,31 @@ +FROM scratch AS base +ENV VERSION=7.2.6 +ENV SRC_HASH=b41c04543148937b887097f396d7b2b54ae49d0597b68625f06ffdf702d4d917 + +ENV SRC_FILE=v${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/sphinx-doc/sphinx/archive/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/python . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-gpep517 . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/zlib . / +RUN tar -xzf ${SRC_FILE} +WORKDIR sphinx-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-sphinx_rtd_theme/Containerfile b/packages/py-sphinx_rtd_theme/Containerfile new file mode 100644 index 0000000..97a1fab --- /dev/null +++ b/packages/py-sphinx_rtd_theme/Containerfile @@ -0,0 +1,33 @@ +FROM scratch AS base +ENV VERSION=2.0.0 +ENV SRC_HASH=40446e6789dd34deb4e9814e379bae0aa74057b6fb43de4b343a48c84fc0f8db +ENV SRC_FILE=${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/readthedocs/sphinx_rtd_theme/archive/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/python . / +COPY --from=stagex/libffi . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-gpep517 . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/zlib . / +RUN tar -xzf ${SRC_FILE} +WORKDIR sphinx_rtd_theme-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-sphinxcontrib-applehelp/Containerfile b/packages/py-sphinxcontrib-applehelp/Containerfile new file mode 100644 index 0000000..5bc227e --- /dev/null +++ b/packages/py-sphinxcontrib-applehelp/Containerfile @@ -0,0 +1,33 @@ +FROM scratch AS base +ENV VERSION=1.0.4 +ENV SRC_HASH=828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e +ENV SRC_FILE=sphinxcontrib-applehelp-${VERSION}.tar.gz +ENV SRC_SITE=https://files.pythonhosted.org/packages/source/s/sphinxcontrib-applehelp/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/libffi . / +COPY --from=stagex/python . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-gpep517 . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/zlib . / +RUN tar -xzf ${SRC_FILE} +WORKDIR sphinxcontrib-applehelp-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-sphinxcontrib-devhelp/Containerfile b/packages/py-sphinxcontrib-devhelp/Containerfile new file mode 100644 index 0000000..5faaa4d --- /dev/null +++ b/packages/py-sphinxcontrib-devhelp/Containerfile @@ -0,0 +1,33 @@ +FROM scratch AS base +ENV VERSION=1.0.5 +ENV SRC_HASH=e2b24fcee87da8fb6a3826ba072c8369cdbffee116bd38bcfaa0302b279dc844 +ENV SRC_FILE=${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/sphinx-doc/sphinxcontrib-devhelp/archive/refs/tags/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/libffi . / +COPY --from=stagex/python . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-gpep517 . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/zlib . / +RUN tar -xzf ${SRC_FILE} +WORKDIR sphinxcontrib-devhelp-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-sphinxcontrib-htmlhelp/Containerfile b/packages/py-sphinxcontrib-htmlhelp/Containerfile new file mode 100644 index 0000000..f757ac5 --- /dev/null +++ b/packages/py-sphinxcontrib-htmlhelp/Containerfile @@ -0,0 +1,33 @@ +FROM scratch AS base +ENV VERSION=2.0.1 +ENV SRC_HASH=0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff +ENV SRC_FILE=sphinxcontrib-htmlhelp-${VERSION}.tar.gz +ENV SRC_SITE=https://files.pythonhosted.org/packages/source/s/sphinxcontrib-htmlhelp/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/libffi . / +COPY --from=stagex/python . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-gpep517 . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/zlib . / +RUN tar -xzf ${SRC_FILE} +WORKDIR sphinxcontrib-htmlhelp-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-sphinxcontrib-jquery/Containerfile b/packages/py-sphinxcontrib-jquery/Containerfile new file mode 100644 index 0000000..057b847 --- /dev/null +++ b/packages/py-sphinxcontrib-jquery/Containerfile @@ -0,0 +1,33 @@ +FROM scratch AS base +ENV VERSION=4.1 +ENV SRC_HASH=f6a7578b00a8458e5edd38431d3ea4037b928a21ba1f82469ec2015127955c34 +ENV SRC_FILE=v${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/sphinx-contrib/jquery/archive/refs/tags/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/libffi . / +COPY --from=stagex/python . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-gpep517 . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/zlib . / +RUN tar -xzf ${SRC_FILE} +WORKDIR jquery-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-sphinxcontrib-qthelp/Containerfile b/packages/py-sphinxcontrib-qthelp/Containerfile new file mode 100644 index 0000000..53f6929 --- /dev/null +++ b/packages/py-sphinxcontrib-qthelp/Containerfile @@ -0,0 +1,33 @@ +FROM scratch AS base +ENV VERSION=1.0.6 +ENV SRC_HASH=a7bd74c400fc84fadbd0bd74c6c48b1a12465dc950af335b59ee5e62e082fce3 +ENV SRC_FILE=${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/sphinx-doc/sphinxcontrib-qthelp/archive/refs/tags/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/libffi . / +COPY --from=stagex/python . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-gpep517 . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/zlib . / +RUN tar -xzf ${SRC_FILE} +WORKDIR sphinxcontrib-qthelp-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-sphinxcontrib-serializinghtml/Containerfile b/packages/py-sphinxcontrib-serializinghtml/Containerfile new file mode 100644 index 0000000..2b9b637 --- /dev/null +++ b/packages/py-sphinxcontrib-serializinghtml/Containerfile @@ -0,0 +1,33 @@ +FROM scratch AS base +ENV VERSION=1.1.9 +ENV SRC_HASH=8ff6f82f0b7876eaaf258cb90d2ddfdc26ae069552bf6db6ae5eb534ae689c19 +ENV SRC_FILE=${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/sphinx-doc/sphinxcontrib-serializinghtml/archive/refs/tags/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/libffi . / +COPY --from=stagex/python . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-gpep517 . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/zlib . / +RUN tar -xzf ${SRC_FILE} +WORKDIR sphinxcontrib-serializinghtml-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/py-trove-classifiers/Containerfile b/packages/py-trove-classifiers/Containerfile new file mode 100644 index 0000000..2502d28 --- /dev/null +++ b/packages/py-trove-classifiers/Containerfile @@ -0,0 +1,38 @@ +FROM scratch AS base +ENV VERSION=2024.5.17 +ENV SRC_HASH=5d0a143e5977e5c32a34265f803fcdbf064c57940ce95492fe6c559622f7497c +ENV SRC_FILE=py3-trove-classifiers-${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/pypa/trove-classifiers/archive/${VERSION}/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/zlib . / +COPY --from=stagex/openssl . / +COPY --from=stagex/python . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/cmake . / +COPY --from=stagex/libffi . / +COPY --from=stagex/py-installer . / +COPY --from=stagex/py-setuptools . / +COPY --from=stagex/py-flit . / +COPY --from=stagex/py-wheel . / +COPY --from=stagex/py-gpep517 . / +RUN tar -xzf ${SRC_FILE} +WORKDIR trove-classifiers-${VERSION} +RUN gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2 + +FROM build AS install +RUN --network=none <<-EOF + set -eu + python -m installer -d /rootfs .dist/*.whl + find /rootfs | grep -E "(/__pycache__$|\.pyc$|\.pyo$)" | xargs rm -rf +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/qemu/Containerfile b/packages/qemu/Containerfile new file mode 100644 index 0000000..b3ea659 --- /dev/null +++ b/packages/qemu/Containerfile @@ -0,0 +1,179 @@ +FROM scratch AS base +ENV VERSION=9.0.2 +ENV SRC_HASH=a8c3f596aece96da3b00cafb74baafa0d14515eafb8ed1ee3f7f5c2d0ebf02b6 +ENV SRC_FILE=qemu-${VERSION}.tar.xz +ENV SRC_SITE=https://download.qemu.org/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/busybox . / +COPY --from=stagex/bash . / +COPY --from=stagex/gzip . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/python . / +COPY --from=stagex/py-docutils . / +COPY --from=stagex/py-pygments . / +COPY --from=stagex/py-babel . / +COPY --from=stagex/py-packaging . / +COPY --from=stagex/py-sphinx . / +COPY --from=stagex/py-sphinx_rtd_theme . / +COPY --from=stagex/py-sphinxcontrib-applehelp . / +COPY --from=stagex/py-sphinxcontrib-devhelp . / +COPY --from=stagex/py-sphinxcontrib-htmlhelp . / +COPY --from=stagex/py-sphinxcontrib-qthelp . / +COPY --from=stagex/py-sphinxcontrib-serializinghtml . / +COPY --from=stagex/py-sphinxcontrib-jquery . / +COPY --from=stagex/py-jinja2 . / +COPY --from=stagex/py-markupsafe . / +COPY --from=stagex/py-snowballstemmer . / +COPY --from=stagex/py-imagesize . / +COPY --from=stagex/py-requests . / +COPY --from=stagex/py-urllib3 . / +COPY --from=stagex/py-idna . / +COPY --from=stagex/py-certifi . / +COPY --from=stagex/py-alabaster . / +COPY --from=stagex/make . / +COPY --from=stagex/bison . / +COPY --from=stagex/meson . / +COPY --from=stagex/ninja . / +COPY --from=stagex/libtool . / +COPY --from=stagex/openssl . / +COPY --from=stagex/git . / +COPY --from=stagex/zlib . / +COPY --from=stagex/libffi . / +COPY --from=stagex/libaio . / +COPY --from=stagex/libzstd . / +COPY --from=stagex/libseccomp . / +COPY --from=stagex/libcap-ng . / +COPY --from=stagex/alsa-lib . / +COPY --from=stagex/ncurses . / +COPY --from=stagex/curl . / +COPY --from=stagex/flex . / +COPY --from=stagex/openssh . / +COPY --from=stagex/perl . / +COPY --from=stagex/pcre2 . / +COPY --from=stagex/glib . / +COPY --from=stagex/lzo . / +COPY --from=stagex/dtc . / +COPY --from=stagex/autoconf . / +COPY --from=stagex/automake . / +COPY --from=stagex/pkgconf . / +COPY --from=stagex/gettext . / +COPY --from=stagex/numactl . / +COPY --from=stagex/m4 . / +COPY --from=stagex/argp-standalone . / +COPY --from=stagex/musl . / +COPY --from=stagex/musl-fts . / +COPY --from=stagex/musl-obstack . / +COPY --from=stagex/linux-headers . / +RUN tar -xf ${SRC_FILE} +WORKDIR qemu-${VERSION} +ADD *.patch . +ENV SOURCE_DATE_EPOCH=1 +ENV LDFLAGS=" \ + -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro \ + -Wl,-z,now -Wl,-z,pack-relative-relocs" +ENV CFLAGS=" \ + -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \ + -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \ + -fstack-clash-protection -fcf-protection \ + -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" +ENV CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS" +ENV LTOFLAGS="-flto=auto" +RUN --network=none <<-EOF + set -eux + ./configure \ + --build="x86_64-linux-musl" \ + --host="x86_64-linux-musl" \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib/qemu \ + --docdir=/usr/share/doc/qemu \ + --python=/usr/bin/python \ + --cc=gcc \ + --audio-drv-list=oss,alsa \ + --enable-curses \ + --enable-modules \ + --enable-tpm \ + --disable-docs \ + --disable-sdl \ + --disable-gtk \ + --disable-bpf \ + --disable-capstone \ + --disable-glusterfs \ + --disable-debug-info \ + --disable-opengl \ + --disable-bsd-user \ + --disable-werror \ + --disable-libnfs \ + --disable-libssh \ + --disable-snappy \ + --disable-spice \ + --disable-usb-redir \ + --disable-vde \ + --disable-vhost-net \ + --disable-virglrenderer \ + --disable-virtfs \ + --disable-vnc \ + --disable-vnc-jpeg \ + --disable-xen + make ARFLAGS="rc" +EOF + +FROM build AS install +RUN --network=none <<-EOF + make DESTDIR=/rootfs install + rm -rf /rootfs/var/run + strip /rootfs/usr/bin/qemu-* + # These are not currently deterministic so we can't release them yet + rm -rf /rootfs/usr/bin/qemu-aarch64 + rm -rf /rootfs/usr/bin/qemu-aarch64_be + rm -rf /rootfs/usr/bin/qemu-arm + rm -rf /rootfs/usr/bin/qemu-armeb + rm -rf /rootfs/usr/bin/qemu-hexagon + rm -rf /rootfs/usr/bin/qemu-hppa + rm -rf /rootfs/usr/bin/qemu-loongarch64 + rm -rf /rootfs/usr/bin/qemu-microblaze + rm -rf /rootfs/usr/bin/qemu-microblazeel + rm -rf /rootfs/usr/bin/qemu-mips + rm -rf /rootfs/usr/bin/qemu-mips64 + rm -rf /rootfs/usr/bin/qemu-mips64el + rm -rf /rootfs/usr/bin/qemu-mipsel + rm -rf /rootfs/usr/bin/qemu-mipsn32 + rm -rf /rootfs/usr/bin/qemu-mipsn32el + rm -rf /rootfs/usr/bin/qemu-or1k + rm -rf /rootfs/usr/bin/qemu-ppc + rm -rf /rootfs/usr/bin/qemu-ppc64 + rm -rf /rootfs/usr/bin/qemu-ppc64le + rm -rf /rootfs/usr/bin/qemu-riscv32 + rm -rf /rootfs/usr/bin/qemu-riscv64 + rm -rf /rootfs/usr/bin/qemu-sparc + rm -rf /rootfs/usr/bin/qemu-sparc32plus + rm -rf /rootfs/usr/bin/qemu-sparc64 + rm -rf /rootfs/usr/bin/qemu-system-aarch64 + rm -rf /rootfs/usr/bin/qemu-system-arm + rm -rf /rootfs/usr/bin/qemu-system-avr + rm -rf /rootfs/usr/bin/qemu-system-hppa + rm -rf /rootfs/usr/bin/qemu-system-loongarch64 + rm -rf /rootfs/usr/bin/qemu-system-microblaze + rm -rf /rootfs/usr/bin/qemu-system-microblazeel + rm -rf /rootfs/usr/bin/qemu-system-mips + rm -rf /rootfs/usr/bin/qemu-system-mips64 + rm -rf /rootfs/usr/bin/qemu-system-mips64el + rm -rf /rootfs/usr/bin/qemu-system-mipsel + rm -rf /rootfs/usr/bin/qemu-system-or1k + rm -rf /rootfs/usr/bin/qemu-system-ppc + rm -rf /rootfs/usr/bin/qemu-system-ppc64 + rm -rf /rootfs/usr/bin/qemu-system-riscv32 + rm -rf /rootfs/usr/bin/qemu-system-riscv64 + rm -rf /rootfs/usr/bin/qemu-system-rx + rm -rf /rootfs/usr/bin/qemu-system-sparc + rm -rf /rootfs/usr/bin/qemu-system-sparc64 +EOF + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/re2c/Containerfile b/packages/re2c/Containerfile new file mode 100644 index 0000000..452ab52 --- /dev/null +++ b/packages/re2c/Containerfile @@ -0,0 +1,37 @@ +FROM scratch AS base +ENV VERSION=3.1 +ENV SRC_HASH=087c44de0400fb15caafde09fd72edc7381e688a35ef505ee65e0e3d2fac688b +ENV SRC_FILE=${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/skvadrik/re2c/archive/refs/tags/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} . + +FROM fetch AS build +COPY --from=stagex/autoconf . / +COPY --from=stagex/automake . / +COPY --from=stagex/binutils . / +COPY --from=stagex/busybox . / +COPY --from=stagex/libtool . / +COPY --from=stagex/perl . / +COPY --from=stagex/python . / +COPY --from=stagex/gcc . / +COPY --from=stagex/make . / +COPY --from=stagex/m4 . / +COPY --from=stagex/musl . / +RUN tar -xvf $SRC_FILE +WORKDIR re2c-${VERSION} +RUN --network=none <<-EOF + set -eux + autoreconf -i -W all + ./configure \ + --prefix=/usr + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/rhash/Containerfile b/packages/rhash/Containerfile new file mode 100644 index 0000000..2f5d2d3 --- /dev/null +++ b/packages/rhash/Containerfile @@ -0,0 +1,36 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.4.4 +ENV SRC_HASH=8e7d1a8ccac0143c8fe9b68ebac67d485df119ea17a613f4038cda52f84ef52a +ENV SRC_FILE=v${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/rhash/RHash/archive/refs/tags/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/bash . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/openssl . / +RUN tar -xf ${SRC_FILE} +WORKDIR RHash-${VERSION} +RUN --network=none <<-EOF + set -eux + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --enable-openssl \ + --disable-openssl-runtime + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/samurai/CVE-2021-30218.patch b/packages/samurai/CVE-2021-30218.patch new file mode 100644 index 0000000..de534d4 --- /dev/null +++ b/packages/samurai/CVE-2021-30218.patch @@ -0,0 +1,29 @@ +From e84b6d99c85043fa1ba54851ee500540ec206918 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Fri, 2 Apr 2021 17:27:48 -0700 +Subject: [PATCH] util: Check for NULL string in writefile + +This check was there previously, but was removed in f549b757 with +the addition of a check during parse that every rule has rspfile +if and only if it has rspfile_content. However, this fails to +consider the possibility of those variables coming from the edge +or global environment. So, re-add the check. + +Fixes #67. +--- + util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util.c b/util.c +index ea5c3ce..2a59881 100644 +--- a/util.c ++++ b/util.c +@@ -258,7 +258,7 @@ writefile(const char *name, struct string *s) + return -1; + } + ret = 0; +- if (fwrite(s->s, 1, s->n, f) != s->n || fflush(f) != 0) { ++ if (s && (fwrite(s->s, 1, s->n, f) != s->n || fflush(f) != 0)) { + warn("write %s:", name); + ret = -1; + } \ No newline at end of file diff --git a/packages/samurai/CVE-2021-30219.patch b/packages/samurai/CVE-2021-30219.patch new file mode 100644 index 0000000..a1b7b8c --- /dev/null +++ b/packages/samurai/CVE-2021-30219.patch @@ -0,0 +1,26 @@ +From d2af3bc375e2a77139c3a28d6128c60cd8d08655 Mon Sep 17 00:00:00 2001 +From: Michael Forney +Date: Sun, 4 Apr 2021 03:50:09 -0700 +Subject: [PATCH] parse: Check for non-empty command/rspfile/rspfile_content + +This matches ninja behavior and prevents the possibility of a rule +with an empty (NULL) command string. + +Fixes #68. +--- + parse.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/parse.c b/parse.c +index f79a5ee..b4b98a1 100644 +--- a/parse.c ++++ b/parse.c +@@ -42,6 +42,8 @@ parserule(struct scanner *s, struct environment *env) + var = scanname(s); + parselet(s, &val); + ruleaddvar(r, var, val); ++ if (!val) ++ continue; + if (strcmp(var, "command") == 0) + hascommand = true; + else if (strcmp(var, "rspfile") == 0) \ No newline at end of file diff --git a/packages/samurai/Containerfile b/packages/samurai/Containerfile new file mode 100644 index 0000000..8e7d6b4 --- /dev/null +++ b/packages/samurai/Containerfile @@ -0,0 +1,33 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.2 +ENV SRC_HASH=3b8cf51548dfc49b7efe035e191ff5e1963ebc4fe8f6064a5eefc5343eaf78a5 +ENV SRC_FILE=samurai-${VERSION}.tar.gz +ENV SRC_SITE=https://github.com/michaelforney/samurai/releases/download/${VERSION}/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/pkgconf . / +RUN tar -xf ${SRC_FILE} +WORKDIR samurai-${VERSION} +COPY *.patch . +RUN --network=none <<-EOF + set -eux + patch -p1 CVE-2021-30218.patch + patch -p1 CVE-2021-30219.patch + make CFLAGS="-O2" CC=gcc -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/scdoc/Containerfile b/packages/scdoc/Containerfile new file mode 100644 index 0000000..75577e5 --- /dev/null +++ b/packages/scdoc/Containerfile @@ -0,0 +1,30 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.11.3 +ENV SRC_HASH=4c5c6136540384e5455b250f768e7ca11b03fdba1a8efc2341ee0f1111e57612 +ENV SRC_FILE=${VERSION}.tar.gz +ENV SRC_SITE=https://git.sr.ht/~sircmpwn/scdoc/archive/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +RUN tar -xf ${SRC_FILE} +WORKDIR scdoc-${VERSION} +RUN --network=none <<-EOF + set -eux + make PREFIX="/usr" -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / + diff --git a/packages/skalibs/Containerfile b/packages/skalibs/Containerfile new file mode 100644 index 0000000..eade0b5 --- /dev/null +++ b/packages/skalibs/Containerfile @@ -0,0 +1,34 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=2.14.1.1 +ENV SRC_HASH=b6b79b816f4ba0b6801676b0ed4179b59c8c7809eeffe26db672e404636befc3 +ENV SRC_FILE=skalibs-${VERSION}.tar.gz +ENV SRC_SITE=https://skarnet.org/software/skalibs/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +RUN tar -xf ${SRC_FILE} +WORKDIR skalibs-${VERSION} +RUN --network=none <<-EOF + set -eux + ./configure \ + --enable-shared \ + --enable-static \ + --prefix=/usr \ + --libdir=/usr/lib + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/unixodbc/Containerfile b/packages/unixodbc/Containerfile new file mode 100644 index 0000000..aee4f2c --- /dev/null +++ b/packages/unixodbc/Containerfile @@ -0,0 +1,46 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=2.3.12 +ENV SRC_HASH=f210501445ce21bf607ba51ef8c125e10e22dffdffec377646462df5f01915ec +ENV SRC_FILE=unixODBC-${VERSION}.tar.gz +ENV SRC_SITE=https://www.unixodbc.org/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/perl . / +COPY --from=stagex/bash . / +COPY --from=stagex/m4 . / +COPY --from=stagex/autoconf . / +COPY --from=stagex/automake . / +COPY --from=stagex/busybox . / +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/libtool . / +COPY --from=stagex/postgresql . / +RUN tar -xf $SRC_FILE +WORKDIR unixODBC-${VERSION} +RUN --network=none <<-EOF + set -eux + ./configure \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --disable-nls \ + --enable-gui=no \ + --enable-static + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/util-macros/Containerfile b/packages/util-macros/Containerfile new file mode 100644 index 0000000..cb17b97 --- /dev/null +++ b/packages/util-macros/Containerfile @@ -0,0 +1,37 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=1.20.0 +ENV SRC_HASH=0b86b262dbe971edb4ff233bc370dfad9f241d09f078a3f6d5b7f4b8ea4430db +ENV SRC_FILE=util-macros-${VERSION}.tar.xz +ENV SRC_SITE=https://www.x.org/releases/individual/util/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/busybox . / +COPY --from=stagex/bash . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/pkgconf . / +COPY --from=stagex/m4 . / +COPY --from=stagex/gawk . / +RUN tar -xf ${SRC_FILE} +WORKDIR util-macros-${VERSION} +RUN --network=none <<-EOF + set -eux + ./configure \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/utmps/Containerfile b/packages/utmps/Containerfile new file mode 100644 index 0000000..d11bc25 --- /dev/null +++ b/packages/utmps/Containerfile @@ -0,0 +1,39 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=0.1.2.2 +ENV SRC_HASH=f7ffa3714c65973bb95fbcf1501c06fc0478d93a51cea1b373ec6811c2425f52 +ENV SRC_FILE=utmps-${VERSION}.tar.gz +ENV SRC_SITE=https://skarnet.org/software/utmps/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/musl . / +COPY --from=stagex/gcc . / +COPY --from=stagex/busybox . / +COPY --from=stagex/binutils . / +COPY --from=stagex/make . / +COPY --from=stagex/skalibs . / +RUN tar -xf ${SRC_FILE} +WORKDIR utmps-${VERSION} +RUN --network=none <<-EOF + set -eux + ./configure \ + --enable-shared \ + --enable-static \ + --prefix=/usr \ + --disable-allstatic \ + --libdir=/usr/lib \ + --libexecdir=/lib/utmps \ + --with-lib=/usr/lib \ + --with-dynlib=/lib + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/packages/xmlto/Containerfile b/packages/xmlto/Containerfile new file mode 100644 index 0000000..82cabbe --- /dev/null +++ b/packages/xmlto/Containerfile @@ -0,0 +1,49 @@ +FROM scratch AS base +ARG ARCH=x86_64 +ENV VERSION=0.0.29 +ENV SRC_HASH=40504db68718385a4eaa9154a28f59e51e59d006d1aa14f5bc9d6fded1d6017a +ENV SRC_FILE=xmlto-${VERSION}.tar.gz +ENV SRC_SITE=https://www.pagure.io/xmlto/archive/${VERSION}/${SRC_FILE} + +FROM base AS fetch +ADD --checksum=sha256:${SRC_HASH} ${SRC_SITE} ${SRC_FILE} + +FROM fetch AS build +COPY --from=stagex/perl . / +COPY --from=stagex/glib . / +COPY --from=stagex/bash . / +COPY --from=stagex/gettext . / +COPY --from=stagex/musl . / +COPY --from=stagex/automake . / +COPY --from=stagex/autoconf . / +COPY --from=stagex/gcc . / +COPY --from=stagex/libxslt . / +COPY --from=stagex/docbook-xsl . / +COPY --from=stagex/busybox . / +COPY --from=stagex/zlib . / +COPY --from=stagex/perl-pod-parser . / +COPY --from=stagex/perl-yaml-syck . / +COPY --from=stagex/libtool . / +COPY --from=stagex/binutils . / +COPY --from=stagex/m4 . / +COPY --from=stagex/libxml2 . / +COPY --from=stagex/make . / +RUN tar -xf ${SRC_FILE} +WORKDIR xmlto-${VERSION} +RUN --network=none <<-EOF + set -eux + autoreconf -vfi + ./configure \ + --build=${ARCH}-linux-musl \ + --host=${ARCH}-linux-musl \ + --prefix=/usr \ + --mandir=/usr/share/man + make -j "$(nproc)" +EOF + +FROM build AS install +RUN make DESTDIR=/rootfs install +RUN find /rootfs -exec touch -hcd "@0" "{}" + + +FROM stagex/filesystem AS package +COPY --from=install /rootfs/. / diff --git a/src/packages.mk b/src/packages.mk index 38103c3..7bd0d0a 100644 --- a/src/packages.mk +++ b/src/packages.mk @@ -15,6 +15,78 @@ out/abseil-cpp/index.json: \ out/zlib/index.json $(call build,abseil-cpp) +.PHONY: acl +acl: out/acl/index.json +out/acl/index.json: \ + packages/acl/Containerfile \ + out/attr/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json + $(call build,acl) + +.PHONY: alsa-lib +alsa-lib: out/alsa-lib/index.json +out/alsa-lib/index.json: \ + packages/alsa-lib/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/linux-headers/index.json \ + out/make/index.json \ + out/musl/index.json + $(call build,alsa-lib) + +.PHONY: apr +apr: out/apr/index.json +out/apr/index.json: \ + packages/apr/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/util-linux/index.json + $(call build,apr) + +.PHONY: apr-util +apr-util: out/apr-util/index.json +out/apr-util/index.json: \ + packages/apr-util/Containerfile \ + out/apr/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/expat/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/gdbm/index.json \ + out/libtool/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openldap/index.json \ + out/openssl/index.json \ + out/postgresql/index.json \ + out/sqlite3/index.json \ + out/util-linux/index.json + $(call build,apr-util) + +.PHONY: argon2 +argon2: out/argon2/index.json +out/argon2/index.json: \ + packages/argon2/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json + $(call build,argon2) + .PHONY: argp-standalone argp-standalone: out/argp-standalone/index.json out/argp-standalone/index.json: \ @@ -31,6 +103,32 @@ out/argp-standalone/index.json: \ out/perl/index.json $(call build,argp-standalone) +.PHONY: aspell +aspell: out/aspell/index.json +out/aspell/index.json: \ + packages/aspell/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/perl/index.json + $(call build,aspell) + +.PHONY: attr +attr: out/attr/index.json +out/attr/index.json: \ + packages/attr/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/perl/index.json + $(call build,attr) + .PHONY: autoconf autoconf: out/autoconf/index.json out/autoconf/index.json: \ @@ -167,6 +265,21 @@ out/bison/index.json: \ out/perl/index.json $(call build,bison) +.PHONY: brotli +brotli: out/brotli/index.json +out/brotli/index.json: \ + packages/brotli/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/samurai/index.json + $(call build,brotli) + .PHONY: buf buf: out/buf/index.json out/buf/index.json: \ @@ -239,12 +352,16 @@ out/clang/index.json: \ out/cmake/index.json \ out/filesystem/index.json \ out/gcc/index.json \ + out/git/index.json \ + out/libxml2/index.json \ + out/linux-headers/index.json \ out/llvm/index.json \ out/musl/index.json \ out/ninja/index.json \ out/openssl/index.json \ out/py-setuptools/index.json \ out/python/index.json \ + out/samurai/index.json \ out/zlib/index.json $(call build,clang) @@ -322,6 +439,32 @@ out/curl/index.json: \ out/perl/index.json $(call build,curl) +.PHONY: cython +cython: out/cython/index.json +out/cython/index.json: \ + packages/cython/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libffi/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/py-cffi/index.json \ + out/py-dateutil/index.json \ + out/py-distro/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-setuptools/index.json \ + out/py-urllib3/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,cython) + .PHONY: diffutils diffutils: out/diffutils/index.json out/diffutils/index.json: \ @@ -381,6 +524,53 @@ out/dosfstools/index.json: \ out/perl/index.json $(call build,dosfstools) +.PHONY: doxygen +doxygen: out/doxygen/index.json +out/doxygen/index.json: \ + packages/doxygen/Containerfile \ + out/binutils/index.json \ + out/bison/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/coreutils/index.json \ + out/filesystem/index.json \ + out/flex/index.json \ + out/gcc/index.json \ + out/libxml2/index.json \ + out/m4/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/perl/index.json \ + out/pkgconf/index.json \ + out/python/index.json \ + out/samurai/index.json + $(call build,doxygen) + +.PHONY: dtc +dtc: out/dtc/index.json +out/dtc/index.json: \ + packages/dtc/Containerfile \ + out/binutils/index.json \ + out/bison/index.json \ + out/busybox/index.json \ + out/coreutils/index.json \ + out/filesystem/index.json \ + out/flex/index.json \ + out/gcc/index.json \ + out/libzstd/index.json \ + out/linux-headers/index.json \ + out/m4/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/perl/index.json \ + out/pkgconf/index.json \ + out/py-setuptools/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,dtc) + .PHONY: e2fsprogs e2fsprogs: out/e2fsprogs/index.json out/e2fsprogs/index.json: \ @@ -471,6 +661,18 @@ out/eudev/index.json: \ out/musl/index.json $(call build,eudev) +.PHONY: expat +expat: out/expat/index.json +out/expat/index.json: \ + packages/expat/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json + $(call build,expat) + .PHONY: file file: out/file/index.json out/file/index.json: \ @@ -538,6 +740,42 @@ out/flex/index.json: \ out/perl/index.json $(call build,flex) +.PHONY: fmt +fmt: out/fmt/index.json +out/fmt/index.json: \ + packages/fmt/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/doxygen/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/postgresql/index.json \ + out/python/index.json \ + out/samurai/index.json + $(call build,fmt) + +.PHONY: freetds +freetds: out/freetds/index.json +out/freetds/index.json: \ + packages/freetds/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libtool/index.json \ + out/linux-headers/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/perl/index.json \ + out/readline/index.json \ + out/unixodbc/index.json + $(call build,freetds) + .PHONY: gawk gawk: out/gawk/index.json out/gawk/index.json: \ @@ -561,6 +799,20 @@ out/gcc/index.json: \ out/stage3/index.json $(call build,gcc) +.PHONY: gdbm +gdbm: out/gdbm/index.json +out/gdbm/index.json: \ + packages/gdbm/Containerfile \ + out/bash/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json + $(call build,gdbm) + .PHONY: gen_initramfs gen_initramfs: out/gen_initramfs/index.json out/gen_initramfs/index.json: \ @@ -602,6 +854,39 @@ out/git/index.json: \ out/zlib/index.json $(call build,git) +.PHONY: glib +glib: out/glib/index.json +out/glib/index.json: \ + packages/glib/Containerfile \ + out/binutils/index.json \ + out/bison/index.json \ + out/busybox/index.json \ + out/bzip2/index.json \ + out/cmake/index.json \ + out/expat/index.json \ + out/filesystem/index.json \ + out/flex/index.json \ + out/gcc/index.json \ + out/gettext/index.json \ + out/libffi/index.json \ + out/libxml2/index.json \ + out/libxslt/index.json \ + out/linux-headers/index.json \ + out/make/index.json \ + out/meson/index.json \ + out/musl/index.json \ + out/ncurses/index.json \ + out/ninja/index.json \ + out/pcre2/index.json \ + out/pkgconf/index.json \ + out/py-packaging/index.json \ + out/python/index.json \ + out/rhash/index.json \ + out/util-linux/index.json \ + out/xz/index.json \ + out/zlib/index.json + $(call build,glib) + .PHONY: gmp gmp: out/gmp/index.json out/gmp/index.json: \ @@ -683,6 +968,20 @@ out/grep/index.json: \ out/musl/index.json $(call build,grep) +.PHONY: groff +groff: out/groff/index.json +out/groff/index.json: \ + packages/groff/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/m4/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/perl/index.json + $(call build,groff) + .PHONY: grpcurl grpcurl: out/grpcurl/index.json out/grpcurl/index.json: \ @@ -739,6 +1038,20 @@ out/helm/index.json: \ out/go/index.json $(call build,helm) +.PHONY: hunspell +hunspell: out/hunspell/index.json +out/hunspell/index.json: \ + packages/hunspell/Containerfile \ + out/bash/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json + $(call build,hunspell) + .PHONY: icu icu: out/icu/index.json out/icu/index.json: \ @@ -830,6 +1143,36 @@ out/keyfork/index.json: \ out/zlib/index.json $(call build,keyfork) +.PHONY: krb5 +krb5: out/krb5/index.json +out/krb5/index.json: \ + packages/krb5/Containerfile \ + out/autoconf/index.json \ + out/automake/index.json \ + out/bash/index.json \ + out/binutils/index.json \ + out/bison/index.json \ + out/busybox/index.json \ + out/curl/index.json \ + out/e2fsprogs/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/groff/index.json \ + out/libevent/index.json \ + out/libtool/index.json \ + out/libverto/index.json \ + out/linux-headers/index.json \ + out/m4/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openldap/index.json \ + out/openssl/index.json \ + out/perl/index.json \ + out/pkgconf/index.json \ + out/python/index.json \ + out/util-linux/index.json + $(call build,krb5) + .PHONY: ksops-dry-run ksops-dry-run: out/ksops-dry-run/index.json out/ksops-dry-run/index.json: \ @@ -880,6 +1223,20 @@ out/kustomize-sops/index.json: \ out/go/index.json $(call build,kustomize-sops) +.PHONY: libaio +libaio: out/libaio/index.json +out/libaio/index.json: \ + packages/libaio/Containerfile \ + out/bash/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/linux-headers/index.json \ + out/make/index.json \ + out/musl/index.json + $(call build,libaio) + .PHONY: libarchive libarchive: out/libarchive/index.json out/libarchive/index.json: \ @@ -920,6 +1277,50 @@ out/libcap/index.json: \ out/perl/index.json $(call build,libcap) +.PHONY: libcap-ng +libcap-ng: out/libcap-ng/index.json +out/libcap-ng/index.json: \ + packages/libcap-ng/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/linux-headers/index.json \ + out/make/index.json \ + out/musl/index.json + $(call build,libcap-ng) + +.PHONY: libedit +libedit: out/libedit/index.json +out/libedit/index.json: \ + packages/libedit/Containerfile \ + out/autoconf/index.json \ + out/automake/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gawk/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/ncurses/index.json \ + out/perl/index.json + $(call build,libedit) + +.PHONY: libevent +libevent: out/libevent/index.json +out/libevent/index.json: \ + packages/libevent/Containerfile \ + out/bash/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json + $(call build,libevent) + .PHONY: libffi libffi: out/libffi/index.json out/libffi/index.json: \ @@ -958,6 +1359,38 @@ out/libgpg-error/index.json: \ out/npth/index.json $(call build,libgpg-error) +.PHONY: libical +libical: out/libical/index.json +out/libical/index.json: \ + packages/libical/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/icu/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/ninja/index.json \ + out/openssl/index.json \ + out/perl/index.json \ + out/samurai/index.json + $(call build,libical) + +.PHONY: libiconv +libiconv: out/libiconv/index.json +out/libiconv/index.json: \ + packages/libiconv/Containerfile \ + out/bash/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json + $(call build,libiconv) + .PHONY: libksba libksba: out/libksba/index.json out/libksba/index.json: \ @@ -986,6 +1419,35 @@ out/libqrencode/index.json: \ out/musl/index.json $(call build,libqrencode) +.PHONY: libseccomp +libseccomp: out/libseccomp/index.json +out/libseccomp/index.json: \ + packages/libseccomp/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cython/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/gperf/index.json \ + out/linux-headers/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,libseccomp) + +.PHONY: libsodium +libsodium: out/libsodium/index.json +out/libsodium/index.json: \ + packages/libsodium/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json + $(call build,libsodium) + .PHONY: libtool libtool: out/libtool/index.json out/libtool/index.json: \ @@ -1027,6 +1489,35 @@ out/libusb/index.json: \ out/musl/index.json $(call build,libusb) +.PHONY: libverto +libverto: out/libverto/index.json +out/libverto/index.json: \ + packages/libverto/Containerfile \ + out/autoconf/index.json \ + out/automake/index.json \ + out/bash/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/curl/index.json \ + out/e2fsprogs/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/groff/index.json \ + out/libedit/index.json \ + out/libevent/index.json \ + out/libtool/index.json \ + out/linux-headers/index.json \ + out/m4/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openldap/index.json \ + out/openssl/index.json \ + out/perl/index.json \ + out/pkgconf/index.json \ + out/python/index.json \ + out/util-linux/index.json + $(call build,libverto) + .PHONY: libxml2 libxml2: out/libxml2/index.json out/libxml2/index.json: \ @@ -1185,6 +1676,29 @@ out/linux-nitro/index.json: \ out/zlib/index.json $(call build,linux-nitro) +.PHONY: linux-pam +linux-pam: out/linux-pam/index.json +out/linux-pam/index.json: \ + packages/linux-pam/Containerfile \ + out/autoconf/index.json \ + out/automake/index.json \ + out/binutils/index.json \ + out/bison/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/flex/index.json \ + out/gcc/index.json \ + out/gettext/index.json \ + out/libtool/index.json \ + out/linux-headers/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/perl/index.json \ + out/pkgconf/index.json \ + out/utmps/index.json + $(call build,linux-pam) + .PHONY: lld lld: out/lld/index.json out/lld/index.json: \ @@ -1255,6 +1769,20 @@ out/llvm16/index.json: \ out/zlib/index.json $(call build,llvm16) +.PHONY: lmdb +lmdb: out/lmdb/index.json +out/lmdb/index.json: \ + packages/lmdb/Containerfile \ + out/bash/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json + $(call build,lmdb) + .PHONY: lua lua: out/lua/index.json out/lua/index.json: \ @@ -1288,6 +1816,22 @@ out/lzip/index.json: \ out/musl/index.json $(call build,lzip) +.PHONY: lzo +lzo: out/lzo/index.json +out/lzo/index.json: \ + packages/lzo/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/linux-headers/index.json \ + out/musl/index.json \ + out/ninja/index.json \ + out/openssl/index.json \ + out/zlib/index.json + $(call build,lzo) + .PHONY: m4 m4: out/m4/index.json out/m4/index.json: \ @@ -1318,7 +1862,7 @@ out/mdbook/index.json: \ out/filesystem/index.json \ out/gcc/index.json \ out/libunwind/index.json \ - out/llvm/index.json \ + out/llvm16/index.json \ out/musl/index.json \ out/openssl/index.json \ out/rust/index.json \ @@ -1461,6 +2005,39 @@ out/npth/index.json: \ out/zlib/index.json $(call build,npth) +.PHONY: numactl +numactl: out/numactl/index.json +out/numactl/index.json: \ + packages/numactl/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/gperf/index.json \ + out/linux-headers/index.json \ + out/make/index.json \ + out/musl/index.json + $(call build,numactl) + +.PHONY: nuspell +nuspell: out/nuspell/index.json +out/nuspell/index.json: \ + packages/nuspell/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/icu/index.json \ + out/m4/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/ninja/index.json \ + out/openssl/index.json \ + out/perl/index.json \ + out/samurai/index.json + $(call build,nuspell) + .PHONY: ocismack ocismack: out/ocismack/index.json out/ocismack/index.json: \ @@ -1471,13 +2048,37 @@ out/ocismack/index.json: \ out/filesystem/index.json \ out/gcc/index.json \ out/libunwind/index.json \ - out/llvm/index.json \ + out/llvm16/index.json \ out/musl/index.json \ out/openssl/index.json \ out/rust/index.json \ out/zlib/index.json $(call build,ocismack) +.PHONY: openldap +openldap: out/openldap/index.json +out/openldap/index.json: \ + packages/openldap/Containerfile \ + out/argon2/index.json \ + out/autoconf/index.json \ + out/automake/index.json \ + out/bash/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/groff/index.json \ + out/libedit/index.json \ + out/libevent/index.json \ + out/libtool/index.json \ + out/m4/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/perl/index.json \ + out/unixodbc/index.json + $(call build,openldap) + .PHONY: openpgp-card-tools openpgp-card-tools: out/openpgp-card-tools/index.json out/openpgp-card-tools/index.json: \ @@ -1569,6 +2170,31 @@ out/openssl/index.json: \ out/perl/index.json $(call build,openssl) +.PHONY: pcre2 +pcre2: out/pcre2/index.json +out/pcre2/index.json: \ + packages/pcre2/Containerfile \ + out/autoconf/index.json \ + out/automake/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/bzip2/index.json \ + out/filesystem/index.json \ + out/gawk/index.json \ + out/gcc/index.json \ + out/libedit/index.json \ + out/libtool/index.json \ + out/libzstd/index.json \ + out/linux-headers/index.json \ + out/m4/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/ncurses/index.json \ + out/perl/index.json \ + out/readline/index.json \ + out/zlib/index.json + $(call build,pcre2) + .PHONY: pcsc-lite pcsc-lite: out/pcsc-lite/index.json out/pcsc-lite/index.json: \ @@ -1615,6 +2241,21 @@ out/perl/index.json: \ out/musl/index.json $(call build,perl) +.PHONY: perl-dbi +perl-dbi: out/perl-dbi/index.json +out/perl-dbi/index.json: \ + packages/perl-dbi/Containerfile \ + out/bash/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/perl/index.json \ + out/pkgconf/index.json + $(call build,perl-dbi) + .PHONY: perl-module-build perl-module-build: out/perl-module-build/index.json out/perl-module-build/index.json: \ @@ -1639,6 +2280,63 @@ out/perl-pod-parser/index.json: \ out/perl/index.json $(call build,perl-pod-parser) +.PHONY: perl-yaml-syck +perl-yaml-syck: out/perl-yaml-syck/index.json +out/perl-yaml-syck/index.json: \ + packages/perl-yaml-syck/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/perl/index.json + $(call build,perl-yaml-syck) + +.PHONY: php +php: out/php/index.json +out/php/index.json: \ + packages/php/Containerfile \ + out/acl/index.json \ + out/autoconf/index.json \ + out/automake/index.json \ + out/bash/index.json \ + out/bc/index.json \ + out/binutils/index.json \ + out/bison/index.json \ + out/busybox/index.json \ + out/bzip2/index.json \ + out/clang/index.json \ + out/curl/index.json \ + out/expat/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/gdbm/index.json \ + out/gettext/index.json \ + out/gmp/index.json \ + out/icu/index.json \ + out/libedit/index.json \ + out/libunwind/index.json \ + out/libxml2/index.json \ + out/libzstd/index.json \ + out/linux-headers/index.json \ + out/lld/index.json \ + out/llvm/index.json \ + out/lmdb/index.json \ + out/lzip/index.json \ + out/m4/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/pcre2/index.json \ + out/perl/index.json \ + out/pkgconf/index.json \ + out/python/index.json \ + out/re2c/index.json \ + out/sqlite3/index.json \ + out/zlib/index.json + $(call build,php) + .PHONY: pkgconf pkgconf: out/pkgconf/index.json out/pkgconf/index.json: \ @@ -1771,6 +2469,29 @@ out/protoc-go-inject-tag/index.json: \ out/go/index.json $(call build,protoc-go-inject-tag) +.PHONY: py-alabaster +py-alabaster: out/py-alabaster/index.json +out/py-alabaster/index.json: \ + packages/py-alabaster/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libffi/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-packaging/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-alabaster) + .PHONY: py-awscrt py-awscrt: out/py-awscrt/index.json out/py-awscrt/index.json: \ @@ -1793,6 +2514,29 @@ out/py-awscrt/index.json: \ out/zlib/index.json $(call build,py-awscrt) +.PHONY: py-babel +py-babel: out/py-babel/index.json +out/py-babel/index.json: \ + packages/py-babel/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libffi/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-packaging/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-babel) + .PHONY: py-botocore py-botocore: out/py-botocore/index.json out/py-botocore/index.json: \ @@ -1947,9 +2691,13 @@ out/py-docutils/index.json: \ packages/py-docutils/Containerfile \ out/busybox/index.json \ out/filesystem/index.json \ + out/libffi/index.json \ out/musl/index.json \ out/py-flit/index.json \ out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ out/python/index.json \ out/zlib/index.json $(call build,py-docutils) @@ -1977,6 +2725,77 @@ out/py-gpep517/index.json: \ out/zlib/index.json $(call build,py-gpep517) +.PHONY: py-hatchling +py-hatchling: out/py-hatchling/index.json +out/py-hatchling/index.json: \ + packages/py-hatchling/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libffi/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-packaging/index.json \ + out/py-pathspec/index.json \ + out/py-pluggy/index.json \ + out/py-trove-classifiers/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-hatchling) + +.PHONY: py-idna +py-idna: out/py-idna/index.json +out/py-idna/index.json: \ + packages/py-idna/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libffi/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-packaging/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-idna) + +.PHONY: py-imagesize +py-imagesize: out/py-imagesize/index.json +out/py-imagesize/index.json: \ + packages/py-imagesize/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libffi/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-packaging/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-imagesize) + .PHONY: py-installer py-installer: out/py-installer/index.json out/py-installer/index.json: \ @@ -1994,6 +2813,28 @@ out/py-installer/index.json: \ out/zlib/index.json $(call build,py-installer) +.PHONY: py-jinja2 +py-jinja2: out/py-jinja2/index.json +out/py-jinja2/index.json: \ + packages/py-jinja2/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libffi/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-packaging/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-jinja2) + .PHONY: py-jmespath py-jmespath: out/py-jmespath/index.json out/py-jmespath/index.json: \ @@ -2007,6 +2848,29 @@ out/py-jmespath/index.json: \ out/zlib/index.json $(call build,py-jmespath) +.PHONY: py-markupsafe +py-markupsafe: out/py-markupsafe/index.json +out/py-markupsafe/index.json: \ + packages/py-markupsafe/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libffi/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-packaging/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-markupsafe) + .PHONY: py-packaging py-packaging: out/py-packaging/index.json out/py-packaging/index.json: \ @@ -2020,6 +2884,27 @@ out/py-packaging/index.json: \ out/zlib/index.json $(call build,py-packaging) +.PHONY: py-pathspec +py-pathspec: out/py-pathspec/index.json +out/py-pathspec/index.json: \ + packages/py-pathspec/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libffi/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-pathspec) + .PHONY: py-pep517 py-pep517: out/py-pep517/index.json out/py-pep517/index.json: \ @@ -2032,6 +2917,29 @@ out/py-pep517/index.json: \ out/zlib/index.json $(call build,py-pep517) +.PHONY: py-pluggy +py-pluggy: out/py-pluggy/index.json +out/py-pluggy/index.json: \ + packages/py-pluggy/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libffi/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-pathspec/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-pluggy) + .PHONY: py-prompt_toolkit py-prompt_toolkit: out/py-prompt_toolkit/index.json out/py-prompt_toolkit/index.json: \ @@ -2045,6 +2953,55 @@ out/py-prompt_toolkit/index.json: \ out/zlib/index.json $(call build,py-prompt_toolkit) +.PHONY: py-pygments +py-pygments: out/py-pygments/index.json +out/py-pygments/index.json: \ + packages/py-pygments/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libffi/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-hatchling/index.json \ + out/py-installer/index.json \ + out/py-packaging/index.json \ + out/py-pathspec/index.json \ + out/py-pluggy/index.json \ + out/py-trove-classifiers/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-pygments) + +.PHONY: py-requests +py-requests: out/py-requests/index.json +out/py-requests/index.json: \ + packages/py-requests/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libffi/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-packaging/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-requests) + .PHONY: py-ruamel.yaml py-ruamel.yaml: out/py-ruamel.yaml/index.json out/py-ruamel.yaml/index.json: \ @@ -2138,6 +3095,162 @@ out/py-six/index.json: \ out/zlib/index.json $(call build,py-six) +.PHONY: py-snowballstemmer +py-snowballstemmer: out/py-snowballstemmer/index.json +out/py-snowballstemmer/index.json: \ + packages/py-snowballstemmer/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libffi/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-packaging/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-snowballstemmer) + +.PHONY: py-sphinx +py-sphinx: out/py-sphinx/index.json +out/py-sphinx/index.json: \ + packages/py-sphinx/Containerfile \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/musl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-sphinx) + +.PHONY: py-sphinx_rtd_theme +py-sphinx_rtd_theme: out/py-sphinx_rtd_theme/index.json +out/py-sphinx_rtd_theme/index.json: \ + packages/py-sphinx_rtd_theme/Containerfile \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/libffi/index.json \ + out/musl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-sphinx_rtd_theme) + +.PHONY: py-sphinxcontrib-applehelp +py-sphinxcontrib-applehelp: out/py-sphinxcontrib-applehelp/index.json +out/py-sphinxcontrib-applehelp/index.json: \ + packages/py-sphinxcontrib-applehelp/Containerfile \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/libffi/index.json \ + out/musl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-sphinxcontrib-applehelp) + +.PHONY: py-sphinxcontrib-devhelp +py-sphinxcontrib-devhelp: out/py-sphinxcontrib-devhelp/index.json +out/py-sphinxcontrib-devhelp/index.json: \ + packages/py-sphinxcontrib-devhelp/Containerfile \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/libffi/index.json \ + out/musl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-sphinxcontrib-devhelp) + +.PHONY: py-sphinxcontrib-htmlhelp +py-sphinxcontrib-htmlhelp: out/py-sphinxcontrib-htmlhelp/index.json +out/py-sphinxcontrib-htmlhelp/index.json: \ + packages/py-sphinxcontrib-htmlhelp/Containerfile \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/libffi/index.json \ + out/musl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-sphinxcontrib-htmlhelp) + +.PHONY: py-sphinxcontrib-jquery +py-sphinxcontrib-jquery: out/py-sphinxcontrib-jquery/index.json +out/py-sphinxcontrib-jquery/index.json: \ + packages/py-sphinxcontrib-jquery/Containerfile \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/libffi/index.json \ + out/musl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-sphinxcontrib-jquery) + +.PHONY: py-sphinxcontrib-qthelp +py-sphinxcontrib-qthelp: out/py-sphinxcontrib-qthelp/index.json +out/py-sphinxcontrib-qthelp/index.json: \ + packages/py-sphinxcontrib-qthelp/Containerfile \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/libffi/index.json \ + out/musl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-sphinxcontrib-qthelp) + +.PHONY: py-sphinxcontrib-serializinghtml +py-sphinxcontrib-serializinghtml: out/py-sphinxcontrib-serializinghtml/index.json +out/py-sphinxcontrib-serializinghtml/index.json: \ + packages/py-sphinxcontrib-serializinghtml/Containerfile \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/libffi/index.json \ + out/musl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-sphinxcontrib-serializinghtml) + .PHONY: py-toml py-toml: out/py-toml/index.json out/py-toml/index.json: \ @@ -2150,6 +3263,28 @@ out/py-toml/index.json: \ out/zlib/index.json $(call build,py-toml) +.PHONY: py-trove-classifiers +py-trove-classifiers: out/py-trove-classifiers/index.json +out/py-trove-classifiers/index.json: \ + packages/py-trove-classifiers/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/cmake/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libffi/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json \ + out/py-flit/index.json \ + out/py-gpep517/index.json \ + out/py-installer/index.json \ + out/py-setuptools/index.json \ + out/py-wheel/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,py-trove-classifiers) + .PHONY: py-typing-extensions py-typing-extensions: out/py-typing-extensions/index.json out/py-typing-extensions/index.json: \ @@ -2232,6 +3367,92 @@ out/python/index.json: \ out/zlib/index.json $(call build,python) +.PHONY: qemu +qemu: out/qemu/index.json +out/qemu/index.json: \ + packages/qemu/Containerfile \ + out/alsa-lib/index.json \ + out/argp-standalone/index.json \ + out/autoconf/index.json \ + out/automake/index.json \ + out/bash/index.json \ + out/binutils/index.json \ + out/bison/index.json \ + out/busybox/index.json \ + out/curl/index.json \ + out/dtc/index.json \ + out/filesystem/index.json \ + out/flex/index.json \ + out/gcc/index.json \ + out/gettext/index.json \ + out/git/index.json \ + out/glib/index.json \ + out/gzip/index.json \ + out/libaio/index.json \ + out/libcap-ng/index.json \ + out/libffi/index.json \ + out/libseccomp/index.json \ + out/libtool/index.json \ + out/libzstd/index.json \ + out/linux-headers/index.json \ + out/lzo/index.json \ + out/m4/index.json \ + out/make/index.json \ + out/meson/index.json \ + out/musl/index.json \ + out/musl-fts/index.json \ + out/musl-obstack/index.json \ + out/ncurses/index.json \ + out/ninja/index.json \ + out/numactl/index.json \ + out/openssh/index.json \ + out/openssl/index.json \ + out/pcre2/index.json \ + out/perl/index.json \ + out/pkgconf/index.json \ + out/py-alabaster/index.json \ + out/py-babel/index.json \ + out/py-certifi/index.json \ + out/py-docutils/index.json \ + out/py-idna/index.json \ + out/py-imagesize/index.json \ + out/py-jinja2/index.json \ + out/py-markupsafe/index.json \ + out/py-packaging/index.json \ + out/py-pygments/index.json \ + out/py-requests/index.json \ + out/py-snowballstemmer/index.json \ + out/py-sphinx/index.json \ + out/py-sphinx_rtd_theme/index.json \ + out/py-sphinxcontrib-applehelp/index.json \ + out/py-sphinxcontrib-devhelp/index.json \ + out/py-sphinxcontrib-htmlhelp/index.json \ + out/py-sphinxcontrib-jquery/index.json \ + out/py-sphinxcontrib-qthelp/index.json \ + out/py-sphinxcontrib-serializinghtml/index.json \ + out/py-urllib3/index.json \ + out/python/index.json \ + out/zlib/index.json + $(call build,qemu) + +.PHONY: re2c +re2c: out/re2c/index.json +out/re2c/index.json: \ + packages/re2c/Containerfile \ + out/autoconf/index.json \ + out/automake/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libtool/index.json \ + out/m4/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/perl/index.json \ + out/python/index.json + $(call build,re2c) + .PHONY: readline readline: out/readline/index.json out/readline/index.json: \ @@ -2261,6 +3482,20 @@ out/redis/index.json: \ out/pkgconf/index.json $(call build,redis) +.PHONY: rhash +rhash: out/rhash/index.json +out/rhash/index.json: \ + packages/rhash/Containerfile \ + out/bash/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/openssl/index.json + $(call build,rhash) + .PHONY: rust rust: out/rust/index.json out/rust/index.json: \ @@ -2284,6 +3519,31 @@ out/rust/index.json: \ out/zlib/index.json $(call build,rust) +.PHONY: samurai +samurai: out/samurai/index.json +out/samurai/index.json: \ + packages/samurai/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/pkgconf/index.json + $(call build,samurai) + +.PHONY: scdoc +scdoc: out/scdoc/index.json +out/scdoc/index.json: \ + packages/scdoc/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json + $(call build,scdoc) + .PHONY: sed sed: out/sed/index.json out/sed/index.json: \ @@ -2296,6 +3556,18 @@ out/sed/index.json: \ out/musl/index.json $(call build,sed) +.PHONY: skalibs +skalibs: out/skalibs/index.json +out/skalibs/index.json: \ + packages/skalibs/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json + $(call build,skalibs) + .PHONY: sops sops: out/sops/index.json out/sops/index.json: \ @@ -2509,6 +3781,25 @@ out/tpm2-tss/index.json: \ out/util-linux/index.json $(call build,tpm2-tss) +.PHONY: unixodbc +unixodbc: out/unixodbc/index.json +out/unixodbc/index.json: \ + packages/unixodbc/Containerfile \ + out/autoconf/index.json \ + out/automake/index.json \ + out/bash/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/libtool/index.json \ + out/m4/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/perl/index.json \ + out/postgresql/index.json + $(call build,unixodbc) + .PHONY: util-linux util-linux: out/util-linux/index.json out/util-linux/index.json: \ @@ -2530,6 +3821,61 @@ out/util-linux/index.json: \ out/pkgconf/index.json $(call build,util-linux) +.PHONY: util-macros +util-macros: out/util-macros/index.json +out/util-macros/index.json: \ + packages/util-macros/Containerfile \ + out/bash/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gawk/index.json \ + out/gcc/index.json \ + out/m4/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/pkgconf/index.json + $(call build,util-macros) + +.PHONY: utmps +utmps: out/utmps/index.json +out/utmps/index.json: \ + packages/utmps/Containerfile \ + out/binutils/index.json \ + out/busybox/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/skalibs/index.json + $(call build,utmps) + +.PHONY: xmlto +xmlto: out/xmlto/index.json +out/xmlto/index.json: \ + packages/xmlto/Containerfile \ + out/autoconf/index.json \ + out/automake/index.json \ + out/bash/index.json \ + out/binutils/index.json \ + out/busybox/index.json \ + out/docbook-xsl/index.json \ + out/filesystem/index.json \ + out/gcc/index.json \ + out/gettext/index.json \ + out/glib/index.json \ + out/libtool/index.json \ + out/libxml2/index.json \ + out/libxslt/index.json \ + out/m4/index.json \ + out/make/index.json \ + out/musl/index.json \ + out/perl/index.json \ + out/perl-pod-parser/index.json \ + out/perl-yaml-syck/index.json \ + out/zlib/index.json + $(call build,xmlto) + .PHONY: xorriso xorriso: out/xorriso/index.json out/xorriso/index.json: \