From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-956879-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 0F15A139694
	for <garchives@archives.gentoo.org>; Wed, 21 Jun 2017 11:44:41 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 4824FE0EA0;
	Wed, 21 Jun 2017 11:44:40 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 15133E0EA0
	for <gentoo-commits@lists.gentoo.org>; Wed, 21 Jun 2017 11:44:40 +0000 (UTC)
Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84])
	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id 5594D34187D
	for <gentoo-commits@lists.gentoo.org>; Wed, 21 Jun 2017 11:44:37 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id BF2BB746C
	for <gentoo-commits@lists.gentoo.org>; Wed, 21 Jun 2017 11:44:35 +0000 (UTC)
From: "Thomas Deutschmann" <whissi@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Thomas Deutschmann" <whissi@gentoo.org>
Message-ID: <1498045470.dabe9845e2f4b38d214b8cc1e27f0a43680eb39c.whissi@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: app-arch/unrar/, app-arch/unrar/files/
X-VCS-Repository: repo/gentoo
X-VCS-Files: app-arch/unrar/Manifest app-arch/unrar/files/unrar-5.5.5-build.patch app-arch/unrar/files/unrar-5.5.5-honor-flags.patch app-arch/unrar/metadata.xml app-arch/unrar/unrar-5.5.5.ebuild
X-VCS-Directories: app-arch/unrar/files/ app-arch/unrar/
X-VCS-Committer: whissi
X-VCS-Committer-Name: Thomas Deutschmann
X-VCS-Revision: dabe9845e2f4b38d214b8cc1e27f0a43680eb39c
X-VCS-Branch: master
Date: Wed, 21 Jun 2017 11:44:35 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Archives-Salt: a22538c6-c60b-4b7a-b0b0-5e744fe4ec6e
X-Archives-Hash: 9d29e1d07d8cc3293553832ec050b4c6

commit:     dabe9845e2f4b38d214b8cc1e27f0a43680eb39c
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 21 11:44:15 2017 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Wed Jun 21 11:44:30 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=dabe9845

