summaryrefslogtreecommitdiff
path: root/PKGBUILD
blob: ea2505852442adc2645f34fac3e236dbb2498678 (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
# Maintainer: jc_gargma <jc_gargma@iserlohn-fortress.net>
# Maintainer (AUR):  WorMzy Tykashi <wormzy.tykashi@gmail.com>
# Contributor (AUR): artiom <a.mv at gmx dot fr>
# Contributor (AUR): ilikenwf
# Contributor (AUR): American_Jesus

# # I maintain this because:
# AUR version does not use full length commit IDs
# AUR version does not use specific UXP commit
# AUR version does not check signatures on UXP repo
# AUR version does not use system libs

pkgname=palemoon
_pmaltname=pale-moon
_pmotheraltname=Pale-Moon
_uxpaltname=uxp
pkgver=32.0.0
pkgrel=1
# palemoon commit ID can be found at https://repo.palemoon.org/MoonchildProductions/Pale-Moon/tags
_commit=78b9252ec67400444578addf0d3d92834be5980e
# UXP commit ID can be found at https://repo.palemoon.org/MoonchildProductions/UXP/tags
_UXPcommit=75e4818d367ccadfbaf3ad0e0ba372221a14c048
pkgdesc="Open source web browser based on Firefox focusing on efficiency."
arch=(x86_64 i686)
license=(MPL GPL LGPL)
url="https://www.palemoon.org/"
options=(lto)
depends=(gtk3 gtk2 desktop-file-utils libxt startup-notification mime-types dbus-glib
         libpulse alsa-lib
         bzip2 libffi hunspell libjpeg-turbo pixman zlib)
makedepends=(unzip zip python2 yasm
             jack
             autoconf2.13
             git)
optdepends=('ffmpeg: various video and audio support'
            'alsa-utils: ALSA support'
            'jack: Jack support'
            'pulseaudio: PulseAudio support'
            'palemoon-preferences: Custom vendor.js with security by default'
            'palemoon-preferences-basic: Custom vendor.js with less breaking changes')
#source=($pkgname-$pkgver.tar.xz::https://archive.palemoon.org/source/${pkgname}-${pkgver}.source.tar.xz
#        $pkgname-$pkgver.tar.xz.sig::https://archive.palemoon.org/source/${pkgname}-${pkgver}.source.tar.xz.sig
source=(git+"https://repo.palemoon.org/MoonchildProductions/${_pmotheraltname}?signed#commit=${_commit}"
        git+"https://repo.palemoon.org/MoonchildProductions/UXP?signed#commit=${_UXPcommit}"
        mozconfig.in)
sha1sums=('SKIP'
          'SKIP'
          '9aa438084877efd2b117f906d74a8bed0365996d')
sha256sums=('SKIP'
            'SKIP'
            '0728a9399557f5416e4a6c23d310072f449be444bf6073497ae1b71cfb5a034d')
b2sums=('SKIP'
        'SKIP'
        '0e3445a33286e7edfe127905c3b2985a7d794d6e03d14bb855cfc67f56fee82aec292bf510921b11b894be26d840470c1cfa22c9922cd3d714efb6b0f62ebde2')
#https://www.palemoon.org/0x8FCF9CEC.asc
validpgpkeys=('3DAD8CD107197488D2A2A0BD40481E7B8FCF9CEC'
              '3059E09144F56804F0FBF4E126B40624BDBFD9F3')

prepare() {
  sed 's#%SRCDIR%#'"${srcdir}"'#g' mozconfig.in > mozconfig

  cd ${_pmotheraltname}

  git submodule init
  git config submodule.platform.url "${srcdir}/UXP"
  git -c protocol.file.allow=always submodule update
}

build() {
  cd ${_pmotheraltname}

  # palemoon is prone to OOM, use 1 thread per 2GB ram
  export MOZ_MAKE_FLAGS="${MAKEFLAGS}"
  #export MOZ_MAKE_FLAGS="-j32"

  export MOZBUILD_STATE_PATH="${srcdir}/mozbuild"
  export MOZCONFIG="${srcdir}/mozconfig"
  export CFLAGS="$CFLAGS -O3 -fstack-protector-all -fPIC"
  export CXXFLAGS="$CXXFLAGS -O3 -fstack-protector-all -fPIC"
  ./mach build
}

package() {
  cd pmbuild
  make package
  cd dist
  install -d "${pkgdir}"/usr/{bin,lib}
  cp -r palemoon/ "${pkgdir}/usr/lib/${pkgname}"
  ln -s "/usr/lib/${pkgname}/palemoon" "${pkgdir}/usr/bin/palemoon"

  # icons
  install -Dm644 ${srcdir}/${_pmotheraltname}/${pkgname}/branding/official/default16.png \
    "${pkgdir}/usr/share/icons/hicolor/16x16/apps/${pkgname}.png"
  install -Dm644 ${srcdir}/${_pmotheraltname}/${pkgname}/branding/official/default32.png \
    "${pkgdir}/usr/share/icons/hicolor/32x32/apps/${pkgname}.png"
  install -Dm644 ${srcdir}/${_pmotheraltname}/${pkgname}/branding/official/default48.png \
    "${pkgdir}/usr/share/icons/hicolor/48x48/apps/${pkgname}.png"
  install -Dm644 ${srcdir}/${_pmotheraltname}/${pkgname}/branding/official/mozicon128.png \
    "${pkgdir}/usr/share/icons/hicolor/128x128/apps/${pkgname}.png"

  # install desktop file
  install -Dm644 "${srcdir}/${_pmotheraltname}/${pkgname}/branding/official/palemoon.desktop" \
    "${pkgdir}/usr/share/applications/${pkgname}.desktop"
}