commit:     ca9eac3f3e8f3e2776005b195cdd0aca44cb114d
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 15 14:03:54 2020 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon Jun 15 14:04:04 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ca9eac3f

app-arch/unrar: Bump to version 5.9.3

Package-Manager: Portage-2.3.101, Repoman-2.3.22
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 app-arch/unrar/Manifest                      |  1 +
 app-arch/unrar/files/unrar-5.9.3-build.patch | 35 ++++++++++++++
 app-arch/unrar/unrar-5.9.3.ebuild            | 70 ++++++++++++++++++++++++++++
 3 files changed, 106 insertions(+)

diff --git a/app-arch/unrar/Manifest b/app-arch/unrar/Manifest
index 40ee45bdc35..072a840adf0 100644
--- a/app-arch/unrar/Manifest
+++ b/app-arch/unrar/Manifest
@@ -1 +1,2 @@
 DIST unrar-5.9.2.tar.gz 229900 BLAKE2B 
a941ef6566a5b58990d88e6e99cc23c169fd7d99fe2c8ef1313db860f9f220510ea002990740c4b3a3f980c037f9b3be4cdad84624a9a6f5094b1074721800d4
 SHA512 
e48dd3327d57522aa676e8fd6e29b7133ee9921eb1525d90ddedc61716ecfeefb51a7eb3a667f4f81f21a5ce8654727617d33463a5b6a40a7bc32252fa9f25df
+DIST unrar-5.9.3.tar.gz 229917 BLAKE2B 
6ab2141970535753197d3ed74521f80d3b20ecc2a0f620932c31bd1b5ce4c70bc3e2671fed0a9a77ceb4f42f6423d315f3eac0a00dac334ee2c3dd60a569c78a
 SHA512 
38b2e2e527a4d2df627072acb4c205f46c96771969db4558be04adf9166502b3b9c3d1cc60fe290b6c4ce56db68bb5e0b0ac3bf0698d9820d4840d56cc5f3e2f

diff --git a/app-arch/unrar/files/unrar-5.9.3-build.patch 
b/app-arch/unrar/files/unrar-5.9.3-build.patch
new file mode 100644
index 00000000000..d9cbcfd8683
--- /dev/null
+++ b/app-arch/unrar/files/unrar-5.9.3-build.patch
@@ -0,0 +1,35 @@
+Makefile: Fix parallel build issue
+
+If clean runs in parallel with $(OBJECTS), it is possible to build some
+objects first, then the clean target fires and deletes some, and then we
+try to link and fail.
+
+Gentoo-Bug: https://bugs.gentoo.org/528218
+
+--- unrar/makefile
++++ unrar/makefile
+@@ -142,21 +142,18 @@
+       @rm -f $(OBJECTS) $(UNRAR_OBJ) $(LIB_OBJ)
+       @rm -f unrar libunrar.*
+ 
+-unrar:        clean $(OBJECTS) $(UNRAR_OBJ)
+-      @rm -f unrar
++unrar:        $(OBJECTS) $(UNRAR_OBJ)
+       $(LINK) -o unrar $(LDFLAGS) $(OBJECTS) $(UNRAR_OBJ) $(LIBS)     
+       $(STRIP) unrar
+ 
+ sfx:  WHAT=SFX_MODULE
+-sfx:  clean $(OBJECTS)
+-      @rm -f default.sfx
++sfx:  $(OBJECTS)
+       $(LINK) -o default.sfx $(LDFLAGS) $(OBJECTS)
+       $(STRIP) default.sfx
+ 
+ lib:  WHAT=RARDLL
+ lib:  CXXFLAGS+=$(LIBFLAGS)
+-lib:  clean $(OBJECTS) $(LIB_OBJ)
+-      @rm -f libunrar.*
++lib:  $(OBJECTS) $(LIB_OBJ)
+       $(LINK) -shared -o libunrar.so $(LDFLAGS) $(OBJECTS) $(LIB_OBJ)
+       $(AR) rcs libunrar.a $(OBJECTS) $(LIB_OBJ)
+ 

diff --git a/app-arch/unrar/unrar-5.9.3.ebuild 
b/app-arch/unrar/unrar-5.9.3.ebuild
new file mode 100644
index 00000000000..7a4b90b3f3b
--- /dev/null
+++ b/app-arch/unrar/unrar-5.9.3.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic multilib toolchain-funcs
+
+MY_PN="${PN}src"
+
+DESCRIPTION="Uncompress rar files"
+HOMEPAGE="https://www.rarlab.com/rar_add.htm";
+SRC_URI="https://www.rarlab.com/rar/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="unRAR"
+# subslot = soname version
+SLOT="0/5"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos 
~sparc-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND="!<=app-arch/unrar-gpl-0.0.1_p20080417"
+
+S="${WORKDIR}/unrar"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-5.9.3-build.patch
+       "${FILESDIR}"/${PN}-5.5.5-honor-flags.patch
+)
+
+src_prepare() {
+       default
+
+       local sed_args=( -e "/libunrar/s:.so:$(get_libname ${PV%.*.*}):" )
+       if [[ ${CHOST} == *-darwin* ]] ; then
+               sed_args+=( -e "s:-shared:-dynamiclib -install_name 
${EPREFIX}/usr/$(get_libdir)/libunrar$(get_libname ${PV%.*.*}):" )
+       else
+               sed_args+=( -e "s:-shared:& -Wl,-soname 
-Wl,libunrar$(get_libname ${PV%.*.*}):" )
+       fi
+       sed -i "${sed_args[@]}" makefile || die
+}
+
+src_configure() {
+       mkdir -p build-{lib,bin}
+       printf 'VPATH = ..\ninclude ../makefile' > build-lib/Makefile || die
+       cp build-{lib,bin}/Makefile || die
+}
+
+src_compile() {
+       unrar_make() {
+               emake AR="$(tc-getAR)" CXX="$(tc-getCXX)" 
CXXFLAGS="${CXXFLAGS}" STRIP=true "$@"
+       }
+
+       unrar_make CXXFLAGS+=" -fPIC" -C build-lib lib
+       ln -s libunrar$(get_libname ${PV%.*.*}) 
build-lib/libunrar$(get_libname) || die
+       ln -s libunrar$(get_libname ${PV%.*.*}) build-lib/libunrar$(get_libname 
${PV}) || die
+
+       unrar_make -C build-bin
+}
+
+src_install() {
+       dobin build-bin/unrar
+       dodoc readme.txt
+
+       dolib.so build-lib/libunrar*
+
+       insinto /usr/include/libunrar${PV%.*.*}
+       doins *.hpp
+       dosym libunrar${PV%.*.*} /usr/include/libunrar
+
+       find "${ED}" -type f -name "*.a" -delete || die
+}

Reply via email to