summaryrefslogtreecommitdiff
path: root/libre/p7zip-libre/PKGBUILD
blob: aff6d60b9c2b3aee6c81010368251a189229ba15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# $Id: PKGBUILD 203246 2014-01-06 19:32:24Z bpiotrowski $
# Contributor: Thayer Williams <thayer@archlinux.org>
# Contributor: Hugo Doria <hugo@archlinux.org>
# Contributor: TuxSpirit<tuxspirit@archlinux.fr>  2007/11/17 21:22:36 UTC
# Contributor: Daniel J Griffiths <ghost1227@archlinux.us>
# Maintainer: Gaetan Bisson <bisson@archlinux.org>

pkgname=p7zip-libre
_pkgname=${pkgname%-libre}
pkgver=9.20.1
pkgrel=9.3
pkgdesc='Command-line version of the 7zip compressed file archiver, without nonfree unrar support'
url='http://p7zip.sourceforge.net/'
license=('GPL')
arch=('i686' 'x86_64' 'mips64el')
provides=("p7zip=$pkgver")
conflicts=('p7zip')
replaces=('p7zip')
depends=('gcc-libs' 'bash')
optdepends=('wxgtk2.8: GUI'
            'desktop-file-utils: desktop entries')
makedepends=('yasm' 'nasm' 'wxgtk2.8')
mksource=("http://downloads.sourceforge.net/project/${_pkgname}/${_pkgname}/${pkgver}/${_pkgname}_${pkgver}_src_all.tar.bz2")
source=("https://repo.parabolagnulinux.org/other/${pkgname}/${pkgname}_${pkgver}_src_all.tar.bz2"
        '7zFM.desktop' 'libre.patch')
mksha1sums=('1cd567e043ee054bf08244ce15f32cb3258306b7')
sha1sums=('4e5ba097a90f3e00ad072023030c87f0707733b8'
          'f2c370d6f1b286b7ce9a2804e22541b755616a40'
          'bd929fdcbc05dcc783f7fa7d156ed15d38b0b4b3')

options=('!makeflags')
install=install

mksource() {
	cd "${srcdir}/${_pkgname}_${pkgver}"

	# Remove nonfree unRAR utility files from the source
	rm -rv CPP/7zip/{Archive,Compress}/Rar
	rm -v CPP/7zip/Compress/{Rar{2,3}Decoder.{cpp,h},Rar3Vm.{cpp,h},RarCodecsRegister.cpp}
	rm -v CPP/7zip/Crypto/{Rar20Crypto,RarAes}.{cpp,h}
	rm -v DOCS/unRarLicense.txt

	# Remove nonfree parent folder icon
	rm CPP/7zip/UI/FileManager/res/ParentFolder.h
}

prepare() {
	cd "${srcdir}/${_pkgname}_${pkgver}"

	# remove rar and parent folder icon references
	patch -Np1 -i ../libre.patch

	rm GUI/kde4/p7zip_compress.desktop
	[[ $CARCH = x86_64 ]] \
	&& cp makefile.linux_amd64_asm makefile.machine \
	|| cp makefile.linux_x86_asm_gcc_4.X makefile.machine

	sed -i 's/wx-config/wx-config-2.8/g' CPP/7zip/TEST/TestUI/makefile \
		CPP/7zip/UI/{FileManager,GUI,P7ZIP}/makefile
}

build() {
	cd "${srcdir}/${_pkgname}_${pkgver}"
	make all4 OPTFLAGS="${CXXFLAGS}"
}

package() {
	cd "${srcdir}/${_pkgname}_${pkgver}"
	make install \
		DEST_DIR="${pkgdir}" \
		DEST_HOME="/usr" \
		DEST_MAN="/usr/share/man"

	# Licenses
	install -d "${pkgdir}"/usr/share/licenses/p7zip
	ln -s -t "${pkgdir}"/usr/share/licenses/p7zip \
		/usr/share/doc/p7zip/DOCS/License.txt

	# Integration with stuff...
	install -Dm644 GUI/p7zip_32.png "${pkgdir}"/usr/share/icons/hicolor/32x32/apps/p7zip.png
	install -d "${pkgdir}"/usr/share/{applications,kde4/services/ServiceMenus}
	cp GUI/kde4/* "${pkgdir}"/usr/share/kde4/services/ServiceMenus/
	cp ../7zFM.desktop "${pkgdir}"/usr/share/applications/
	ln -s 7zCon.sfx "${pkgdir}"/usr/lib/p7zip/7z.sfx

	find GUI/help -type d -exec chmod 755 {} \;
	cp -r GUI/help "${pkgdir}"/usr/lib/p7zip/

	chmod -R u+w "${pkgdir}/usr"
}