diff mbox series

[28/30] package/python-pygame: drop package

Message ID 20231026092701.12345-29-adam.duskett@amarulasolutions.com
State Changes Requested
Headers show
Series package/python3: bump version to 3.12.0 | expand

Commit Message

Adam Duskett Oct. 26, 2023, 9:26 a.m. UTC
The python-pygame package has not recieved any update since
Sun May 1 22:15:17 2016 (commit: a9ec96e545102ae5ccd4280323d35360b0a5072d)

As python 3.12.0 no longer supports distutils, drop the package as the package
is clearly unmaintained.

Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
---
 Config.in.legacy                         |   7 ++
 package/Config.in                        |   2 -
 package/python-pygame/Config.in          |  50 ----------
 package/python-pygame/python-pygame.hash |   3 -
 package/python-pygame/python-pygame.mk   | 111 -----------------------
 5 files changed, 7 insertions(+), 166 deletions(-)
 delete mode 100644 package/python-pygame/Config.in
 delete mode 100644 package/python-pygame/python-pygame.hash
 delete mode 100644 package/python-pygame/python-pygame.mk

Comments

Marcus Hoffmann Oct. 26, 2023, 2:13 p.m. UTC | #1
Hi,

On 26.10.23 11:26, Adam Duskett wrote:
> The python-pygame package has not recieved any update since
> Sun May 1 22:15:17 2016 (commit: a9ec96e545102ae5ccd4280323d35360b0a5072d)
>
> As python 3.12.0 no longer supports distutils, drop the package as the package
> is clearly unmaintained.

I'd like to update the package to a recent version of pygame instead.
Updating the package should be fairly straightforward (famous last
words...) but I've struggled to find a platform (real hardware or
virtualized) where I can actually test this with actual graphical
output. :-/

Marcus

