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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
# Maintainer : Márcio Silva <coadde@lavabit.com>
# Maintainer : André Silva <emulatorman@lavabit.com>
# We're getting this from Debian Sid
_debname=icedove
_debver=17.0.5
_debrel=2
_debrepo=http://ftp.debian.org/debian/pool/main/
debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; }
_pkgname=${_debname}
pkgname=${_debname}-libre
pkgver=${_debver}.${_debrel}
pkgrel=1
pkgdesc="A libre version of Debian Icedove, the standalone mail/news reader based on Mozilla Thunderbird."
arch=('i686' 'x86_64' 'mips64el')
license=('MPL' 'GPL' 'LGPL')
url="http://packages.debian.org/sid/${_pkgname}"
depends=('alsa-lib' 'dbus-glib' 'desktop-file-utils' 'gtk2' 'hicolor-icon-theme' 'hunspell' 'libevent' 'libnotify' 'libvpx' 'libxt' 'mime-types' 'mozilla-common' 'mozilla-searchplugins' 'nss' 'sqlite' 'startup-notification')
makedepends=('unzip-libre' 'zip' 'pkg-config' 'python2' 'python2-virtualenv' 'wireless_tools' 'yasm' 'mesa' 'autoconf2.13' 'quilt')
optdepends=('libcanberra: for sound support')
replaces=('thunderbird')
conflicts=('thunderbird')
provides=('thunderbird')
install=${_pkgname}.install
source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2"
"${_debrepo}/`debfile ${_debname}`_${_debver}-${_debrel}.debian.tar.gz"
mozconfig
replace-urls.txt
vendor.js
makefile.patch
branding.patch
${_pkgname}.desktop
Icedove-branding.patch)
options=(!emptydirs)
md5sums=('0c68298c17757257da79b6bb39e3fd10'
'2086f544ef90570d7629374aeac22aa6'
'5cf95ea94f69cdd36604890cfbf7b954'
'a8fc4658d45b6bf9350023e5c3f34e56'
'4eecc4fc5aafaf0da651a09eadc90bee'
'c4ed43e85945e180a89cce03e45ec62c'
'126b1446212396c33220936c01d9592d'
'e785e0c267f4435ae1a9aa0b03bcacfb'
'ea5f7a06967f561d47d7e5c35b23de6f')
prepare() {
export DEBIAN_BUILD="comm-esr17"
export QUILT_PATCHES=debian/patches
export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index'
export QUILT_DIFF_ARGS='--no-timestamps'
mv debian "${srcdir}/${DEBIAN_BUILD}"
cd "${srcdir}/${DEBIAN_BUILD}"
mv debian/${_pkgname}-branding "${srcdir}/${DEBIAN_BUILD}/mail/branding/${_pkgname}"
cp -a debian/app-icons/${_pkgname}big.svg debian/app-icons/${_pkgname}_icon.svg
for i in 16x16 22x22 24x24 32x32 48x48 256x256; do
install -Dm644 "debian/app-icons/${_pkgname}${i/x*/}.png" "${srcdir}/${DEBIAN_BUILD}/mail/branding/${_pkgname}/mailicon${i/x*/}.png"
done
for i in 48x48 64x64; do
install -Dm644 "debian/app-icons/${_pkgname}${i/x*/}.png" "${srcdir}/${DEBIAN_BUILD}/mail/branding/${_pkgname}/content/icon${i/x*/}.png"
done
# This patch has a orthographic issue ("Icdove" instead of "Icedove") in MOZ_APP_BASENAME line for confvars.sh.
rm -v debian/patches/debian-hacks/Icedove-branding.patch || true
quilt push -av
patch -Np1 -i "${srcdir}/makefile.patch" # small fix
patch -Np1 -i "${srcdir}/branding.patch" # fixing branding
patch -Np1 -i "${srcdir}/Icedove-branding.patch" # debian patch fixed version
# Replace common URLs
sed '/^#/d' ../replace-urls.txt | while read -r moz_url gnu_url; do
if [[ -n $moz_url ]]; then
printf 'liberating: %s -> %s\n' "$moz_url" "$gnu_url"
grep -Erl "${moz_url}" \
--exclude='*.'{patch,orig,rej} \
--exclude-dir={.pc,test,tests,testing} \
| xargs -d '\n' --no-run-if-empty sed -ri "s<${moz_url}<${gnu_url}<g"
fi
done
cp "${srcdir}/mozconfig" .mozconfig
# configure script misdetects the preprocessor without an optimization level
# https://bugs.archlinux.org/task/34644
sed -i '/ac_cpp=/s/$CPPFLAGS/& -O2/' configure
# Fix virtualenv path
sed -i 's|/usr/share/pyshared/virtualenv.py|/usr/lib/python2.7/site-packages/virtualenv.py|' mozilla/configure
}
build() {
cd "${srcdir}/${DEBIAN_BUILD}"
export LDFLAGS="${LDFLAGS} -Wl,-rpath,/usr/lib/${_pkgname}"
export PYTHON="/usr/bin/python2"
make -j1 -f client.mk build MOZ_MAKE_FLAGS="${MAKEFLAGS}"
}
package() {
cd "${srcdir}/${DEBIAN_BUILD}"
make -j1 -f client.mk DESTDIR="${pkgdir}" install
install -Dm644 "${srcdir}/vendor.js" "${pkgdir}/usr/lib/${_pkgname}/defaults/preferences/vendor.js"
for i in 16x16 22x22 24x24 32x32 48x48 64x64 128x128 256x256; do
install -Dm644 "debian/app-icons/${_pkgname}${i/x*/}.png" "${pkgdir}/usr/share/icons/hicolor/$i/apps/${_pkgname}.png"
done
install -Dm644 "debian/app-icons/${_pkgname}_icon.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/${_pkgname}.svg"
install -Dm644 "${srcdir}/${_pkgname}.desktop" \
"${pkgdir}/usr/share/applications/${_pkgname}.desktop"
rm -rf "${pkgdir}"/usr/lib/${_pkgname}/{dictionaries,hyphenation,searchplugins}
ln -sf /usr/share/hunspell "${pkgdir}/usr/lib/${_pkgname}/dictionaries"
ln -sf /usr/share/hyphen "${pkgdir}/usr/lib/${_pkgname}/hyphenation"
ln -sf /usr/lib/mozilla/searchplugins "${pkgdir}/usr/lib/${_pkgname}/searchplugins"
# We don't want the development stuff
rm -r "${pkgdir}"/usr/{include,lib/${_pkgname}-devel,share/idl}
}
|