public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-arch/zstd/, app-arch/zstd/files/
Date: Fri, 21 Mar 2025 02:14:55 +0000 (UTC)	[thread overview]
Message-ID: <1742523243.dbafca7f6a782fce22b2ccc146dccda3d1675a4c.sam@gentoo> (raw)

commit:     dbafca7f6a782fce22b2ccc146dccda3d1675a4c
Author:     Z. Liu <zhixu.liu <AT> gmail <DOT> com>
AuthorDate: Thu Mar 20 03:49:09 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Mar 21 02:14:03 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dbafca7f

app-arch/zstd: apply patch to move #pragma before static

[sam: This adds a workaround for dev-python/pycparser being broken
upstream, see https://github.com/eliben/pycparser/issues/478. The workaround
has been approved upstream on the zstd side.]

Closes: https://bugs.gentoo.org/950259
Signed-off-by: Z. Liu <zhixu.liu <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/41185
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../zstd-1.5.7-move-pragma-before-static.patch     | 45 ++++++++++++++
 app-arch/zstd/zstd-1.5.7-r1.ebuild                 | 72 ++++++++++++++++++++++
 2 files changed, 117 insertions(+)

diff --git a/app-arch/zstd/files/zstd-1.5.7-move-pragma-before-static.patch b/app-arch/zstd/files/zstd-1.5.7-move-pragma-before-static.patch
new file mode 100644
index 000000000000..42b7266a2ccc
--- /dev/null
+++ b/app-arch/zstd/files/zstd-1.5.7-move-pragma-before-static.patch
@@ -0,0 +1,45 @@
+https://github.com/facebook/zstd/pull/4341
+
+From cd8ca9d92e6fb3a4c962f8f6f50c3ee467177e06 Mon Sep 17 00:00:00 2001
+From: "Z. Liu" <zhixu.liu@gmail.com>
+Date: Thu, 20 Mar 2025 03:28:37 +0000
+Subject: [PATCH] lib/zstd.h: move pragma before static
+
+otherwise will cause dev-python/zstandard build failed when compiling with
+clang as reported at https://bugs.gentoo.org/950259
+
+the root cause is pycparser, which is unfixed since reported 2.5 years
+ago, :(
+
+Signed-off-by: Z. Liu <zhixu.liu@gmail.com>
+---
+ lib/zstd.h | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+diff --git a/lib/zstd.h b/lib/zstd.h
+index 9fe542ed..85046949 100644
+--- a/lib/zstd.h
++++ b/lib/zstd.h
+@@ -1868,15 +1868,14 @@ ZSTDLIB_STATIC_API const ZSTD_DDict* ZSTD_initStaticDDict(
+ typedef void* (*ZSTD_allocFunction) (void* opaque, size_t size);
+ typedef void  (*ZSTD_freeFunction) (void* opaque, void* address);
+ typedef struct { ZSTD_allocFunction customAlloc; ZSTD_freeFunction customFree; void* opaque; } ZSTD_customMem;
+-static
+-#ifdef __GNUC__
+-__attribute__((__unused__))
+-#endif
+-
+ #if defined(__clang__) && __clang_major__ >= 5
+ #pragma clang diagnostic push
+ #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
+ #endif
++static
++#ifdef __GNUC__
++__attribute__((__unused__))
++#endif
+ ZSTD_customMem const ZSTD_defaultCMem = { NULL, NULL, NULL };  /**< this constant defers to stdlib's functions */
+ #if defined(__clang__) && __clang_major__ >= 5
+ #pragma clang diagnostic pop
+-- 
+2.45.2
+

diff --git a/app-arch/zstd/zstd-1.5.7-r1.ebuild b/app-arch/zstd/zstd-1.5.7-r1.ebuild
new file mode 100644
index 000000000000..a42999c07ecc
--- /dev/null
+++ b/app-arch/zstd/zstd-1.5.7-r1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+DESCRIPTION="zstd fast compression library"
+HOMEPAGE="https://facebook.github.io/zstd/"
+SRC_URI="https://github.com/facebook/zstd/releases/download/v${PV}/${P}.tar.gz"
+S="${WORKDIR}"/${P}/build/meson
+
+LICENSE="|| ( BSD GPL-2 )"
+SLOT="0/1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+lzma lz4 static-libs test zlib"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	lzma? ( app-arch/xz-utils )
+	lz4? ( app-arch/lz4:= )
+	zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}"
+
+MESON_PATCHES=(
+	# Workaround until Valgrind bugfix lands
+	"${FILESDIR}"/${PN}-1.5.4-no-find-valgrind.patch
+)
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.5.7-move-pragma-before-static.patch
+)
+
+src_prepare() {
+	cd "${WORKDIR}"/${P} || die
+	default
+
+	cd "${S}" || die
+	eapply "${MESON_PATCHES[@]}"
+}
+
+multilib_src_configure() {
+	local native_file="${T}"/meson.${CHOST}.${ABI}.ini.local
+
+	# This replaces the no-find-valgrind patch once bugfix lands in a meson
+	# release + we can BDEPEND on it (https://github.com/mesonbuild/meson/pull/11372)
+	cat >> ${native_file} <<-EOF || die
+	[binaries]
+	valgrind='valgrind-falseified'
+	EOF
+
+	local emesonargs=(
+		-Ddefault_library=$(multilib_native_usex static-libs both shared)
+
+		$(meson_native_true bin_programs)
+		$(meson_native_true bin_contrib)
+		$(meson_use test bin_tests)
+
+		$(meson_native_use_feature zlib)
+		$(meson_native_use_feature lzma)
+		$(meson_native_use_feature lz4)
+
+		--native-file "${native_file}"
+	)
+
+	meson_src_configure
+}
+
+multilib_src_test() {
+	meson_src_test --timeout-multiplier=2
+}


             reply	other threads:[~2025-03-21  2:15 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-21  2:14 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-02-15  1:39 [gentoo-commits] repo/gentoo:master commit in: app-arch/zstd/, app-arch/zstd/files/ Sam James
2023-02-10  5:48 Sam James
2020-10-06 13:59 Sam James
2020-03-20 19:03 Lars Wendler
2020-03-20 18:33 Matt Turner
2018-03-27  8:51 Manuel RĂ¼ger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1742523243.dbafca7f6a782fce22b2ccc146dccda3d1675a4c.sam@gentoo \
    --to=sam@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox