unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Cannot build guile-chickadee.
@ 2018-06-20  1:03 Ricardo Wurmus
  2018-06-20  7:00 ` Pierre Neidhardt
  2018-06-20 14:43 ` Joshua Branson
  0 siblings, 2 replies; 8+ messages in thread
From: Ricardo Wurmus @ 2018-06-20  1:03 UTC (permalink / raw)
  To: help-guix; +Cc: davet

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

Hi there,

I’m trying to get Chickadee packaged.  Attached is a package definition.
The build fails when chickadee/render/shapes.scm is supposed to be
compiled:

--8<---------------cut here---------------start------------->8---
…
  GEN      chickadee/render/shapes.go
Backtrace:
          19 (primitive-load-path "sdl2" #<procedure d72da0 at ice-9…>)
In ice-9/eval.scm:
   721:20 18 (primitive-eval _)
In ice-9/psyntax.scm:
  1234:36 17 (expand-top-sequence _ _ _ #f _ _ _)
  1181:24 16 (parse _ (("placeholder" placeholder)) ((top) #(# # …)) …)
   284:10 15 (parse _ (("placeholder" placeholder)) (()) _ c&e (eval) …)
In ice-9/eval.scm:
   293:34 14 (_ #<module (#{ g112}#) d75f00>)
In ice-9/boot-9.scm:
   2866:4 13 (define-module* _ #:filename _ #:pure _ #:version _ # _ …)
  2879:24 12 (_)
   230:29 11 (map1 _)
   230:29 10 (map1 _)
   230:29  9 (map1 _)
   230:29  8 (map1 _)
   230:17  7 (map1 (((sdl2 bindings) #:prefix #:ffi)))
  2805:10  6 (resolve-interface (sdl2 bindings) #:select _ #:hide _ # …)
   268:13  5 (for-each #<procedure 13ebac0 at ice-9/boot-9.scm:2805…> …)
  2818:41  4 (_ _)
  1475:39  3 (symbol-append #:ffi SDLK_F19)
   230:17  2 (map1 (#:ffi SDLK_F19))
In unknown file:
           1 (symbol->string #:ffi)
In ice-9/boot-9.scm:
   760:25  0 (dispatch-exception _ _ _)

ice-9/boot-9.scm:760:25: In procedure dispatch-exception:
ice-9/boot-9.scm:760:25: In procedure symbol->string: Wrong type argument in position 1 (expecting symbol): #:ffi
make: *** [Makefile:1047: chickadee/render/shapes.go] Error 1
--8<---------------cut here---------------end--------------->8---

Any ideas what might be wrong here?

-- 
Ricardo


[-- Attachment #2: 0001-gnu-Add-guile-chickadee.patch --]
[-- Type: text/x-patch, Size: 3025 bytes --]

From d3854140439110bd66742c1252a0768141cd6a61 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Wed, 20 Jun 2018 02:59:23 +0200
Subject: [PATCH] gnu: Add guile-chickadee.

* gnu/packages/game-development.scm (guile-chickadee): New variable.
---
 gnu/packages/game-development.scm | 38 ++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 3d6a038d9..5a192d939 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
 ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016, 2017 Julian Graham <joolean@gmail.com>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
@@ -74,6 +74,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages sdl)
+  #:use-module (gnu packages texinfo)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xdisorg)
@@ -1233,3 +1234,38 @@ related games such as Heretic and Hexen.  It comes with a 3d preview mode and
 a 2D editor view.")
     (home-page "http://eureka-editor.sourceforge.net/")
     (license license:gpl2+)))
+
+(define-public guile-chickadee
+  (package
+    (name "guile-chickadee")
+    (version "0.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://files.dthompson.us/chickadee/"
+                                  "chickadee-" version ".tar.gz"))
+              (sha256
+               (base32
+                "10qx0ha5gsayybd186r1my7vc7rf5fbzp9jvmc4xg9a8wz8rqhah"))))
+    (build-system gnu-build-system)
+    (propagated-inputs
+     `(("guile-opengl" ,guile-opengl)
+       ("guile-sdl2" ,guile-sdl2)))
+    (inputs
+     `(("guile" ,guile-2.2)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("texinfo" ,texinfo)))
+    (home-page "https://dthompson.us/projects/chickadee.html")
+    (synopsis "Game development toolkit for Guile Scheme with SDL2 and OpenGL")
+    (description "Chickadee is a game development toolkit for Guile Scheme
+built on top of SDL2 and OpenGL.  Chickadee aims to provide all the features
+that parenthetically inclined game developers need to make 2D (and eventually
+3D) games in Scheme, such as:
+
+@enumerate
+@item extensible, fixed-timestep game loop
+@item OpenGL-based rendering engine
+@item keyboard, mouse, controller input
+@item REPL-driven development model
+@end enumerate\n")
+    (license license:gpl3+)))
-- 
2.17.1


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

* Re: Cannot build guile-chickadee.
  2018-06-20  1:03 Cannot build guile-chickadee Ricardo Wurmus
@ 2018-06-20  7:00 ` Pierre Neidhardt
  2018-06-20  9:01   ` Ricardo Wurmus
  2018-06-20 14:43 ` Joshua Branson
  1 sibling, 1 reply; 8+ messages in thread
From: Pierre Neidhardt @ 2018-06-20  7:00 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: help-guix, davet

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


Yes, last time I tried I had a similar issue: this is because you need
the latest guile-sdl2 and guile-opengl.
All three projects are by David Thompson who kindly provided a Guix
package definition within the repositories.  Simply use that to update
the 2 libraries packages.

As I mentioned in an e-mail I've sent recently, I'd like to update the 2
package definitions in Guix and add Chickadee to the Guix repo.
What do you think?

-- 
Pierre Neidhardt

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

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

* Re: Cannot build guile-chickadee.
  2018-06-20  7:00 ` Pierre Neidhardt
@ 2018-06-20  9:01   ` Ricardo Wurmus
  2018-06-20  9:27     ` Ricardo Wurmus
  0 siblings, 1 reply; 8+ messages in thread
From: Ricardo Wurmus @ 2018-06-20  9:01 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: help-guix, davet

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


Hi Pierre,

> Yes, last time I tried I had a similar issue: this is because you need
> the latest guile-sdl2 and guile-opengl.

There does not seem to be a more recent guile-opengl.  I have added
guile-sdl2-devel, which is built from the latest git commit.

I also updated guile-chickadee to use the latest version from git.
Unfortunately, it still won’t build.

> As I mentioned in an e-mail I've sent recently, I'd like to update the 2
> package definitions in Guix and add Chickadee to the Guix repo.
> What do you think?

I’d prefer to use only released versions in Guix unless it cannot be
avoided to use development versions.

-- 
Ricardo



[-- Attachment #2: 0001-gnu-Add-guile-chickadee.patch --]
[-- Type: text/x-patch, Size: 3029 bytes --]

From d3854140439110bd66742c1252a0768141cd6a61 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Wed, 20 Jun 2018 02:59:23 +0200
Subject: [PATCH 1/3] gnu: Add guile-chickadee.

* gnu/packages/game-development.scm (guile-chickadee): New variable.
---
 gnu/packages/game-development.scm | 38 ++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 3d6a038d9..5a192d939 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -6,7 +6,7 @@
 ;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
 ;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
-;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016, 2017 Julian Graham <joolean@gmail.com>
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
@@ -74,6 +74,7 @@
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages sdl)
+  #:use-module (gnu packages texinfo)
   #:use-module (gnu packages tls)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xdisorg)
@@ -1233,3 +1234,38 @@ related games such as Heretic and Hexen.  It comes with a 3d preview mode and
 a 2D editor view.")
     (home-page "http://eureka-editor.sourceforge.net/")
     (license license:gpl2+)))
+
+(define-public guile-chickadee
+  (package
+    (name "guile-chickadee")
+    (version "0.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://files.dthompson.us/chickadee/"
+                                  "chickadee-" version ".tar.gz"))
+              (sha256
+               (base32
+                "10qx0ha5gsayybd186r1my7vc7rf5fbzp9jvmc4xg9a8wz8rqhah"))))
+    (build-system gnu-build-system)
+    (propagated-inputs
+     `(("guile-opengl" ,guile-opengl)
+       ("guile-sdl2" ,guile-sdl2)))
+    (inputs
+     `(("guile" ,guile-2.2)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("texinfo" ,texinfo)))
+    (home-page "https://dthompson.us/projects/chickadee.html")
+    (synopsis "Game development toolkit for Guile Scheme with SDL2 and OpenGL")
+    (description "Chickadee is a game development toolkit for Guile Scheme
+built on top of SDL2 and OpenGL.  Chickadee aims to provide all the features
+that parenthetically inclined game developers need to make 2D (and eventually
+3D) games in Scheme, such as:
+
+@enumerate
+@item extensible, fixed-timestep game loop
+@item OpenGL-based rendering engine
+@item keyboard, mouse, controller input
+@item REPL-driven development model
+@end enumerate\n")
+    (license license:gpl3+)))
-- 
2.17.1


[-- Attachment #3: 0002-gnu-Add-guile-sdl2-devel.patch --]
[-- Type: text/x-patch, Size: 2618 bytes --]

From 98eb2053080aa033edf402f72925a2c4891ffe7a Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Wed, 20 Jun 2018 10:56:23 +0200
Subject: [PATCH 2/3] gnu: Add guile-sdl2-devel.

* gnu/packages/sdl.scm (guile-sdl2-devel): New variable.
---
 gnu/packages/sdl.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index 43cf2795d..7f3694199 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -30,10 +31,12 @@
   #:use-module ((guix licenses) #:hide (freetype))
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
   #:use-module (gnu packages audio)
+  #:use-module (gnu packages autotools)
   #:use-module (gnu packages fcitx)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages freedesktop)
@@ -46,6 +49,7 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages gl)
+  #:use-module (gnu packages texinfo)
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xiph)
   #:use-module (gnu packages xorg)
@@ -519,3 +523,24 @@ sound and device input (keyboards, joysticks, mice, etc.).")
 The bindings are written in pure Scheme using Guile's foreign function
 interface.")
     (license lgpl3+)))
+
+(define-public guile-sdl2-devel
+  (let ((commit "3b814d7eb0b60c691803aa8681bcbd222acac36d")
+        (revision "1"))
+    (package (inherit guile-sdl2)
+      (name "guile-sdl2-devel")
+      (version (git-version "0.2.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "git://dthompson.us/guile-sdl2.git")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "1rc8nggkqgjdnygsg1wk49j44ri3rq3znwdr6dwzrhjbnfixlbqh"))))
+       (native-inputs
+       `(("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("pkg-config" ,pkg-config)
+         ("texinfo" ,texinfo)
+         ("guile" ,guile-2.2))))))
-- 
2.17.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-gnu-guile-chickadee-Update-to-0.2.0-1.bbb9f814.patch --]
[-- Type: text/x-patch, Size: 3313 bytes --]

From 2a02533a6442ffbe50f0c10acffb7e0ccb9ce4bf Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <rekado@elephly.net>
Date: Wed, 20 Jun 2018 10:56:43 +0200
Subject: [PATCH 3/3] gnu: guile-chickadee: Update to 0.2.0-1.bbb9f814.

* gnu/packages/game-development.scm (guile-chickadee): Update to
0.2.0-1.bbb9f814.
[source]: Fetch from git.
[native-inputs]: Add autoconf and automake.
[propagated-inputs]: Use guile-sdl2-devel instead of guile-sdl2.
---
 gnu/packages/game-development.scm | 51 +++++++++++++++++--------------
 1 file changed, 28 insertions(+), 23 deletions(-)

diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 5a192d939..7bfab31d4 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1236,28 +1236,33 @@ a 2D editor view.")
     (license license:gpl2+)))
 
 (define-public guile-chickadee
-  (package
-    (name "guile-chickadee")
-    (version "0.2.0")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "https://files.dthompson.us/chickadee/"
-                                  "chickadee-" version ".tar.gz"))
-              (sha256
-               (base32
-                "10qx0ha5gsayybd186r1my7vc7rf5fbzp9jvmc4xg9a8wz8rqhah"))))
-    (build-system gnu-build-system)
-    (propagated-inputs
-     `(("guile-opengl" ,guile-opengl)
-       ("guile-sdl2" ,guile-sdl2)))
-    (inputs
-     `(("guile" ,guile-2.2)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("texinfo" ,texinfo)))
-    (home-page "https://dthompson.us/projects/chickadee.html")
-    (synopsis "Game development toolkit for Guile Scheme with SDL2 and OpenGL")
-    (description "Chickadee is a game development toolkit for Guile Scheme
+  (let ((commit "bbb9f814eff0683dffdbbf6c209db10fc2c78c84")
+        (revision "1"))
+    (package
+      (name "guile-chickadee")
+      (version (git-version "0.2.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "git://dthompson.us/chickadee.git")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "1zsw69ddavqdyq3zd5sxg2cs9ghzd5dh6jk2d7lbggpawjjxvk4g"))))
+      (build-system gnu-build-system)
+      (propagated-inputs
+       `(("guile-opengl" ,guile-opengl)
+         ("guile-sdl2" ,guile-sdl2-devel)))
+      (inputs
+       `(("guile" ,guile-2.2)))
+      (native-inputs
+       `(("pkg-config" ,pkg-config)
+         ("texinfo" ,texinfo)
+         ("autoconf" ,autoconf)
+         ("automake" ,automake)))
+      (home-page "https://dthompson.us/projects/chickadee.html")
+      (synopsis "Game development toolkit for Guile Scheme with SDL2 and OpenGL")
+      (description "Chickadee is a game development toolkit for Guile Scheme
 built on top of SDL2 and OpenGL.  Chickadee aims to provide all the features
 that parenthetically inclined game developers need to make 2D (and eventually
 3D) games in Scheme, such as:
@@ -1268,4 +1273,4 @@ that parenthetically inclined game developers need to make 2D (and eventually
 @item keyboard, mouse, controller input
 @item REPL-driven development model
 @end enumerate\n")
-    (license license:gpl3+)))
+      (license license:gpl3+))))
-- 
2.17.1


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

* Re: Cannot build guile-chickadee.
  2018-06-20  9:01   ` Ricardo Wurmus
@ 2018-06-20  9:27     ` Ricardo Wurmus
  2018-06-20 12:23       ` Thompson, David
  0 siblings, 1 reply; 8+ messages in thread
From: Ricardo Wurmus @ 2018-06-20  9:27 UTC (permalink / raw)
  To: Pierre Neidhardt; +Cc: help-guix, davet


Ricardo Wurmus <rekado@elephly.net> writes:

>> Yes, last time I tried I had a similar issue: this is because you need
>> the latest guile-sdl2 and guile-opengl.
>
> There does not seem to be a more recent guile-opengl.  I have added
> guile-sdl2-devel, which is built from the latest git commit.
>
> I also updated guile-chickadee to use the latest version from git.
> Unfortunately, it still won’t build.
>
>> As I mentioned in an e-mail I've sent recently, I'd like to update the 2
>> package definitions in Guix and add Chickadee to the Guix repo.
>> What do you think?
>
> I’d prefer to use only released versions in Guix unless it cannot be
> avoided to use development versions.

Turns out that the Makefile of guile-sdl2 needed to be patched.  After
the patch Chickadee can be built with the release tarball.

I’ll push the package definition shortly.

-- 
Ricardo

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

* Re: Cannot build guile-chickadee.
  2018-06-20  9:27     ` Ricardo Wurmus
@ 2018-06-20 12:23       ` Thompson, David
  2018-06-20 12:37         ` Ricardo Wurmus
  0 siblings, 1 reply; 8+ messages in thread
From: Thompson, David @ 2018-06-20 12:23 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: help-guix

Hey Ricardo,

On Wed, Jun 20, 2018 at 5:27 AM, Ricardo Wurmus <rekado@elephly.net> wrote:
>
> Ricardo Wurmus <rekado@elephly.net> writes:
>
>>> Yes, last time I tried I had a similar issue: this is because you need
>>> the latest guile-sdl2 and guile-opengl.
>>
>> There does not seem to be a more recent guile-opengl.  I have added
>> guile-sdl2-devel, which is built from the latest git commit.
>>
>> I also updated guile-chickadee to use the latest version from git.
>> Unfortunately, it still won’t build.
>>
>>> As I mentioned in an e-mail I've sent recently, I'd like to update the 2
>>> package definitions in Guix and add Chickadee to the Guix repo.
>>> What do you think?
>>
>> I’d prefer to use only released versions in Guix unless it cannot be
>> avoided to use development versions.
>
> Turns out that the Makefile of guile-sdl2 needed to be patched.  After
> the patch Chickadee can be built with the release tarball.
>
> I’ll push the package definition shortly.

Could you tell me the commit id when you push it? I'd like to just
sort out the issues you were having and make new releases of
guile-sdl2 and chickadee so that Guix can have clean packages with no
hackery involved.

Thanks,

- Dave

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

* Re: Cannot build guile-chickadee.
  2018-06-20 12:23       ` Thompson, David
@ 2018-06-20 12:37         ` Ricardo Wurmus
  2018-06-20 12:44           ` Thompson, David
  0 siblings, 1 reply; 8+ messages in thread
From: Ricardo Wurmus @ 2018-06-20 12:37 UTC (permalink / raw)
  To: Thompson, David; +Cc: help-guix


Hey Dave,

>> Turns out that the Makefile of guile-sdl2 needed to be patched.  After
>> the patch Chickadee can be built with the release tarball.
>>
>> I’ll push the package definition shortly.
>
> Could you tell me the commit id when you push it? I'd like to just
> sort out the issues you were having and make new releases of
> guile-sdl2 and chickadee so that Guix can have clean packages with no
> hackery involved.

I’ve pushed guile-chickadee with commit
00fca594da4c63a976e1c67ec3caab47f2a38d87.  The patch to guile-sdl2 is in
commit e5b77ccfe861545a61f6c6355f5c9fb712bc4894.  After that I noticed
that the package might also need a build phase to fix the installation
location:

--8<---------------cut here---------------start------------->8---
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index b428fa77f..f8c6583f9 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1248,7 +1248,16 @@ a 2D editor view.")
                 "10qx0ha5gsayybd186r1my7vc7rf5fbzp9jvmc4xg9a8wz8rqhah"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:make-flags '("GUILE_AUTO_COMPILE=0")))
+     '(#:make-flags '("GUILE_AUTO_COMPILE=0")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'configure 'patch-makefile
+           (lambda _
+             ;; Install compiled Guile files in the expected place.
+             (substitute* '("Makefile")
+               (("^godir = .*$")
+                "godir = $(moddir)\n"))
+             #t)))))
     (propagated-inputs
      `(("guile-opengl" ,guile-opengl)
        ("guile-sdl2" ,guile-sdl2)))
--8<---------------cut here---------------end--------------->8---

Unfortunately, I still cannot use it as the example fails with OpenGL
errors, e.g.:

    chickadee/window.scm:56:21: In procedure open-window:
    Throw to key `sdl-error' with args `("make-window" "failed to create window: ~A" "Couldn't find matching GLX visual")'.

So I picked the first of the visuals that glxinfo outputs:

    export SDL_VIDEO_X11_VISUALID=0x022

But then I get another error:

    chickadee/window.scm:60:21: In procedure open-window:
    Throw to key `sdl-error' with args `("make-gl-context" "failed to create OpenGL context: ~A" "Could not create GL context")'.

And that’s probably because something somewhere decides that the
graphics chip in my Librem 13 does not support OpenGL 3.3(?), even
though glxinfo says this:

--8<---------------cut here---------------start------------->8---
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel Open Source Technology Center (0x8086)
    Device: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)  (0x1916)
    Version: 17.3.8
    Accelerated: yes
    Video memory: 3072MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
…
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.3.8
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
--8<---------------cut here---------------end--------------->8---

Not sure if this is a problem with my setup here.

Thanks for your help!

--
Ricardo

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

* Re: Cannot build guile-chickadee.
  2018-06-20 12:37         ` Ricardo Wurmus
@ 2018-06-20 12:44           ` Thompson, David
  0 siblings, 0 replies; 8+ messages in thread
From: Thompson, David @ 2018-06-20 12:44 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: help-guix

On Wed, Jun 20, 2018 at 8:37 AM, Ricardo Wurmus <rekado@elephly.net> wrote:
>
> Hey Dave,
>
>>> Turns out that the Makefile of guile-sdl2 needed to be patched.  After
>>> the patch Chickadee can be built with the release tarball.
>>>
>>> I’ll push the package definition shortly.
>>
>> Could you tell me the commit id when you push it? I'd like to just
>> sort out the issues you were having and make new releases of
>> guile-sdl2 and chickadee so that Guix can have clean packages with no
>> hackery involved.
>
> I’ve pushed guile-chickadee with commit
> 00fca594da4c63a976e1c67ec3caab47f2a38d87.  The patch to guile-sdl2 is in
> commit e5b77ccfe861545a61f6c6355f5c9fb712bc4894.  After that I noticed
> that the package might also need a build phase to fix the installation
> location:
>
> --8<---------------cut here---------------start------------->8---
> diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
> index b428fa77f..f8c6583f9 100644
> --- a/gnu/packages/game-development.scm
> +++ b/gnu/packages/game-development.scm
> @@ -1248,7 +1248,16 @@ a 2D editor view.")
>                  "10qx0ha5gsayybd186r1my7vc7rf5fbzp9jvmc4xg9a8wz8rqhah"))))
>      (build-system gnu-build-system)
>      (arguments
> -     '(#:make-flags '("GUILE_AUTO_COMPILE=0")))
> +     '(#:make-flags '("GUILE_AUTO_COMPILE=0")
> +       #:phases
> +       (modify-phases %standard-phases
> +         (add-after 'configure 'patch-makefile
> +           (lambda _
> +             ;; Install compiled Guile files in the expected place.
> +             (substitute* '("Makefile")
> +               (("^godir = .*$")
> +                "godir = $(moddir)\n"))
> +             #t)))))
>      (propagated-inputs
>       `(("guile-opengl" ,guile-opengl)
>         ("guile-sdl2" ,guile-sdl2)))
> --8<---------------cut here---------------end--------------->8---

Okay, I will make this change upstream.

> Unfortunately, I still cannot use it as the example fails with OpenGL
> errors, e.g.:
>
>     chickadee/window.scm:56:21: In procedure open-window:
>     Throw to key `sdl-error' with args `("make-window" "failed to create window: ~A" "Couldn't find matching GLX visual")'.
>
> So I picked the first of the visuals that glxinfo outputs:
>
>     export SDL_VIDEO_X11_VISUALID=0x022
>
> But then I get another error:
>
>     chickadee/window.scm:60:21: In procedure open-window:
>     Throw to key `sdl-error' with args `("make-gl-context" "failed to create OpenGL context: ~A" "Could not create GL context")'.
>
> And that’s probably because something somewhere decides that the
> graphics chip in my Librem 13 does not support OpenGL 3.3(?), even
> though glxinfo says this:
>
> --8<---------------cut here---------------start------------->8---
> Extended renderer info (GLX_MESA_query_renderer):
>     Vendor: Intel Open Source Technology Center (0x8086)
>     Device: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)  (0x1916)
>     Version: 17.3.8
>     Accelerated: yes
>     Video memory: 3072MB
>     Unified memory: yes
>     Preferred profile: core (0x1)
>     Max core profile version: 4.5
>     Max compat profile version: 3.0
>     Max GLES1 profile version: 1.1
>     Max GLES[23] profile version: 3.2
> …
> OpenGL vendor string: Intel Open Source Technology Center
> OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)
> OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.3.8
> OpenGL core profile shading language version string: 4.50
> OpenGL core profile context flags: (none)
> OpenGL core profile profile mask: core profile
> --8<---------------cut here---------------end--------------->8---
>
> Not sure if this is a problem with my setup here.

Hmm, there's no problem with your setup. Your GPU supports a higher
version of OpenGL that mine does so it should just work. I'll let you
know if I can find anything that might resolve this issue.  SDL is
being less than helpful with its error message.

Thanks,

- Dave

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

* Re: Cannot build guile-chickadee.
  2018-06-20  1:03 Cannot build guile-chickadee Ricardo Wurmus
  2018-06-20  7:00 ` Pierre Neidhardt
@ 2018-06-20 14:43 ` Joshua Branson
  1 sibling, 0 replies; 8+ messages in thread
From: Joshua Branson @ 2018-06-20 14:43 UTC (permalink / raw)
  To: help-guix

Ricardo Wurmus <rekado@elephly.net> writes:

> Hi there,
>
> I’m trying to get Chickadee packaged.  Attached is a package definition.
> The build fails when chickadee/render/shapes.scm is supposed to be
> compiled:
>

Thank you!  I would love to be able to play with Chickadee!

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

end of thread, other threads:[~2018-06-20 14:37 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-20  1:03 Cannot build guile-chickadee Ricardo Wurmus
2018-06-20  7:00 ` Pierre Neidhardt
2018-06-20  9:01   ` Ricardo Wurmus
2018-06-20  9:27     ` Ricardo Wurmus
2018-06-20 12:23       ` Thompson, David
2018-06-20 12:37         ` Ricardo Wurmus
2018-06-20 12:44           ` Thompson, David
2018-06-20 14:43 ` Joshua Branson

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