[packages/vivaldi] use find-lang for locales
glen
glen at pld-linux.org
Sun Sep 6 00:21:43 CEST 2015
commit 54a1cccf7d2087e55785ae9d641037af2a07e66d
Author: Elan Ruusamäe <glen at delfi.ee>
Date: Sun Sep 6 01:21:10 2015 +0300
use find-lang for locales
find-lang.sh | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
vivaldi.spec | 17 ++++++++++++++---
2 files changed, 66 insertions(+), 3 deletions(-)
---
diff --git a/vivaldi.spec b/vivaldi.spec
index 6f55557..38d4961 100644
--- a/vivaldi.spec
+++ b/vivaldi.spec
@@ -1,7 +1,7 @@
Summary: An advanced browser made with the power user in mind
Name: vivaldi
Version: 1.0.252.3
-Release: 0.2
+Release: 0.3
License: Vivaldi
Group: X11/Applications/Networking
Source0: https://vivaldi.com/download/snapshot/%{name}-snapshot_%{version}-1_i386.deb
@@ -10,6 +10,7 @@ NoSource: 0
Source1: https://vivaldi.com/download/snapshot/%{name}-snapshot_%{version}-1_amd64.deb
# NoSource1-md5: b18994a388c83b98c7ccbb1755de103d
NoSource: 1
+Source2: find-lang.sh
Patch0: bin.patch
Patch1: desktop.patch
URL: https://vivaldi.com/
@@ -27,6 +28,8 @@ Provides: wwwbrowser
ExclusiveArch: %{ix86} %{x8664}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define find_lang sh find-lang.sh %{buildroot}
+
%define _enable_debug_packages 0
%define no_install_post_strip 1
@@ -68,6 +71,8 @@ mv usr/share/applications/vivaldi-snapshot.desktop %{name}.desktop
%patch0 -p1
%patch1 -p1
+%{__sed} -e 's, at localedir@,%{_datadir}/%{name},' %{_sourcedir}/find-lang.sh > find-lang.sh
+
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins \
@@ -100,6 +105,11 @@ install_icons() {
}
install_icons
+# find locales
+%find_lang %{name}.lang
+# always package en-US
+%{__sed} -i -e '/en-US.pak/d' %{name}.lang
+
%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/plugins -b <<'EOF'
EOF
@@ -118,7 +128,7 @@ if [ "$1" = 0 ]; then
%update_browser_plugins
fi
-%files
+%files -f %{name}.lang
%defattr(644,root,root,755)
%{_browserpluginsconfdir}/browsers.d/%{name}.*
%config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.*.blacklist
@@ -128,7 +138,8 @@ fi
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/resources
%{_datadir}/%{name}/resources/%{name}
-%{_datadir}/%{name}/locales
+%dir %{_datadir}/%{name}/locales
+%{_datadir}/%{name}/locales/en-US.pak
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/icudtl.dat
diff --git a/find-lang.sh b/find-lang.sh
new file mode 100755
index 0000000..1bc9b65
--- /dev/null
+++ b/find-lang.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+PROG=${0##*/}
+if [ $# = 2 ]; then
+ # for using same syntax as rpm own find-lang
+ RPM_BUILD_ROOT=$1
+ shift
+fi
+dir=$RPM_BUILD_ROOT at localedir@/locales
+langfile=$1
+tmp=$(mktemp) || exit 1
+rc=0
+
+find $dir -name '*.pak' > $tmp
+
+echo '%defattr(644,root,root,755)' > $langfile
+while read file; do
+ lang=${file##*/}
+ lang=${lang%.pak}
+ case "$lang" in
+ zh-TW)
+ lang=zh_TW
+ ;;
+ zh-CN)
+ lang=zh_CN
+ ;;
+ en-US|en-GB)
+ lang=en
+ ;;
+ pt-BR)
+ lang=pt_BR
+ ;;
+ pt-PT)
+ lang=pt
+ ;;
+ es-419)
+ lang=es_LA
+ ;;
+ *-*)
+ echo >&2 "ERROR: Need mapping for $lang!"
+ rc=1
+ ;;
+ esac
+ echo "%lang($lang) ${file#$RPM_BUILD_ROOT}" >> $langfile
+done < $tmp
+
+if [ "$(grep -Ev '(^%defattr|^$)' $langfile | wc -l)" -le 0 ]; then
+ echo >&2 "$PROG: Error: international files not found!"
+ rc=1
+fi
+
+rm -f $tmp
+exit $rc
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/vivaldi.git/commitdiff/54a1cccf7d2087e55785ae9d641037af2a07e66d
More information about the pld-cvs-commit
mailing list