>
> Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
> ---
>   Config.in.legacy                         |   7 ++
>   package/Config.in                        |   2 -
>   package/python-pygame/Config.in          |  50 ----------
>   package/python-pygame/python-pygame.hash |   3 -
>   package/python-pygame/python-pygame.mk   | 111 -----------------------
>   5 files changed, 7 insertions(+), 166 deletions(-)
>   delete mode 100644 package/python-pygame/Config.in
>   delete mode 100644 package/python-pygame/python-pygame.hash
>   delete mode 100644 package/python-pygame/python-pygame.mk
>
> diff --git a/Config.in.legacy b/Config.in.legacy
> index 8e406f2b13..f1d5f345c3 100644
> --- a/Config.in.legacy
> +++ b/Config.in.legacy
> @@ -153,6 +153,13 @@ config BR2_PACKAGE_PYTHON_PYXB
>         python-pyxb has been removed due to being abandoned and
>         distutils no longer being supported in python 3.12.0.
>
> +config BR2_PACKAGE_PYTHON_PYGAME
> +     bool "python-pygame removed"
> +     select BR2_LEGACY
> +     help
> +       python-pygame has been removed due to being abandoned and
> +       distutils no longer being supported in python 3.12.0.
> +
>   config BR2_KERNEL_HEADERS_6_4
>       bool "kernel headers version 6.4.x are no longer supported"
>       select BR2_LEGACY
> diff --git a/package/Config.in b/package/Config.in
> index 4e489c4706..d756094c4b 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1228,7 +1228,6 @@ menu "External python modules"
>       source "package/python-pydyf/Config.in"
>       source "package/python-pyelftools/Config.in"
>       source "package/python-pyftpdlib/Config.in"
> -     source "package/python-pygame/Config.in"
>       source "package/python-pygments/Config.in"
>       source "package/python-pyhamcrest/Config.in"
>       source "package/python-pyicu/Config.in"
> @@ -1267,7 +1266,6 @@ menu "External python modules"
>       source "package/python-pytz/Config.in"
>       source "package/python-pyudev/Config.in"
>       source "package/python-pyusb/Config.in"
> -     source "package/python-pyxb/Config.in"
>       source "package/python-pyyaml/Config.in"
>       source "package/python-pyzmq/Config.in"
>       source "package/python-qrcode/Config.in"
> diff --git a/package/python-pygame/Config.in b/package/python-pygame/Config.in
> deleted file mode 100644
> index 57eb020742..0000000000
> --- a/package/python-pygame/Config.in
> +++ /dev/null
> @@ -1,50 +0,0 @@
> -config BR2_PACKAGE_PYTHON_PYGAME
> -     bool "python-pygame"
> -     select BR2_PACKAGE_SDL
> -     help
> -       Pygame is a cross-platfrom library designed to make it easy
> -       to write multimedia software, such as games, in
> -       Python. Pygame requires the Python language and SDL
> -       multimedia library.
> -       It can also make use of several other popular libraries.
> -
> -       http://www.pygame.org/
> -
> -if BR2_PACKAGE_PYTHON_PYGAME
> -config BR2_PACKAGE_PYTHON_PYGAME_IMAGE
> -     bool "pygame.image"
> -     select BR2_PACKAGE_SDL_IMAGE
> -     select BR2_PACKAGE_SDL_IMAGE_PNG
> -     select BR2_PACKAGE_SDL_IMAGE_JPEG
> -     help
> -       pygame module for loading, saving and transfering images.
> -       Will autoselect sdl_image with png and jpeg support.
> -
> -config BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES
> -     bool "pygame.examples"
> -     help
> -       Include examples.
> -       Selecting this option adds about 1.5 MB to the target file
> -       system.
> -
> -config BR2_PACKAGE_PYTHON_PYGAME_FONT
> -     bool "pygame.font"
> -     select BR2_PACKAGE_SDL_TTF
> -     help
> -       pygame module for loading and rendering fonts.
> -       Will autoselect sdl_ttf.
> -
> -config BR2_PACKAGE_PYTHON_PYGAME_MIXER
> -     bool "pygame.mixer"
> -     select BR2_PACKAGE_SDL_MIXER
> -     help
> -       pygame module for loading and playing sounds.
> -       Will autoselect sdl_mixer.
> -
> -config BR2_PACKAGE_PYTHON_PYGAME_SCRAP
> -     bool "pygame.scrap"
> -     depends on BR2_PACKAGE_SDL_X11
> -     help
> -       pygame module for clipboard support (X11 needed)
> -
> -endif
> diff --git a/package/python-pygame/python-pygame.hash b/package/python-pygame/python-pygame.hash
> deleted file mode 100644
> index c0496515e2..0000000000
> --- a/package/python-pygame/python-pygame.hash
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Locally computed
> -sha256  f95a7dd68ea294d415e36e068d2f533c5a01c67773452d14a535c5c7455681fe  pygame-d61ea8eabd56.tar.gz
> -sha256  a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7  LGPL
> diff --git a/package/python-pygame/python-pygame.mk b/package/python-pygame/python-pygame.mk
> deleted file mode 100644
> index 600dd9e743..0000000000
> --- a/package/python-pygame/python-pygame.mk
> +++ /dev/null
> @@ -1,111 +0,0 @@
> -################################################################################
> -#
> -# python-pygame
> -#
> -################################################################################
> -
> -# stable 1.9.1 release requires V4L which has been wiped out of recent Linux
> -# kernels, so use latest mercurial revision until next stable release is out.
> -PYTHON_PYGAME_VERSION = d61ea8eabd56
> -PYTHON_PYGAME_SOURCE = pygame-$(PYTHON_PYGAME_VERSION).tar.gz
> -PYTHON_PYGAME_SITE = https://bitbucket.org/pygame/pygame
> -PYTHON_PYGAME_SITE_METHOD = hg
> -PYTHON_PYGAME_SETUP_TYPE = distutils
> -PYTHON_PYGAME_LICENSE = LGPL-2.1+
> -PYTHON_PYGAME_LICENSE_FILES = LGPL
> -
> -ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
> -PYTHON_PYGAME_OPT_DEPENDS += sdl_image
> -endif
> -
> -ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
> -PYTHON_PYGAME_OPT_DEPENDS += sdl_ttf
> -endif
> -
> -ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
> -PYTHON_PYGAME_OPT_DEPENDS += sdl_mixer
> -endif
> -
> -PYTHON_PYGAME_DEPENDENCIES = sdl $(PYTHON_PYGAME_OPT_DEPENDS)
> -
> -ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
> -define PYTHON_PYGAME_UNCONFIGURE_IMAGE
> -     $(SED) 's/^imageext/#imageext/' $(@D)/Setup
> -endef
> -endif
> -
> -ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
> -define PYTHON_PYGAME_UNCONFIGURE_FONT
> -     $(SED) 's/^font/#font/' $(@D)/Setup
> -endef
> -endif
> -
> -ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
> -define PYTHON_PYGAME_UNCONFIGURE_MIXER
> -     $(SED) 's/^mixer/#mixer/g' $(@D)/Setup
> -endef
> -endif
> -
> -# Both require numpy or numeric python module
> -define PYTHON_PYGAME_UNCONFIGURE_SNDARRAY
> -     $(SED) 's/^_numericsndarray/#_numericsndarray/' $(@D)/Setup
> -endef
> -
> -define PYTHON_PYGAME_UNCONFIGURE_SURFARRAY
> -     $(SED) 's/^_numericsurfarray/#_numericsurfarray/' $(@D)/Setup
> -endef
> -
> -# Requires smpeg
> -define PYTHON_PYGAME_UNCONFIGURE_MOVIE
> -     $(SED) 's/^movie/#movie/' $(@D)/Setup
> -endef
> -
> -ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_SCRAP),y)
> -define PYTHON_PYGAME_UNCONFIGURE_SCRAP
> -     $(SED) 's/^scrap/#scrap/' $(@D)/Setup
> -endef
> -endif
> -
> -define PYTHON_PYGAME_UNCONFIGURE_FREETYPE
> -     $(SED) 's/^_freetype/#_freetype/' $(@D)/Setup
> -endef
> -
> -PYTHON_PYGAME_SDL_FLAGS = `$(STAGING_DIR)/usr/bin/sdl-config --cflags`
> -PYTHON_PYGAME_SDL_FLAGS += `$(STAGING_DIR)/usr/bin/sdl-config --libs`
> -
> -# Pygame needs a Setup file where options should be commented out if
> -# dependencies are not available
> -define PYTHON_PYGAME_CONFIGURE_CMDS
> -     cp -f $(@D)/Setup.in $(@D)/Setup
> -     $(SED) "s~^SDL = ~SDL = $(PYTHON_PYGAME_SDL_FLAGS) \n#~" $(@D)/Setup
> -     $(SED) 's/^pypm/#pypm/' $(@D)/Setup
> -     $(PYTHON_PYGAME_UNCONFIGURE_IMAGE)
> -     $(PYTHON_PYGAME_UNCONFIGURE_FONT)
> -     $(PYTHON_PYGAME_UNCONFIGURE_MIXER)
> -     $(PYTHON_PYGAME_UNCONFIGURE_SNDARRAY)
> -     $(PYTHON_PYGAME_UNCONFIGURE_SURFARRAY)
> -     $(PYTHON_PYGAME_UNCONFIGURE_MOVIE)
> -     $(PYTHON_PYGAME_UNCONFIGURE_SCRAP)
> -     $(PYTHON_PYGAME_UNCONFIGURE_FREETYPE)
> -endef
> -
> -define PYTHON_PYGAME_REMOVE_DOC
> -     rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/docs
> -endef
> -
> -PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_DOC
> -
> -define PYTHON_PYGAME_REMOVE_TESTS
> -     rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/tests
> -endef
> -
> -PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_TESTS
> -
> -ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES),y)
> -define PYTHON_PYGAME_REMOVE_EXAMPLES
> -     rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/pygame/examples
> -endef
> -PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_EXAMPLES
> -endif
> -
> -$(eval $(python-package))
Yann E. MORIN Nov. 9, 2023, 9:55 p.m. UTC | #2
Marcus, All,

