summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Grapentin <andreas@grapentin.org>2020-11-04 22:12:51 +0100
committerAndreas Grapentin <andreas@grapentin.org>2020-11-04 22:12:51 +0100
commit78cc8203d6d84048363eb67547ff5e54686882f6 (patch)
tree3320737702ff21577022db8d8e06699a49440334
parent4e171299a3b8d37397efce647e071c4d0ef46fd4 (diff)
libre/iceape-l10n: updated language list update script and split language list from PKGBUILD
-rw-r--r--libre/iceape-l10n/PKGBUILD98
-rw-r--r--libre/iceape-l10n/languages.armv7h22
-rw-r--r--libre/iceape-l10n/languages.i68622
-rw-r--r--libre/iceape-l10n/languages.x86_6422
-rw-r--r--libre/iceape-l10n/sha512sums.armv7h22
-rw-r--r--libre/iceape-l10n/sha512sums.i68622
-rw-r--r--libre/iceape-l10n/sha512sums.x86_6422
-rw-r--r--libre/iceape-l10n/updatelanglist.sh78
8 files changed, 253 insertions, 55 deletions
diff --git a/libre/iceape-l10n/PKGBUILD b/libre/iceape-l10n/PKGBUILD
index 942f5f7bb..ec95b854a 100644
--- a/libre/iceape-l10n/PKGBUILD
+++ b/libre/iceape-l10n/PKGBUILD
@@ -5,48 +5,53 @@
_pkgbase=iceape
pkgbase=${_pkgbase}-l10n
epoch=1
-pkgver=2.49.4
-pkgrel=1
-pkgdesc="Language pack for ${_pkgbase^}."
-arch=(any)
+_pkgver_armv7h=2.49.4
+_pkgver_i686=2.49.4
+_pkgver_x86_64=2.49.4
+_pkgrel_armv7h=1
+_pkgrel_i686=1
+_pkgrel_x86_64=1
+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/$_pkgbase"
license=(MPL GPL)
depends=("$_pkgbase=$epoch:$pkgver")
makedepends=('unzip' 'zip')
-_languages=(
- 'cs "Czech"'
- 'de "German"'
- 'en-GB "English (British)"'
- 'en-US "English (US)"'
- 'es-AR "Spanish (Argentina)"'
- 'es-ES "Spanish (Spain)"'
- 'fr "French"'
- 'hu "Hungarian"'
- 'it "Italian"'
- 'ja "Japanese"'
- 'lt "Lithuanian"'
- 'nb-NO "Norwegian (Bokmål)"'
- 'nl "Dutch"'
- 'pl "Polish"'
- 'pt-PT "Portuguese (Portugal)"'
- 'ru "Russian"'
- 'sk "Slovak"'
- 'sv-SE "Swedish"'
- 'zh-CN "Chinese (Simplified)"'
- 'zh-TW "Chinese (Traditional)"'
-)
+_src_url=https://ftp.mozilla.org/pub/seamonkey/releases/${pkgver}/langpack
pkgname=()
-source=('brand.dtd' 'brand.properties' 'communicator-region.properties' 'editor-region.properties' 'messenger-region.properties' 'navigator-region.properties')
-_url=https://ftp.mozilla.org/pub/seamonkey/releases/$pkgver/langpack
+source=(brand.dtd
+ brand.properties
+ communicator-region.properties
+ editor-region.properties
+ messenger-region.properties
+ navigator-region.properties
+ languages.${CARCH}
+ sha512sums.${CARCH})
+_languages_x86_64_shasum="1cc581a43b69834c94836b4f891cb9e35538d3df0538d449fa3efe8f26b79b96f05c7f210e48fefe5ba96c95cd40a8a3180f8611f31367c4f16930327f9e4585"
+_languages_i686_shasum="1cc581a43b69834c94836b4f891cb9e35538d3df0538d449fa3efe8f26b79b96f05c7f210e48fefe5ba96c95cd40a8a3180f8611f31367c4f16930327f9e4585"
+_languages_armv7h_shasum="1cc581a43b69834c94836b4f891cb9e35538d3df0538d449fa3efe8f26b79b96f05c7f210e48fefe5ba96c95cd40a8a3180f8611f31367c4f16930327f9e4585"
+_languages_list_shasum="_languages_${CARCH}_shasum"
+
+_sha512sums_x86_64_shasum="947f493bd305ea4993367122cd78df76db9b54f3e7aecb87dcfcb94010cee84585bb18bec7cd63a6f15b8c40dd29f131cfeba92e8945ff57bbcde0d11e3a1629"
+_sha512sums_i686_shasum="947f493bd305ea4993367122cd78df76db9b54f3e7aecb87dcfcb94010cee84585bb18bec7cd63a6f15b8c40dd29f131cfeba92e8945ff57bbcde0d11e3a1629"
+_sha512sums_armv7h_shasum="947f493bd305ea4993367122cd78df76db9b54f3e7aecb87dcfcb94010cee84585bb18bec7cd63a6f15b8c40dd29f131cfeba92e8945ff57bbcde0d11e3a1629"
+_sha512sums_list_shasum="_sha512sums_${CARCH}_shasum"
+
+# parse locales and package names from language list files
+source languages.${CARCH} # sets $_languages
+source sha512sums.${CARCH} # sets $_sha512sums
for _lang in "${_languages[@]}"; do
_locale=${_lang%% *}
_pkgname=$pkgbase-${_locale,,}
pkgname+=($_pkgname)
source+=("$pkgbase-$pkgver-$_locale.xpi::$_url/seamonkey-$pkgver.$_locale.langpack.xpi")
+
eval "package_$_pkgname() {
_package $_lang
}"
@@ -56,7 +61,7 @@ done
noextract=(${source[@]%%::*})
_package() {
- pkgdesc="$2 language pack for ${_pkgbase^}."
+ pkgdesc="$2 for ${_pkgbase^}."
unzip iceape-l10n-$pkgver-$1.xpi -d $1
rm -v iceape-l10n-$pkgver-$1.xpi
@@ -79,29 +84,12 @@ _package() {
"$pkgdir/usr/lib/iceape-$pkgver/extensions/langpack-$1@iceape.mozilla.org.xpi"
}
-sha256sums=('21473f12638f447e573ce26d02297f9d966f61e04c5fcbb7fc30919a26a6c94b'
- 'c01f71da0ed60a9a1e31325ca79ad3bf629496d42adb1871de756faa658db420'
- 'd49655d6c7e6bbc16158d77a075f54b15b5740a6fe0cf9c6ea08df72ca44bcad'
- '41d8ae62c7af6b5e7168ba26a0b32e34e41a0357ed6e83a2097307c9b2e10afc'
- 'dc8c43b153d063e099a50399b07069c4e00550f2826ad59d0eb14f6247801c03'
- '2118452fa650182eae694100711634021b7b1b574e285bd2f94902a9aa8533c2'
- 'f3a809d7cae48953e88c2d86c679cab129fee4234bcfc56e44685b2f022139a7'
- 'a735b0a4ed2c22436ef315ab2125ed1305666f19b505807f5ead4c96160966d2'
- '500a063b22c313ae6458ff895aa6307209e16cf388facd8605efaf9828bc350f'
- '12d7c6c806ba11985cad8c487bab973672b29ab22df830284918069978aa4781'
- '861df4bb14dc00891a221ce08e2be4ed0103d680fe9b676f710d6cd965c3d121'
- 'ad2900b48a72a84b1d45f240e722f033159bcf232bd25ed606dcbd4d16518369'
- 'ed09b8d293567b776e0373a3d7bef2d389725dfd885a816470ebe3a522930119'
- '93ca899651a38c8b0753b419bb2d0c321e6293fb1d6ecc7a10129793b3de4cff'
- '625892c53126ca77164b6a278d20e23c0e20e492060fd6d18b5c0e093912416e'
- '4bc8a587938668123541abd630f8b0bf0851e00674e6f779da5f0fe6c1e29d5c'
- '3d2e50c71a1a415cb1be63b239bde489da2d6a32fcae0bf78e03144c461a31b2'
- '3d1cbb0299224a45d0ef08b8603c1a54a49ad98f5600fc6d9c4bcf2edda87a52'
- '6ad7d931aff6717fb5592d1eb58c1e8adf29b01ae5669bb49beab7c1293d9d5b'
- 'd2ede4bc5984894868f510e2ca7af0fd6d40259aa9a9b13ed31d27e983c5cba3'
- '7d0fca908224b971a7f31aefb0d4446eb2675ed13a91fb2ee21561b37e394117'
- '51c8ddb22a4ee432317dac617e78937789a62bc960d64b7b154797707ce518bc'
- '2ee8ee5e418fbb08297f249e99c8628ef08d458692c63f2eb07eca770e928ea8'
- '372ff6a75492815897d50fa3db8e503639855a950f62cfbd04d785d8a9cba69b'
- '32fed44e5416e6dc5575fedc42e939cc9314a4a2972305f9863ba55daff77b97'
- 'efaf381144c82c3f0d05882b2f760e7fa63327b16acbb0849186593c971ab5f3')
+sha256sums=('08b88f2ef2b9d780945389628d7fe4940d8270554e76d025449f6908e2c1affad1faa8cfe1e95889c59b7fa4dfbee60f67d68b8ac031b568256bb2f8a9106910' # brand.dtd
+ '69460ad8100fba9dfaf6993a8f061717cb3cb39fa13b1d8d040d7f91d1c482c62548ae184c698e23f28abc0ecfec7e7b11f22b55083e65a9b41d3fc7715a6633' # brand.properties
+ 'fca487a975a58ade57edc35674ce4ebdffabcf5e241ab1ac0eb08dc6d64e26a4990fbc6229d972fa3172e747368b35b5396a4f7d9c2ed1a55fc25c72a75f2842' # communicator-region.properties
+ 'f6fcb5294acab6ad26942da9466da7ee653c54ead4d8b5835894e35acf87d874e95a2357569574ec645c6ab67aa333210666e9a8462e7a36a7463100e78386a6' # editor-region.properties
+ '3b40d16c9871502005b81ed7e35d4d5a6ca1ba17d75d53b0e623274fd6be49071cb16e2a36e35e06485b7d5eebbdfc66e511b975c2fa029f97d7e437fdf57fa9' # messenger-region.properties
+ '7542559b4da72739cf5a1f96c2ecbf771a3c6e559c7ac9a50eb67e4dbe5c34ac47ce1684286ae88a80f52b17131ac881fb30be83be001b385184c5e2e2c8683f' # navigator-region.properties
+ "${!_languages_list_shasum}"
+ "${!_sha512sums_list_shasum}"
+ "${_sha512sums[@]}")
diff --git a/libre/iceape-l10n/languages.armv7h b/libre/iceape-l10n/languages.armv7h
new file mode 100644
index 000000000..1f20cd6ca
--- /dev/null
+++ b/libre/iceape-l10n/languages.armv7h
@@ -0,0 +1,22 @@
+_languages=(
+ 'cs "Czech (CZ) Language Pack"'
+ 'de "Deutsch (DE) Language Pack"'
+ 'en-GB "English (GB) Language Pack"'
+ 'en-US "English (US) Language Pack"'
+ 'es-AR "Español (AR) Language Pack"'
+ 'es-ES "Español (España) Language Pack"'
+ 'fr "Français Language Pack"'
+ 'hu "Magyar (HU) Language Pack"'
+ 'it "Italiano (IT) Language Pack"'
+ 'ja "Japanese Language Pack"'
+ 'lt "Lietuvių Language Pack"'
+ 'nb-NO "Norsk bokmål (NO) Language Pack"'
+ 'nl "Nederlands (NL) Language Pack"'
+ 'pl "Polski Language Pack"'
+ 'pt-PT "Português (Portugal) Language Pack"'
+ 'ru "Russian (RU) Language Pack"'
+ 'sk "Slovak (SK) Language Pack"'
+ 'sv-SE "Svenska (SE) Language Pack"'
+ 'zh-CN "Chinese Simplified (zh-CN) Language Pack"'
+ 'zh-TW "Traditional Chinese (zh-TW) Language Pack"'
+)
diff --git a/libre/iceape-l10n/languages.i686 b/libre/iceape-l10n/languages.i686
new file mode 100644
index 000000000..1f20cd6ca
--- /dev/null
+++ b/libre/iceape-l10n/languages.i686
@@ -0,0 +1,22 @@
+_languages=(
+ 'cs "Czech (CZ) Language Pack"'
+ 'de "Deutsch (DE) Language Pack"'
+ 'en-GB "English (GB) Language Pack"'
+ 'en-US "English (US) Language Pack"'
+ 'es-AR "Español (AR) Language Pack"'
+ 'es-ES "Español (España) Language Pack"'
+ 'fr "Français Language Pack"'
+ 'hu "Magyar (HU) Language Pack"'
+ 'it "Italiano (IT) Language Pack"'
+ 'ja "Japanese Language Pack"'
+ 'lt "Lietuvių Language Pack"'
+ 'nb-NO "Norsk bokmål (NO) Language Pack"'
+ 'nl "Nederlands (NL) Language Pack"'
+ 'pl "Polski Language Pack"'
+ 'pt-PT "Português (Portugal) Language Pack"'
+ 'ru "Russian (RU) Language Pack"'
+ 'sk "Slovak (SK) Language Pack"'
+ 'sv-SE "Svenska (SE) Language Pack"'
+ 'zh-CN "Chinese Simplified (zh-CN) Language Pack"'
+ 'zh-TW "Traditional Chinese (zh-TW) Language Pack"'
+)
diff --git a/libre/iceape-l10n/languages.x86_64 b/libre/iceape-l10n/languages.x86_64
new file mode 100644
index 000000000..1f20cd6ca
--- /dev/null
+++ b/libre/iceape-l10n/languages.x86_64
@@ -0,0 +1,22 @@
+_languages=(
+ 'cs "Czech (CZ) Language Pack"'
+ 'de "Deutsch (DE) Language Pack"'
+ 'en-GB "English (GB) Language Pack"'
+ 'en-US "English (US) Language Pack"'
+ 'es-AR "Español (AR) Language Pack"'
+ 'es-ES "Español (España) Language Pack"'
+ 'fr "Français Language Pack"'
+ 'hu "Magyar (HU) Language Pack"'
+ 'it "Italiano (IT) Language Pack"'
+ 'ja "Japanese Language Pack"'
+ 'lt "Lietuvių Language Pack"'
+ 'nb-NO "Norsk bokmål (NO) Language Pack"'
+ 'nl "Nederlands (NL) Language Pack"'
+ 'pl "Polski Language Pack"'
+ 'pt-PT "Português (Portugal) Language Pack"'
+ 'ru "Russian (RU) Language Pack"'
+ 'sk "Slovak (SK) Language Pack"'
+ 'sv-SE "Svenska (SE) Language Pack"'
+ 'zh-CN "Chinese Simplified (zh-CN) Language Pack"'
+ 'zh-TW "Traditional Chinese (zh-TW) Language Pack"'
+)
diff --git a/libre/iceape-l10n/sha512sums.armv7h b/libre/iceape-l10n/sha512sums.armv7h
new file mode 100644
index 000000000..053d95909
--- /dev/null
+++ b/libre/iceape-l10n/sha512sums.armv7h
@@ -0,0 +1,22 @@
+_sha512sums=(
+ '7b554fa16169b888ab62fc295aa2a9656e06b10e3f53b1587fc70fcf46a7f75f49bde31b33823f22c7eeba678c8e94162872a94e224d619439f94f2204a702bb'
+ '8f5d39b8c759663856b68894dac058fced2388a91c16ff7981c02d7d336acb0ec812025ba7e789fb3a5eef125b7fbd0af6e0b4ed3e43b5b36aa7f56c27d338d0'
+ 'c7bb8396bbdbd9fd1a7fdbf43eee162d48840357e1408959f540432f39c6a2ccab3ed3f411d3e44b3b6016257820d000157389d76d039a2f8687a2e2009728ed'
+ 'a003ce63cb061d2bc2d8f7877200791dc18b81606cfbe83aa203d69b08047c6f9bb0c1b576370d6f8b3c5992532a1d24f372a987c7adc38dc42123f6b03b7ae8'
+ '1961afc3332dc58f9f9783415bae63947c9bfbbb738ad1dae44fc54f4474d5cccb8fbdb0a05ebf03f854ba295f8b3c5ccafadb90df750d9a5695ab2cccd4761f'
+ '9a60999b0af23b7b84b8c3fa4e4b6db06adff4b5a74202078b7c9743a8e3adef8b8c3b4c16acaf717180402a6c89b438eecaff5768bdb7ec6360004912b7fc5d'
+ 'c8dc801a9a0ff9a140f1d71b9530b13ea85b2d9daffb1a0aeb6a40230530eebbf0df091998df230aec315cb61581d75c087487326dd6483aa5c913911773e0f4'
+ '75fa7d9cd8c0d71cf8abf5e999860f6d37fcb36e22161125b6d8c3411dc6cf1881432495c14f300583a2a967b69830fe1e7759916c4846e0219cb44bf22c29e7'
+ 'ca2de82cf7a5c0c0b38dd7bb7b4e4d28dde9d97517a94b085c29733f2ee8ee5d6d2298a6b63c81f9a5b8e0b44a65bf31c9a066c772565c5d9fd647a1634c6a8a'
+ '920eecd4fe6bda59972d05e2c547c0a1fe334639030f8727706a4479b8fa51b6c0b7dcb68a521319b511cf3ca70557250ff1d35caa5765d0e38145544aa55598'
+ 'c904954c4d187aa7ac13414cefdf5b88a7df98dadd30b8d184cb60538c7e62eae6e789489aa93302c0caaa9757f2b810ec9c4e540d61999baaefcef99abe449c'
+ '2c4b4d53b847e30a725d132d2c51bb5e8c39299662c7fd2d57f799e6973b0a3926dfa783b34ed7d6e51872532afb2656e29abe9d222ce3cf3657b44ad2d2a476'
+ '298449f63d111ff8203bf40815d849de08015cac21a27881248909ce22528d27b3cf3dc6d565533d7b44e44d117f0d7cae06d5fc90910775fc135830a67e6700'
+ '6ed523e728975ffdba0001d20815c698ec22ff8ac9ad40c7703107a330730751746ee2b684f2422767eb6fe89f445c079c019aa3454e9e36dbf04157e884c97f'
+ '5ee320d85ac54e70808c96f83a883820b935a734977c1e9157e725a34a039183a7937549c18f2f2666fa535a4a00b66c24ed13577e103cac14314508ad2ab0f6'
+ '68f629d85d88bfd2525883fb0ce564adc4c8f5fac6a55ba10cc510c467bc0cbb59d3da08cdfed24b7c09db63fe3c89d47eeb04f616d5c4eb806bbffa4d571225'
+ '14a87762fbc1ed77ace583682a915b3c39e9d8ec47673c66cc80f18b8c72609ccd2c8f3e691a2b2827ad10504e222fbac56afb0698587fa6102d5e34ebc3398b'
+ '519819ae5203700fd958817c5ac27d918ba1f9c011f8b627b2ec88450b12ddd7052d5b85519e0e27f13311d434f505ee11f5dfb5ee92f6df68efc8d9af8a607a'
+ '5a7ffd33c9b0e3f610aa3c61a9ba08024c5f0211c5169702c1b52f9efa4edadb617c26a64041fc1b8b59be2f5d6c2fe06422c378a2a98ba65861c731fddc93e8'
+ 'bc14b22904a29aff58f7141f691c375250083bc973d8f2f7494288d47cb118584915749de0df6f3f5994b6a19cc46a16a64a114c1788dc903a5af2d84211d59b'
+)
diff --git a/libre/iceape-l10n/sha512sums.i686 b/libre/iceape-l10n/sha512sums.i686
new file mode 100644
index 000000000..053d95909
--- /dev/null
+++ b/libre/iceape-l10n/sha512sums.i686
@@ -0,0 +1,22 @@
+_sha512sums=(
+ '7b554fa16169b888ab62fc295aa2a9656e06b10e3f53b1587fc70fcf46a7f75f49bde31b33823f22c7eeba678c8e94162872a94e224d619439f94f2204a702bb'
+ '8f5d39b8c759663856b68894dac058fced2388a91c16ff7981c02d7d336acb0ec812025ba7e789fb3a5eef125b7fbd0af6e0b4ed3e43b5b36aa7f56c27d338d0'
+ 'c7bb8396bbdbd9fd1a7fdbf43eee162d48840357e1408959f540432f39c6a2ccab3ed3f411d3e44b3b6016257820d000157389d76d039a2f8687a2e2009728ed'
+ 'a003ce63cb061d2bc2d8f7877200791dc18b81606cfbe83aa203d69b08047c6f9bb0c1b576370d6f8b3c5992532a1d24f372a987c7adc38dc42123f6b03b7ae8'
+ '1961afc3332dc58f9f9783415bae63947c9bfbbb738ad1dae44fc54f4474d5cccb8fbdb0a05ebf03f854ba295f8b3c5ccafadb90df750d9a5695ab2cccd4761f'
+ '9a60999b0af23b7b84b8c3fa4e4b6db06adff4b5a74202078b7c9743a8e3adef8b8c3b4c16acaf717180402a6c89b438eecaff5768bdb7ec6360004912b7fc5d'
+ 'c8dc801a9a0ff9a140f1d71b9530b13ea85b2d9daffb1a0aeb6a40230530eebbf0df091998df230aec315cb61581d75c087487326dd6483aa5c913911773e0f4'
+ '75fa7d9cd8c0d71cf8abf5e999860f6d37fcb36e22161125b6d8c3411dc6cf1881432495c14f300583a2a967b69830fe1e7759916c4846e0219cb44bf22c29e7'
+ 'ca2de82cf7a5c0c0b38dd7bb7b4e4d28dde9d97517a94b085c29733f2ee8ee5d6d2298a6b63c81f9a5b8e0b44a65bf31c9a066c772565c5d9fd647a1634c6a8a'
+ '920eecd4fe6bda59972d05e2c547c0a1fe334639030f8727706a4479b8fa51b6c0b7dcb68a521319b511cf3ca70557250ff1d35caa5765d0e38145544aa55598'
+ 'c904954c4d187aa7ac13414cefdf5b88a7df98dadd30b8d184cb60538c7e62eae6e789489aa93302c0caaa9757f2b810ec9c4e540d61999baaefcef99abe449c'
+ '2c4b4d53b847e30a725d132d2c51bb5e8c39299662c7fd2d57f799e6973b0a3926dfa783b34ed7d6e51872532afb2656e29abe9d222ce3cf3657b44ad2d2a476'
+ '298449f63d111ff8203bf40815d849de08015cac21a27881248909ce22528d27b3cf3dc6d565533d7b44e44d117f0d7cae06d5fc90910775fc135830a67e6700'
+ '6ed523e728975ffdba0001d20815c698ec22ff8ac9ad40c7703107a330730751746ee2b684f2422767eb6fe89f445c079c019aa3454e9e36dbf04157e884c97f'
+ '5ee320d85ac54e70808c96f83a883820b935a734977c1e9157e725a34a039183a7937549c18f2f2666fa535a4a00b66c24ed13577e103cac14314508ad2ab0f6'
+ '68f629d85d88bfd2525883fb0ce564adc4c8f5fac6a55ba10cc510c467bc0cbb59d3da08cdfed24b7c09db63fe3c89d47eeb04f616d5c4eb806bbffa4d571225'
+ '14a87762fbc1ed77ace583682a915b3c39e9d8ec47673c66cc80f18b8c72609ccd2c8f3e691a2b2827ad10504e222fbac56afb0698587fa6102d5e34ebc3398b'
+ '519819ae5203700fd958817c5ac27d918ba1f9c011f8b627b2ec88450b12ddd7052d5b85519e0e27f13311d434f505ee11f5dfb5ee92f6df68efc8d9af8a607a'
+ '5a7ffd33c9b0e3f610aa3c61a9ba08024c5f0211c5169702c1b52f9efa4edadb617c26a64041fc1b8b59be2f5d6c2fe06422c378a2a98ba65861c731fddc93e8'
+ 'bc14b22904a29aff58f7141f691c375250083bc973d8f2f7494288d47cb118584915749de0df6f3f5994b6a19cc46a16a64a114c1788dc903a5af2d84211d59b'
+)
diff --git a/libre/iceape-l10n/sha512sums.x86_64 b/libre/iceape-l10n/sha512sums.x86_64
new file mode 100644
index 000000000..053d95909
--- /dev/null
+++ b/libre/iceape-l10n/sha512sums.x86_64
@@ -0,0 +1,22 @@
+_sha512sums=(
+ '7b554fa16169b888ab62fc295aa2a9656e06b10e3f53b1587fc70fcf46a7f75f49bde31b33823f22c7eeba678c8e94162872a94e224d619439f94f2204a702bb'
+ '8f5d39b8c759663856b68894dac058fced2388a91c16ff7981c02d7d336acb0ec812025ba7e789fb3a5eef125b7fbd0af6e0b4ed3e43b5b36aa7f56c27d338d0'
+ 'c7bb8396bbdbd9fd1a7fdbf43eee162d48840357e1408959f540432f39c6a2ccab3ed3f411d3e44b3b6016257820d000157389d76d039a2f8687a2e2009728ed'
+ 'a003ce63cb061d2bc2d8f7877200791dc18b81606cfbe83aa203d69b08047c6f9bb0c1b576370d6f8b3c5992532a1d24f372a987c7adc38dc42123f6b03b7ae8'
+ '1961afc3332dc58f9f9783415bae63947c9bfbbb738ad1dae44fc54f4474d5cccb8fbdb0a05ebf03f854ba295f8b3c5ccafadb90df750d9a5695ab2cccd4761f'
+ '9a60999b0af23b7b84b8c3fa4e4b6db06adff4b5a74202078b7c9743a8e3adef8b8c3b4c16acaf717180402a6c89b438eecaff5768bdb7ec6360004912b7fc5d'
+ 'c8dc801a9a0ff9a140f1d71b9530b13ea85b2d9daffb1a0aeb6a40230530eebbf0df091998df230aec315cb61581d75c087487326dd6483aa5c913911773e0f4'
+ '75fa7d9cd8c0d71cf8abf5e999860f6d37fcb36e22161125b6d8c3411dc6cf1881432495c14f300583a2a967b69830fe1e7759916c4846e0219cb44bf22c29e7'
+ 'ca2de82cf7a5c0c0b38dd7bb7b4e4d28dde9d97517a94b085c29733f2ee8ee5d6d2298a6b63c81f9a5b8e0b44a65bf31c9a066c772565c5d9fd647a1634c6a8a'
+ '920eecd4fe6bda59972d05e2c547c0a1fe334639030f8727706a4479b8fa51b6c0b7dcb68a521319b511cf3ca70557250ff1d35caa5765d0e38145544aa55598'
+ 'c904954c4d187aa7ac13414cefdf5b88a7df98dadd30b8d184cb60538c7e62eae6e789489aa93302c0caaa9757f2b810ec9c4e540d61999baaefcef99abe449c'
+ '2c4b4d53b847e30a725d132d2c51bb5e8c39299662c7fd2d57f799e6973b0a3926dfa783b34ed7d6e51872532afb2656e29abe9d222ce3cf3657b44ad2d2a476'
+ '298449f63d111ff8203bf40815d849de08015cac21a27881248909ce22528d27b3cf3dc6d565533d7b44e44d117f0d7cae06d5fc90910775fc135830a67e6700'
+ '6ed523e728975ffdba0001d20815c698ec22ff8ac9ad40c7703107a330730751746ee2b684f2422767eb6fe89f445c079c019aa3454e9e36dbf04157e884c97f'
+ '5ee320d85ac54e70808c96f83a883820b935a734977c1e9157e725a34a039183a7937549c18f2f2666fa535a4a00b66c24ed13577e103cac14314508ad2ab0f6'
+ '68f629d85d88bfd2525883fb0ce564adc4c8f5fac6a55ba10cc510c467bc0cbb59d3da08cdfed24b7c09db63fe3c89d47eeb04f616d5c4eb806bbffa4d571225'
+ '14a87762fbc1ed77ace583682a915b3c39e9d8ec47673c66cc80f18b8c72609ccd2c8f3e691a2b2827ad10504e222fbac56afb0698587fa6102d5e34ebc3398b'
+ '519819ae5203700fd958817c5ac27d918ba1f9c011f8b627b2ec88450b12ddd7052d5b85519e0e27f13311d434f505ee11f5dfb5ee92f6df68efc8d9af8a607a'
+ '5a7ffd33c9b0e3f610aa3c61a9ba08024c5f0211c5169702c1b52f9efa4edadb617c26a64041fc1b8b59be2f5d6c2fe06422c378a2a98ba65861c731fddc93e8'
+ 'bc14b22904a29aff58f7141f691c375250083bc973d8f2f7494288d47cb118584915749de0df6f3f5994b6a19cc46a16a64a114c1788dc903a5af2d84211d59b'
+)
diff --git a/libre/iceape-l10n/updatelanglist.sh b/libre/iceape-l10n/updatelanglist.sh
new file mode 100644
index 000000000..dc7110e0d
--- /dev/null
+++ b/libre/iceape-l10n/updatelanglist.sh
@@ -0,0 +1,78 @@
+#!/bin/bash
+# helper script to check the local language list against upstream
+
+export CARCH="${CARCH:-$(uname -m)}"
+
+# extract pkgbase from pkgbuild
+pkgbase="$(bash -c "source PKGBUILD && echo \"\$_pkgbase\"")"
+pkgver="$(bash -c "source PKGBUILD && echo \"\$pkgver\"")"
+
+echo "attempting update to language lists for $pkgbase"
+echo " CARCH: $CARCH"
+
+# produce new language list
+url="$(bash -c "source PKGBUILD && echo \"\$_src_url\"")/"
+
+echo "_languages=(" > "languages.$CARCH.pkgnew"
+echo "_sha512sums=(" > "sha512sums.$CARCH.pkgnew"
+
+mkdir -p src
+
+for lang in $(curl -sL "$url" | grep '\.xpi"' | cut -d'"' -f2 | rev | cut -d'/' -f1 | cut -d'.' -f3 | rev | sort); do
+ printf "\r %-3s..." "${lang%%-*}"
+ curl -s -o src/"$lang.xpi" "${url%/}/seamonkey-${pkgver%_*}.$lang.langpack.xpi"
+ sha512sum="$(sha512sum "src/$lang.xpi" | cut -d' ' -f1)"
+ name="$(unzip -p "src/$lang.xpi" install.rdf | grep " em:name=\"" | cut -d'"' -f2)"
+
+ printf " '%-5s \"%s\"'\n" "$lang" "$name" \
+ >> "languages.$CARCH.pkgnew"
+ printf " '%s'\n" "$sha512sum" \
+ >> "sha512sums.$CARCH.pkgnew"
+done
+echo
+
+echo ")" >> "languages.$CARCH.pkgnew"
+echo ")" >> "sha512sums.$CARCH.pkgnew"
+
+admsq() {
+ if cmp "$1"{,.pkgnew} > /dev/null; then
+ echo "$1 unchanged"
+ rm -f "$1.pkgnew"
+ else
+ diff -rupN "$1"{,.pkgnew}
+ while true; do
+ read -n1 -p "[a]pply, [d]elete, [m]erge, [s]kip, [q]uit " x
+ echo
+ case $x in
+ a) mv "$1"{.pkgnew,}
+ break
+ ;;
+ d) rm -f "$1".pkgnew
+ break
+ ;;
+ m) vimdiff "$1"{,.pkgnew}
+ rm "$1".pkgnew
+ break
+ ;;
+ s) break
+ ;;
+ q) exit
+ ;;
+ *) ;;
+ esac
+ done
+ fi
+}
+
+# compare and update
+admsq "languages.$CARCH"
+admsq "sha512sums.$CARCH"
+
+# update PKGBUILD checksums
+_languages_shasum="$(sha512sum "languages.$CARCH" | cut -d' ' -f1)"
+_sha512sums_shasum="$(sha512sum "sha512sums.$CARCH" | cut -d' ' -f1)"
+sed -e "s/^_languages_${CARCH}_shasum=.*/_languages_${CARCH}_shasum=\"${_languages_shasum}\"/" \
+ -e "s/^_sha512sums_${CARCH}_shasum=.*/_sha512sums_${CARCH}_shasum=\"${_sha512sums_shasum}\"/" \
+ PKGBUILD > PKGBUILD.pkgnew
+
+admsq "PKGBUILD"