ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/ozone/mgar/pkg/gtk2/Makefile
Revision: 39
Committed: Tue Jun 23 11:18:13 2026 UTC (4 weeks ago) by operz
File size: 2881 byte(s)
Log Message:
gtk2: add GTK+ 2.24.33 (OZSWgtk2) package

File Contents

# Content
1 NAME = gtk2
2 VERSION = 2.24.33
3 DISTNAME = gtk+-$(VERSION)
4
5 CATEGORIES = utils
6
7 DESCRIPTION = GTK+ 2 graphical user interface toolkit
8 define BLURB
9 GTK+ is a multi-platform toolkit for creating graphical user interfaces.
10 Version 2.x is widely used by applications including Pidgin.
11 endef
12
13 DYNURLS = https://download.gnome.org/sources/gtk+/2.24/gtk+-2.24.33.tar.xz
14 DISTFILES = gtk+-2.24.33.tar.xz
15
16 LICENSE = COPYING
17
18 WORKSRC = $(WORKDIR)/gtk+-$(VERSION)
19
20 PACKAGES = OZSWgtk2
21 SPKG_DESC_OZSWgtk2 = GTK+ 2 graphical user interface toolkit
22 SPKG_CLASSES = cswdictconf
23 RUNTIME_DEP_PKGS_OZSWgtk2 = OZSWglib OZSWpango OZSWcairo OZSWatk OZSWgdkpixbuf
24 RUNTIME_DEP_PKGS_OZSWgtk2 += OZSWlibX11 OZSWlibXext OZSWlibXrender
25 RUNTIME_DEP_PKGS_OZSWgtk2 += OZSWlibXi OZSWlibXrandr OZSWlibXcursor
26 RUNTIME_DEP_PKGS_OZSWgtk2 += OZSWlibXfixes OZSWlibXdamage OZSWlibXcomposite OZSWlibXinerama
27 RUNTIME_DEP_PKGS_OZSWgtk2 += OZSWfontconfig OZSWfreetype
28
29 # gtk-update-icon-cache is also provided by OZSWgtk3; exclude from this package
30 EXTRA_PKGFILES_EXCLUDED += .*/bin/gtk-update-icon-cache
31
32 CONFIGURE_ARGS = $(DIRPATHS)
33 CONFIGURE_ARGS += --with-gdktarget=x11
34 CONFIGURE_ARGS += --disable-cups
35 CONFIGURE_ARGS += --without-libjasper
36 CONFIGURE_ARGS += --disable-introspection
37 CONFIGURE_ARGS += --disable-gtk-doc
38 CONFIGURE_ARGS += --disable-man
39 CONFIGURE_ARGS += --enable-explicit-deps=no
40 CONFIGURE_ARGS += --disable-dependency-tracking
41
42 include gar/category.mk
43
44 # Solaris feature_tests.h requires _XOPEN_SOURCE=600.
45 # GLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_28: GLib 2.68+ changed deprecated macros
46 # (G_TYPE_INSTANCE_GET_PRIVATE, G_STATIC_PRIVATE_INIT, etc.) to use _Pragma("GCC warning")
47 # which is a statement pragma, not usable as an expression. GTK2 2.24 only needs GLib 2.28
48 # API, so pinning to 2.28 avoids all _Pragma wrappers added for 2.32+ deprecations.
49 CFLAGS += -D_XOPEN_SOURCE=600 -D__EXTENSIONS__ -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_28
50
51 post-extract:
52 # gtksearchenginesimple.c defines _XOPEN_SOURCE 500 which overrides our 600,
53 # causing Solaris feature_tests.h to error. Patch it to 600.
54 /usr/bin/gsed -i 's/^#define _XOPEN_SOURCE 500/#define _XOPEN_SOURCE 600/' \
55 $(WORKSRC)/gtk/gtksearchenginesimple.c
56 # papi_status_t is an enum/int but initialized with NULL -- error in GCC 12
57 /usr/bin/gsed -i 's/papi_status_t pstatus = NULL;/papi_status_t pstatus = 0;/' \
58 $(WORKSRC)/modules/printbackends/papi/gtkprintbackendpapi.c
59 @$(MAKECOOKIE)
60
61 post-configure:
62 # Patch LIBS in all generated Makefiles to add -lintl (libintl is a DSO on Solaris)
63 find $(WORKSRC) -name Makefile \
64 -exec /usr/bin/gsed -i 's/^LIBS = *$$/LIBS = -lintl/' {} \;
65 # Fix libtool ECHO on Solaris (ksh93 builtin "print -r --" fails under bash)
66 find $(WORKSRC) -name "libtool" \
67 -exec /usr/bin/gsed -i 's/ECHO="print -r --"/ECHO="printf %s\\n"/g' {} \;
68 @$(MAKECOOKIE)