On 2023-10-26 16:13 +0200, Marcus Hoffmann via buildroot spake thusly:
> On 26.10.23 11:26, Adam Duskett wrote:
> >The python-pygame package has not recieved any update since
> >Sun May 1 22:15:17 2016 (commit: a9ec96e545102ae5ccd4280323d35360b0a5072d)
> >
> >As python 3.12.0 no longer supports distutils, drop the package as the package
> >is clearly unmaintained.
> 
> I'd like to update the package to a recent version of pygame instead.
> Updating the package should be fairly straightforward (famous last
> words...) but I've struggled to find a platform (real hardware or
> virtualized) where I can actually test this with actual graphical
> output. :-/

You just got an extension deadline to update this package, as I
committed a patch from James to switch to setuptools:

    e759e927b344  package/python-pygame: switch from distutils to setuptools

But Adam is right to suggest dropping the package, if it han't been
updated in more than 7 years...

Regards,
Yann E. MORIN.

> Marcus
> 
> >
> >Signed-off-by: Adam Duskett <adam.duskett@amarulasolutions.com>
> >---
> >  Config.in.legacy                         |   7 ++
> >  package/Config.in                        |   2 -
> >  package/python-pygame/Config.in          |  50 ----------
> >  package/python-pygame/python-pygame.hash |   3 -
> >  package/python-pygame/python-pygame.mk   | 111 -----------------------
> >  5 files changed, 7 insertions(+), 166 deletions(-)
> >  delete mode 100644 package/python-pygame/Config.in
> >  delete mode 100644 package/python-pygame/python-pygame.hash
> >  delete mode 100644 package/python-pygame/python-pygame.mk
> >
> >diff --git a/Config.in.legacy b/Config.in.legacy
> >index 8e406f2b13..f1d5f345c3 100644
> >--- a/Config.in.legacy
> >+++ b/Config.in.legacy
> >@@ -153,6 +153,13 @@ config BR2_PACKAGE_PYTHON_PYXB
> >        python-pyxb has been removed due to being abandoned and
> >        distutils no longer being supported in python 3.12.0.
> >
> >+config BR2_PACKAGE_PYTHON_PYGAME
> >+     bool "python-pygame removed"
> >+     select BR2_LEGACY
> >+     help
> >+       python-pygame has been removed due to being abandoned and
> >+       distutils no longer being supported in python 3.12.0.
> >+
> >  config BR2_KERNEL_HEADERS_6_4
> >      bool "kernel headers version 6.4.x are no longer supported"
> >      select BR2_LEGACY
> >diff --git a/package/Config.in b/package/Config.in
> >index 4e489c4706..d756094c4b 100644
> >--- a/package/Config.in
> >+++ b/package/Config.in
> >@@ -1228,7 +1228,6 @@ menu "External python modules"
> >      source "package/python-pydyf/Config.in"
> >      source "package/python-pyelftools/Config.in"
> >      source "package/python-pyftpdlib/Config.in"
> >-     source "package/python-pygame/Config.in"
> >      source "package/python-pygments/Config.in"
> >      source "package/python-pyhamcrest/Config.in"
> >      source "package/python-pyicu/Config.in"
> >@@ -1267,7 +1266,6 @@ menu "External python modules"
> >      source "package/python-pytz/Config.in"
> >      source "package/python-pyudev/Config.in"
> >      source "package/python-pyusb/Config.in"
> >-     source "package/python-pyxb/Config.in"
> >      source "package/python-pyyaml/Config.in"
> >      source "package/python-pyzmq/Config.in"
> >      source "package/python-qrcode/Config.in"
> >diff --git a/package/python-pygame/Config.in b/package/python-pygame/Config.in
> >deleted file mode 100644
> >index 57eb020742..0000000000
> >--- a/package/python-pygame/Config.in
> >+++ /dev/null
> >@@ -1,50 +0,0 @@
> >-config BR2_PACKAGE_PYTHON_PYGAME
> >-     bool "python-pygame"
> >-     select BR2_PACKAGE_SDL
> >-     help
> >-       Pygame is a cross-platfrom library designed to make it easy
> >-       to write multimedia software, such as games, in
> >-       Python. Pygame requires the Python language and SDL
> >-       multimedia library.
> >-       It can also make use of several other popular libraries.
> >-
> >-       http://www.pygame.org/
> >-
> >-if BR2_PACKAGE_PYTHON_PYGAME
> >-config BR2_PACKAGE_PYTHON_PYGAME_IMAGE
> >-     bool "pygame.image"
> >-     select BR2_PACKAGE_SDL_IMAGE
> >-     select BR2_PACKAGE_SDL_IMAGE_PNG
> >-     select BR2_PACKAGE_SDL_IMAGE_JPEG
> >-     help
> >-       pygame module for loading, saving and transfering images.
> >-       Will autoselect sdl_image with png and jpeg support.
> >-
> >-config BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES
> >-     bool "pygame.examples"
> >-     help
> >-       Include examples.
> >-       Selecting this option adds about 1.5 MB to the target file
> >-       system.
> >-
> >-config BR2_PACKAGE_PYTHON_PYGAME_FONT
> >-     bool "pygame.font"
> >-     select BR2_PACKAGE_SDL_TTF
> >-     help
> >-       pygame module for loading and rendering fonts.
> >-       Will autoselect sdl_ttf.
> >-
> >-config BR2_PACKAGE_PYTHON_PYGAME_MIXER
> >-     bool "pygame.mixer"
> >-     select BR2_PACKAGE_SDL_MIXER
> >-     help
> >-       pygame module for loading and playing sounds.
> >-       Will autoselect sdl_mixer.
> >-
> >-config BR2_PACKAGE_PYTHON_PYGAME_SCRAP
> >-     bool "pygame.scrap"
> >-     depends on BR2_PACKAGE_SDL_X11
> >-     help
> >-       pygame module for clipboard support (X11 needed)
> >-
> >-endif
> >diff --git a/package/python-pygame/python-pygame.hash b/package/python-pygame/python-pygame.hash
> >deleted file mode 100644
> >index c0496515e2..0000000000
> >--- a/package/python-pygame/python-pygame.hash
> >+++ /dev/null
> >@@ -1,3 +0,0 @@
> >-# Locally computed
> >-sha256  f95a7dd68ea294d415e36e068d2f533c5a01c67773452d14a535c5c7455681fe  pygame-d61ea8eabd56.tar.gz
> >-sha256  a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7  LGPL
> >diff --git a/package/python-pygame/python-pygame.mk b/package/python-pygame/python-pygame.mk
> >deleted file mode 100644
> >index 600dd9e743..0000000000
> >--- a/package/python-pygame/python-pygame.mk
> >+++ /dev/null
> >@@ -1,111 +0,0 @@
> >-################################################################################
> >-#
> >-# python-pygame
> >-#
> >-################################################################################
> >-
> >-# stable 1.9.1 release requires V4L which has been wiped out of recent Linux
> >-# kernels, so use latest mercurial revision until next stable release is out.
> >-PYTHON_PYGAME_VERSION = d61ea8eabd56
> >-PYTHON_PYGAME_SOURCE = pygame-$(PYTHON_PYGAME_VERSION).tar.gz
> >-PYTHON_PYGAME_SITE = https://bitbucket.org/pygame/pygame
> >-PYTHON_PYGAME_SITE_METHOD = hg
> >-PYTHON_PYGAME_SETUP_TYPE = distutils
> >-PYTHON_PYGAME_LICENSE = LGPL-2.1+
> >-PYTHON_PYGAME_LICENSE_FILES = LGPL
> >-
> >-ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
> >-PYTHON_PYGAME_OPT_DEPENDS += sdl_image
> >-endif
> >-
> >-ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
> >-PYTHON_PYGAME_OPT_DEPENDS += sdl_ttf
> >-endif
> >-
> >-ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
> >-PYTHON_PYGAME_OPT_DEPENDS += sdl_mixer
> >-endif
> >-
> >-PYTHON_PYGAME_DEPENDENCIES = sdl $(PYTHON_PYGAME_OPT_DEPENDS)
> >-
> >-ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
> >-define PYTHON_PYGAME_UNCONFIGURE_IMAGE
> >-     $(SED) 's/^imageext/#imageext/' $(@D)/Setup
> >-endef
> >-endif
> >-
> >-ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
> >-define PYTHON_PYGAME_UNCONFIGURE_FONT
> >-     $(SED) 's/^font/#font/' $(@D)/Setup
> >-endef
> >-endif
> >-
> >-ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
> >-define PYTHON_PYGAME_UNCONFIGURE_MIXER
> >-     $(SED) 's/^mixer/#mixer/g' $(@D)/Setup
> >-endef
> >-endif
> >-
> >-# Both require numpy or numeric python module
> >-define PYTHON_PYGAME_UNCONFIGURE_SNDARRAY
> >-     $(SED) 's/^_numericsndarray/#_numericsndarray/' $(@D)/Setup
> >-endef
> >-
> >-define PYTHON_PYGAME_UNCONFIGURE_SURFARRAY
> >-     $(SED) 's/^_numericsurfarray/#_numericsurfarray/' $(@D)/Setup
> >-endef
> >-
> >-# Requires smpeg
> >-define PYTHON_PYGAME_UNCONFIGURE_MOVIE
> >-     $(SED) 's/^movie/#movie/' $(@D)/Setup
> >-endef
> >-
> >-ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_SCRAP),y)
> >-define PYTHON_PYGAME_UNCONFIGURE_SCRAP
> >-     $(SED) 's/^scrap/#scrap/' $(@D)/Setup
> >-endef
> >-endif
> >-
> >-define PYTHON_PYGAME_UNCONFIGURE_FREETYPE
> >-     $(SED) 's/^_freetype/#_freetype/' $(@D)/Setup
> >-endef
> >-
> >-PYTHON_PYGAME_SDL_FLAGS = `$(STAGING_DIR)/usr/bin/sdl-config --cflags`
> >-PYTHON_PYGAME_SDL_FLAGS += `$(STAGING_DIR)/usr/bin/sdl-config --libs`
> >-
> >-# Pygame needs a Setup file where options should be commented out if
> >-# dependencies are not available
> >-define PYTHON_PYGAME_CONFIGURE_CMDS
> >-     cp -f $(@D)/Setup.in $(@D)/Setup
> >-     $(SED) "s~^SDL = ~SDL = $(PYTHON_PYGAME_SDL_FLAGS) \n#~" $(@D)/Setup
> >-     $(SED) 's/^pypm/#pypm/' $(@D)/Setup
> >-     $(PYTHON_PYGAME_UNCONFIGURE_IMAGE)
> >-     $(PYTHON_PYGAME_UNCONFIGURE_FONT)
> >-     $(PYTHON_PYGAME_UNCONFIGURE_MIXER)
> >-     $(PYTHON_PYGAME_UNCONFIGURE_SNDARRAY)
> >-     $(PYTHON_PYGAME_UNCONFIGURE_SURFARRAY)
> >-     $(PYTHON_PYGAME_UNCONFIGURE_MOVIE)
> >-     $(PYTHON_PYGAME_UNCONFIGURE_SCRAP)
> >-     $(PYTHON_PYGAME_UNCONFIGURE_FREETYPE)
> >-endef
> >-
> >-define PYTHON_PYGAME_REMOVE_DOC
> >-     rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/docs
> >-endef
> >-
> >-PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_DOC
> >-
> >-define PYTHON_PYGAME_REMOVE_TESTS
> >-     rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/tests
> >-endef
> >-
> >-PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_TESTS
> >-
> >-ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES),y)
> >-define PYTHON_PYGAME_REMOVE_EXAMPLES
> >-     rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/pygame/examples
> >-endef
> >-PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_EXAMPLES
> >-endif
> >-
> >-$(eval $(python-package))
> ________________________________
> 
> othermo GmbH | Sitz der Gesellschaft: Alzenau | Amtsgericht Aschaffenburg: HRB 14783 | USt-IdNr.: DE319977978 | Geschäftsführung: Dr. Dennis Metz.
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
Yann E. MORIN Nov. 10, 2023, 7:17 a.m. UTC | #3
Marcus, All,

