~ruther/guix-local

dfcd02c0f69a36bf91bfd1dfc9f8144fa6888df5 — Ludovic Courtès 8 years ago ea4678a
gnu: artanis: Update to 0.2.1.

* gnu/packages/guile.scm (artanis): Update to 0.2.1.
[inputs]: Switch to GUILE-2.2.
[arguments]: Adjust #:make-flags for Guile 2.2.  Take .go files from
lib/guile/2.2.  Add 'wrap-art' phase.
* gnu/packages/patches/artanis-fix-Makefile.in.patch: Remove.
* gnu/local.mk (dist_patch_DATA): Remove it.
3 files changed, 19 insertions(+), 81 deletions(-)

M gnu/local.mk
M gnu/packages/guile.scm
D gnu/packages/patches/artanis-fix-Makefile.in.patch
M gnu/local.mk => gnu/local.mk +0 -1
@@ 504,7 504,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/agg-am_c_prototype.patch			\
  %D%/packages/patches/antiword-CVE-2014-8123.patch			\
  %D%/packages/patches/apr-skip-getservbyname-test.patch	\
  %D%/packages/patches/artanis-fix-Makefile.in.patch		\
  %D%/packages/patches/aspell-default-dict-dir.patch		\
  %D%/packages/patches/ath9k-htc-firmware-binutils.patch	\
  %D%/packages/patches/ath9k-htc-firmware-gcc.patch		\

