summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfred Wingate <parona@protonmail.com>2025-01-19 22:54:33 +0200
committerSam James <sam@gentoo.org>2025-01-25 17:15:36 +0000
commit6431d77871ba087ffbf0e77010e4167269a3d576 (patch)
treeecd25625f80d657712c481978684797e9984a3b8
parentnet-libs/webkit-gtk: Keyword 2.46.5-r600 sparc, #943636 (diff)
downloadgentoo-6431d77871ba087ffbf0e77010e4167269a3d576.tar.gz
gentoo-6431d77871ba087ffbf0e77010e4167269a3d576.tar.bz2
gentoo-6431d77871ba087ffbf0e77010e4167269a3d576.zip
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@protonmail.com> Closes: https://github.com/gentoo/gentoo/pull/40217 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--app-arch/arj/Manifest1
-rw-r--r--app-arch/arj/arj-3.10.22_p28.ebuild92
2 files changed, 93 insertions, 0 deletions
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
+}