On 2023-11-09 22:55 +0100, Yann E. MORIN spake thusly:
> On 2023-10-26 16:13 +0200, Marcus Hoffmann via buildroot spake thusly:
> > On 26.10.23 11:26, Adam Duskett wrote:
> > >As python 3.12.0 no longer supports distutils, drop the package as the package
> > >is clearly unmaintained.
> > I'd like to update the package to a recent version of pygame instead.
> > Updating the package should be fairly straightforward (famous last
> > words...) but I've struggled to find a platform (real hardware or
> > virtualized) where I can actually test this with actual graphical
> > output. :-/
> You just got an extension deadline to update this package, as I
> committed a patch from James to switch to setuptools:
>     e759e927b344  package/python-pygame: switch from distutils to setuptools

Adam reports that even with the conversion to setuptools, python-pygame
still does not build.

So, if this package is really helpfull to you, please see if you can
update it before it gets ripped away, as I've marked the patch back to
"new" in patchwork, i.e. pending (not rejected).

Regards,
Yann E. MORIN.
Peter Korsgaard Nov. 10, 2023, 2:11 p.m. UTC | #4
>>>>> "Marcus" == Marcus Hoffmann via buildroot <buildroot@buildroot.org> writes:

 > Hi,
 > On 26.10.23 11:26, Adam Duskett wrote:
 >> The python-pygame package has not recieved any update since
 >> Sun May 1 22:15:17 2016 (commit: a9ec96e545102ae5ccd4280323d35360b0a5072d)
 >> 
 >> As python 3.12.0 no longer supports distutils, drop the package as the package
 >> is clearly unmaintained.

 > I'd like to update the package to a recent version of pygame instead.
 > Updating the package should be fairly straightforward (famous last
 > words...) but I've struggled to find a platform (real hardware or
 > virtualized) where I can actually test this with actual graphical
 > output. :-/

