summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Kinard <kumba@gentoo.org>2024-08-04 05:34:55 -0400
committerJoshua Kinard <kumba@gentoo.org>2024-08-04 05:36:57 -0400
commit5485da75f357ff0e9833a7c69c379e0a36b506f0 (patch)
tree10c47e8945e43634649cd71d2d216b18fe25b75d /app-arch/lrzip-next
parentdev-util/kcov: add 43 and adoption (diff)
downloadgentoo-5485da75f357ff0e9833a7c69c379e0a36b506f0.tar.gz
gentoo-5485da75f357ff0e9833a7c69c379e0a36b506f0.tar.bz2
gentoo-5485da75f357ff0e9833a7c69c379e0a36b506f0.zip
app-arch/lrzip-next: Update to 0.13.1
Update to v0.13.1, which includes lzma SDK 24.x from 7-Zip upstream. Partially addresses some issues found on musl, however, it will remain masked on musl for the time being until a sigsegv bug in libzpaq is fixed. Bug: https://bugs.gentoo.org/925547 Bug: https://bugs.gentoo.org/925618 Signed-off-by: Joshua Kinard <kumba@gentoo.org>
Diffstat (limited to 'app-arch/lrzip-next')
-rw-r--r--app-arch/lrzip-next/Manifest2
-rw-r--r--app-arch/lrzip-next/files/lrzip-next-0.13.1-fix-lzma_asm_makefile-echo.patch20
-rw-r--r--app-arch/lrzip-next/files/lrzip-next-0.13.1-use-acx_pthread-configure_ac.patch33
-rw-r--r--app-arch/lrzip-next/lrzip-next-0.13.1.ebuild (renamed from app-arch/lrzip-next/lrzip-next-0.12.6-r1.ebuild)30
-rw-r--r--app-arch/lrzip-next/lrzip-next-9999.ebuild77
-rw-r--r--app-arch/lrzip-next/metadata.xml3
6 files changed, 153 insertions, 12 deletions
diff --git a/app-arch/lrzip-next/Manifest b/app-arch/lrzip-next/Manifest
index 256514f707f8..d2676b28c624 100644
--- a/app-arch/lrzip-next/Manifest
+++ b/app-arch/lrzip-next/Manifest
@@ -1 +1 @@
-DIST lrzip-next-0.12.6.tar.gz 600081 BLAKE2B 952b3aefcf424b4626f14caaefc7b160a271330903227207cec249306750dfd24097abfdae159d82dc86e08711f51789ca72bcc66b6d7f4bdd9b892133759dae SHA512 768edaa4059e7a5561a738779cca5e5c46525c0a3f5888fc4e730fe6664f390fa8409060c86076b4b4cc327e317c37d59d557a55db67d97d39da6369788763c8
+DIST lrzip-next-0.13.1.tar.gz 604938 BLAKE2B f31becc3fb9e332a9682d41d2c6408bf08ee9173ddf7794259d1a5c7ea13b2a6d41f66c6ed9c88f840a48845f99d47526dd64667a788aefef5cea630bce4a094 SHA512 6c62d555c6596dba1184f9240ea31351ff0f091335607d44cb6d5d84589a42e234faccc6c835529b85917ebfcd712b676f1cdd66316be1f3d0c204c196043c65
diff --git a/app-arch/lrzip-next/files/lrzip-next-0.13.1-fix-lzma_asm_makefile-echo.patch b/app-arch/lrzip-next/files/lrzip-next-0.13.1-fix-lzma_asm_makefile-echo.patch
new file mode 100644
index 000000000000..5ef0ea141bf8
--- /dev/null
+++ b/app-arch/lrzip-next/files/lrzip-next-0.13.1-fix-lzma_asm_makefile-echo.patch
@@ -0,0 +1,20 @@
+diff -Naurp lrzip-next-0.13.1.orig/src/lzma/ASM/Makefile.am lrzip-next-0.13.1/src/lzma/ASM/Makefile.am
+--- lrzip-next-0.13.1.orig/src/lzma/ASM/Makefile.am 2024-07-08 17:55:41.000000000 -0400
++++ lrzip-next-0.13.1/src/lzma/ASM/Makefile.am 2024-07-15 01:54:16.727136060 -0400
+@@ -25,7 +25,7 @@ LzmaDecOptFILE := \
+
+ $(ASM_De).lo: $(SRC)/$(ASM_De).asm
+ $(ASM_PROG) $(ASM_OPT) -o $(ASM_De).o $(ABSSRC)/$(ASM_De).asm
+- @echo -e "$(LzmaDecOptFILE)" > $(ASM_De).lo
++ @printf "$(LzmaDecOptFILE)" > $(ASM_De).lo
+ @$(MKDIR_P) .libs
+ @cp $(ASM_De).o .libs
+
+@@ -38,6 +38,6 @@ LzFindOptFILE := \
+
+ $(ASM_F).lo: $(SRC)/$(ASM_F).asm
+ $(ASM_PROG) $(ASM_OPT) -o $(ASM_F).o $(ABSSRC)/$(ASM_F).asm
+- @echo -e "$(LzFindOptFILE)" > $(ASM_F).lo
++ @printf "$(LzFindOptFILE)" > $(ASM_F).lo
+ @$(MKDIR_P) .libs
+ @cp $(ASM_F).o .libs
diff --git a/app-arch/lrzip-next/files/lrzip-next-0.13.1-use-acx_pthread-configure_ac.patch b/app-arch/lrzip-next/files/lrzip-next-0.13.1-use-acx_pthread-configure_ac.patch
new file mode 100644
index 000000000000..ae0af555ac91
--- /dev/null
+++ b/app-arch/lrzip-next/files/lrzip-next-0.13.1-use-acx_pthread-configure_ac.patch
@@ -0,0 +1,33 @@
+diff -Naurp lrzip-next-0.12.6.orig/configure.ac lrzip-next-0.12.6/configure.ac
+--- lrzip-next-0.12.6.orig/configure.ac 2024-01-27 08:42:15.000000000 -0500
++++ lrzip-next-0.12.6/configure.ac 2024-03-11 16:27:53.972571412 -0400
+@@ -168,16 +168,19 @@ AC_CHECK_LIB(gcrypt, gcry_md_open, ,
+ AC_CHECK_FUNCS(mmap strerror)
+ AC_CHECK_FUNCS(getopt_long)
+
+-AX_PTHREAD
+-LIBS="$PTHREAD_LIBS $LIBS"
+-AS_IF([test x"$debug" = xyes],
+- CFLAGS="-g -Og -DDEBUG"
+- CXXFLAGS="-g -Og -DDEBUG",
+- CFLAGS="$CFLAGS"
+- CXXFLAGS="$CXXFLAGS")
+-
+-CFLAGS+=" $PTHREAD_CFLAGS"
+-CXXFLAGS+=" $PTHREAD_CFLAGS"
++ACX_PTHREAD([
++ LIBS="$LIBS $PTHREAD_LIBS"
++ CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
++ CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"
++ CC="$PTHREAD_CC"
++ CXX="$PTHREAD_CXX"
++ AC_SUBST([LIBS])
++ AC_SUBST([CFLAGS])
++ AC_SUBST([CXXFLAGS])
++ AC_SUBST([CC])
++ AC_SUBST([CXX])
++ ],
++ [AC_MSG_ERROR([POSIX threads support is required])])
+
+ ## test for ARM or other non x86 processor
+ ## must use -DNOJIT for compiling zpaq
diff --git a/app-arch/lrzip-next/lrzip-next-0.12.6-r1.ebuild b/app-arch/lrzip-next/lrzip-next-0.13.1.ebuild
index e218f7e3e4fe..de6ccb5d0dce 100644
--- a/app-arch/lrzip-next/lrzip-next-0.12.6-r1.ebuild
+++ b/app-arch/lrzip-next/lrzip-next-0.13.1.ebuild
@@ -7,12 +7,19 @@ inherit autotools
DESCRIPTION="Fork of Con Kolivas' lrzip program for compressing large files"
HOMEPAGE="https://github.com/pete4abw/lrzip-next"
-SRC_URI="https://github.com/pete4abw/lrzip-next/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+GH_BASE="https://github.com/pete4abw/lrzip-next"
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="${GH_BASE}.git"
+else
+ SRC_URI="${GH_BASE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64"
-IUSE="asm static-libs year2038"
+IUSE="asm +largefile static-libs year2038"
RDEPEND="app-arch/bzip2
app-arch/bzip3
@@ -28,6 +35,9 @@ BDEPEND="amd64? ( dev-lang/nasm )"
src_prepare() {
default
+ eapply "${FILESDIR}/${PN}-0.13.1-fix-lzma_asm_makefile-echo.patch"
+ eapply "${FILESDIR}/${PN}-0.13.1-use-acx_pthread-configure_ac.patch"
+
# configure.ac uses a small helper script, ./util/gitdesc.sh, to
# see if it's a tarball or git repo copy. If tarball, it extracts
# the version information from a local VERSION file and puts it into
@@ -45,15 +55,15 @@ src_prepare() {
src_configure() {
local myconf=(
- $(use_enable static-libs static) \
$(use_enable amd64 asm)
+ $(use_enable largefile) \
+ $(use_enable static-libs static)
)
- # This configure switch disappears on a musl system for some
- # reason. However, this package is currently broken on musl,
- # but we'll leave this in place while we see if upstream has
- # any advice.
- if ! use elibc_musl; then
+ # This configure switch only appears on glibc-based userlands.
+ # It enables 64-bit time_t to support timestamps greater than
+ # the year 2038 (D_TIME_BITS=64).
+ if use elibc_glibc; then
myconf+=( $(use_enable year2038) )
fi
@@ -63,5 +73,5 @@ src_configure() {
src_install() {
default
- find "${ED}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -type f -delete || die
}
diff --git a/app-arch/lrzip-next/lrzip-next-9999.ebuild b/app-arch/lrzip-next/lrzip-next-9999.ebuild
new file mode 100644
index 000000000000..0de353974a2c
--- /dev/null
+++ b/app-arch/lrzip-next/lrzip-next-9999.ebuild
@@ -0,0 +1,77 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+inherit autotools
+
+DESCRIPTION="Fork of Con Kolivas' lrzip program for compressing large files"
+HOMEPAGE="https://github.com/pete4abw/lrzip-next"
+
+GH_BASE="https://github.com/pete4abw/lrzip-next"
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="${GH_BASE}.git"
+else
+ SRC_URI="${GH_BASE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="asm +largefile static-libs year2038"
+
+RDEPEND="app-arch/bzip2
+ app-arch/bzip3
+ app-arch/lz4
+ app-arch/zstd
+ dev-libs/libgcrypt
+ dev-libs/libgpg-error
+ dev-libs/lzo
+ sys-libs/zlib"
+DEPEND="${RDEPEND}"
+BDEPEND="amd64? ( dev-lang/nasm )"
+
+src_prepare() {
+ default
+
+ eapply "${FILESDIR}/${PN}-0.13.1-fix-lzma_asm_makefile-echo.patch"
+ eapply "${FILESDIR}/${PN}-0.13.1-use-acx_pthread-configure_ac.patch"
+
+ # configure.ac uses a small helper script, ./util/gitdesc.sh, to
+ # see if it's a tarball or git repo copy. If tarball, it extracts
+ # the version information from a local VERSION file and puts it into
+ # configure.ac at the top for major/minor/micro. To avoid the need
+ # for a BDEPEND on dev-vcs/git, we can do this directly.
+ local major=$(awk '/Major: / {printf "%s",$2; exit}' VERSION)
+ local minor=$(awk '/Minor: / {printf "%s",$2; exit}' VERSION)
+ local micro=$(awk '/Micro: / {printf "%s",$2; exit}' VERSION)
+ sed -i -e "s:\[m4_esyscmd_s(\[./util/gitdesc.sh major\])\]:${major}:" configure.ac
+ sed -i -e "s:\[m4_esyscmd_s(\[./util/gitdesc.sh minor\])\]:${minor}:" configure.ac
+ sed -i -e "s:\[m4_esyscmd_s(\[./util/gitdesc.sh micro\])\]:${micro}:" configure.ac
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ $(use_enable amd64 asm)
+ $(use_enable largefile) \
+ $(use_enable static-libs static)
+ )
+
+ # This configure switch only appears for glibc-based userlands.
+ # It enables 64-bit time_t to support timestamps greater than
+ # the year 2038 (D_TIME_BITS=64).
+ if use elibc_glibc; then
+ myconf+=( $(use_enable year2038) )
+ fi
+
+ econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/app-arch/lrzip-next/metadata.xml b/app-arch/lrzip-next/metadata.xml
index d0dea613ffd3..2abeb3d4dcf5 100644
--- a/app-arch/lrzip-next/metadata.xml
+++ b/app-arch/lrzip-next/metadata.xml
@@ -17,6 +17,7 @@
<remote-id type="github">pete4abw/lrzip-next</remote-id>
</upstream>
<use>
- <flag name="year2038">Enables support for timestamps after the year 2038</flag>
+ <flag name="largefile">Enables support for large files</flag>
+ <flag name="year2038">Enables support for 64-bit 'time_t' (sets D_TIME_BITS=64; glibc only)</flag>
</use>
</pkgmetadata>