Hi, I am trying to install a non-packaged piece of software, [[ https://nomacs.org/][nomacs]]. It seems that through the paradigm of Guix, this is to be done with ~guix package~ rather than with ~make~ etc. Or, put differently, to install an application which is not in the package repos, I need to package it myself. Am I correct in my understanding?
I have read through "[[ https://www.gnu.org/software/guix/manual/en/html_node/Defining-Packages.html][Section 6.2 Defining Packages]]", as well as the blog post "[[ https://www.gnu.org/software/guix/blog/2018/a-packaging-tutorial-for-guix/][A packaging tutorial for Guix]]", and followed along at home. I was successful in packaging and installing "my-hello.scm". It seems to me that packaging ~nomacs~ should be as simple as replacing the relevant pieces within the "my-hello.scm" template. #+begin_src scheme :file my-nomacs.scm (use-modules (guix packages) (guix download) (guix build-system gnu) (guix licenses)) (package (name "nomacs") (version "3.12") (source (origin (method url-fetch) (uri (string-append "https://github.com/nomacs/nomacs/archive/" version ".tar.gz")) (sha256 (base32 "f4a32169e6c0cb939971da2732e4d67c6e2e649506da1b55bfc94963a26280ff")))) (build-system gnu-build-system) (synopsis "Open source image viewer") (description "nomacs is a free, open source image viewer, which supports multiple platforms. You can use it for viewing all common image formats including RAW and psd images.") (home-page "https://nomacs.org") (license gpl3+)) #+end_src However, when I try to install, I get an error about invalid base32: #+begin_src sh $ guix package --install-from-file=my-nomacs.scm guix package: error: exception thrown: #<condition &invalid-base32-character [character: #\e string: "f4a32169e6c0cb939971da2732e4d67c6e2e649506da1b55bfc94963a26280ff"] 23ee2a0> #+end_src Here is how I obtained that hash: #+begin_src sh $ wget https://github.com/nomacs/nomacs/archive/3.12.tar.gz --2019-07-02 06:36:39-- https://github.com/nomacs/nomacs/archive/3.12.tar.gz Resolving github.com (github.com)... 192.30.253.112 Connecting to github.com (github.com)|192.30.253.112|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://codeload.github.com/nomacs/nomacs/tar.gz/3.12 [following] --2019-07-02 06:36:40-- https://codeload.github.com/nomacs/nomacs/tar.gz/3.12 Resolving codeload.github.com (codeload.github.com)... 140.82.113.9 Connecting to codeload.github.com (codeload.github.com)|140.82.113.9|:443... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [application/x-gzip] Saving to: ‘3.12.tar.gz.1’ 3.12.tar.gz.1 [ <=> ] 1.66M 2.54MB/s in 0.7s 2019-07-02 06:36:41 (2.54 MB/s) - ‘3.12.tar.gz.1’ saved [1736648] $ sha256sum 3.12.tar.gz f4a32169e6c0cb939971da2732e4d67c6e2e649506da1b55bfc94963a26280ff 3.12.tar.gz #+end_src This is where I'm stuck. I know that the hash needs to be base32 and that the hash returned by ~sha256sum~ is not that. I would think this wouldn't matter since the Guile script calls ~base32~. I'm unsure how to proceed. Any advice would be appreciated! Thank you, Matt
