summaryrefslogtreecommitdiff
path: root/libre/icecat/PKGBUILD
blob: c2e4509296c1ecacaf4e2d029ecf6e47c1df37b9 (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
# 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
# =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=5.0
pkgrel=2
pkgdesc="GNU version of the Firefox browser. SafeBrowsing and other Google services disabled!"
arch=('i686' 'x86_64' 'mips64el')
url="http://www.gnu.org/software/gnuzilla/"
license=('GPL' 'MPL' 'LGPL')
depends=('gtk2' 'gcc-libs' 'libidl2' '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=('zip' 'pkg-config' 'diffutils' 'python2' 'wireless_tools'
             'yasm' 'mesa' 'autoconf2.13' 'gconf' 'xorg-server-xvfb')
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
# Default options
        firefox.js
        region.properties)

build() {

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

  msg2 "Patching some files..."
  cd "${srcdir}/${pkgname}-${pkgver}/"
  patch -Np1 -i "${srcdir}/mozilla-firefox-1.0-lang.patch"
  
  cp --remove-destination ${srcdir}/region.properties ./browser/locales/en-US/chrome/browser-region/
  cp --remove-destination ${srcdir}/firefox.js ./browser/app/profile/

  msg2 "Starting build..."
  cp "${srcdir}/mozconfig" .mozconfig

  [ "$CARCH" = "mips64el" ] && echo "ac_add_options --disable-ipc" >> .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

  ## Don't generate startup cache. Unbreaks make install
  sed -i 's/^GENERATE_CACHE .*/GENERATE_CACHE = true/' \
    toolkit/mozapps/installer/packager.mk

  export LDFLAGS="-Wl,-rpath,${ICECATDIR} -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

  # Start build
  ./configure
  make MOZ_MAKE_FLAGS="${MAKEFLAGS}"

#  LD_PRELOAD="" /usr/bin/Xvfb -nolisten tcp -extension GLX :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 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/firefox-$pkgver/dictionaries"
  #ln -sf /usr/share/myspell/dicts \
  #  "${pkgdir}/usr/lib/firefox-$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/
}