help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

successfully(?) installed package but it can't be found/used


From: info
Subject: successfully(?) installed package but it can't be found/used
Date: Thu, 08 Jul 2021 09:35:12 -0500
User-agent: Horde Application Framework 5


Hi,

I would like to install Artanis v0.5 into my store. I see the patch https://issues.guix.gnu.org/46885#0 and incorporate the changes into a local guix.scm (pasted at the end of this message). I do not change guile-xyz.scm. The install seems to complete without error:

$ guix package --install-from-file=guix.scm
guix package: warning: Consider running 'guix pull' followed by
'guix package -u' to get up-to-date packages and security updates.

The following package will be upgraded:
   artanis 0.4.1 → 0.5

substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
The following derivations will be built:
   /gnu/store/zvw16sg5sj11b2gzgyrh7bhvzmbw01j2-artanis-0.5.drv
   /gnu/store/gkq3pzjqvvnwfd5v9ia2vqffcbq6d5nq-artanis-0.5.tar.xz.drv
   /gnu/store/ybh7mdkv7mnjsvy5bkxhcff50kzzbgpq-artanis-0.5.tar.gz.drv

building /gnu/store/ybh7mdkv7mnjsvy5bkxhcff50kzzbgpq-artanis-0.5.tar.gz.drv...
building /gnu/store/gkq3pzjqvvnwfd5v9ia2vqffcbq6d5nq-artanis-0.5.tar.xz.drv...
building /gnu/store/zvw16sg5sj11b2gzgyrh7bhvzmbw01j2-artanis-0.5.drv...
The following derivation will be built:
   /gnu/store/rcvd3kqvik3id62619vq586cvwdwx4gy-profile.drv

applying 1 graft for /gnu/store/zkbw06gwzv46rmj0qs2pc5i3hfign799-artanis-0.5.drv ...
building CA certificate bundle...
listing Emacs sub-directories...
building fonts directory...
generating GLib schema cache...
creating GTK+ icon theme cache...
building cache files for GTK+ input methods...
building directory of Info manuals...
building database for manual pages...
building XDG desktop file cache...
building XDG MIME database...
building profile with 29 packages...
hint: Consider setting the necessary environment variables by running:
     GUIX_PROFILE="/home/mbc/.guix-profile"
     . "$GUIX_PROFILE/etc/profile"
