From: Andreas Enge <andreas@enge.fr>
To: Malte Frank Gerdes <malte.f.gerdes@gmail.com>
Cc: Kei Kebreau <kkebreau@posteo.net>, 43654@debbugs.gnu.org
Subject: [bug#43654] [PATCH] Add perl-opengl
Date: Tue, 6 Oct 2020 00:35:43 +0200 [thread overview]
Message-ID: <20201005223543.GA19912@jurong> (raw)
In-Reply-To: <20201005205129.GA13742@jurong>
On Mon, Oct 05, 2020 at 10:51:29PM +0200, Andreas Enge wrote:
> So one option would be to disable the test ("#:tests? #f") and create the
> essentially empty glversion.txt file above inside a phase. There would not
> even be a need to store it as a an auxiliary file; see the use of
> "call-with-output-file" in guix/tests.scm, for instance.
Something like this:
(add-before 'configure 'glversion
;; Building utils/glversion.txt fails, and is probably
;; dependent on the graphics card in the build system.
;; Replace it by a content-free file; while this breaks
;; the test, the examples in the examples/ subdirectory
;; can be run.
(lambda _
(substitute* "Makefile.PL"
(("unlink") "# unlink") ; prevent utils/glversion.txt
; from being deleted once...
(("\\.\"\\$make_ver clean\"") "")) ; ...and twice...
(substitute* "utils/Makefile"
(("all: glversion.txt") "all: ")) ; ...and thrice.
(call-with-output-file "utils/glversion.txt"
(lambda (port)
(display (string-append "FREEGLUT=\nGLUT=\nVERSION=\n"
"VENDOR=\nRENDERER=\n"
"EXTENSIONS=\n")
port)))
#t))
I tried to add the following instead of patching Makefile.PL:
(add-before 'configure 'fix-interface
;; Libraries are not found in default locations, so force
;; an interface.
(lambda _
(substitute* "Makefile.PL"
(("die \"FreeGLUT or GLUT libraries")
"$interface_lib = 'FREEGLUT'; #"))
#t))
But it fails during compilation with error messages such as this one:
/gnu/store/1qmd9achfkm1njzxf8hi86q53pmy9sxk-mesa-20.0.7/include/GL/glxext.h:530:169: error: unknown type name ‘GLintptr’; did you mean ‘GLint’?
From some search engine results, I surmise that I am missing the
$DEFS .= " -DGL_GLEXT_LEGACY";
from line 525 of Makefile.PL.
So maybe we will have to replace the "-L/what/ever" as you do it in your
cdr/match phase; but instead of adding a patch that drops the "-L" in
favour of some "@@libpaths@@" text, only to replace the new text again
in a phase, I would use just a phase. For instance, instead of replacing
"^@@libdirs@@", just replace "-L/usr/local/freeglut/lib".
But it is already tomorrow, time to stop.
Andreas
next prev parent reply other threads:[~2020-10-05 22:40 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-27 19:06 [bug#43654] [PATCH] Add perl-opengl Malte Frank Gerdes
2020-10-02 4:13 ` Kei Kebreau
2020-10-02 17:59 ` Malte Frank Gerdes
2020-10-02 18:29 ` Andreas Enge
2020-10-02 19:33 ` Malte Frank Gerdes
2020-10-04 8:26 ` Andreas Enge
2020-10-04 12:28 ` Malte Frank Gerdes
2020-10-04 12:32 ` Malte Frank Gerdes
2020-10-05 20:51 ` Andreas Enge
2020-10-05 22:35 ` Andreas Enge [this message]
2020-10-05 22:47 ` Andreas Enge
2020-10-05 15:01 ` Malte Frank Gerdes
2020-10-05 20:05 ` Andreas Enge
2020-10-05 20:11 ` Andreas Enge
2020-10-05 8:10 ` Malte Frank Gerdes
2020-10-07 18:20 ` Malte Frank Gerdes
2020-10-10 13:09 ` bug#43654: " Andreas Enge
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201005223543.GA19912@jurong \
--to=andreas@enge.fr \
--cc=43654@debbugs.gnu.org \
--cc=kkebreau@posteo.net \
--cc=malte.f.gerdes@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).