Gentoo Archives: gentoo-commits

From: "Roman v. Gemmeren" <strowi@×××××××××.de>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/kde-sunset:master commit in: app-arch/p7zip/
Date: Wed, 30 Mar 2011 08:54:36
Message-Id: 7b69b861284b90270c00b409456cfd121ef8530b.strowi@gentoo
1 commit: 7b69b861284b90270c00b409456cfd121ef8530b
2 Author: Roman v. Gemmeren <strowi <AT> hasnoname <DOT> de>
3 AuthorDate: Wed Mar 30 08:53:19 2011 +0000
4 Commit: Roman v. Gemmeren <strowi <AT> hasnoname <DOT> de>
5 CommitDate: Wed Mar 30 08:53:19 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/kde-sunset.git;a=commit;h=7b69b861
7
8 modified: Manifest
9 new file: p7zip-9.20.1.ebuild
10
11 ---
12 app-arch/p7zip/p7zip-9.20.1.ebuild | 156 ++++++++++++++++++++++++++++++++++++
13 1 files changed, 156 insertions(+), 0 deletions(-)
14
15 diff --git a/app-arch/p7zip/p7zip-9.20.1.ebuild b/app-arch/p7zip/p7zip-9.20.1.ebuild
16 new file mode 100644
17 index 0000000..7cb6420
18 --- /dev/null
19 +++ b/app-arch/p7zip/p7zip-9.20.1.ebuild
20 @@ -0,0 +1,156 @@
21 +# Copyright 1999-2010 Gentoo Foundation
22 +# Distributed under the terms of the GNU General Public License v2
23 +# $Header: /var/cvsroot/gentoo-x86/app-arch/p7zip/p7zip-9.13-r3.ebuild,v 1.1 2010/11/14 12:10:32 jlec Exp $
24 +
25 +EAPI="2"
26 +WX_GTK_VER="2.8"
27 +
28 +inherit eutils toolchain-funcs multilib wxwidgets
29 +
30 +DESCRIPTION="Port of 7-Zip archiver for Unix"
31 +HOMEPAGE="http://p7zip.sourceforge.net/"
32 +SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_src_all.tar.bz2"
33 +
34 +LICENSE="LGPL-2.1 rar? ( unRAR )"
35 +SLOT="0"
36 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
37 +IUSE="doc kde rar +pch static wxwidgets"
38 +
39 +RDEPEND="kde? ( x11-libs/wxGTK:2.8[X,-odbc] kde-base/konqueror )
40 + wxwidgets? ( x11-libs/wxGTK:2.8[X,-odbc] )"
41 +DEPEND="${RDEPEND}"
42 +
43 +S=${WORKDIR}/${PN}_${PV}
44 +
45 +pkg_setup() {
46 + use wxwidgets && wxwidgets_pkg_setup
47 +}
48 +
49 +src_prepare() {
50 +
51 + if use kde && ! use wxwidgets ; then
52 + einfo "USE-flag kde needs wxwidgets flag"
53 + einfo "silently enabling wxwidgets flag"
54 + fi
55 +
56 + if ! use pch; then
57 + sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
58 + fi
59 +
60 + # Being able to use native multilib
61 + sed \
62 + -e 's:-m32 ::g' \
63 + -e 's:-m64 ::g' \
64 + -i makefile* || die
65 +
66 + sed \
67 + -e "/^CC/s:\$(ALLFLAGS):${CFLAGS} \$(ALLFLAGS):g" \
68 + -e "/^CXX/s:\$(ALLFLAGS):${CXXFLAGS} \$(ALLFLAGS):g" \
69 + -i makefile* || die
70 + if use kde && ! use wxwidgets ; then
71 + einfo "USE-flag kde needs wxwidgets flag"
72 + einfo "silently enabling wxwidgets flag"
73 + fi
74 +
75 + # remove non-free RAR codec
76 + if use rar; then
77 + ewarn "Enabling nonfree RAR decompressor"
78 + else
79 + sed -e '/Rar/d' -i makefile*
80 + rm -rf CPP/7zip/Compress/Rar
81 + epatch "${FILESDIR}"/9.04-makefile.patch
82 + fi
83 +
84 + sed -i \
85 + -e "/^CXX=/s:g++:$(tc-getCXX):" \
86 + -e "/^CC=/s:gcc:$(tc-getCC):" \
87 + -e '/ALLFLAGS/s:-s ::' \
88 + makefile* || die "changing makefiles"
89 +
90 + if use amd64; then
91 + cp -f makefile.linux_amd64 makefile.machine
92 + elif [[ ${CHOST} == *-darwin* ]] ; then
93 + # Mac OS X needs this special makefile, because it has a non-GNU linker
94 + [[ ${CHOST} == *64-* ]] \
95 + && cp -f makefile.macosx_64bits makefile.machine \
96 + || cp -f makefile.macosx_32bits makefile.machine
97 + # bundles have extension .bundle but don't die because USE=-rar
98 + # removes the Rar directory
99 + sed -i -e '/strcpy(name/s/\.so/.bundle/' \
100 + CPP/Windows/DLL.cpp || die
101 + sed -i -e '/^PROG=/s/\.so/.bundle/' \
102 + CPP/7zip/Bundles/Format7zFree/makefile \
103 + $(use rar && echo CPP/7zip/Compress/Rar/makefile) || die
104 + elif use x86-fbsd; then
105 + # FreeBSD needs this special makefile, because it hasn't -ldl
106 + sed -e 's/-lc_r/-pthread/' makefile.freebsd > makefile.machine
107 + fi
108 + use static && sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine
109 +
110 + # We can be more parallel
111 + cp -f makefile.parallel_jobs makefile
112 +
113 + #epatch "${FILESDIR}"/9.04-kde4.patch
114 +
115 + if use kde || use wxwidgets; then
116 + epatch "${FILESDIR}"/kde3-konq-system.patch
117 + einfo "Preparing dependency list"
118 + emake depend || die
119 + fi
120 +}
121 +
122 +src_compile() {
123 + emake all3 || die "compilation error"
124 + if use kde || use wxwidgets; then
125 + emake 7zG || die "error building GUI"
126 + fi
127 +}
128 +
129 +src_test() {
130 + emake test_7z test_7zr || die "test failed"
131 +}
132 +
133 +src_install() {
134 + # this wrappers can not be symlinks, p7zip should be called with full path
135 + make_wrapper 7zr "/usr/$(get_libdir)/${PN}/7zr"
136 + make_wrapper 7za "/usr/$(get_libdir)/${PN}/7za"
137 + make_wrapper 7z "/usr/$(get_libdir)/${PN}/7z"
138 +
139 + if use kde || use wxwidgets; then
140 + make_wrapper 7zG "/usr/$(get_libdir)/${PN}/7zG"
141 +
142 + dobin GUI/p7zipForFilemanager
143 + exeinto /usr/$(get_libdir)/${PN}
144 + doexe bin/7zG
145 +
146 + insinto /usr/$(get_libdir)/${PN}
147 + doins -r GUI/{Lang,help}
148 +
149 + if use kde; then
150 + insinto /usr/share/icons/hicolor/16x16/apps/
151 + newins GUI/p7zip_16_ok.png p7zip.png
152 +
153 + insinto /usr/kde/3.5/share/apps/konqueror/servicemenus/
154 + doins GUI/kde3/*.desktop
155 + fi
156 + fi
157 +
158 + dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip || die
159 + doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1 || die
160 +
161 + exeinto /usr/$(get_libdir)/${PN}
162 + doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx || die "doexe bins"
163 + doexe bin/*$(get_modname) || die "doexe *$(get_modname) files"
164 + if use rar; then
165 + exeinto /usr/$(get_libdir)/${PN}/Codecs/
166 + doexe bin/Codecs/*$(get_modname) || die "doexe Codecs/*$(get_modname) files"
167 + fi
168 +
169 + doman man1/7z.1 man1/7za.1 man1/7zr.1 || die
170 + dodoc ChangeLog README TODO || die
171 +
172 + if use doc ; then
173 + dodoc DOCS/*.txt
174 + dohtml -r DOCS/MANUAL/*
175 + fi
176 +}