Alternately, see `guix package --search-paths -p "/home/mbc/.guix-profile"'.

However when I search for artanis:

$ guix package -s artanis
name: artanis
version: 0.4.1
outputs: out
systems: x86_64-linux i686-linux etc. etc.

If I search the store there are many artanis-0.5 files, sample below:

$find /gnu/store -wholename *artanis-0.5*

/gnu/store/6l81w3hcw6s4jn7nic0bh096nvql0ffc-artanis-0.5/lib/guile/3.0/site-ccache/artanis/mvc/view.go
/gnu/store/6l81w3hcw6s4jn7nic0bh096nvql0ffc-artanis-0.5/lib/guile/3.0/site-ccache/artanis/mvc/controller.go
/gnu/store/6l81w3hcw6s4jn7nic0bh096nvql0ffc-artanis-0.5/lib/guile/3.0/site-ccache/artanis/irregex.go
/gnu/store/6l81w3hcw6s4jn7nic0bh096nvql0ffc-artanis-0.5/lib/guile/3.0/site-ccache/artanis/ssql.go
/gnu/store/6l81w3hcw6s4jn7nic0bh096nvql0ffc-artanis-0.5/lib/guile/3.0/site-ccache/artanis/fprm.go
/gnu/store/6l81w3hcw6s4jn7nic0bh096nvql0ffc-artanis-0.5/lib/guile/3.0/site-ccache/artanis/third-party
/gnu/store/6l81w3hcw6s4jn7nic0bh096nvql0ffc-artanis-0.5/lib/guile/3.0/site-ccache/artanis/third-party/csv.go
/gnu/store/6l81w3hcw6s4jn7nic0bh096nvql0ffc-artanis-0.5/lib/guile/3.0/site-ccache/artanis/debug.go
/gnu/store/6l81w3hcw6s4jn7nic0bh096nvql0ffc-artanis-0.5/lib/guile/3.0/site-ccache/artanis/commands.go
/gnu/store/6l81w3hcw6s4jn7nic0bh096nvql0ffc-artanis-0.5/lib/guile/3.0/site-ccache/artanis/page.go
/gnu/store/6l81w3hcw6s4jn7nic0bh096nvql0ffc-artanis-0.5/lib/guile/3.0/site-ccache/artanis/artanis.go
/gnu/store/6l81w3hcw6s4jn7nic0bh096nvql0ffc-artanis-0.5/bin
/gnu/store/6l81w3hcw6s4jn7nic0bh096nvql0ffc-artanis-0.5/bin/art
/gnu/store/6l81w3hcw6s4jn7nic0bh096nvql0ffc-artanis-0.5/bin/.art-real
/gnu/store/b6g0wiw56gqjsj6ik9g53g5q9npwzkv8-profile/share/doc/artanis-0.5.......

If I try to create an ad hoc environment:

$ guix environment --ad-hoc artanis@0.5
guix environment: error: artanis: package not found for version 0.5

Where did I go wrong?
Thanks
Mortimer

--------guix.scm----------------

(use-modules
  (guix packages)
  ((guix licenses) #:prefix license:)
  (guix download)
  (guix build-system gnu)
  (gnu packages)
  (gnu packages autotools)
  (gnu packages guile)
  (gnu packages guile-xyz)
  (gnu packages pkg-config)
  (gnu packages texinfo)
  (gnu packages bash)
  (gnu packages linux)
  (gnu packages databases)
  (gnu packages nss)
  (gnu packages tls)
  (gnutls)
)

(define-public artanis
  (package
    (name "artanis")
    (version "0.5")
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://gnu/artanis/artanis-"
                                  version ".tar.gz"))
              (sha256
               (base32
                "1vk1kp2xhz35xa5n27cxlq9c88wk6qm7fqaac8rb0pb6k9pvsv7v"))
              (modules '((guix build utils)))
              (snippet
               '(begin
                  ;; Unbundle guile-redis and guile-json
                  (delete-file-recursively "artanis/third-party/json.scm")
                  (delete-file-recursively "artanis/third-party/json")
                  (delete-file-recursively "artanis/third-party/redis.scm")
                  (delete-file-recursively "artanis/third-party/redis")
                  (substitute* '("artanis/artanis.scm"
                                 "artanis/lpc.scm"
                                 "artanis/oht.scm")
                    (("(#:use-module \\()artanis third-party (json\\))" _
                      use-module json)
                     (string-append use-module json)))
                  (substitute* '("artanis/lpc.scm"
                                 "artanis/session.scm")
                    (("(#:use-module \\()artanis third-party (redis\\))" _
                      use-module redis)
                     (string-append use-module redis)))
                  (substitute* "artanis/oht.scm"
(("([[:punct:][:space:]]+)(->json-string)([[:punct:][:space:]]+)"
                      _ pre json-string post)
                     (string-append pre
                                    "scm" json-string
                                    post)))
                  (substitute* "artanis/artanis.scm"
(("[[:punct:][:space:]]+->json-string[[:punct:][:space:]]+")
                     ""))
                  #t))))
    (build-system gnu-build-system)
    (inputs
     `(("guile" ,guile-3.0)
       ("nss" ,nss)
       ("nspr" ,nspr)))
    ;; FIXME the bundled csv contains one more exported procedure
    ;; (sxml->csv-string) than guile-csv. The author is maintainer of both
    ;; projects.
    ;; TODO: Add guile-dbi and guile-dbd optional dependencies.
    (propagated-inputs
     `(("guile-json" ,guile-json-3)
       ("guile-readline" ,guile-readline)
       ("guile-redis" ,guile-redis)))
    (native-inputs
     `(("bash"       ,bash)         ;for the `source' builtin
       ("pkgconfig"  ,pkg-config)
       ("util-linux" ,util-linux))) ;for the `script' command
    (arguments
     '(#:make-flags
       ;; TODO: The documentation must be built with the `docs' target.
       (let* ((out (assoc-ref %outputs "out"))
              (scm (string-append out "/share/guile/site/3.0"))
              (go  (string-append out "/lib/guile/3.0/site-ccache")))
         ;; Don't use (%site-dir) for site paths.
         (list (string-append "MOD_PATH=" scm)
               (string-append "MOD_COMPILED_PATH=" go)))
       #:test-target "test"
       #:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'patch-site-dir
           (lambda* (#:key outputs #:allow-other-keys)
             (substitute* "artanis/commands/help.scm"
               (("\\(%site-dir\\)")
                (string-append "\""
                               (assoc-ref outputs "out")
                               "/share/guile/site/3.0\"")))))
         (add-after 'unpack 'patch-reference-to-libnss
           (lambda* (#:key inputs #:allow-other-keys)
             (substitute* "artanis/security/nss.scm"
               (("ffi-binding \"libnss3\"")
                (string-append
                 "ffi-binding \""
                 (assoc-ref inputs "nss") "/lib/nss/libnss3.so"
                 "\""))
               (("ffi-binding \"libssl3\"")
                (string-append "ffi-binding \""
                               (assoc-ref inputs "nss") "/lib/nss/libssl3.so"
                 "\"")))
             #t))
         (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
                 ((" /etc/bash.bashrc") " /dev/null"))
               (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)))
         (add-after 'install 'wrap-art
           (lambda* (#:key inputs outputs #:allow-other-keys)
             (let* ((out (assoc-ref outputs "out"))
                    (bin (string-append out "/bin"))
                    (scm (string-append out "/share/guile/site/3.0"))
                    (go  (string-append out "/lib/guile/3.0/site-ccache")))
               (wrap-program (string-append bin "/art")
                 `("GUILE_LOAD_PATH" ":" prefix
                   (,scm ,(getenv "GUILE_LOAD_PATH")))
                 `("GUILE_LOAD_COMPILED_PATH" ":" prefix
                   (,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))
               #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
designed to support the development of dynamic websites, web applications, web
services and web resources.  The framework aims to alleviate the overhead
associated with common activities performed in web development.  Artanis
provides several tools for web development: database access, templating
frameworks, session management, URL-remapping for RESTful, page caching, and
more.")
    (home-page "https://www.gnu.org/software/artanis/";)
    (license (list license:gpl3+ license:lgpl3+)))) ;dual license

artanis







reply via email to

[Prev in Thread] Current Thread [Next in Thread]