summaryrefslogtreecommitdiff
path: root/libre/iceweasel-l10n/PKGBUILD
blob: 4ace97ae38b2087b53d7b3d6b4cafead6540dc3d (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
# Maintainer (arch): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor (arch): Thomas Baechler <thomas@archlinux.org>
# Contributor (arch): Jaroslaw Swierczynski <swiergot@juvepoland.com>
# Contributor (arch): Michal Hybner <dta081@gmail.com>
# Contributor (arch): Andrea Scarpino <andrea@archlinux.org>
# Maintainer: Andreas Grapentin <andreas@grapentin.org>
# Contributor: Márcio Silva <coadde@hyperbola.info>
# Contributor: André Silva <emulatorman@hyperbola.info>
# Contributor: Luke Shumaker <lukeshu@parabola.nu>
# Contributor: fauno <fauno@kiwwwi.com.ar>
# Contributor: Figue <ffigue@gmail.com>
# Contributor: bill-auger <bill-auger@programmer.net>


# parabola changes and rationale:
#  - rebranded to iceweasel
#  - added replaces, conflicts: firefox-i18n-*


_pkgbase=iceweasel
pkgbase=${_pkgbase}-l10n
epoch=1
_pkgver_armv7h=75.0
_pkgver_i686=81.0.2
_pkgver_x86_64=84.0.2
_pkgrel_armv7h=1.parabola1
_pkgrel_i686=1.parabola1
_pkgrel_x86_64=1.parabola1
eval "pkgver=\$_pkgver_${CARCH}" # this is actually an 'any' package
eval "pkgrel=\$_pkgrel_${CARCH}" # but our different arches do not always roll at the same speed
pkgdesc="Language pack for ${_pkgbase^}"
arch=('armv7h' 'i686' 'x86_64')
url=https://wiki.parabola.nu/iceweasel
license=(MPL GPL LGPL)
depends=(iceweasel=${epoch}:${pkgver})
makedepends=('unzip' 'zip')

pkgname=()
source=(brand.dtd
        brand.properties
        region.properties
        languages.${CARCH}
        sha512sums.${CARCH})

# load languages list and .xpi checksums
source languages.${CARCH}  # sets $_languages
source sha512sums.${CARCH} # sets $_sha512sums

# compile package names and .xpi sources
_src_url=https://ftp.mozilla.org/pub/firefox/releases/${pkgver}/linux-x86_64/xpi
for _lang in "${_languages[@]}"; do
  _locale=${_lang%% *}
  _pkgname=${pkgbase}-${_locale,,}

  pkgname+=($_pkgname)
  source+=(${pkgbase}-${pkgver}-${_locale}.xpi::${_src_url}/${_locale}.xpi)

  eval "package_${_pkgname}() {
    _package ${_lang}
  }"
done

# compile checksums
_languages_armv7h_shasum='c259b9886024281a92fa8c834c673cf0dd34480a1ba227209872c5e923841d7f343d45885e245fe33b8ca3d24c7f2b527e6c49d6c665133781825076ee4f2cf9'
_languages_i686_shasum='e27aa22697942c950c71a6466a70579d326bcce5cc547592c4b1fe0c9b4fa819f7fd7c2a354f2982d65d16f8bb7997635d9b9344d68330eec979e03258b5e5e7'
_languages_x86_64_shasum='822834ef7cc72cd66e517b28522d52acbc8ca76078676b5e731e4cb71734c8ea4ce8c86ff4033e86728aad1b721d0e8bbb57a1d0eca32736da983c8e8b8e2904'
_sha512sums_armv7h_shasum='ba69d1ac848440397617011bf94fdffd83bdda39c21bcb6ddfcf621e76db380bf5ec0e2afe535e226efd450506dd90594f47ab12e84705efc09c3bf7cca31359'
_sha512sums_i686_shasum='8e10ce99b914252cc08015959c40e845d55df0fb94de47a0e5f1c4c93d50bdc29c7bfbb058d205eaf91645c34c606fcb6d232e866e19c0601dac8ba3496f52ff'
_sha512sums_x86_64_shasum='68d49ba6b4b98ed2c5a67bd6f34ded3bbc41d2182b567c274e6db22416c992a7edbaf5113f9bad7d9d95e5ef6e354016b0e7cf024dc36b979b23210dd13281e3'
sha512sums=('bfe82e11a3a1b8006b58a54897f297bd17191ca2e7b08f95d66ec6bfe356caf9eb4d96b3dde5f36db0331d012bde2f03e7087aad1e087800b404f82fa9d786ad' # brand.dtd
            'a1a7e44f3358b131157d2acec243d35ef234e42a6522edfa5b2be9b497a65b2227c64b7fb989c0780c55333c0075f8f2198d99cde8f602bb3f9b8619dc57ab2c' # brand.properties
            '31d33e90be1b5c0e76a0c374684f9a7b4076f7bcca8b76309048b2e3fc7f27c0bc8a2a9f9e66bd8c51fe8780a52a1011c540b071dc82f78d72a1d5ad29fee4f9' # region.properties
            $(eval "echo \$_languages_${CARCH}_shasum")                                                                                        # languages.${CARCH}
            $(eval "echo \$_sha512sums_${CARCH}_shasum")                                                                                       # sha512sums.${CARCH}
            "${_sha512sums[@]}")

# Don't extract anything
noextract=(${source[@]%%::*})

_package() {
  pkgdesc="$2 for Iceweasel"
  replaces=(firefox-i18n-${1,,})
  conflicts=(firefox-i18n-${1,,})

  # explode for branding
  unzip $pkgbase-$pkgver-$1.xpi -d $1
  rm -v $pkgbase-$pkgver-$1.xpi

  # apply parabola branding
  sed -i 's|Mozilla Firefox|Parabola GNU/Linux-libre Iceweasel|g' $(grep -rlI 'Mozilla Firefox' $1)
  sed -i 's|Firefox|Iceweasel|g' $(grep -rlI 'Firefox' $1)
  install -vDm644 "$srcdir"/brand.dtd $1/browser/chrome/$1/locale/branding
  install -vDm644 "$srcdir"/brand.properties $1/browser/chrome/$1/locale/branding
  install -vDm644 "$srcdir"/region.properties $1/browser/chrome/$1/locale/browser-region
  if [ -f $1/chrome/$1/locale/$1/global/aboutRights.dtd ]; then
    sed -i 's|Parabola GNU/Linux-libre Iceweasel|Mozilla Firefox|' $1/chrome/$1/locale/$1/global/aboutRights.dtd
    sed -i 's|Iceweasel|Firefox|' $1/chrome/$1/locale/$1/global/aboutRights.dtd
  fi
  rm -rv $1/chrome/$1/locale/$1/global-platform/{mac,win}

  # re-pack
  cd $1
  zip -r "$srcdir"/$pkgbase-$pkgver-$1.xpi .
  cd ..
  rm -rv $1

  install -Dm644 $pkgbase-$pkgver-$1.xpi \
    "$pkgdir/usr/lib/iceweasel/browser/extensions/langpack-$1@firefox.mozilla.org.xpi"
}