diff --git a/app-arch/arj/Manifest b/app-arch/arj/Manifest index a6bc1e5fef1a3..1a71bb421aaf8 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 0000000000000..8181c162814c2 --- /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 +}