media-video/aegisub: fix installation of 3.0.4 with empty LINGUAS
authorIlya Tumaykin <itumaykin@gmail.com>
Fri, 1 Jan 2016 02:53:07 +0000 (05:53 +0300)
committerIan Delaney <idella4@gentoo.org>
Fri, 1 Jan 2016 07:55:09 +0000 (15:55 +0800)
3.2.2 and live are not affected.

Package-Manager: portage-2.2.24

media-video/aegisub/aegisub-3.0.4.ebuild
media-video/aegisub/files/aegisub-3.0.4-fix-install-with-empty-LINGUAS.patch [new file with mode: 0644]

index 6320424e2c32f0e494d824affce53555b5c6c791..93bc4fef317b52fea915795c7c7e1c38a6c56dd5 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
@@ -57,6 +57,7 @@ REQUIRED_USE="
 
 PATCHES=(
        "${FILESDIR}/${P}-fix-lua-macro.patch"
+       "${FILESDIR}/${P}-fix-install-with-empty-LINGUAS.patch"
        "${FILESDIR}/${P}-respect-user-compiler-flags.patch"
 )
 
diff --git a/media-video/aegisub/files/aegisub-3.0.4-fix-install-with-empty-LINGUAS.patch b/media-video/aegisub/files/aegisub-3.0.4-fix-install-with-empty-LINGUAS.patch
new file mode 100644 (file)
index 0000000..59927d3
--- /dev/null
@@ -0,0 +1,23 @@
+Upstream always installs all available localization files. We workaround it by
+sed'ing out unneeded languages from PO variable in aegisub/po/Makefile file.
+This can lead to an empty PO definition and in this case install target fails.
+Thus a simple guard is introduced to prevent this fail.
+
+diff --git a/aegisub/po/Makefile b/aegisub/po/Makefile
+index 0b73bde..957c123 100644
+--- a/aegisub/po/Makefile
++++ b/aegisub/po/Makefile
+@@ -38,11 +38,13 @@ all: $(MO)
+       $(BIN_MSGFMT) -o $@ $<
+ 
+ install:
++ifdef PO
+       @$(BIN_MKDIR) -p $(addsuffix /LC_MESSAGES/, $(addprefix $(DESTDIR)$(P_LOCALE)/, $(basename $(PO))))
+       @for i in $(basename $(PO)); do \
+               echo $(BIN_INSTALL) $$i.mo $(DESTDIR)$(P_LOCALE)/$$i/LC_MESSAGES/$(AEGISUB_CATALOG).mo; \
+               $(BIN_INSTALL) $$i.mo $(DESTDIR)$(P_LOCALE)/$$i/LC_MESSAGES/$(AEGISUB_CATALOG).mo; \
+       done
++endif
+ 
+ 
+ CLEANFILES = $(MO)