From 23f5e01993465ca503f36aacc2ac564d9404c8d7 Mon Sep 17 00:00:00 2001 From: Peter Wang Date: Fri, 2 Dec 2022 18:22:05 +1100 Subject: [PATCH 1/2] New package: mimalloc-2.0.7 Closes: #35283 --- common/shlibs | 1 + srcpkgs/mimalloc-devel | 1 + .../mimalloc/patches/secure-basename.patch | 14 ++++++++ srcpkgs/mimalloc/template | 33 +++++++++++++++++++ 4 files changed, 49 insertions(+) create mode 120000 srcpkgs/mimalloc-devel create mode 100644 srcpkgs/mimalloc/patches/secure-basename.patch create mode 100644 srcpkgs/mimalloc/template diff --git a/common/shlibs b/common/shlibs index fc5bb4dda7e6..14eed6135052 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4205,3 +4205,4 @@ libtraceevent.so.1 libtraceevent-1.6.2_1 libtracefs.so.1 libtracefs-1.4.2_1 libtracecmd.so.1 libtracecmd-3.1.2_1 libkshark.so.2 libkshark-2.1.1_1 +libmimalloc.so.2 mimalloc-2.0.6_1 diff --git a/srcpkgs/mimalloc-devel b/srcpkgs/mimalloc-devel new file mode 120000 index 000000000000..9af584a917a5 --- /dev/null +++ b/srcpkgs/mimalloc-devel @@ -0,0 +1 @@ +mimalloc \ No newline at end of file diff --git a/srcpkgs/mimalloc/patches/secure-basename.patch b/srcpkgs/mimalloc/patches/secure-basename.patch new file mode 100644 index 000000000000..66b63526f6c7 --- /dev/null +++ b/srcpkgs/mimalloc/patches/secure-basename.patch @@ -0,0 +1,14 @@ +# Set basename to always be 'mimalloc' for compatibility +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2550f0d..9dff9e9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -292,7 +292,7 @@ endif() + + set(mi_basename "mimalloc") + if(MI_SECURE) +- set(mi_basename "${mi_basename}-secure") ++ set(mi_basename "${mi_basename}") + endif() + if(MI_VALGRIND) + set(mi_basename "${mi_basename}-valgrind") diff --git a/srcpkgs/mimalloc/template b/srcpkgs/mimalloc/template new file mode 100644 index 000000000000..ede55895d128 --- /dev/null +++ b/srcpkgs/mimalloc/template @@ -0,0 +1,33 @@ +# Template file for 'mimalloc' +pkgname=mimalloc +version=2.0.7 +revision=1 +build_style=cmake +configure_args="$(vopt_bool secure MI_SECURE)" +short_desc="General purpose allocator with excellent performance characteristics" +maintainer="Peter Wang " +license="MIT" +homepage="https://github.com/microsoft/mimalloc" +distfiles="${homepage}/archive/v${version}.tar.gz" +checksum=f23aac6c73594e417af50cb38f1efed88ef1dc14a490f0eff07c7f7b079810a4 + +build_options="secure" +desc_option_secure="Build mimalloc in secure mode" + +if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then + makedepends+=" libatomic-devel" +fi + +post_install() { + vlicense LICENSE +} + +mimalloc-devel_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/cmake + vmove usr/lib/mimalloc-2.0 + } +} From 9e1f0f0abf18b71c225bdb9402fd8fdc0290f2bc Mon Sep 17 00:00:00 2001 From: Peter Wang Date: Fri, 2 Dec 2022 18:22:11 +1100 Subject: [PATCH 2/2] New package: mold-1.7.1 Closes: #34820 --- .../mold/patches/test-target-machine.patch | 19 +++++++++++++ srcpkgs/mold/template | 27 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 srcpkgs/mold/patches/test-target-machine.patch create mode 100644 srcpkgs/mold/template diff --git a/srcpkgs/mold/patches/test-target-machine.patch b/srcpkgs/mold/patches/test-target-machine.patch new file mode 100644 index 000000000000..a76b7fc236b6 --- /dev/null +++ b/srcpkgs/mold/patches/test-target-machine.patch @@ -0,0 +1,19 @@ +Allow tests to run when targeting i686 on a host where uname -m returns x86_64. + +diff --git a/test/elf/common.inc b/test/elf/common.inc +index 1366db94..c67e35e5 100644 +--- a/test/elf/common.inc ++++ b/test/elf/common.inc +@@ -13,7 +13,11 @@ canonical_name() { + esac + } + +-HOST=$(canonical_name $(uname -m)) ++if [ -n "$XBPS_TARGET_MACHINE" ]; then ++ HOST=$(canonical_name "${XBPS_TARGET_MACHINE%-musl}") ++else ++ HOST=$(canonical_name $(uname -m)) ++fi + + if [ -n "$TRIPLE" ]; then + MACHINE=$(canonical_name $(echo $TRIPLE | sed 's/-.*//')) diff --git a/srcpkgs/mold/template b/srcpkgs/mold/template new file mode 100644 index 000000000000..a0b7dac4dbb7 --- /dev/null +++ b/srcpkgs/mold/template @@ -0,0 +1,27 @@ +# Template file for 'mold' +pkgname=mold +version=1.7.1 +revision=1 +build_style=cmake +configure_args="-DMOLD_USE_SYSTEM_MIMALLOC=ON + -Dmimalloc_DIR=${XBPS_CROSS_BASE}/cmake/mimalloc-2.0" +makedepends="mimalloc-devel openssl-devel zlib-devel libzstd-devel" +# It's probably not worth pulling in clang/llvm to run the few tests that +# depend on them. +checkdepends="tar zstd libdwarf gdb" +short_desc="Faster drop-in replacement for existing Unix linkers" +maintainer="Peter Wang " +license="AGPL-3.0-only" +homepage="https://github.com/rui314/mold" +distfiles="${homepage}/archive/refs/tags/v${version}.tar.gz" +checksum=fa2558664db79a1e20f09162578632fa856b3cde966fbcb23084c352b827dfa9 + +if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then + makedepends+=" libatomic-devel" + configure_args+=" -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic" +fi + +post_install() { + vlicense LICENSE + rm -v ${DESTDIR}/usr/share/doc/mold/LICENSE +}