Great, I also had a quick look at it recently as it is one of the few
packages with a hg site, but ran out of time.

Given that pygame supports SDL2, I guess you could just test in one of
our QEMU defconfigs?
diff mbox series

Patch

diff --git a/Config.in.legacy b/Config.in.legacy
index 8e406f2b13..f1d5f345c3 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -153,6 +153,13 @@  config BR2_PACKAGE_PYTHON_PYXB
 	  python-pyxb has been removed due to being abandoned and
 	  distutils no longer being supported in python 3.12.0.
 
+config BR2_PACKAGE_PYTHON_PYGAME
+	bool "python-pygame removed"
+	select BR2_LEGACY
+	help
+	  python-pygame has been removed due to being abandoned and
+	  distutils no longer being supported in python 3.12.0.
+
 config BR2_KERNEL_HEADERS_6_4
 	bool "kernel headers version 6.4.x are no longer supported"
 	select BR2_LEGACY
diff --git a/package/Config.in b/package/Config.in
index 4e489c4706..d756094c4b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1228,7 +1228,6 @@  menu "External python modules"
 	source "package/python-pydyf/Config.in"
 	source "package/python-pyelftools/Config.in"
 	source "package/python-pyftpdlib/Config.in"
-	source "package/python-pygame/Config.in"
 	source "package/python-pygments/Config.in"
 	source "package/python-pyhamcrest/Config.in"
 	source "package/python-pyicu/Config.in"
