Package Details: pygtk 2.24.0-14

Git Clone URL: https://aur.archlinux.org/pygtk.git (read-only, click to copy)
Package Base: pygtk
Description: Python bindings for the GTK widget set
Upstream URL: https://wiki.gnome.org/Projects/PyGTK
Keywords: GTK Python widget
Licenses: LGPL-2.1-or-later
Submitter: arojas
Maintainer: creyon
Last Packager: creyon
Votes: 78
Popularity: 0.50
First Submitted: 2020-03-29 19:09 (UTC)
Last Updated: 2024-06-02 15:27 (UTC)

Pinned Comments

ragouel commented on 2022-06-11 23:26 (UTC) (edited on 2022-06-12 19:54 (UTC) by ragouel)

From official GNOME docs:

"Attention: PyGTK 2.24 will be the last release in the PyGTK series and will support the full GTK-2-24 API. PyGTK should not be used for new projects and existing PyGTK applications are recommended to be ported to PyGObject. See here for more information."

https://wiki.gnome.org/Projects/PyGTK/WhatsNew224

Please stop asking me to update this package. I only "keep" it, so that it is not messed with by others, as some older applications still rely on it to function.

Thank you.

Latest Comments

1 2 3 4 5 6 .. 9 Next › Last »

MarsSeed commented on 2024-08-15 22:28 (UTC)

@creyon, thanks for maintaining this. Here's the proper way to define the optional dependencies:

diff --git i/PKGBUILD w/PKGBUILD
index 418036b..10772d7 100644
--- i/PKGBUILD
+++ w/PKGBUILD
@@ -9,7 +9,14 @@ pkgdesc="Python bindings for the GTK widget set"
 url='https://wiki.gnome.org/Projects/PyGTK'
 arch=('x86_64' 'aarch64')
 license=('LGPL-2.1-or-later')
-depends=('python2-cairo' 'python2-gobject2' 'gtk2' 'python2-numpy' 'libglade')
+depends=('python2-gobject2'
+         'gtk2')
+makedepends=('libglade'
+             'python2-cairo'
+             'python2-numpy')
+optdepends=('libglade: glade interface bindings'
+            'python2-cairo: cairo grahics bindings'
+            'python2-numpy: support for numeric Python features')
 source=("${pkgname}-${pkgver}.tar.bz2::https://download.gnome.org/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2"
         'drop-pangofont.patch'
         'python27.patch'

creyon commented on 2024-06-02 15:33 (UTC)

Hopefully those issues are fixed now.

creyon commented on 2024-05-30 15:11 (UTC)

@micwoj92 Ah, thank you, I understand. I will look into fixing that.

micwoj92 commented on 2024-05-28 18:47 (UTC)

This is because in order for the to become "optdepends" they need to be present at compile time.

If you compile pygtk, then install libglade and/or python2-numpy you will not get anything extra and will have to recompile pygtk. This is not how software is packaged for Arch Linux.

creyon commented on 2024-05-26 20:34 (UTC)

@patlefort I'm not sure I understand. The README on the PyGTK archive repo lists gtk2, libglade and numpy as optional dependencies, and the package compiles without any of them installed.

gtk2 is indeed missing entirely, so I should at least add that to optdepends, but I'm wondering what you mean by "required at compile time". In what way are they required?

--- https://gitlab.gnome.org/Archive/pygtk/-/blob/master/README

Requirements
  • C compiler (GCC, MSVC and mingw supported)
  • Python 2.3.5 or higher
  • PyGObject 2.21.3 or higher
  • Pycairo 1.0.2 or higher
  • Glib 2.8.0 or higher
  • GTK+ 2.8.0 or higher (optional) or GTK+ 2.10.0 or higher for 2.10 API [...] GTK+ 2.22.0 or higher for 2.22 API GTK+ 2.24.0 or higher for 2.24 API
  • libglade 2.5.0 or higher (optional)
  • pycairo 1.0.2 or higher (optional)
  • numpy (optional)

patlefort commented on 2024-05-25 20:11 (UTC)

Missing gtk2 in dependencies. Also both optdepends shouldn't be optional since they are required at compile time.

creyon commented on 2024-05-19 23:02 (UTC)

Okay, I applied -fpermissive. I also fixed the license identifier to be SPDX-compliant (thank you @HurricanePootis again for the suggestion), and removed some (hopefully) unnecessary dependencies. I tried to build in a clean chroot, but I'm very tired and didn't want to wrangle python2 dependencies so I gave up. Let me know if you experience any issues.

creyon commented on 2024-05-19 18:34 (UTC)

Hi all. I will get around to resolving this issue soon.

It seems that GCC14 upgraded some warnings into errors, namely -Wint-conversion and -Wimplicit-function-declaration. https://gcc.gnu.org/gcc-14/porting_to.html#warnings-as-errors

The article above does indeed suggest to use -fpermissive for old code, so that's what I'll do, rather than patching the source to fix the issue directly or using GCC13. Thank you @HurricanePootis for the suggestion.

HurricanePootis commented on 2024-05-17 14:37 (UTC)

Hello, I have fixed compilation of this package

diff --git a/PKGBUILD b/PKGBUILD
index 524015e..6c910ab 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -38,7 +38,7 @@ prepare() {

 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
-  PYTHON=/usr/bin/python2 ./configure --prefix=/usr --build=unknown-unknown-linux --disable-docs
+  PYTHON=/usr/bin/python2 CFLAGS+=" -fpermissive" CXXFLAGS+=" -fpermissive" ./configure --prefix=/usr --build=unknown-unknown-linux --disable-docs
   sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
   make
 }

The flag -fpermissive needs to be added to the cflags and cxxflags.

nolemretaw commented on 2024-05-17 13:46 (UTC)

Same issue, source code which pygtk is built from is probably outdated, and needs to be fixed.