app-arch/unrar: Bump to v5.5.5 (bug #622342)

Contains upstream fix for security related VMSF_DELTA filter
signedness error.

Package-Manager: Portage-2.3.5, Repoman-2.3.2

 app-arch/unrar/Manifest                            |  1 +
 app-arch/unrar/files/unrar-5.5.5-build.patch       | 44 ++++++++++++++
 app-arch/unrar/files/unrar-5.5.5-honor-flags.patch | 46 +++++++++++++++
 app-arch/unrar/metadata.xml                        |  3 +
 app-arch/unrar/unrar-5.5.5.ebuild                  | 68 ++++++++++++++++++++++
 5 files changed, 162 insertions(+)

diff --git a/app-arch/unrar/Manifest b/app-arch/unrar/Manifest
index d5c2a801d56..fb13df3fb15 100644
--- a/app-arch/unrar/Manifest
+++ b/app-arch/unrar/Manifest
@@ -1 +1,2 @@
+DIST unrar-5.5.5.tar.gz 220377 SHA256 a4553839cb2f025d0d9c5633816a83a723e3938209f17620c8c15da06ed061ef SHA512 b0979641737e3ef18f6708cc19e335c312ac5c6e2a13206d5fed9a5564ac99042c45a842da95163e53c6415131a39a91e901aeb186016da2e3781164679a07ff WHIRLPOOL e22399e866fabeb6f0c1617ca6b8852cf1bd406c0e95e5480692fe33bed9a130dd678f93dde6401015928437b99949865a80b21774788fdb1c7a12e3175560f4
 DIST unrarsrc-5.4.5.tar.gz 226320 SHA256 e470c584332422893fb52e049f2cbd99e24dc6c6da971008b4e2ae4284f8796c SHA512 ba2abf11638b5ee026cb9e0c3576c94376a01ab3c5411b9bd0e8116d64879c81e76df16f98d850f0f0f5387dda046f38be64ddfb4fe57431cc4d97066d6e3c2f WHIRLPOOL c8e035ec183f41d8faf8345b49d2a4d20e21f9c6e27f14d7794389942df4954cd66ab4a5be2fdff6d369b514ae99d5d015f35a36143d686563b2a8efdfc77dce

diff --git a/app-arch/unrar/files/unrar-5.5.5-build.patch b/app-arch/unrar/files/unrar-5.5.5-build.patch
new file mode 100644
index 00000000000..5d69a25d65a
--- /dev/null
+++ b/app-arch/unrar/files/unrar-5.5.5-build.patch
@@ -0,0 +1,44 @@
+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
+
+--- a/makefile
++++ b/makefile
+@@ -139,23 +139,23 @@ uninstall:	uninstall-unrar
+ 
+ clean:
+ 	@rm -f *.o *.bak *~
+-
+-unrar:	clean $(OBJECTS) $(UNRAR_OBJ)
+ 	@rm -f unrar
++	@rm -f default.sfx
++	@rm -f libunrar.so
++	@rm -f libunrar.a
++
++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.so
+-	@rm -f libunrar.a
++lib:	$(OBJECTS) $(LIB_OBJ)
+ 	$(LINK) -shared -o libunrar.so $(LDFLAGS) $(OBJECTS) $(LIB_OBJ)
+ 	$(AR) rcs libunrar.a $(OBJECTS) $(LIB_OBJ)
+ 
+-- 
+2.13.1
+

diff --git a/app-arch/unrar/files/unrar-5.5.5-honor-flags.patch b/app-arch/unrar/files/unrar-5.5.5-honor-flags.patch
new file mode 100644
index 00000000000..0237e3d30f0
--- /dev/null
+++ b/app-arch/unrar/files/unrar-5.5.5-honor-flags.patch
@@ -0,0 +1,46 @@
+Makefile: Honor {LD,CXX}FLAGS, add LIBFLAGS
+
+ - append -pthread to LDFLAGS instead of replacing them
+ - use CXXFLAGS when linking
+ - append LIBFLAGS to the individual targets instead of the final link
+
+Gentoo-Bug: https://bugs.gentoo.org/461806
+
+--- a/makefile
++++ b/makefile
+@@ -8,7 +8,7 @@ LIBFLAGS=-fPIC
+ DEFINES=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DRAR_SMP
+ STRIP=strip
+ AR=ar
+-LDFLAGS=-pthread
++LDFLAGS+=-pthread
+ DESTDIR=/usr
+ 
+ # Linux using LCC
+@@ -145,18 +145,19 @@ clean:
+ 	@rm -f libunrar.a
+ 
+ unrar:	$(OBJECTS) $(UNRAR_OBJ)
+-	$(LINK) -o unrar $(LDFLAGS) $(OBJECTS) $(UNRAR_OBJ) $(LIBS)	
++	$(LINK) -o unrar $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) $(UNRAR_OBJ) $(LIBS)
+ 	$(STRIP) unrar
+ 
+ sfx:	WHAT=SFX_MODULE
+ sfx:	$(OBJECTS)
+-	$(LINK) -o default.sfx $(LDFLAGS) $(OBJECTS)
++	$(LINK) -o default.sfx $(CXXFLAGS) $(LDFLAGS) $(OBJECTS)
+ 	$(STRIP) default.sfx
+ 
++$(OBJECTS) $(LIB_OBJ):	CXXFLAGS+=$(LIBFLAGS)
++
+ lib:	WHAT=RARDLL
+-lib:	CXXFLAGS+=$(LIBFLAGS)
+ lib:	$(OBJECTS) $(LIB_OBJ)
+-	$(LINK) -shared -o libunrar.so $(LDFLAGS) $(OBJECTS) $(LIB_OBJ)
++	$(LINK) -shared -o libunrar.so $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) $(LIB_OBJ)
+ 	$(AR) rcs libunrar.a $(OBJECTS) $(LIB_OBJ)
+ 
+ install-unrar:
+-- 
+2.13.1
+

diff --git a/app-arch/unrar/metadata.xml b/app-arch/unrar/metadata.xml
index 2d6340af03e..08898384e73 100644
--- a/app-arch/unrar/metadata.xml
+++ b/app-arch/unrar/metadata.xml
@@ -9,6 +9,9 @@
   <email>base-system@gentoo.org</email>
   <name>Gentoo Base System</name>
 </maintainer>
+<slots>
+  <subslots>Reflect ABI of libunrar.so.</subslots>
+</slots>
 <upstream>
   <remote-id type="cpe">cpe:/a:rarlab:unrar</remote-id>
 </upstream>

diff --git a/app-arch/unrar/unrar-5.5.5.ebuild b/app-arch/unrar/unrar-5.5.5.ebuild
new file mode 100644
index 00000000000..1d82f28516a
--- /dev/null
+++ b/app-arch/unrar/unrar-5.5.5.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit flag-o-matic multilib toolchain-funcs
+
+MY_PN=${PN}src
+
+DESCRIPTION="Uncompress rar files"
+HOMEPAGE="http://www.rarlab.com/rar_add.htm"
+SRC_URI="http://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 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-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.5.5-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 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
+}