M gnu/packages/guile.scm => gnu/packages/guile.scm +19 -10
@@ 387,18 387,17 @@ program can be installed in one go.")
(define-public artanis
  (package
    (name "artanis")
    (version "0.1.2")
    (version "0.2.1")
    (source (origin
              (method url-fetch)
              (uri (string-append "ftp://alpha.gnu.org/gnu/artanis/artanis-"
                                  version ".tar.gz"))
              (sha256
               (base32
                "19m3ak12cqk8js9d2mdg11kh4fjsq8frfpd10qw75h0zpr5cywpp"))
              (patches (search-patches "artanis-fix-Makefile.in.patch"))))
                "041ajcg2pz918kd9iqcj4inpzddc3impvz3r2nhlpbv8zrz011hn"))))
    (build-system gnu-build-system)
    ;; TODO: Add guile-dbi and guile-dbd optional dependencies.
    (inputs `(("guile" ,guile-2.0)))
    (inputs `(("guile" ,guile-2.2)))
    (native-inputs `(("bash"       ,bash)         ;for the `source' builtin
                     ("pkgconfig"  ,pkg-config)
                     ("util-linux" ,util-linux))) ;for the `script' command


@@ 406,15 405,15 @@ program can be installed in one go.")
     '(#:make-flags
       ;; TODO: The documentation must be built with the `docs' target.
       (let* ((out (assoc-ref %outputs "out"))
              (dir (string-append out "/share/guile/site/2.0")))
              (scm (string-append out "/share/guile/site/2.2"))
              (go  (string-append out "/lib/guile/2.2/site-ccache")))
         ;; Don't use (%site-dir) for site paths.
         (list (string-append "MOD_PATH=" dir)
               (string-append "MOD_COMPILED_PATH=" dir)))
         (list (string-append "MOD_PATH=" scm)
               (string-append "MOD_COMPILED_PATH=" go)))
       #:test-target "test"
       #:phases
       (modify-phases %standard-phases
         (add-before
          'install 'substitute-root-dir
         (add-before 'install 'substitute-root-dir
          (lambda* (#:key outputs #:allow-other-keys)
            (let ((out  (assoc-ref outputs "out")))
              (substitute* "Makefile"   ;ignore the execution of bash.bashrc


@@ 422,7 421,17 @@ program can be installed in one go.")
              (substitute* "Makefile"   ;set the root of config files to OUT
                ((" /etc") (string-append " " out "/etc")))
              (mkdir-p (string-append out "/bin")) ;for the `art' executable
              #t))))))
              #t)))
         (add-after 'install 'wrap-art
           (lambda* (#:key outputs #:allow-other-keys)
             (let* ((out (assoc-ref outputs "out"))
                    (bin (string-append out "/bin"))
                    (scm (string-append out "/share/guile/site/2.2"))
                    (go  (string-append out "/lib/guile/2.2/site-ccache")))
               (wrap-program (string-append bin "/art")
                 `("GUILE_LOAD_PATH" ":" prefix (,scm))
                 `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go)))
               #t))))))
    (synopsis "Web application framework written in Guile")
    (description "GNU Artanis is a web application framework written in Guile
Scheme.  A web application framework (WAF) is a software framework that is

D gnu/packages/patches/artanis-fix-Makefile.in.patch => gnu/packages/patches/artanis-fix-Makefile.in.patch +0 -70
@@ 1,70 0,0 @@
Applies until an Artanis release comes with the following patches
applied:
* <https://savannah.gnu.org/patch/?func=detailitem&item_id=9130>
* <https://savannah.gnu.org/patch/?func=detailitem&item_id=9131>
diff -ru artanis-0.1.2/Makefile.in artanis-0.1.2.1/Makefile.in
--- artanis-0.1.2/Makefile.in	2016-02-10 12:35:18.800490571 -0200
+++ artanis-0.1.2.1/Makefile.in	2016-10-15 19:44:35.140907367 -0300
@@ -19,9 +19,18 @@
 MOD_OBJ := $(OBJ)/artanis
 BIN := bin
 TEMP_LIB_PATH := $(OBJ)
-MOD_PATH := $(shell guile -c "(display (%site-dir))")
 MOD_COMPILED_PATH := $(shell guile -c "(display (%site-ccache-dir))")
+
+ifdef DESTDIR
+INFO_DIR := $(DESTDIR)/share/info/
+MOD_PATH := $(DESTDIR)/$(shell guile -c "(display (%site-dir))")
 MOD_TARGET_PATH := $(DESTDIR)/$(MOD_COMPILED_PATH)
+else
+INFO_DIR := $(PREFIX)/share/info/
+MOD_PATH := $(shell guile -c "(display (%site-dir))")
+MOD_TARGET_PATH := $(MOD_COMPILED_PATH)
+endif
+
 GUILE_CFLAGS := -Wunsupported-warning -Wunbound-variable -Warity-mismatch -Wduplicate-case-datum -Wbad-case-datum -Wformat
 GUILEC := GUILE_LOAD_COMPILED_PATH=$(TEMP_LIB_PATH) guild compile $(GUILE_CFLAGS)
 ARTANIS_ETC := $(SRC)/etc/artanis
@@ -36,7 +45,6 @@
 GENDOCS :=$(BUILD_AUX)/gendocs.sh
 CHK_TEXINFO := $(BUILD_AUX)/check_texinfo.scm
 CP := cp -frd -P
-INFO_DIR := $(PREFIX)/share/info/
 TARBALL_NAME := artanis-$(VERSION)
 TMP_DIR := $(shell mktemp -d)
 ANN_GEN := $(BUILD_AUX)/announce-gen
@@ -124,18 +132,29 @@
 	-rm -f config.{h,log}
 
 install: $(ALL_TARGETS)
-	mkdir -p $(DESTDIR)/$(MOD_PATH)
-	$(CP) $(MOD) $(DESTDIR)/$(MOD_PATH)/
+	mkdir -p $(MOD_PATH)
+	$(CP) $(MOD) $(MOD_PATH)/
 	mkdir -p $(MOD_TARGET_PATH)/
 	$(CP) $(MOD_OBJ) $(MOD_TARGET_PATH)/
+
+ifdef DESTDIR
 	$(CP) $(ARTANIS_ETC) $(DESTDIR)/etc/
 	$(CP) $(ARTANIS_PAGES) $(DESTDIR)/etc/artanis/
-	mkdir -p $(DESTDIR)/$(PREFIX)/bin/
-	$(CP) $(BIN)/art $(DESTDIR)/$(PREFIX)/bin/
+	mkdir -p $(DESTDIR)/bin/
+	$(CP) $(BIN)/art $(DESTDIR)/bin/
 	mkdir -p $(DESTDIR)/etc/bash_completion.d/
 	$(CP) $(CMDCOMP) $(DESTDIR)/etc/bash_completion.d/
+else
+	$(CP) $(ARTANIS_ETC) $(PREFIX)/etc/
+	$(CP) $(ARTANIS_PAGES) $(PREFIX)/etc/artanis/
+	mkdir -p $(PREFIX)/bin/
+	$(CP) $(BIN)/art $(PREFIX)/bin/
+	mkdir -p $(PREFIX)/etc/bash_completion.d/
+	$(CP) $(CMDCOMP) $(PREFIX)/etc/bash_completion.d/
+endif
+
 	if [ -e /etc/bash.bashrc ]; then source /etc/bash.bashrc; fi
-	if [ -e artanis.info ]; then mkdir -p $(DESTDIR)/$(INFO_DIR); $(CP) artanis.info $(DESTDIR)/$(INFO_DIR)/; fi
+	if [ -e artanis.info ]; then mkdir -p $(INFO_DIR); $(CP) artanis.info $(INFO_DIR)/; fi
 
 distclean: distclean-mk clean clean-config clean-tarball
 	-rm -f $(BIN)/art