@@ -1267,7 +1266,6 @@  menu "External python modules"
 	source "package/python-pytz/Config.in"
 	source "package/python-pyudev/Config.in"
 	source "package/python-pyusb/Config.in"
-	source "package/python-pyxb/Config.in"
 	source "package/python-pyyaml/Config.in"
 	source "package/python-pyzmq/Config.in"
 	source "package/python-qrcode/Config.in"
diff --git a/package/python-pygame/Config.in b/package/python-pygame/Config.in
deleted file mode 100644
index 57eb020742..0000000000
--- a/package/python-pygame/Config.in
+++ /dev/null
@@ -1,50 +0,0 @@ 
-config BR2_PACKAGE_PYTHON_PYGAME
-	bool "python-pygame"
-	select BR2_PACKAGE_SDL
-	help
-	  Pygame is a cross-platfrom library designed to make it easy
-	  to write multimedia software, such as games, in
-	  Python. Pygame requires the Python language and SDL
-	  multimedia library.
-	  It can also make use of several other popular libraries.
-
-	  http://www.pygame.org/
-
-if BR2_PACKAGE_PYTHON_PYGAME
-config BR2_PACKAGE_PYTHON_PYGAME_IMAGE
-	bool "pygame.image"
-	select BR2_PACKAGE_SDL_IMAGE
-	select BR2_PACKAGE_SDL_IMAGE_PNG
-	select BR2_PACKAGE_SDL_IMAGE_JPEG
-	help
-	  pygame module for loading, saving and transfering images.
-	  Will autoselect sdl_image with png and jpeg support.
-
-config BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES
-	bool "pygame.examples"
-	help
-	  Include examples.
-	  Selecting this option adds about 1.5 MB to the target file
-	  system.
-
-config BR2_PACKAGE_PYTHON_PYGAME_FONT
-	bool "pygame.font"
-	select BR2_PACKAGE_SDL_TTF
-	help
-	  pygame module for loading and rendering fonts.
-	  Will autoselect sdl_ttf.
-
-config BR2_PACKAGE_PYTHON_PYGAME_MIXER
-	bool "pygame.mixer"
-	select BR2_PACKAGE_SDL_MIXER
-	help
-	  pygame module for loading and playing sounds.
-	  Will autoselect sdl_mixer.
-
-config BR2_PACKAGE_PYTHON_PYGAME_SCRAP
-	bool "pygame.scrap"
-	depends on BR2_PACKAGE_SDL_X11
-	help
-	  pygame module for clipboard support (X11 needed)
-
-endif
diff --git a/package/python-pygame/python-pygame.hash b/package/python-pygame/python-pygame.hash
deleted file mode 100644
index c0496515e2..0000000000
--- a/package/python-pygame/python-pygame.hash
+++ /dev/null
@@ -1,3 +0,0 @@ 
-# Locally computed
-sha256  f95a7dd68ea294d415e36e068d2f533c5a01c67773452d14a535c5c7455681fe  pygame-d61ea8eabd56.tar.gz
-sha256  a190dc9c8043755d90f8b0a75fa66b9e42d4af4c980bf5ddc633f0124db3cee7  LGPL
diff --git a/package/python-pygame/python-pygame.mk b/package/python-pygame/python-pygame.mk
deleted file mode 100644
index 600dd9e743..0000000000
--- a/package/python-pygame/python-pygame.mk
+++ /dev/null
@@ -1,111 +0,0 @@ 
-################################################################################
-#
-# python-pygame
-#
-################################################################################
-
-# stable 1.9.1 release requires V4L which has been wiped out of recent Linux
-# kernels, so use latest mercurial revision until next stable release is out.
-PYTHON_PYGAME_VERSION = d61ea8eabd56
-PYTHON_PYGAME_SOURCE = pygame-$(PYTHON_PYGAME_VERSION).tar.gz
-PYTHON_PYGAME_SITE = https://bitbucket.org/pygame/pygame
-PYTHON_PYGAME_SITE_METHOD = hg
-PYTHON_PYGAME_SETUP_TYPE = distutils
-PYTHON_PYGAME_LICENSE = LGPL-2.1+
-PYTHON_PYGAME_LICENSE_FILES = LGPL
-
-ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
-PYTHON_PYGAME_OPT_DEPENDS += sdl_image
-endif
-
-ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
-PYTHON_PYGAME_OPT_DEPENDS += sdl_ttf
-endif
-
-ifeq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
-PYTHON_PYGAME_OPT_DEPENDS += sdl_mixer
-endif
-
-PYTHON_PYGAME_DEPENDENCIES = sdl $(PYTHON_PYGAME_OPT_DEPENDS)
-
-ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_IMAGE),y)
-define PYTHON_PYGAME_UNCONFIGURE_IMAGE
-	$(SED) 's/^imageext/#imageext/' $(@D)/Setup
-endef
-endif
-
-ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_FONT),y)
-define PYTHON_PYGAME_UNCONFIGURE_FONT
-	$(SED) 's/^font/#font/' $(@D)/Setup
-endef
-endif
-
-ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_MIXER),y)
-define PYTHON_PYGAME_UNCONFIGURE_MIXER
-	$(SED) 's/^mixer/#mixer/g' $(@D)/Setup
-endef
-endif
-
-# Both require numpy or numeric python module
-define PYTHON_PYGAME_UNCONFIGURE_SNDARRAY
-	$(SED) 's/^_numericsndarray/#_numericsndarray/' $(@D)/Setup
-endef
-
-define PYTHON_PYGAME_UNCONFIGURE_SURFARRAY
-	$(SED) 's/^_numericsurfarray/#_numericsurfarray/' $(@D)/Setup
-endef
-
-# Requires smpeg
-define PYTHON_PYGAME_UNCONFIGURE_MOVIE
-	$(SED) 's/^movie/#movie/' $(@D)/Setup
-endef
-
-ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_SCRAP),y)
-define PYTHON_PYGAME_UNCONFIGURE_SCRAP
-	$(SED) 's/^scrap/#scrap/' $(@D)/Setup
-endef
-endif
-
-define PYTHON_PYGAME_UNCONFIGURE_FREETYPE
-	$(SED) 's/^_freetype/#_freetype/' $(@D)/Setup
-endef
-
-PYTHON_PYGAME_SDL_FLAGS = `$(STAGING_DIR)/usr/bin/sdl-config --cflags`
-PYTHON_PYGAME_SDL_FLAGS += `$(STAGING_DIR)/usr/bin/sdl-config --libs`
-
-# Pygame needs a Setup file where options should be commented out if
-# dependencies are not available
-define PYTHON_PYGAME_CONFIGURE_CMDS
-	cp -f $(@D)/Setup.in $(@D)/Setup
-	$(SED) "s~^SDL = ~SDL = $(PYTHON_PYGAME_SDL_FLAGS) \n#~" $(@D)/Setup
-	$(SED) 's/^pypm/#pypm/' $(@D)/Setup
-	$(PYTHON_PYGAME_UNCONFIGURE_IMAGE)
-	$(PYTHON_PYGAME_UNCONFIGURE_FONT)
-	$(PYTHON_PYGAME_UNCONFIGURE_MIXER)
-	$(PYTHON_PYGAME_UNCONFIGURE_SNDARRAY)
-	$(PYTHON_PYGAME_UNCONFIGURE_SURFARRAY)
-	$(PYTHON_PYGAME_UNCONFIGURE_MOVIE)
-	$(PYTHON_PYGAME_UNCONFIGURE_SCRAP)
-	$(PYTHON_PYGAME_UNCONFIGURE_FREETYPE)
-endef
-
-define PYTHON_PYGAME_REMOVE_DOC
-	rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/docs
-endef
-
-PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_DOC
-
-define PYTHON_PYGAME_REMOVE_TESTS
-	rm -rf $(TARGET_DIR)/usr/lib/python*/site-packages/pygame/tests
-endef
-
-PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_TESTS
-
-ifneq ($(BR2_PACKAGE_PYTHON_PYGAME_EXAMPLES),y)
-define PYTHON_PYGAME_REMOVE_EXAMPLES
-	rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/pygame/examples
-endef
-PYTHON_PYGAME_POST_INSTALL_TARGET_HOOKS += PYTHON_PYGAME_REMOVE_EXAMPLES
-endif
-
-$(eval $(python-package))