Subject: Re: bug#26863: guile-squee

From: Ricardo Wurmus <[email-masked]>
Date: Sun, 18 Jun 2017 13:28:00 +0200

Hi,

[…]

> +      (arguments
> +       `(#:modules ((guix build utils)
> +                    (ice-9 popen)
> +                    (ice-9 rdelim)
> +                    (srfi srfi-1)
> +                    (guix build gnu-build-system))
> +         #:tests? #f                    ; there is no test target
> +         #:phases
> +         (modify-phases %standard-phases
> +           (delete 'configure)
> +           (delete 'build)
> +           (replace 'install
> +             (lambda* (#:key outputs #:allow-other-keys)
> +               (let* ((cwd        (getcwd))
> +                      (scm-files  (find-files "." "\\.scm$"))
> +                      (effective  (read-line
> +                                   (open-pipe* OPEN_READ
> +                                               "guile" "-c"
> +                                               "(display (effective-version))")))
> +                      (module-dir (string-append (assoc-ref outputs "out")
> +                                                 "/share/guile/site/"
> +                                                 effective)))
> +
> +                 ;; Make installation directories.
> +                 (mkdir-p module-dir)
> +
> +                 (setenv "GUILE_AUTO_COMPILE" "0")
> +
> +                 ;; Compile .scm files and install.
> +                 (every (lambda (file)
> +                          (let ((go-file (string-append module-dir "/"
> +                                                        (basename file ".scm") ".go")))
> +                            ;; Install source module.
> +                            (install-file file module-dir)
> +                            ;; Compile and install module.
> +                            (zero? (system* "guild" "compile" "-L" cwd
> +                                            "-o" go-file file))))
> +                        scm-files)))))))

[…]

This looks like it really should be implemented in the Makefile of the project.

> +      (home-page "https://notabug.org/cwebber/guile-squee")

Luckily, upstream is no stranger!  Maybe it would be best to submit a
patch to add a Makefile first, so that we don’t need to do so much work
to package it.

> +      (synopsis "Postgresql bindings for Guile")
> +      (description "Squee is a library for connecting to the excellent
> +PostgreSQL database using Guile.  It uses Guile's \"foreign function
> +interface\" support, which means you don't need to compile
> +anything... it all happens through the magic of dynamic linking!")
> +      (license license:gpl3))))

According to the readme file this is not correct:

   The project is released under the GNU Lesser Public License, version 3
   or later (as published by the FSF), just like Guile itself.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net