Merge branch 'master' into core-updates
[jackhill/guix/guix.git] / Makefile.am
index 7fa51d1..09e252f 100644 (file)
@@ -249,6 +249,7 @@ MODULES =                                   \
   guix/scripts/describe.scm                    \
   guix/scripts/system.scm                      \
   guix/scripts/system/search.scm               \
+  guix/scripts/system/reconfigure.scm          \
   guix/scripts/lint.scm                                \
   guix/scripts/challenge.scm                   \
   guix/scripts/import/crate.scm                        \
@@ -596,7 +597,7 @@ $(guix_install_go_files): install-nobase_dist_guilemoduleDATA
 # The above trick doesn't work for 'config.go' because both 'config.scm' and
 # 'config.go' are listed in $(nobase_nodist_guileobject_DATA).  Thus, give it
 # special treatment.
-install-data-hook: set-bootstrap-executable-permissions
+install-data-hook:
        touch "$(DESTDIR)$(guileobjectdir)/guix/config.go"
 
 # Assuming Guix is already installed and the daemon is up and running, this
@@ -850,6 +851,39 @@ cuirass-jobs.scm: $(GOBJECTS)
 .PHONY: clean-go make-go as-derivation
 .PHONY: update-guix-package update-NEWS release
 
+# Downloading up-to-date PO files.
+
+# make-download-po-rule DOMAIN DIRECTORY [FILE-NAME-PREFIX]
+define make-download-po-rule
+
+download-po.$(1):
+       if [ -f "$(top_srcdir)/$(2)/LINGUAS" ]; then                            \
+         LINGUAS="`grep -v '^[[:blank:]]*#' < $(top_srcdir)/$(2)/LINGUAS`" ;   \
+       else                                                                    \
+         LINGUAS="`(cd $(top_srcdir)/$(2);                                     \
+           for i in *.po; do echo $$$$i; done) | cut -d . -f 2`" ;             \
+       fi ;                                                                    \
+       for lang in $$$$LINGUAS; do                                             \
+         if wget -nv -O "$(top_srcdir)/$(2)/$(3)$$$$lang.po.tmp"               \
+            "https://translationproject.org/latest/$(1)/$$$$lang.po" ;         \
+         then                                                                  \
+           mv "$(top_srcdir)/$(2)/$(3)$$$$lang.po"{.tmp,} ;                    \
+         else                                                                  \
+           rm "$(top_srcdir)/$(2)/$(3)$$$$lang.po.tmp" ;                       \
+         fi ;                                                                  \
+       done
+
+.PHONY: download-po.$(1)
+
+endef
+
+$(eval $(call make-download-po-rule,guix,po/guix))
+$(eval $(call make-download-po-rule,guix-packages,po/packages))
+$(eval $(call make-download-po-rule,guix-manual,po/doc,guix-manual.))
+
+download-po: $(foreach domain,guix guix-packages guix-manual,download-po.$(domain))
+.PHONY: download-po
+
 ## -------------- ##
 ## Silent rules.  ##
 ## -------------- ##