diff --git a/gnu/local.mk b/gnu/local.mk index ab3fbb2d39..01bcff584a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -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 \ diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index b9cd664604..b57f4c3b6c 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -387,18 +387,17 @@ (define-public guildhall (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 @@ (define-public artanis '(#: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 @@ (define-public artanis (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 diff --git a/gnu/packages/patches/artanis-fix-Makefile.in.patch b/gnu/packages/patches/artanis-fix-Makefile.in.patch deleted file mode 100644 index 7e4800d364..0000000000 --- a/gnu/packages/patches/artanis-fix-Makefile.in.patch +++ /dev/null @@ -1,70 +0,0 @@ -Applies until an Artanis release comes with the following patches -applied: -* -* -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