[parent not found: <93aa8b09-cc29-4030-3c76-458158ea0c0f@disroot.org>]
* [bug#60153] Fwd: [PATCH] gnu: python-pygame: Update to 2.1.2.
[not found] ` <93aa8b09-cc29-4030-3c76-458158ea0c0f@disroot.org>
@ 2022-12-17 10:52 ` Liliana Marie Prikler
2022-12-18 14:15 ` Adam Faiz via Guix-patches via
0 siblings, 1 reply; 18+ messages in thread
From: Liliana Marie Prikler @ 2022-12-17 10:52 UTC (permalink / raw)
To: Adam Faiz; +Cc: 60153
Am Samstag, dem 17.12.2022 um 18:06 +0800 schrieb Adam Faiz:
> * gnu/packages/game-development.scm (python-pygame): Update to 2.1.2.
Since this is a major bump, did you check whether dependant packages
still build?
> [inputs]: Use the new style.
I'd split the style adjustments into a separate commit. Also note,
that #:phases needs similar treatment w.r.t. using the newer API.
> [description]: Re-indent.
IMHO that one's noise generated by guix style.
> ---
> gnu/packages/game-development.scm | 119 +++++++++++++--------------
> ---
> 1 file changed, 51 insertions(+), 68 deletions(-)
>
> diff --git a/gnu/packages/game-development.scm
> b/gnu/packages/game-development.scm
> index 4a0435045b..c3d8d9a8a9 100644
> --- a/gnu/packages/game-development.scm
> +++ b/gnu/packages/game-development.scm
> @@ -1194,92 +1194,75 @@ (define-public quesoglc
> (define-public python-pygame
> (package
> (name "python-pygame")
> - (version "1.9.4")
> + (version "2.1.2")
> (source (origin
> (method url-fetch)
> (uri (pypi-uri "pygame" version))
> (sha256
> (base32
> -
> "1dn0nb86jl7yr8709cncxdr0yrmviqakw7zx3g8jbbwrr60if3bh"))))
> +
> "0g6j79naab7583kymf1bgxc5l5c9h5laq887rmvh8vw8iyifrl6n"))
> + (modules '((guix build utils)))
> + ;; Fix the configure script to allow passing the
> dependencies as
> + ;; environment variables.
> + (snippet
> + #~(begin
> + (substitute* "buildconfig/config_unix.py"
> + (("localbase.d") "d")
> + (("origincdirs = .*/include.*")
> + "origincdirs =
> os.environ['ORIGINCDIRS'].split(\":\")\n"))))))
Can't we make it so that the normal GCC search paths suffice?
Also note the value of fill-column at 80 (or 79?).
Cheers
^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#60153] Fwd: [PATCH] gnu: python-pygame: Update to 2.1.2.
2022-12-17 10:52 ` [bug#60153] Fwd: " Liliana Marie Prikler
@ 2022-12-18 14:15 ` Adam Faiz via Guix-patches via
2022-12-18 15:02 ` Liliana Marie Prikler
0 siblings, 1 reply; 18+ messages in thread
From: Adam Faiz via Guix-patches via @ 2022-12-18 14:15 UTC (permalink / raw)
To: Liliana Marie Prikler; +Cc: 60153
On 12/17/22 18:52, Liliana Marie Prikler wrote:
> Am Samstag, dem 17.12.2022 um 18:06 +0800 schrieb Adam Faiz:
>> * gnu/packages/game-development.scm (python-pygame): Update to 2.1.2.
> Since this is a major bump, did you check whether dependant packages
> still build?
The dependent packages build without issue. I built the packages listed
in `./pre-inst-env guix refresh -l python-pygame`.
>> [inputs]: Use the new style.
> I'd split the style adjustments into a separate commit. Also note,
> that #:phases needs similar treatment w.r.t. using the newer API.
Alright, I'll do the style adjustments in a separate patch. Most of what
was in the #:phases that would have used the newer API is now
unnecessary, so I've removed it.
>> [description]: Re-indent.
> IMHO that one's noise generated by guix style.
I don't think it hurts to change it.
>> + ;; Fix the configure script to allow passing the
>> dependencies as
>> + ;; environment variables.
>> + (snippet
>> + #~(begin
>> + (substitute* "buildconfig/config_unix.py"
>> + (("localbase.d") "d")
>> + (("origincdirs = .*/include.*")
>> + "origincdirs =
>> os.environ['ORIGINCDIRS'].split(\":\")\n"))))))
> Can't we make it so that the normal GCC search paths suffice?
The normal GCC search paths do work, so I've changed it to use those
instead. I'll send the revised patches soon.
> Also note the value of fill-column at 80 (or 79?).
Is it a problem with how Icedove wraps the email? If so, I'm not sure
how to change it.
>
>
> Cheers
^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#60153] Fwd: [PATCH] gnu: python-pygame: Update to 2.1.2.
2022-12-18 14:15 ` Adam Faiz via Guix-patches via
@ 2022-12-18 15:02 ` Liliana Marie Prikler
0 siblings, 0 replies; 18+ messages in thread
From: Liliana Marie Prikler @ 2022-12-18 15:02 UTC (permalink / raw)
To: Adam Faiz; +Cc: 60153
Am Sonntag, dem 18.12.2022 um 22:15 +0800 schrieb Adam Faiz:
> > > [inputs]: Use the new style.
> > I'd split the style adjustments into a separate commit. Also note,
> > that #:phases needs similar treatment w.r.t. using the newer API.
> Alright, I'll do the style adjustments in a separate patch. Most of
> what was in the #:phases that would have used the newer API is now
> unnecessary, so I've removed it.
Nice.
> > > [description]: Re-indent.
> > IMHO that one's noise generated by guix style.
> I don't think it hurts to change it.
Fair enough, just saying.
> > > + ;; Fix the configure script to allow passing the
> > > dependencies as
> > > + ;; environment variables.
> > > + (snippet
> > > + #~(begin
> > > + (substitute* "buildconfig/config_unix.py"
> > > + (("localbase.d") "d")
> > > + (("origincdirs = .*/include.*")
> > > + "origincdirs =
> > > os.environ['ORIGINCDIRS'].split(\":\")\n"))))))
> > Can't we make it so that the normal GCC search paths suffice?
> The normal GCC search paths do work, so I've changed it to use those
> instead. I'll send the revised patches soon.
Cool.
> > Also note the value of fill-column at 80 (or 79?).
> Is it a problem with how Icedove wraps the email? If so, I'm not sure
> how to change it.
No, it's a code style problem in general, i.e. you shouldn't make the
line so long that any mail client will have to wrap it anyway. Since
that line definitely exceeded the limit, I wanted you to know.
Cheers
^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#60153] [PATCH v2 1/3] gnu: python-pygame: Update to 2.1.2.
2022-12-17 10:01 [bug#60153] [PATCH] gnu: python-pygame: Update to 2.1.2 Adam Faiz via Guix-patches via
[not found] ` <93aa8b09-cc29-4030-3c76-458158ea0c0f@disroot.org>
@ 2022-12-18 15:51 ` Adam Faiz
2022-12-23 23:20 ` Adam Faiz via Guix-patches via
2022-12-18 15:51 ` [bug#60153] [PATCH v1 " Adam Faiz via Guix-patches via
` (3 subsequent siblings)
5 siblings, 1 reply; 18+ messages in thread
From: Adam Faiz @ 2022-12-18 15:51 UTC (permalink / raw)
To: Adam Faiz; +Cc: 60153
* gnu/packages/game-development.scm (python-pygame): Update to 2.1.2.
[arguments]<#:phases>: Add ‘fix-build-config’ and ‘fix-sdl2-headers’.
[inputs]: Remove “sdl”, “sdl-image”, “sdl-mixer”, “sdl-ttf”, and “sdl-gfx”.
Add “sdl2”, “sdl2-image”, “sdl2-mixer”, “sdl2-ttf”, and “sdl2-gfx”.
---
gnu/packages/game-development.scm | 95 ++++++++++---------------------
1 file changed, 31 insertions(+), 64 deletions(-)
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 8fec474d0b..07b2c6f3fe 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1194,82 +1194,49 @@ (define-public quesoglc
(define-public python-pygame
(package
(name "python-pygame")
- (version "1.9.4")
+ (version "2.1.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "pygame" version))
(sha256
(base32
- "1dn0nb86jl7yr8709cncxdr0yrmviqakw7zx3g8jbbwrr60if3bh"))))
+ "0g6j79naab7583kymf1bgxc5l5c9h5laq887rmvh8vw8iyifrl6n"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; tests require pygame to be installed first
#:phases
(modify-phases %standard-phases
- ;; Set the paths to the dependencies manually because
- ;; the configure script does not allow passing them as
- ;; parameters. This also means we can skip the configure
- ;; phase.
- (add-before 'build 'set-library-paths
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((sdl-ref (assoc-ref inputs "sdl"))
- (font-ref (assoc-ref inputs "sdl-ttf"))
- (image-ref (assoc-ref inputs "sdl-image"))
- (mixer-ref (assoc-ref inputs "sdl-mixer"))
- (smpeg-ref (assoc-ref inputs "libsmpeg"))
- (png-ref (assoc-ref inputs "libpng"))
- (jpeg-ref (assoc-ref inputs "libjpeg"))
- (freetype-ref (assoc-ref inputs "freetype"))
- (v4l-ref (assoc-ref inputs "v4l-utils"))
- (out-ref (assoc-ref outputs "out")))
- (substitute* "Setup.in"
- (("SDL = -I/usr/include/SDL")
- (string-append "SDL = -I" sdl-ref "/include/SDL -I.")))
- (substitute* "Setup.in"
- (("FONT = -lSDL_ttf")
- (string-append "FONT = -I" font-ref "/include/SDL -L"
- font-ref "/lib -lSDL_ttf")))
- (substitute* "Setup.in"
- (("IMAGE = -lSDL_image")
- (string-append "IMAGE = -I" image-ref "/include/SDL -L"
- image-ref "/lib -lSDL_image")))
- (substitute* "Setup.in"
- (("MIXER = -lSDL_mixer")
- (string-append "MIXER = -I" mixer-ref "/include/SDL -L"
- mixer-ref "/lib -lSDL_mixer")))
- (substitute* "Setup.in"
- (("SMPEG = -lsmpeg")
- (string-append "SMPEG = -I" smpeg-ref "/include/smpeg -L"
- smpeg-ref "/lib -lsmpeg")))
- (substitute* "Setup.in"
- (("PNG = -lpng")
- (string-append "PNG = -I" png-ref "/include -L"
- png-ref "/lib -lpng")))
- (substitute* "Setup.in"
- (("JPEG = -ljpeg")
- (string-append "JPEG = -I" jpeg-ref "/include -L"
- jpeg-ref "/lib -ljpeg")))
-
- (substitute* "Setup.in"
- (("FREETYPE = -lfreetype")
- (string-append "FREETYPE = -I" freetype-ref "/include/freetype2 -L"
- freetype-ref "/lib -lfreetype")))
-
- (substitute* "Setup.in"
- (("^pypm") "#pypm"))
- ;; Create a path to a header file provided by v4l-utils.
- (system* "mkdir" "linux")
- (system* "ln" "--symbolic"
- (string-append v4l-ref "/include/libv4l1-videodev.h")
- "linux/videodev.h")
- (system* "ln" "--symbolic" "Setup.in" "Setup")))))))
+ (add-after 'unpack 'fix-build-config
+ (lambda _
+ (substitute* "buildconfig/config_unix.py"
+ (("origincdirs = \\[.*\\]")
+ "origincdirs = os.environ['C_INCLUDE_PATH'].split(\":\")")
+ (("ORIGLIBDIRS") "LIBRARY_PATH")
+ (("incdirs = \\[\\]") "incdirs = origincdirs")
+ (("libdirs = \\[\\]") "libdirs = origlibdirs"))))
+ (add-after 'unpack 'fix-sdl2-headers
+ (lambda _
+ (substitute* "buildconfig/config_unix.py"
+ (("SDL_ttf.h") "SDL2/SDL_ttf.h")
+ (("SDL_image.h") "SDL2/SDL_image.h")
+ (("SDL_mixer.h") "SDL2/SDL_mixer.h"))
+ (substitute* "src_c/imageext.c"
+ (("SDL_image.h") "SDL2/SDL_image.h"))
+ (substitute* "src_c/font.h"
+ (("SDL_ttf.h") "SDL2/SDL_ttf.h"))
+ (substitute* "src_c/mixer.h"
+ (("SDL_mixer.h") "SDL2/SDL_mixer.h"))
+ (substitute* "src_c/_sdl2/mixer.c"
+ (("SDL_mixer.h") "SDL2/SDL_mixer.h")))))))
+ (native-inputs
+ (list pkg-config))
(inputs
`(("freetype" ,freetype)
- ("sdl" ,sdl)
- ("sdl-image" ,sdl-image)
- ("sdl-mixer" ,sdl-mixer)
- ("sdl-ttf" ,sdl-ttf)
- ("sdl-gfx" ,sdl-gfx)
+ ("sdl2" ,sdl2)
+ ("sdl2-image" ,sdl2-image)
+ ("sdl2-mixer" ,sdl2-mixer)
+ ("sdl2-ttf" ,sdl2-ttf)
+ ("sdl2-gfx" ,sdl2-gfx)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libX11" ,libx11)
--
2.38.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [bug#60153] [PATCH v2 1/3] gnu: python-pygame: Update to 2.1.2.
2022-12-18 15:51 ` [bug#60153] [PATCH v2 1/3] " Adam Faiz
@ 2022-12-23 23:20 ` Adam Faiz via Guix-patches via
2022-12-23 23:43 ` Adam Faiz via Guix-patches via
2022-12-24 5:39 ` Liliana Marie Prikler
0 siblings, 2 replies; 18+ messages in thread
From: Adam Faiz via Guix-patches via @ 2022-12-23 23:20 UTC (permalink / raw)
To: Adam Faiz; +Cc: 60153
On 12/18/22 23:51, Adam Faiz wrote:
> + (add-after 'unpack 'fix-build-config
> + (lambda _
> + (substitute* "buildconfig/config_unix.py"
> + (("origincdirs = \\[.*\\]")
> + "origincdirs = os.environ['C_INCLUDE_PATH'].split(\":\")")
> + (("ORIGLIBDIRS") "LIBRARY_PATH")
> + (("incdirs = \\[\\]") "incdirs = origincdirs")
> + (("libdirs = \\[\\]") "libdirs = origlibdirs"))))
> + (add-after 'unpack 'fix-sdl2-headers
> + (lambda _
> + (substitute* "buildconfig/config_unix.py"
> + (("SDL_ttf.h") "SDL2/SDL_ttf.h")
> + (("SDL_image.h") "SDL2/SDL_image.h")
> + (("SDL_mixer.h") "SDL2/SDL_mixer.h"))
> + (substitute* "src_c/imageext.c"
> + (("SDL_image.h") "SDL2/SDL_image.h"))
> + (substitute* "src_c/font.h"
> + (("SDL_ttf.h") "SDL2/SDL_ttf.h"))
> + (substitute* "src_c/mixer.h"
> + (("SDL_mixer.h") "SDL2/SDL_mixer.h"))
> + (substitute* "src_c/_sdl2/mixer.c"
> + (("SDL_mixer.h") "SDL2/SDL_mixer.h")))))))
I don't see why these should go in phases, when I think going in a
snippet would be better. From "Snippets and Phases" in the Guix manual:
> The source derived
> from an origin should produce a source that can be used to build the
> package on any system that the upstream package supports (i.e., act as
> the corresponding source). In particular, origin snippets must not
> embed store items in the sources; such patching should rather be done
> using build phases.
The 'fix-build-config is what I consider to be a serious bugfix, it
doesn't matter that it was originally fixed as part of guix packaging.
The 'fix-sld2-headers phase might stay in a build phase, if most systems
that pygame supports doesn't keep these headers where guix would locate
them. But I would consider that a bug in other systems for not storing
the headers in the file path upstream places them.
The 'fix-sdl2-headers doesn't embed store items, so there's no other
justification other than the reason given above.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#60153] [PATCH v2 1/3] gnu: python-pygame: Update to 2.1.2.
2022-12-23 23:20 ` Adam Faiz via Guix-patches via
@ 2022-12-23 23:43 ` Adam Faiz via Guix-patches via
2022-12-23 23:54 ` Adam Faiz via Guix-patches via
2022-12-24 5:51 ` Liliana Marie Prikler
2022-12-24 5:39 ` Liliana Marie Prikler
1 sibling, 2 replies; 18+ messages in thread
From: Adam Faiz via Guix-patches via @ 2022-12-23 23:43 UTC (permalink / raw)
To: Adam Faiz; +Cc: 60153
On 12/24/22 07:20, Adam Faiz wrote:
> + (("incdirs = \\[\\]") "incdirs = origincdirs")
> + (("libdirs = \\[\\]") "libdirs = origlibdirs"))))
I didn't do this kind of thing, because I didn't want to hardcode these.
Most systems that pygame supports want to stay with the defaults.
> (substitute* "buildconfig/config_unix.py"
> (("localbase.d") "d"
> #~(modify-phases %standard-phases
> ;; Pass the dependencies to the configure script
> ;; through environment variables.
> (add-before 'build 'set-library-paths
> (lambda _
> (setenv "LOCALBASE" " "))))))
I added this so that Guix as well as other systems can choose to pass
the dependencies at the precise locations, otherwise it uses the
defaults and doesn't affect those that use the defaults.
I hope this clarifies my understanding of this issue.
I like that Guix can provide patched and sometimes enhanced package
sources while Guix-specific things stay in the build phases.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#60153] [PATCH v2 1/3] gnu: python-pygame: Update to 2.1.2.
2022-12-23 23:43 ` Adam Faiz via Guix-patches via
@ 2022-12-23 23:54 ` Adam Faiz via Guix-patches via
2022-12-24 5:51 ` Liliana Marie Prikler
1 sibling, 0 replies; 18+ messages in thread
From: Adam Faiz via Guix-patches via @ 2022-12-23 23:54 UTC (permalink / raw)
To: Adam Faiz; +Cc: 60153
On 12/24/22 07:43, Adam Faiz wrote:
>> (substitute* "buildconfig/config_unix.py"
>> (("localbase.d") "d"
>> #~(modify-phases %standard-phases
>> ;; Pass the dependencies to the configure script
>> ;; through environment variables.
>> (add-before 'build 'set-library-paths
>> (lambda _
>> (setenv "LOCALBASE" " "))))))
> I added this so that Guix as well as other systems can choose to pass
> the dependencies at the precise locations, otherwise it uses the
> defaults and doesn't affect those that use the defaults.
This part is actually flawed, what was done as part of 'fix-build-config
is better. My mistake.
^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#60153] [PATCH v2 1/3] gnu: python-pygame: Update to 2.1.2.
2022-12-23 23:43 ` Adam Faiz via Guix-patches via
2022-12-23 23:54 ` Adam Faiz via Guix-patches via
@ 2022-12-24 5:51 ` Liliana Marie Prikler
2022-12-24 13:19 ` Adam Faiz via Guix-patches via
1 sibling, 1 reply; 18+ messages in thread
From: Liliana Marie Prikler @ 2022-12-24 5:51 UTC (permalink / raw)
To: Adam Faiz; +Cc: 60153
Am Samstag, dem 24.12.2022 um 07:43 +0800 schrieb Adam Faiz:
> On 12/24/22 07:20, Adam Faiz wrote:
> > + (("incdirs = \\[\\]") "incdirs = origincdirs")
> > + (("libdirs = \\[\\]") "libdirs = origlibdirs"))))
> I didn't do this kind of thing, because I didn't want to hardcode
> these.
> Most systems that pygame supports want to stay with the defaults.
Here, "using the defaults" equates to having both origincdirs and
origlibdirs being empty, i.e. expanded from non-existing or empty
environment variables, right? In that case, the build config will
still add the default /usr stuff – it just won't start out empty.
I feel as though we could do without this patch by supplying
PYGAME_EXTRA_BASE as a configure flag. Wouldn't that be better than
patching?
Cheers
^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#60153] [PATCH v2 1/3] gnu: python-pygame: Update to 2.1.2.
2022-12-24 5:51 ` Liliana Marie Prikler
@ 2022-12-24 13:19 ` Adam Faiz via Guix-patches via
0 siblings, 0 replies; 18+ messages in thread
From: Adam Faiz via Guix-patches via @ 2022-12-24 13:19 UTC (permalink / raw)
To: Liliana Marie Prikler; +Cc: 60153
On 12/24/22 13:51, Liliana Marie Prikler wrote:
> Am Samstag, dem 24.12.2022 um 07:43 +0800 schrieb Adam Faiz:
>> On 12/24/22 07:20, Adam Faiz wrote:
>>> + (("incdirs = \\[\\]") "incdirs = origincdirs")
>>> + (("libdirs = \\[\\]") "libdirs = origlibdirs"))))
>> I didn't do this kind of thing, because I didn't want to hardcode
>> these.
>> Most systems that pygame supports want to stay with the defaults.
> Here, "using the defaults" equates to having both origincdirs and
> origlibdirs being empty, i.e. expanded from non-existing or empty
> environment variables, right? In that case, the build config will
> still add the default /usr stuff – it just won't start out empty.
Yes, I hadn't considered that when sending the patch.
> I feel as though we could do without this patch by supplying
> PYGAME_EXTRA_BASE as a configure flag. Wouldn't that be better than
> patching?
Indeed, it's better than patching and should be done if it works for
you. I feel it's suboptimal though because the include path doesn't
deserve to be called "extra".
> Cheers
^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#60153] [PATCH v2 1/3] gnu: python-pygame: Update to 2.1.2.
2022-12-23 23:20 ` Adam Faiz via Guix-patches via
2022-12-23 23:43 ` Adam Faiz via Guix-patches via
@ 2022-12-24 5:39 ` Liliana Marie Prikler
1 sibling, 0 replies; 18+ messages in thread
From: Liliana Marie Prikler @ 2022-12-24 5:39 UTC (permalink / raw)
To: Adam Faiz; +Cc: 60153
Am Samstag, dem 24.12.2022 um 07:20 +0800 schrieb Adam Faiz:
> On 12/18/22 23:51, Adam Faiz wrote:
> > + (add-after 'unpack 'fix-build-config
> > + (lambda _
> > + (substitute* "buildconfig/config_unix.py"
> > + (("origincdirs = \\[.*\\]")
> > + "origincdirs =
> > os.environ['C_INCLUDE_PATH'].split(\":\")")
> > + (("ORIGLIBDIRS") "LIBRARY_PATH")
> > + (("incdirs = \\[\\]") "incdirs = origincdirs")
> > + (("libdirs = \\[\\]") "libdirs = origlibdirs"))))
> > + (add-after 'unpack 'fix-sdl2-headers
> > + (lambda _
> > + (substitute* "buildconfig/config_unix.py"
> > + (("SDL_ttf.h") "SDL2/SDL_ttf.h")
> > + (("SDL_image.h") "SDL2/SDL_image.h")
> > + (("SDL_mixer.h") "SDL2/SDL_mixer.h"))
> > + (substitute* "src_c/imageext.c"
> > + (("SDL_image.h") "SDL2/SDL_image.h"))
> > + (substitute* "src_c/font.h"
> > + (("SDL_ttf.h") "SDL2/SDL_ttf.h"))
> > + (substitute* "src_c/mixer.h"
> > + (("SDL_mixer.h") "SDL2/SDL_mixer.h"))
> > + (substitute* "src_c/_sdl2/mixer.c"
> > + (("SDL_mixer.h") "SDL2/SDL_mixer.h")))))))
> I don't see why these should go in phases, when I think going in a
> snippet would be better. From "Snippets and Phases" in the Guix
> manual:
>
> > The source derived from an origin should produce a source that can
> > be used to build the package on any system that the upstream
> > package supports (i.e., act as the corresponding source). In
> > particular, origin snippets must not embed store items in the
> > sources; such patching should rather be done using build phases.
> The 'fix-build-config is what I consider to be a serious bugfix, it
> doesn't matter that it was originally fixed as part of guix
> packaging.
That part of the manual is sadly in need of a serious overhaul (see [1]
for a more extended discussion). In any case, patching the source so
that it finds certain headers or libraries is typically a #:phases
thing, not a snippet one. The move to #:phases reflects that.
Cheers
[1] https://issues.guix.gnu.org/57598
^ permalink raw reply [flat|nested] 18+ messages in thread
* [bug#60153] [PATCH v1 1/3] gnu: python-pygame: Update to 2.1.2.
2022-12-17 10:01 [bug#60153] [PATCH] gnu: python-pygame: Update to 2.1.2 Adam Faiz via Guix-patches via
[not found] ` <93aa8b09-cc29-4030-3c76-458158ea0c0f@disroot.org>
2022-12-18 15:51 ` [bug#60153] [PATCH v2 1/3] " Adam Faiz
@ 2022-12-18 15:51 ` Adam Faiz via Guix-patches via
2022-12-18 15:54 ` [bug#60153] [PATCH v1 2/3] gnu: python-pygame: Use gexps and new style inputs Adam Faiz via Guix-patches via
2022-12-18 15:54 ` [bug#60153] [PATCH v2 2/3] gnu: python-pygame: Use G-Expressions and new-style inputs Adam Faiz
` (2 subsequent siblings)
5 siblings, 1 reply; 18+ messages in thread
From: Adam Faiz via Guix-patches via @ 2022-12-18 15:51 UTC (permalink / raw)
To: 60153
From 3e89a0d6f4cca4338661625bdf2b701425341507 Mon Sep 17 00:00:00 2001
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sat, 17 Dec 2022 17:37:21 +0800
Subject: [PATCH v1 1/3] gnu: python-pygame: Update to 2.1.2.
* gnu/packages/game-development.scm (python-pygame): Update to 2.1.2.
---
gnu/packages/game-development.scm | 98 +++++++++++--------------------
1 file changed, 35 insertions(+), 63 deletions(-)
diff --git a/gnu/packages/game-development.scm
b/gnu/packages/game-development.scm
index 4a0435045b..f9a53799f5 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1194,82 +1194,54 @@ (define-public quesoglc
(define-public python-pygame
(package
(name "python-pygame")
- (version "1.9.4")
+ (version "2.1.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "pygame" version))
(sha256
(base32
- "1dn0nb86jl7yr8709cncxdr0yrmviqakw7zx3g8jbbwrr60if3bh"))))
+ "0g6j79naab7583kymf1bgxc5l5c9h5laq887rmvh8vw8iyifrl6n"))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Fix the configure script to allow passing the
dependencies
+ ;; as environment variables.
+ (substitute* "buildconfig/config_unix.py"
+ (("localbase.d") "d")
+ (("origincdirs = .*/include.*]")
+ "origincdirs =
os.environ['C_INCLUDE_PATH'].split(\":\")")
+ (("ORIGLIBDIRS") "LIBRARY_PATH")
+ ;; Fix headers
+ (("SDL_ttf.h") "SDL2/SDL_ttf.h")
+ (("SDL_image.h") "SDL2/SDL_image.h")
+ (("SDL_mixer.h") "SDL2/SDL_mixer.h"))
+ (substitute* "src_c/imageext.c"
+ (("SDL_image.h") "SDL2/SDL_image.h"))
+ (substitute* "src_c/font.h"
+ (("SDL_ttf.h") "SDL2/SDL_ttf.h"))
+ (substitute* "src_c/mixer.h"
+ (("SDL_mixer.h") "SDL2/SDL_mixer.h"))
+ (substitute* "src_c/_sdl2/mixer.c"
+ (("SDL_mixer.h") "SDL2/SDL_mixer.h"))))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; tests require pygame to be
installed first
#:phases
(modify-phases %standard-phases
- ;; Set the paths to the dependencies manually because
- ;; the configure script does not allow passing them as
- ;; parameters. This also means we can skip the configure
- ;; phase.
+ ;; Pass the dependencies to the configure script
+ ;; through environment variables.
(add-before 'build 'set-library-paths
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((sdl-ref (assoc-ref inputs "sdl"))
- (font-ref (assoc-ref inputs "sdl-ttf"))
- (image-ref (assoc-ref inputs "sdl-image"))
- (mixer-ref (assoc-ref inputs "sdl-mixer"))
- (smpeg-ref (assoc-ref inputs "libsmpeg"))
- (png-ref (assoc-ref inputs "libpng"))
- (jpeg-ref (assoc-ref inputs "libjpeg"))
- (freetype-ref (assoc-ref inputs "freetype"))
- (v4l-ref (assoc-ref inputs "v4l-utils"))
- (out-ref (assoc-ref outputs "out")))
- (substitute* "Setup.in"
- (("SDL = -I/usr/include/SDL")
- (string-append "SDL = -I" sdl-ref "/include/SDL -I.")))
- (substitute* "Setup.in"
- (("FONT = -lSDL_ttf")
- (string-append "FONT = -I" font-ref "/include/SDL -L"
- font-ref "/lib -lSDL_ttf")))
- (substitute* "Setup.in"
- (("IMAGE = -lSDL_image")
- (string-append "IMAGE = -I" image-ref "/include/SDL -L"
- image-ref "/lib -lSDL_image")))
- (substitute* "Setup.in"
- (("MIXER = -lSDL_mixer")
- (string-append "MIXER = -I" mixer-ref "/include/SDL -L"
- mixer-ref "/lib -lSDL_mixer")))
- (substitute* "Setup.in"
- (("SMPEG = -lsmpeg")
- (string-append "SMPEG = -I" smpeg-ref "/include/smpeg -L"
- smpeg-ref "/lib -lsmpeg")))
- (substitute* "Setup.in"
- (("PNG = -lpng")
- (string-append "PNG = -I" png-ref "/include -L"
- png-ref "/lib -lpng")))
- (substitute* "Setup.in"
- (("JPEG = -ljpeg")
- (string-append "JPEG = -I" jpeg-ref "/include -L"
- jpeg-ref "/lib -ljpeg")))
-
- (substitute* "Setup.in"
- (("FREETYPE = -lfreetype")
- (string-append "FREETYPE = -I" freetype-ref
"/include/freetype2 -L"
- freetype-ref "/lib -lfreetype")))
-
- (substitute* "Setup.in"
- (("^pypm") "#pypm"))
- ;; Create a path to a header file provided by v4l-utils.
- (system* "mkdir" "linux")
- (system* "ln" "--symbolic"
- (string-append v4l-ref
"/include/libv4l1-videodev.h")
- "linux/videodev.h")
- (system* "ln" "--symbolic" "Setup.in" "Setup")))))))
+ (lambda _
+ (setenv "LOCALBASE" " "))))))
+ (native-inputs
+ (list pkg-config))
(inputs
`(("freetype" ,freetype)
- ("sdl" ,sdl)
- ("sdl-image" ,sdl-image)
- ("sdl-mixer" ,sdl-mixer)
- ("sdl-ttf" ,sdl-ttf)
- ("sdl-gfx" ,sdl-gfx)
+ ("sdl2" ,sdl2)
+ ("sdl2-image" ,sdl2-image)
+ ("sdl2-mixer" ,sdl2-mixer)
+ ("sdl2-ttf" ,sdl2-ttf)
+ ("sdl2-gfx" ,sdl2-gfx)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libX11" ,libx11)
--
2.38.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [bug#60153] [PATCH v1 2/3] gnu: python-pygame: Use gexps and new style inputs.
2022-12-18 15:51 ` [bug#60153] [PATCH v1 " Adam Faiz via Guix-patches via
@ 2022-12-18 15:54 ` Adam Faiz via Guix-patches via
2022-12-18 15:57 ` [bug#60153] [PATCH v1 3/3] gnu: python-pygame: Fix description Adam Faiz via Guix-patches via
0 siblings, 1 reply; 18+ messages in thread
From: Adam Faiz via Guix-patches via @ 2022-12-18 15:54 UTC (permalink / raw)
To: 60153
From 76f9b1970a8dfb11108823be8dc0f16b1d0861a7 Mon Sep 17 00:00:00 2001
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sun, 18 Dec 2022 23:20:27 +0800
Subject: [PATCH v1 2/3] gnu: python-pygame: Use gexps and new style inputs.
* gnu/packages/game-development.scm (python-pygame)[arguments]: Use gexps.
[inputs]: Use the new style.
---
gnu/packages/game-development.scm | 40 +++++++++++++++----------------
1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/gnu/packages/game-development.scm
b/gnu/packages/game-development.scm
index f9a53799f5..a96f62603f 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1225,29 +1225,29 @@ (define-public python-pygame
(("SDL_mixer.h") "SDL2/SDL_mixer.h"))))))
(build-system python-build-system)
(arguments
- `(#:tests? #f ; tests require pygame to be
installed first
- #:phases
- (modify-phases %standard-phases
- ;; Pass the dependencies to the configure script
- ;; through environment variables.
- (add-before 'build 'set-library-paths
- (lambda _
- (setenv "LOCALBASE" " "))))))
+ (list #:tests? #f ; tests require pygame to be
installed first
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; Pass the dependencies to the configure script
+ ;; through environment variables.
+ (add-before 'build 'set-library-paths
+ (lambda _
+ (setenv "LOCALBASE" " "))))))
(native-inputs
(list pkg-config))
(inputs
- `(("freetype" ,freetype)
- ("sdl2" ,sdl2)
- ("sdl2-image" ,sdl2-image)
- ("sdl2-mixer" ,sdl2-mixer)
- ("sdl2-ttf" ,sdl2-ttf)
- ("sdl2-gfx" ,sdl2-gfx)
- ("libjpeg" ,libjpeg-turbo)
- ("libpng" ,libpng)
- ("libX11" ,libx11)
- ("libsmpeg" ,libsmpeg)
- ("portmidi" ,portmidi)
- ("v4l-utils" ,v4l-utils)))
+ (list freetype
+ sdl2
+ sdl2-image
+ sdl2-mixer
+ sdl2-ttf
+ sdl2-gfx
+ libjpeg-turbo
+ libpng
+ libx11
+ libsmpeg
+ portmidi
+ v4l-utils))
(home-page "https://www.pygame.org")
(synopsis "SDL wrapper for Python")
(description "Pygame is a set of Python modules designed for
writing games.
--
2.38.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [bug#60153] [PATCH v1 3/3] gnu: python-pygame: Fix description.
2022-12-18 15:54 ` [bug#60153] [PATCH v1 2/3] gnu: python-pygame: Use gexps and new style inputs Adam Faiz via Guix-patches via
@ 2022-12-18 15:57 ` Adam Faiz via Guix-patches via
0 siblings, 0 replies; 18+ messages in thread
From: Adam Faiz via Guix-patches via @ 2022-12-18 15:57 UTC (permalink / raw)
To: 60153
From c9a3aa24f836b1f0813fd5fd81420c1d00d35c29 Mon Sep 17 00:00:00 2001
From: AwesomeAdam54321 <adam.faiz@disroot.org>
Date: Sun, 18 Dec 2022 23:34:43 +0800
Subject: [PATCH v1 3/3] gnu: python-pygame: Fix description.
* gnu/packages/game-development.scm (python-pygame)[description]: Fix
the whitespace.
---
gnu/packages/game-development.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gnu/packages/game-development.scm
b/gnu/packages/game-development.scm
index a96f62603f..a99d7ca586 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1251,7 +1251,7 @@ (define-public python-pygame
(home-page "https://www.pygame.org")
(synopsis "SDL wrapper for Python")
(description "Pygame is a set of Python modules designed for
writing games.
-Pygame adds functionality on top of the excellent SDL library. This
allows you
+ Pygame adds functionality on top of the excellent SDL library. This
allows you
to create fully featured games and multimedia programs in the python
language.")
(license (list license:bsd-2
;; python numeric license as listed by Debian looks
like
--
2.38.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [bug#60153] [PATCH v2 2/3] gnu: python-pygame: Use G-Expressions and new-style inputs.
2022-12-17 10:01 [bug#60153] [PATCH] gnu: python-pygame: Update to 2.1.2 Adam Faiz via Guix-patches via
` (2 preceding siblings ...)
2022-12-18 15:51 ` [bug#60153] [PATCH v1 " Adam Faiz via Guix-patches via
@ 2022-12-18 15:54 ` Adam Faiz
2022-12-22 20:45 ` [bug#60153] [PATCH v2 3/3] gnu: python-pygame: Reword description Liliana Marie Prikler
2022-12-22 21:09 ` [bug#60153] [PATCH v2 0/3] Update python-pygame to 2.1.2 Liliana Marie Prikler
5 siblings, 0 replies; 18+ messages in thread
From: Adam Faiz @ 2022-12-18 15:54 UTC (permalink / raw)
To: Adam Faiz; +Cc: 60153
* gnu/packages/game-development.scm (python-pygame)[arguments]: Convert
to list of G-Expressions.
[inputs]: Drop labels.
---
gnu/packages/game-development.scm | 75 ++++++++++++++++---------------
1 file changed, 38 insertions(+), 37 deletions(-)
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 07b2c6f3fe..31bc76d4fd 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1203,46 +1203,47 @@ (define-public python-pygame
"0g6j79naab7583kymf1bgxc5l5c9h5laq887rmvh8vw8iyifrl6n"))))
(build-system python-build-system)
(arguments
- `(#:tests? #f ; tests require pygame to be installed first
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-build-config
- (lambda _
- (substitute* "buildconfig/config_unix.py"
- (("origincdirs = \\[.*\\]")
- "origincdirs = os.environ['C_INCLUDE_PATH'].split(\":\")")
- (("ORIGLIBDIRS") "LIBRARY_PATH")
- (("incdirs = \\[\\]") "incdirs = origincdirs")
- (("libdirs = \\[\\]") "libdirs = origlibdirs"))))
- (add-after 'unpack 'fix-sdl2-headers
- (lambda _
- (substitute* "buildconfig/config_unix.py"
- (("SDL_ttf.h") "SDL2/SDL_ttf.h")
- (("SDL_image.h") "SDL2/SDL_image.h")
- (("SDL_mixer.h") "SDL2/SDL_mixer.h"))
- (substitute* "src_c/imageext.c"
- (("SDL_image.h") "SDL2/SDL_image.h"))
- (substitute* "src_c/font.h"
- (("SDL_ttf.h") "SDL2/SDL_ttf.h"))
- (substitute* "src_c/mixer.h"
- (("SDL_mixer.h") "SDL2/SDL_mixer.h"))
- (substitute* "src_c/_sdl2/mixer.c"
- (("SDL_mixer.h") "SDL2/SDL_mixer.h")))))))
+ (list
+ #:tests? #f ; tests require pygame to be installed first
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-build-config
+ (lambda _
+ (substitute* "buildconfig/config_unix.py"
+ (("origincdirs = \\[.*\\]")
+ "origincdirs = os.environ['C_INCLUDE_PATH'].split(\":\")")
+ (("ORIGLIBDIRS") "LIBRARY_PATH")
+ (("incdirs = \\[\\]") "incdirs = origincdirs")
+ (("libdirs = \\[\\]") "libdirs = origlibdirs"))))
+ (add-after 'unpack 'fix-sdl2-headers
+ (lambda _
+ (substitute* "buildconfig/config_unix.py"
+ (("SDL_ttf.h") "SDL2/SDL_ttf.h")
+ (("SDL_image.h") "SDL2/SDL_image.h")
+ (("SDL_mixer.h") "SDL2/SDL_mixer.h"))
+ (substitute* "src_c/imageext.c"
+ (("SDL_image.h") "SDL2/SDL_image.h"))
+ (substitute* "src_c/font.h"
+ (("SDL_ttf.h") "SDL2/SDL_ttf.h"))
+ (substitute* "src_c/mixer.h"
+ (("SDL_mixer.h") "SDL2/SDL_mixer.h"))
+ (substitute* "src_c/_sdl2/mixer.c"
+ (("SDL_mixer.h") "SDL2/SDL_mixer.h")))))))
(native-inputs
(list pkg-config))
(inputs
- `(("freetype" ,freetype)
- ("sdl2" ,sdl2)
- ("sdl2-image" ,sdl2-image)
- ("sdl2-mixer" ,sdl2-mixer)
- ("sdl2-ttf" ,sdl2-ttf)
- ("sdl2-gfx" ,sdl2-gfx)
- ("libjpeg" ,libjpeg-turbo)
- ("libpng" ,libpng)
- ("libX11" ,libx11)
- ("libsmpeg" ,libsmpeg)
- ("portmidi" ,portmidi)
- ("v4l-utils" ,v4l-utils)))
+ (list freetype
+ sdl2
+ sdl2-image
+ sdl2-mixer
+ sdl2-ttf
+ sdl2-gfx
+ libjpeg-turbo
+ libpng
+ libx11
+ libsmpeg
+ portmidi
+ v4l-utils))
(home-page "https://www.pygame.org")
(synopsis "SDL wrapper for Python")
(description "Pygame is a set of Python modules designed for writing games.
--
2.38.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [bug#60153] [PATCH v2 3/3] gnu: python-pygame: Reword description.
2022-12-17 10:01 [bug#60153] [PATCH] gnu: python-pygame: Update to 2.1.2 Adam Faiz via Guix-patches via
` (3 preceding siblings ...)
2022-12-18 15:54 ` [bug#60153] [PATCH v2 2/3] gnu: python-pygame: Use G-Expressions and new-style inputs Adam Faiz
@ 2022-12-22 20:45 ` Liliana Marie Prikler
2022-12-22 21:09 ` [bug#60153] [PATCH v2 0/3] Update python-pygame to 2.1.2 Liliana Marie Prikler
5 siblings, 0 replies; 18+ messages in thread
From: Liliana Marie Prikler @ 2022-12-22 20:45 UTC (permalink / raw)
To: Adam Faiz; +Cc: 60153
* gnu/packages/game-development.scm (python-pygame)[description]: Join
sentences describing functionality. Capitalize “Python”.
Cut down the marketing talk.
---
gnu/packages/game-development.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 31bc76d4fd..0f96784dd3 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1247,8 +1247,8 @@ (define-public python-pygame
(home-page "https://www.pygame.org")
(synopsis "SDL wrapper for Python")
(description "Pygame is a set of Python modules designed for writing games.
-Pygame adds functionality on top of the excellent SDL library. This allows you
-to create fully featured games and multimedia programs in the python language.")
+It adds functionality on top of the SDL library, allowing you to create games
+and multimedia programs in the Python language.")
(license (list license:bsd-2
;; python numeric license as listed by Debian looks like
;; an Expat-style license with a warranty disclaimer for
--
2.38.1
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [bug#60153] [PATCH v2 0/3] Update python-pygame to 2.1.2.
2022-12-17 10:01 [bug#60153] [PATCH] gnu: python-pygame: Update to 2.1.2 Adam Faiz via Guix-patches via
` (4 preceding siblings ...)
2022-12-22 20:45 ` [bug#60153] [PATCH v2 3/3] gnu: python-pygame: Reword description Liliana Marie Prikler
@ 2022-12-22 21:09 ` Liliana Marie Prikler
2022-12-31 7:34 ` bug#60153: " Liliana Marie Prikler
5 siblings, 1 reply; 18+ messages in thread
From: Liliana Marie Prikler @ 2022-12-22 21:09 UTC (permalink / raw)
To: Adam Faiz; +Cc: 60153
Hi Adam and everyone else reading.
For the sake of transparency, this is the series I plan on pushing on
December 31st to close this bug. Obviously, I'll add proper sign-offs
before doing so ;)
Cheers
Adam Faiz (2):
gnu: python-pygame: Update to 2.1.2.
gnu: python-pygame: Use G-Expressions and new-style inputs.
Liliana Marie Prikler (1):
gnu: python-pygame: Reword description.
gnu/packages/game-development.scm | 120 +++++++++++-------------------
1 file changed, 44 insertions(+), 76 deletions(-)
--
2.38.1
^ permalink raw reply [flat|nested] 18+ messages in thread
* bug#60153: [PATCH v2 0/3] Update python-pygame to 2.1.2.
2022-12-22 21:09 ` [bug#60153] [PATCH v2 0/3] Update python-pygame to 2.1.2 Liliana Marie Prikler
@ 2022-12-31 7:34 ` Liliana Marie Prikler
0 siblings, 0 replies; 18+ messages in thread
From: Liliana Marie Prikler @ 2022-12-31 7:34 UTC (permalink / raw)
To: Adam Faiz; +Cc: 60153-done
Am Donnerstag, dem 22.12.2022 um 22:09 +0100 schrieb Liliana Marie
Prikler:
> Hi Adam and everyone else reading.
>
> For the sake of transparency, this is the series I plan on pushing on
> December 31st to close this bug. Obviously, I'll add proper sign-
> offs before doing so ;)
>
> Cheers
>
> Adam Faiz (2):
> gnu: python-pygame: Update to 2.1.2.
> gnu: python-pygame: Use G-Expressions and new-style inputs.
>
> Liliana Marie Prikler (1):
> gnu: python-pygame: Reword description.
>
> gnu/packages/game-development.scm | 120 +++++++++++-----------------
> --
> 1 file changed, 44 insertions(+), 76 deletions(-)
Pushed now.
Cheers
^ permalink raw reply [flat|nested] 18+ messages in thread