commit:     6431d77871ba087ffbf0e77010e4167269a3d576
Author:     Alfred Wingate <parona <AT> protonmail <DOT> com>
AuthorDate: Sun Jan 19 20:54:33 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jan 25 17:15:36 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6431d778

app-arch/arj: add 3.10.22_p28

Bump debian patches indirectly fixing build order issues. Debian patch removing
timestamps means that the timestamp target cannot race before the
prepare target anymore.

Clang build is fixed by enabling -fkeep-static-consts, build assumes it
can embed a value into the binary and find it later with postproc.

Bug: https://bugs.gentoo.org/509700
Bug: https://bugs.gentoo.org/800848
Signed-off-by: Alfred Wingate <parona <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/40217
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-arch/arj/Manifest               |  1 +
 app-arch/arj/arj-3.10.22_p28.ebuild | 92 +++++++++++++++++++++++++++++++++++++
 2 files changed, 93 insertions(+)

diff --git a/app-arch/arj/Manifest b/app-arch/arj/Manifest
index a6bc1e5fef1a..1a71bb421aaf 100644
--- a/app-arch/arj/Manifest
+++ b/app-arch/arj/Manifest
@@ -1,2 +1,3 @@
 DIST arj_3.10.22-15.debian.tar.xz 16756 BLAKE2B 
f9bf45f103cf3f76867006bdbd61f6c5e04d75d9543e99e01304b285b8858034c60f38ea76bc8cdc502b44a8515fb7a04fd9d2f3d07f9ea19e1c5d3a4d448eff
 SHA512 
66e1bc3188afc24573fe98374f9b0cf939d0d3c7a1b356e6367ef544fb0e64721fa686fd1e791f58508576f0f50994878347bcb054f48ebe240cc9ab97e00688
+DIST arj_3.10.22-28.debian.tar.xz 24380 BLAKE2B 
c188e9f7f37067fdba70ffd6a8066c49c616d9bfc5d1d6fbe53fe86655cb3106fff2b459d34d676c6261071e976be9f6fd87f608937156bd94de207db3fc1910
 SHA512 
d92be2fe407ced5cd21d7144c8b97d19a5bdfa2391579228d817111a7eef455a847958ae49444aa275d87f043af3133f9a7330309bbdd5df1cf923b0f439d271
 DIST arj_3.10.22.orig.tar.gz 431467 BLAKE2B 
e40409b9f88a1a7e56de4200b464c3dc420659fa3991bf904ca86bbdb428fc8d17f095b9eabf3170712458ef2136e96545810201cc6755c15e45d4ae9a5e3a03
 SHA512 
4730dfdbab4f8095396c337578ed69bdaae52955ad468db50b52af8ad2846ecd6cfc05eb3ac0d03838c1c32ea60126f14a22b93e8181c06b9546456f3937ff76

diff --git a/app-arch/arj/arj-3.10.22_p28.ebuild 
b/app-arch/arj/arj-3.10.22_p28.ebuild
new file mode 100644
index 000000000000..8181c162814c
--- /dev/null
+++ b/app-arch/arj/arj-3.10.22_p28.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+MY_PV="${PV%%_p*}"
+PATCH_LEVEL="${PV##*_p}"
+
+DESCRIPTION="Utility for opening arj archives"
+HOMEPAGE="https://arj.sourceforge.net/";
+SRC_URI="
+       mirror://debian/pool/main/a/arj/arj_${MY_PV}.orig.tar.gz
+       
mirror://debian/pool/main/a/arj/arj_${MY_PV}-${PATCH_LEVEL}.debian.tar.xz"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux 
~ppc-macos"
+
+PATCHES=(
+       # get order of patches from series file. otherwise the order is wrong :/
+       "${WORKDIR}"/debian/patches/001_arches_align.patch
+       "${WORKDIR}"/debian/patches/002_no_remove_static_const.patch
+       "${WORKDIR}"/debian/patches/003_64_bit_clean.patch
+       "${WORKDIR}"/debian/patches/004_parallel_build.patch
+       "${WORKDIR}"/debian/patches/005_use_system_strnlen.patch
+       "${WORKDIR}"/debian/patches/006_use_safe_strcpy.patch
+       "${WORKDIR}"/debian/patches/hurd_no_fcntl_getlk.patch
+       "${WORKDIR}"/debian/patches/security_format.patch
+       "${WORKDIR}"/debian/patches/doc_refer_robert_k_jung.patch
+       "${WORKDIR}"/debian/patches/gnu_build_fix.patch
+       "${WORKDIR}"/debian/patches/gnu_build_flags.patch
+       "${WORKDIR}"/debian/patches/gnu_build_strip.patch
+       "${WORKDIR}"/debian/patches/gnu_build_pie.patch
+       "${WORKDIR}"/debian/patches/self_integrity_64bit.patch
+       "${WORKDIR}"/debian/patches/security-afl.patch
+       "${WORKDIR}"/debian/patches/security-traversal-dir.patch
+       "${WORKDIR}"/debian/patches/security-traversal-symlink.patch
+       "${WORKDIR}"/debian/patches/out-of-bounds-read.patch
+       "${WORKDIR}"/debian/patches/remove_build_date.patch
+       "${WORKDIR}"/debian/patches/reproducible_help_archive.patch
+       "${WORKDIR}"/debian/patches/gnu_build_cross.patch
+       "${WORKDIR}"/debian/patches/fix-time_t-usage.patch
+       "${WORKDIR}"/debian/patches/gnu_build_fix_autoreconf.patch
+       "${WORKDIR}"/debian/patches/fix-implicit-func.patch
+       "${FILESDIR}"/arj-3.10.22-implicit-declarations.patch
+       "${FILESDIR}"/arj-3.10.22-darwin.patch
+)
+
+DOCS=( doc/compile.txt doc/debug.txt doc/glossary.txt doc/rev_hist.txt 
doc/xlation.txt )
+
+src_prepare() {
+       default
+
+       cd gnu || die 'failed to change to the "gnu" directory'
+       echo -n "" > stripgcc.lnk || die "failed to disable stripgcc.lnk"
+
+       eautoreconf
+}
+
+src_configure() {
+       # Needed for keeping intergrity_identifier around so that postproc can 
find it later
+       # GCC defaults to enabling it, Clang doesn't.
+       # bug #509700
+       append-cflags -fkeep-static-consts
+
+       # Debian patches assume this is set. Can be updated with "date +%s"
+       export SOURCE_DATE_EPOCH="1737318540"
+
+       tc-export CC # Uses autoconf but not automake.
+       export CC_FOR_BUILD="$(tc-getBUILD_CC)"
+
+       if tc-is-cross-compiler; then
+               export CFLAGS_FOR_BUILD="${BUILD_CFLAGS}"
+       else
+               export CFLAGS_FOR_BUILD="${CFLAGS}"
+       fi
+
+       cd gnu || die 'failed to change to the "gnu" directory'
+       econf
+}
+
+src_test() {
+       # debian includes a test script. why not use it?
+       local -x AUTOPKGTEST_TMP="${T}/debian-test"
+
+       local -x PATH="${S}/linux-gnu/en/rs/arj/:${PATH}"
+
+       "${WORKDIR}"/debian/tests/test-command || die
+}

Reply via email to