[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