[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#42376] [PATCH] Add raylib.
From: |
Ludovic Courtès |
Subject: |
[bug#42376] [PATCH] Add raylib. |
Date: |
Thu, 24 Sep 2020 17:45:15 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Ping! :-)
Jakub Kądziołka <kuba@kadziolka.net> skribis:
> On Wed, Jul 15, 2020 at 04:25:21PM +0200, trymonv@cock.li wrote:
>> gnu/packages/game-development.scm | 34 +++++++++++++++++++++++++++++++
>> 1 file changed, 34 insertions(+)
>
> Thanks for the patch! Note that this blob got included as the commit
> message, which isn't really desirable. Instead of `git diff', I'd
> recommend `git commit', followed by `git format-patch' and/or `git
> send-email' (the latter is available as git:send-email - the send-email
> output of the git package).
>
>> diff --git a/gnu/packages/game-development.scm
>> b/gnu/packages/game-development.scm
>> index e45980e7a0..cba9b5bd45 100644
>> --- a/gnu/packages/game-development.scm
>> +++ b/gnu/packages/game-development.scm
>
> Could you add a Copyright line for yourself?
>
>> +(define-public raylib
>> + (package
>> + (name "raylib")
>> + (version "3.0.0")
>> + (source (origin
>> + (method git-fetch)
>> + (uri (git-reference
>> + (url "https://github.com/raysan5/raylib/")
>> + (commit version)))
>> + (file-name (git-file-name name version))
>> + (sha256
>> + (base32
>> + "1chj7sril4l2dxh7flp5ndddydbbf1fhnqlydaysm4m6waxidxmr"))))
>> + (build-system cmake-build-system)
>> + (arguments '(#:configure-flags `("-DSHARED=OFF" "-DSTATIC=ON")
>> + #:tests? #f))
>
> If you have to disable tests, put a small explanation in a comment.
> However, in this case I managed to get the test suite to pass like this:
>
> (arguments
> `(#:configure-flags `("-DSHARED=OFF" "-DSTATIC=ON")
> #:phases
> (modify-phases %standard-phases
> ;; check needs to run after install
> (delete 'check)
> (add-after 'install 'check (assoc-ref %standard-phases 'check))
> (add-before 'check 'set-CC
> (lambda _
> (setenv "CC" ,(cc-for-target))
> #t)))))
>
>> + (inputs `())
>> + (native-inputs `(("alsa-lib", alsa-lib)
>> + ("glu", glu)
>> + ("libx11", libx11)
>> + ("libxrandr", libxrandr)
>> + ("libxi", libxi)
>> + ("libxinerama", libxinerama)
>> + ("libxcursor", libxcursor)
>> + ("mesa", mesa)
>> + ("pkg-config", pkg-config)))
>
> I don't think these should be native-inputs. native-inputs are for
> things that are ran during compilation, like the compiler itself or
> pkg-config. The rest is clearly going to run at runtime, so they should
> go in inputs. This distinction is necessary for cross-compilation. If
> all your dependencies supported it, you could test it with
>
> guix build --target=aarch64-linux-gnu
>
> but unfortunately mesa's buildsystem refuses to cross-compile. It's
> still a good idea to put the inputs in their proper categories, though.
>
> One good heuristic is to run 'guix size raylib' and see which packages
> are referenced. Speaking of which - alsa-lib doesn't show up in 'guix
> size', and removing it from the inputs doesn't trigger any errors. Are
> you sure it's being used? Maybe you're missing some configuration flag?
>
> Also, the source for raylib includes its own copies of many libraries
> which are already packaged separately in Guix, such as glfw or stb.
> Could you configure raylib to use Guix-provided versions of these
> libraries? A good way to make sure it works is to remove the bundled
> sources. The preferred way of doing so is a 'snippet', you can find an
> example in the rust-curl-sys-0.4 package in gnu/packages/crates-io.scm.
>
> Regards,
> Jakub Kądziołka
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [bug#42376] [PATCH] Add raylib.,
Ludovic Courtès <=