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
128
129
130
131
|
# 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.7
_debrel=1
_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=('d5c0351b374b6caf536c11522929d822'
'0c9fc53103e7168edd972466a29cc8cf'
'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() {
export DEBIAN_BUILD="comm-esr17"
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() {
export DEBIAN_BUILD="comm-esr17"
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}
}
|