unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#47851] [PACKAGE] Add cl-svg, inferior-shell, fare-mop, cl-png
@ 2021-04-17 21:08 Sharlatan Hellseher
  2021-04-19 15:54 ` bug#47851: " Guillaume Le Vaillant
  0 siblings, 1 reply; 2+ messages in thread
From: Sharlatan Hellseher @ 2021-04-17 21:08 UTC (permalink / raw)
  To: 47851

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

Hi Guix team!

Preparation list of patches for art generation system Weir
I've packed it but it's failed on ECL build with

;;; Warning: ;;; in file various.lisp, position 144 ;;; at
(DEFCONSTANT PII ...) ;;; ! The expression 6.283185307179586477l0 is
not of the expected type DOUBLE-FLOAT ;;; Warning: ;;; in file
various.lisp, position 195 ;;; at (DEFCONSTANT PI5 ...) ;;; ! The
expression 1.5707963267948966193l0 is not of the expected type
DOUBLE-FLOAT

Maintainer has not option for opening an issue.

For someone who has more knowledge in CL to check
https://github.com/Hellseher/guix-channel/blob/main/ffab/packages/lisp-xyz.scm#L1467

-- 
… наш разум - превосходная объяснительная машина которая способна
найти смысл почти в чем угодно, истолковать любой феномен, но
совершенно не в состоянии принять мысль о непредсказуемости.

[-- Attachment #2: 0001-gnu-Add-cl-png.patch --]
[-- Type: text/x-patch, Size: 2577 bytes --]

From 4c88394f72e61a7f7170075ca32d8e42b1acc645 Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <sharlatanus@gmail.com>
Date: Sat, 17 Apr 2021 21:37:45 +0100
Subject: [PATCH] gnu: Add cl-png

* gnu/packages/lisp-xyz.scm (sbcl-png, cl-png, ecl-png): New variables
---
 gnu/packages/lisp-xyz.scm | 42 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 7ee1957169..6c9353a9e2 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -68,6 +68,7 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages libevent)
   #:use-module (gnu packages libffi)
@@ -9224,6 +9225,47 @@ for reading and writing JPEG image files.")
 (define-public ecl-cl-jpeg
   (sbcl-package->ecl-package sbcl-cl-jpeg))
 
+(define-public sbcl-png
+  (let ((commit "11b965fe378fd0561abe3616b18ff03af5179648")
+        (revision "1"))
+    (package
+      (name "sbcl-png")
+      (version (git-version "2.1.2" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/ljosa/cl-png")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "173hqwpd0rwqf95mfx1h9l9c3i8bb0gvnpspzmmz3g5x3440czy4"))))
+      (build-system asdf-build-system/sbcl)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'fix-lib-paths
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "libpng.lisp"
+                 (("\"libpng\"") (string-append "\""
+                                        (assoc-ref inputs "libpng")
+                                        "/lib/libpng\""))))))))
+      (inputs
+       `(("cffi" ,sbcl-cffi)
+         ("libpng" ,libpng)))
+      (home-page "https://github.com/ljosa/cl-png")
+      (synopsis "Read and write PNG file format")
+      (description
+       "This package provides Common Lisp system @code{PNG} to operate with
+Portable Network Graphics file format.")
+      (license license:lgpl2.0))))
+
+(define-public ecl-png
+  (sbcl-package->ecl-package sbcl-png))
+
+(define-public cl-png
+  (sbcl-package->cl-source-package sbcl-png))
+
 (define-public sbcl-nodgui
   (let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
         (revision "1"))
-- 
2.30.2


[-- Attachment #3: 0001-gnu-Add-fare-mop.patch --]
[-- Type: text/x-patch, Size: 2348 bytes --]

From add3e4d659e3cd8d065940b35d9ade590fe6714d Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <sharlatanus@gmail.com>
Date: Sat, 17 Apr 2021 21:39:26 +0100
Subject: [PATCH] gnu: Add fare-mop

* gnu/packages/lisp-xyz.scm
  (sbcl-fare-mop, cl-fare-mop, ecl-fare-mop): New variables
---
 gnu/packages/lisp-xyz.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 6c9353a9e2..2269431275 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -5683,6 +5683,44 @@ basic everyday functions and macros.")
 (define-public ecl-fare-utils
   (sbcl-package->ecl-package sbcl-fare-utils))
 
+(define-public sbcl-fare-mop
+  (let ((commit "538aa94590a0354f382eddd9238934763434af30")
+        (revision "1"))
+    (package
+      (name "sbcl-fare-mop")
+      (version (git-version "1.0.1" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               ;; Other mirror, Fare is most active on GitHub.
+               ;; https://gitlab.common-lisp.net/frideau/fare-mop
+               (url "https://github.com/fare/fare-mop")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0maxs8392953fhnaa6zwnm2mdbhxjxipp4g4rvypm06ixr6pyv1c"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("close-mop" ,sbcl-closer-mop)
+         ("fare-utils" ,sbcl-fare-utils)))
+      (home-page "https://github.com/fare/fare-mop")
+      (synopsis "General purpose Common Lisp utilities using the Meta-Object Project")
+      (description
+       "FARE-MOP is a small collection of utilities using the MOP.  It notably
+contains a method SIMPLE-PRINT-OBJECT, and a mixin SIMPLE-PRINT-OBJECT-MIXIN
+that allow you to trivially define PRINT-OBJECT methods that print the
+interesting slots in your objects, which is great for REPL interaction and
+debugging.")
+      (license license:unlicense))))
+
+(define-public ecl-fare-mop
+  (sbcl-package->ecl-package sbcl-fare-mop))
+
+(define-public cl-fare-mop
+  (sbcl-package->cl-source-package sbcl-fare-mop))
+
 (define-public sbcl-trivial-utf-8
   (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
         (revision "1"))
-- 
2.30.2


[-- Attachment #4: 0001-gnu-Add-inferior-shell.patch --]
[-- Type: text/x-patch, Size: 2284 bytes --]

From 86e28c08c10ce5039beea1089dc2f23feb8f58ea Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <sharlatanus@gmail.com>
Date: Sat, 17 Apr 2021 21:41:15 +0100
Subject: [PATCH] gnu: Add inferior-shell

* gnu/packages/lisp-xyz.scm
  (sbcl-inferior-shell, cl-inferior-shell, ecl-inferior-shell): New variables
---
 gnu/packages/lisp-xyz.scm | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index 2269431275..bfa0c1a488 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -5721,6 +5721,43 @@ debugging.")
 (define-public cl-fare-mop
   (sbcl-package->cl-source-package sbcl-fare-mop))
 
+(define-public sbcl-inferior-shell
+  (let ((commit "15c2d04a7398db965ea1c3ba2d49efa7c851f2c2")
+        (revision "1"))
+    (package
+      (name "sbcl-inferior-shell")
+      (version (git-version "2.0.5" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               ;; Other mirror, Fare is most active on GitHub.
+               ;; https://gitlab.common-lisp.net/frideau/inferior-shell
+               (url "https://github.com/fare/inferior-shell")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "02qx37zzk5j4xmwh77k2qa2wvnzvaj6qml5dh2q7b6b1ljvgcj4m"))))
+      (build-system asdf-build-system/sbcl)
+      (inputs
+       `(("alexandira" ,sbcl-alexandria)
+         ("trivia" ,sbcl-trivia)
+         ("fare-utils" ,sbcl-fare-utils)
+         ("fare-quasiquote" ,sbcl-fare-quasiquote)
+         ("fare-mop" ,sbcl-fare-mop)))
+      (home-page "https://github.com/fare/inferior-shell")
+      (synopsis "Spawn local or remote processes and shell pipes")
+      (description
+       "This package provides Common Lisp system helping in scripting, it uses
+@code{uiop:run-program} as a backend.")
+      (license license:expat))))
+
+(define-public ecl-inferior-shell
+  (sbcl-package->ecl-package sbcl-inferior-shell))
+
+(define-public cl-inferior-shell
+  (sbcl-package->cl-source-package sbcl-fare-mop))
+
 (define-public sbcl-trivial-utf-8
   (let ((commit "4d427cfbb1c452436a0efb71c3205c9da67f718f")
         (revision "1"))
-- 
2.30.2


[-- Attachment #5: 0001-gnu-Add-cl-svg.patch --]
[-- Type: text/x-patch, Size: 1798 bytes --]

From 9da7dd17ff3e5a86c3af91d3e764637bbfbb0df0 Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <sharlatanus@gmail.com>
Date: Sat, 17 Apr 2021 21:44:09 +0100
Subject: [PATCH] gnu: Add cl-svg

* gnu/packages/lisp-xyz.scm (sbcl-cl-svg, cl-svg, ecl-cl-svg): New variables
---
 gnu/packages/lisp-xyz.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index bfa0c1a488..a0cd436066 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -9341,6 +9341,35 @@ Portable Network Graphics file format.")
 (define-public cl-png
   (sbcl-package->cl-source-package sbcl-png))
 
+(define-public sbcl-cl-svg
+  (let ((commit "1e988ebd2d6e2ee7be4744208828ef1b59e5dcdc")
+        (revision "1"))
+    (package
+      (name "sbcl-cl-svg")
+      (version (git-version "0.0.3" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/wmannis/cl-svg")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "11rmzimy6j7ln7q5y1h2kw1225rsfb6fpn89qjcq7h5lc8fay0wz"))))
+      (build-system asdf-build-system/sbcl)
+      (home-page "https://github.com/wmannis/cl-svg")
+      (synopsis "Write SVG file format")
+      (description
+       "This package provides Common Lisp system @code{CL-SVG} to produce
+Scalable Vector Graphics files.")
+      (license license:expat))))
+
+(define-public ecl-cl-svg
+  (sbcl-package->ecl-package sbcl-cl-svg))
+
+(define-public cl-svg
+  (sbcl-package->cl-source-package sbcl-fare-mop))
+
 (define-public sbcl-nodgui
   (let ((commit "4a9c2e7714b278fbe97d198c56f54ea87290001d")
         (revision "1"))
-- 
2.30.2


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

* bug#47851: [PACKAGE] Add cl-svg, inferior-shell, fare-mop, cl-png
  2021-04-17 21:08 [bug#47851] [PACKAGE] Add cl-svg, inferior-shell, fare-mop, cl-png Sharlatan Hellseher
@ 2021-04-19 15:54 ` Guillaume Le Vaillant
  0 siblings, 0 replies; 2+ messages in thread
From: Guillaume Le Vaillant @ 2021-04-19 15:54 UTC (permalink / raw)
  To: Sharlatan Hellseher; +Cc: 47851-done

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

Patches pushed as 1cef75faaebec55d0c5f1c03aed8deebff1dbad4 and
following with a few fixes. Thanks

Sharlatan Hellseher <sharlatanus@gmail.com> skribis:

> Hi Guix team!
>
> Preparation list of patches for art generation system Weir
> I've packed it but it's failed on ECL build with
>
> ;;; Warning: ;;; in file various.lisp, position 144 ;;; at
> (DEFCONSTANT PII ...) ;;; ! The expression 6.283185307179586477l0 is
> not of the expected type DOUBLE-FLOAT ;;; Warning: ;;; in file
> various.lisp, position 195 ;;; at (DEFCONSTANT PI5 ...) ;;; ! The
> expression 1.5707963267948966193l0 is not of the expected type
> DOUBLE-FLOAT
>
> Maintainer has not option for opening an issue.
>
> For someone who has more knowledge in CL to check
> https://github.com/Hellseher/guix-channel/blob/main/ffab/packages/lisp-xyz.scm#L1467

I think it's a bug in the "various.lisp" file. Inside it there is:

--8<---------------cut here---------------start------------->8---
(declaim (type double-float PII PI5))

(defconstant PII (the double-float #.(* PI 2d0)))
(defconstant PI5 (the double-float #.(* PI 0.5d0)))
--8<---------------cut here---------------end--------------->8---

However the Common Lisp spec indicates that 'pi' is a 'long-float'. It
works with SBCL because it implements 'double-float' and 'long-float' as
the same type (which is allowed according to the spec). However in ECL
the types are different ('long-float' has more precision than
'double-float').

Converting 'pi' to a 'double-float' should make the code work in both
SBCL and ECL (note: I've not tested):

--8<---------------cut here---------------start------------->8---
(declaim (type double-float PII PI5))

(defconstant PII (the double-float #.(* (float PI 1.0d0) 2d0)))
(defconstant PI5 (the double-float #.(* (float PI 1.0d0) 0.5d0)))
--8<---------------cut here---------------end--------------->8---

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]

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

end of thread, other threads:[~2021-04-19 15:57 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-04-17 21:08 [bug#47851] [PACKAGE] Add cl-svg, inferior-shell, fare-mop, cl-png Sharlatan Hellseher
2021-04-19 15:54 ` bug#47851: " Guillaume Le Vaillant

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