unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* bug#26863: guile-squee
@ 2017-05-10  6:35 Catonano
  2017-05-10  6:59 ` Catonano
  2017-06-18 11:28 ` [bug#26863] guile-squee Ricardo Wurmus
  0 siblings, 2 replies; 5+ messages in thread
From: Catonano @ 2017-05-10  6:35 UTC (permalink / raw)
  To: 26863


[-- Attachment #1.1: Type: text/plain, Size: 18 bytes --]

I hope this is ok

[-- Attachment #1.2: Type: text/html, Size: 58 bytes --]

[-- Attachment #2: 0002-gnu-Add-guile-squee.patch --]
[-- Type: text/x-patch, Size: 3772 bytes --]

From 16e30382f69a46e8d7d6299c338b76a6cd13721b Mon Sep 17 00:00:00 2001
From: Adriano Peluso <catonano@gmail.com>
Date: Wed, 10 May 2017 08:32:40 +0200
Subject: [PATCH 2/2] gnu: Add guile-squee.

* gnu/packages/guile.scm (guile-squee): New variable.
---
 gnu/packages/guile.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index c7f3b8241..0dc2baab0 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -863,6 +863,71 @@ microAdapton.  Both miniAdapton and microAdapton are designed to be easy to
 understand, extend, and port to host languages other than Scheme.")
       (license license:expat))))
 
+(define-public guile-squee
+  (let ((commit "a85902a92bf6f58a1d35fd974a01ade163deda8d")
+        (revision "1"))
+    (package
+      (name "guile-squee")
+      (version (string-append "0-" revision "." (string-take commit 9)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://notabug.org/cwebber/guile-squee.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "0p1lpsp4kx57j3ai1dkxilm4ziavzzx8wbbc42m3hpziq0a7qz5z"))))
+      (build-system gnu-build-system)
+      (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)))))))
+      (inputs
+       `(("guile" ,guile-2.2)))
+      (home-page "https://notabug.org/cwebber/guile-squee")
+      (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))))
+
+
 (define-public guile-irregex
   (package
     (name "guile-irregex")
-- 
2.12.2


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* bug#26863: guile-squee
  2017-05-10  6:35 bug#26863: guile-squee Catonano
@ 2017-05-10  6:59 ` Catonano
  2017-06-18 11:28 ` [bug#26863] guile-squee Ricardo Wurmus
  1 sibling, 0 replies; 5+ messages in thread
From: Catonano @ 2017-05-10  6:59 UTC (permalink / raw)
  To: 26863

[-- Attachment #1: Type: text/plain, Size: 313 bytes --]

2017-05-10 8:35 GMT+02:00 Catonano <catonano@gmail.com>:

>
> I hope this is ok
>

it's not so ok

Squee contains a link to a C library. It then uses guile i to call C things.

I edited such link manually in order for squee to work on GuixSD

A general solution should be using some configuration machinery.

Ugh

[-- Attachment #2: Type: text/html, Size: 746 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#26863] guile-squee
  2017-05-10  6:35 bug#26863: guile-squee Catonano
  2017-05-10  6:59 ` Catonano
@ 2017-06-18 11:28 ` Ricardo Wurmus
  2017-06-18 11:56   ` Catonano
  1 sibling, 1 reply; 5+ messages in thread
From: Ricardo Wurmus @ 2017-06-18 11:28 UTC (permalink / raw)
  To: Catonano; +Cc: 26863


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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [bug#26863] guile-squee
  2017-06-18 11:28 ` [bug#26863] guile-squee Ricardo Wurmus
@ 2017-06-18 11:56   ` Catonano
  2017-06-18 14:17     ` bug#26863: guile-squee Ricardo Wurmus
  0 siblings, 1 reply; 5+ messages in thread
From: Catonano @ 2017-06-18 11:56 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 26863

[-- Attachment #1: Type: text/plain, Size: 971 bytes --]

2017-06-18 13:28 GMT+02:00 Ricardo Wurmus <rekado@elephly.net>:

>
> 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.
>

Right, we had a brief chat about this with cwebber. I will probably do
that, some day.
Not only a Makefile but the whole config.am paraphernalia


> > +      (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.
>

Oh right ! It slipped. I will keep this present in the next one I'll send

For now, I'd say that this issue can be closed.

It won't be soon.

Thanks for reviewing !

[-- Attachment #2: Type: text/html, Size: 1746 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#26863: guile-squee
  2017-06-18 11:56   ` Catonano
@ 2017-06-18 14:17     ` Ricardo Wurmus
  0 siblings, 0 replies; 5+ messages in thread
From: Ricardo Wurmus @ 2017-06-18 14:17 UTC (permalink / raw)
  To: Catonano; +Cc: 26863-done


Catonano <catonano@gmail.com> writes:

> For now, I'd say that this issue can be closed.
>
> It won't be soon.

Okay, I’m closing this for now.  Thank you!

-- 
Ricardo

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-06-18 14:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-10  6:35 bug#26863: guile-squee Catonano
2017-05-10  6:59 ` Catonano
2017-06-18 11:28 ` [bug#26863] guile-squee Ricardo Wurmus
2017-06-18 11:56   ` Catonano
2017-06-18 14:17     ` bug#26863: guile-squee Ricardo Wurmus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).