summaryrefslogtreecommitdiff
path: root/libre/icecat/PKGBUILD
blob: af3a0250c2e4c5de7ec96689b2d234b2e418510d (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
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
132
133
134
135
# Maintainer: Figue <ffigue at gmail>
# Contributor: Figue <ffigue at gmail>
# Contributor (Parabola): fauno <fauno@kiwwwi.com.ar>
# Contributor (Parabola): vando <facundo@esdebian.org>
# Thank you very much to the older contributors:
# Contributor: evr <evanroman at gmail>
# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com> 

# Changelog
# =6.0
# * Build with PGO support
# =3.6.13
# * Installed Privacy Extension by default
# * DDG is now the default search engine
# =3.6.9
# * Added libnotify as required by configure
# =3.6.7
# * Added duckduckgo.com secure search engine
# =3.6.4
# * Disabled SafeBrowsing until we find a non-google alternative (25/6/10)
# * Disabled ContentHandlers and other Google/Yahoo! related services

pkgname=icecat
pkgver=6.0
pkgrel=1
pkgdesc="GNU version of the Firefox browser. SafeBrowsing and other Google services disabled!"
arch=('i686' 'x86_64' 'mips64el')
license=('MPL' 'GPL' 'LGPL')
depends=('gtk2' 'gcc-libs' 'mozilla-common' 'nss>=3.12.10' 'libxt' 'libxrender'
         'hunspell' 'startup-notification' 'mime-types' 'dbus-glib' 'alsa-lib'
         'libevent' 'sqlite3>=3.7.4' 'libnotify' 'desktop-file-utils' 'libvpx'
         'lcms' 'nspr>=4.8.8' 'libevent' 'libpng' 'cairo')
makedepends=('unzip' 'zip' 'pkg-config' 'diffutils' 'python2' 'wireless_tools' 'yasm'
             'mesa' 'autoconf2.13' 'gconf' 'xorg-server-xvfb')
options=(!buildflags)
url="http://www.gnu.org/software/gnuzilla/"
install=icecat.install
source=(ftp://ftp.gnu.org/gnu/gnuzilla/${pkgver}/${pkgname}-${pkgver}.tar.xz
        mozconfig
        icecat.desktop
        icecat-safe.desktop
        mozilla-firefox-1.0-lang.patch
# Search engines
		internet-archive.xml
		jamendo-en.xml
		logless-search.xml
		scroogle-ssl-english.xml
		yacy.xml
        duck-duck-go-ssl.xml
        duck-duck-go-lite.xml
        Makefile.in
# Default options
        firefox.js
        region.properties)
md5sums=('9b752e408717ccb50d50f0bafe18a552'
         'e7fe1de533599f4ae645ea1661e4006a'
         'e81ad01dbc16ba28bf92ba4b7c309ca7'
         'd93fe402b87cd000a869e1fd6badc6c9'
         'bd5db57c23c72a02a489592644f18995'
         '462c68585461f8cdc23c93c46f6ee4cf'
         '2d492295c4308f9bba9ece28d8b3af2d'
         '937ac0e5392b060d93bd33e761fbfa51'
         'cf97082e77e3ef5f1bd74b1db9329965'
         '24528ca3f7f1e1a0ba735231aa3ac1de'
         'c5f00b6b24222aacd5a749d1f59c4d24'
         'e1bda0854de7d764f7401c81bb82b5ef'
         'ff83f1796ee13d3aec494649491d93cc'
         '9952048383966926eea6d67384102425'
         'f1c76e7e244257856a386ca2de69bdf0')

build() {
  ICECATDIR="/usr/lib/${pkgname}-${pkgver}" && export ICECATDIR

  cd "${srcdir}/${pkgname}-${pkgver}/"
  patch -Np1 -i "${srcdir}/mozilla-firefox-1.0-lang.patch"

# Solve missing reporter locales and preprocessor.pl
  cp --remove-destination ${srcdir}/Makefile.in ./browser/locales/

# Default prefs, remove Google stuff 
  cp --remove-destination ${srcdir}/region.properties ./browser/locales/en-US/chrome/browser-region/
  cp --remove-destination ${srcdir}/firefox.js ./browser/app/profile/

  cp "${srcdir}/mozconfig" .mozconfig

  # Kill @PRE_RELEASE_SUFFIX@ from browser.xul because it
  # gets set to \177 for an unknown reason
  sed -i 's/@PRE_RELEASE_SUFFIX@//g' \
      browser/base/content/browser.xul

  export LDFLAGS="-Wl,-rpath,/usr/lib/icecat-$pkgver -Wl,-O1,--sort-common,--hash-style=gnu,--as-needed"
  export PYTHON="/usr/bin/python2"

  # PGO
  sed -i '/^NO_PROFILE_GUIDED_OPTIMIZE = 1$/d' \
    memory/jemalloc/Makefile.in
  echo 'LDFLAGS += -lX11 -lXrender' \
    >> layout/build/Makefile.in

  LD_PRELOAD="" /usr/bin/Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 :99 &
  LD_PRELOAD="" DISPLAY=:99 make -j1 -f client.mk profiledbuild MOZ_MAKE_FLAGS="$MAKEFLAGS"
  kill $! || true
}

package() {
  ICECATDIR="/usr/lib/${pkgname}-${pkgver}" && export ICECATDIR

  cd "${srcdir}/${pkgname}-${pkgver}/"
  make -j1 -f client.mk install DESTDIR="${pkgdir}"

  msg2 "Finishing..."
  install -m755 -d ${pkgdir}/usr/share/applications
  install -m755 -d ${pkgdir}/usr/share/pixmaps
  install -m644 ${srcdir}/${pkgname}-${pkgver}/browser/branding/unofficial/default48.png ${pkgdir}/usr/share/pixmaps/icecat.png
  install -m644 ${srcdir}/icecat.desktop ${pkgdir}/usr/share/applications/
  install -m644 ${srcdir}/icecat-safe.desktop ${pkgdir}/usr/share/applications/

  cd ${pkgdir}/usr/lib
  ln -s ${ICECATDIR} icecat

  # Remove included dictionaries, add symlink to system myspell path
  # Note: this will cause file conflicts when users have installed dictionaries in the old location
  rm -rf "$pkgdir/usr/lib/icecat-$pkgver/dictionaries"
  ln -sf /usr/share/myspell/dicts \
    "$pkgdir/usr/lib/icecat-$pkgver/dictionaries"

  # We don't want the development stuff
  rm -r "$pkgdir"/usr/{include,lib/icecat-devel-$pkgver,share/idl}

  msg2 "Removing proprietary and anti-privacy search engines"
  rm -f ${pkgdir}${ICECATDIR}/searchplugins/{google,answers,amazondotcom,eBay,yahoo,bing}.xml
  msg2 "And provide better ones..."
  install -m755 -d ${pkgdir}${ICECATDIR}/searchplugins/
  install -m644 ${srcdir}/*.xml ${pkgdir}${ICECATDIR}/searchplugins/
}