forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
2 changed files
with
159 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
DIST p7zip_15.09_src_all.tar.bz2 4048481 SHA256 8783acf747e210e00150f7311cc06c4cd8ecf7b0c27b4adf2194284cc49b4d6f SHA512 4f020b13632ef7a85aa8a98586b59bef2dde3c1cbebdbd17e01f1d09b2e13a56ecfe82546d7efc677c45df67456a71cfdb67826b53ebea4c0fb4878f20c2f6dd WHIRLPOOL 71d1cdb9b3b1208197b2c056670d057b00e9a5f80cf08b5914b5d25f2f6756d4cb53e5a000ec76b7b879f82302fca6d012a2cd397e8aa95ae4fc21fd620eb1ab | ||
DIST p7zip_15.14.1_src_all.tar.bz2 4147911 SHA256 699db4da3621904113e040703220abb1148dfef477b55305e2f14a4f1f8f25d4 SHA512 30d0ef47bd6938cdd5d9d80ec6e7aed972655686a43adb0ae34bb9856ec7cd5a68a05c580352021055cefd6eeceb134ff6402f93686ce46e57f9757798e76abd WHIRLPOOL ace6204d3ab08002b6d5657ae280e22b7e26cdfe0af8099024ad8562a68aa5097a8f09d9d49904a06b9a6942d30fbf3d7a3872661433dd4f76c33dea03ccfb6a | ||
DIST p7zip_15.14_src_all.tar.bz2 4147609 SHA256 b9b77450e98859454d39002f55ddc95a0705041ebc0a9bb49733ce2d9a7292d8 SHA512 3053647cbcb3b8efd7f41b6bc122e984b999d31720f9b22387c52ccfe8a71d73899b1fb3a269854fd43bc1ca656c7d53457aca1cb5e2c90a2d0fb8f084bdebc5 WHIRLPOOL 52a397e4ea15cdd4c68156a0c32d449be78469d5704e0d4bb644a813b583422b3d7b0741284974ca22d9ea99a303dfadeccc23d74a77cac0c9b51153bd61e24b | ||
DIST p7zip_9.20.1_src_all.tar.bz2 3835235 SHA256 49557e7ffca08100f9fc687f4dfc5aea703ca207640c76d9dee7b66f03cb4782 SHA512 7bb8a276aaefc4a83364e45633c48527de44c6b1205344f3356db570582f30f81d82a94938c99a7ad193587b584cc1c03219c28249de40018bdaee6c3b2a022a WHIRLPOOL cb20f37d3f796931a9b330728aa7148afe98bbf8a49bb91bfd80e4667c16416206b23bf34298e9ec37825e8b43f92a5710f0cea1f974296d5c17aa2c7b0931f3 | ||
DIST p7zip_9.38.1_src_all.tar.bz2 3917925 SHA256 fd5019109c9a1bf34ad3257d37a6853eae8151ff50345f0a3ffba7d8c5fdb995 SHA512 f524ffae54e0d9563a509cc4b243e830d882a925e682eb2e15e2d19cb72c947fddecd72c8507d6c1538b997b240b0827046fc2fb4f5e3f7d49840257c92b9c04 WHIRLPOOL 6bad1cde056ab1e8db4079c0e649665fbc7e6b9a565261188bd0acaec6c583d8bd9425cb26d39315408d0180ba0be0069a77b704633cf05ec855220cb31f1c24 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,158 @@ | ||
# Copyright 1999-2016 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
EAPI=5 | ||
|
||
WX_GTK_VER="3.0" | ||
|
||
inherit eutils multilib toolchain-funcs wxwidgets | ||
|
||
DESCRIPTION="Port of 7-Zip archiver for Unix" | ||
HOMEPAGE="http://p7zip.sourceforge.net/" | ||
SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_src_all.tar.bz2" | ||
|
||
LICENSE="LGPL-2.1 rar? ( unRAR )" | ||
SLOT="0" | ||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris" | ||
IUSE="doc kde rar +pch static wxwidgets abi_x86_x32" | ||
|
||
REQUIRED_USE="kde? ( wxwidgets )" | ||
|
||
RDEPEND=" | ||
kde? ( x11-libs/wxGTK:${WX_GTK_VER}[X] kde-base/kdelibs ) | ||
wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )" | ||
DEPEND="${RDEPEND} | ||
amd64? ( dev-lang/yasm ) | ||
abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 ) | ||
x86? ( dev-lang/nasm )" | ||
|
||
S=${WORKDIR}/${PN}_${PV} | ||
|
||
src_prepare() { | ||
epatch "${FILESDIR}"/${P}-darwin.patch | ||
|
||
if ! use pch; then | ||
sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die | ||
fi | ||
|
||
sed \ | ||
-e 's:-m32 ::g' \ | ||
-e 's:-m64 ::g' \ | ||
-e 's:-pipe::g' \ | ||
-e '/ALLFLAGS/s:-s ::' \ | ||
-e "/OPTFLAGS=/s:=.*:=${CXXFLAGS}:" \ | ||
-i makefile* || die | ||
|
||
# remove non-free RAR codec | ||
if use rar; then | ||
ewarn "Enabling nonfree RAR decompressor" | ||
else | ||
sed \ | ||
-e '/Rar/d' \ | ||
-e '/RAR/d' \ | ||
-i makefile* CPP/7zip/Bundles/Format7zFree/makefile || die | ||
rm -rf CPP/7zip/Compress/Rar || die | ||
fi | ||
|
||
if use abi_x86_x32; then | ||
sed -i -e "/^ASM=/s:amd64:x32:" makefile* || die | ||
cp -f makefile.linux_amd64_asm makefile.machine || die | ||
elif use amd64; then | ||
cp -f makefile.linux_amd64_asm makefile.machine || die | ||
elif use x86; then | ||
cp -f makefile.linux_x86_asm_gcc_4.X makefile.machine || die | ||
elif [[ ${CHOST} == *-darwin* ]] ; then | ||
# Mac OS X needs this special makefile, because it has a non-GNU | ||
# linker, it doesn't matter so much for bitwidth, for it doesn't | ||
# do anything with it | ||
cp -f makefile.macosx_llvm_64bits makefile.machine | ||
# bundles have extension .bundle but don't die because USE=-rar | ||
# removes the Rar directory | ||
sed -i -e '/strcpy(name/s/\.so/.bundle/' \ | ||
CPP/Windows/DLL.cpp || die | ||
sed -i -e '/^PROG=/s/\.so/.bundle/' \ | ||
CPP/7zip/Bundles/Format7zFree/makefile.list \ | ||
$(use rar && echo CPP/7zip/Compress/Rar/makefile.list) || die | ||
elif use x86-fbsd; then | ||
# FreeBSD needs this special makefile, because it hasn't -ldl | ||
sed -e 's/-lc_r/-pthread/' makefile.freebsd > makefile.machine | ||
fi | ||
|
||
if use static; then | ||
sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine || die | ||
fi | ||
|
||
if use kde || use wxwidgets; then | ||
need-wxwidgets unicode | ||
einfo "Preparing dependency list" | ||
emake depend | ||
fi | ||
} | ||
|
||
src_compile() { | ||
emake CC=$(tc-getCC) CXX=$(tc-getCXX) all3 | ||
if use kde || use wxwidgets; then | ||
emake CC=$(tc-getCC) CXX=$(tc-getCXX) -- 7zG | ||
# emake -- 7zFM | ||
fi | ||
} | ||
|
||
src_test() { | ||
emake test test_7z test_7zr | ||
} | ||
|
||
src_install() { | ||
# this wrappers can not be symlinks, p7zip should be called with full path | ||
make_wrapper 7zr "/usr/$(get_libdir)/${PN}/7zr" | ||
make_wrapper 7za "/usr/$(get_libdir)/${PN}/7za" | ||
make_wrapper 7z "/usr/$(get_libdir)/${PN}/7z" | ||
|
||
if use kde || use wxwidgets; then | ||
make_wrapper 7zG "/usr/$(get_libdir)/${PN}/7zG" | ||
# make_wrapper 7zFM "/usr/$(get_libdir)/${PN}/7zFM" | ||
|
||
# make_desktop_entry 7zFM "${PN} FM" ${PN} "GTK;Utility;Archiving;Compression" | ||
|
||
dobin GUI/p7zipForFilemanager | ||
exeinto /usr/$(get_libdir)/${PN} | ||
# doexe bin/7z{G,FM} | ||
doexe bin/7zG | ||
|
||
insinto /usr/$(get_libdir)/${PN} | ||
doins -r GUI/{Lang,help} | ||
|
||
insinto /usr/share/icons/hicolor/16x16/apps/ | ||
newins GUI/p7zip_16_ok.png p7zip.png | ||
|
||
if use kde; then | ||
rm GUI/kde4/p7zip_compress.desktop || die | ||
insinto /usr/share/kde4/services/ServiceMenus | ||
doins GUI/kde4/*.desktop | ||
dodir /usr/share/kservices5/ServiceMenus | ||
for item in "${D}"/usr/share/kde4/services/ServiceMenus/*.desktop; do | ||
item="$(basename ${item})" | ||
dosym "/usr/share/kde4/services/ServiceMenus/${item}" "/usr/share/kservices5/ServiceMenus/${item}" | ||
done | ||
fi | ||
fi | ||
|
||
dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip | ||
doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1 | ||
|
||
exeinto /usr/$(get_libdir)/${PN} | ||
doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx | ||
doexe bin/*$(get_modname) | ||
if use rar; then | ||
exeinto /usr/$(get_libdir)/${PN}/Codecs/ | ||
doexe bin/Codecs/*$(get_modname) | ||
fi | ||
|
||
doman man1/7z.1 man1/7za.1 man1/7zr.1 | ||
dodoc ChangeLog README TODO | ||
|
||
if use doc; then | ||
dodoc DOC/*.txt | ||
dohtml -r DOC/MANUAL/* | ||
fi | ||
} |