Andreas Wacknitz
2024-03-24 3df02058fb3d48a999bbc8d5d56c2910fbc249a4
commit | author | age
bc350b 1 #
I 2 # This file and its contents are supplied under the terms of the
3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 # You may only use this file in accordance with the terms of version
5 # 1.0 of the CDDL.
6 #
7 # A full copy of the text of the CDDL should have accompanied this
8 # source.  A copy of the CDDL is also available via the Internet at
9 # http://www.illumos.org/license/CDDL.
10 #
11
12 #
13 # Copyright 2024 Geoff Weiss
14 #
15
16 include ../../../make-rules/shared-macros.mk
17 ENV= /usr/bin/env
18
19 COMPONENT_NAME=        gtk4
20 COMPONENT_VERSION=    4.10.5
21 COMPONENT_SUMMARY=    GTK+4 - GIMP Toolkit Library for creation of graphical user interfaces
22 COMPONENT_SRC=        gtk-$(COMPONENT_VERSION)
23 COMPONENT_ARCHIVE=    $(COMPONENT_SRC).tar.xz
24 COMPONENT_ARCHIVE_HASH=    \
25     sha256:9bd5e437e41d48e3d6a224c336b0fd3fd490036dceb8956ed74b956369af609b
26 COMPONENT_ARCHIVE_URL=    https://download.gnome.org/sources/gtk/4.10/$(COMPONENT_ARCHIVE)
27 COMPONENT_PROJECT_URL=    https://www.gtk.org/
28 COMPONENT_LICENSE=    LGPLv2
29 COMPONENT_LICENSE_FILE=    COPYING
30 COMPONENT_CLASSIFICATION=    Desktop (GNOME)/Libraries
31 COMPONENT_FMRI=        library/desktop/gtk4
32
33 BUILD_STYLE=        meson
34
35 include $(WS_MAKE_RULES)/common.mk
36
37 PATH=$(PATH.gnu)
38
39 # Uses isinf, etc. only available in c99 and newer
40 CFLAGS.gcc += -std=gnu11
41
42 CONFIGURE_OPTIONS += -Dman-pages=true
43 # requires encumbered x264 support
44 CONFIGURE_OPTIONS += -Dmedia-gstreamer=disabled
45 CONFIGURE_OPTIONS += -Dwayland-backend=false
46
47 COMPONENT_BUILD_ENV += CC=$(CC)
48 COMPONENT_BUILD_ENV += CFLAGS="$(CFLAGS)"
49
50 # Add missing rpaths 
51 COMPONENT_POST_INSTALL_ACTION  = \
52    /usr/bin/elfedit -e 'dyn:value -s  RUNPATH "$(JPEG_LIBDIR)"' $(PROTO_DIR)/usr/bin/gtk4-encode-symbolic-svg ; \
53    /usr/bin/elfedit -e 'dyn:value -s  RPATH   "$(JPEG_LIBDIR)"' $(PROTO_DIR)/usr/bin/gtk4-encode-symbolic-svg ; \
54    /usr/bin/elfedit -e 'dyn:value -s  RUNPATH "$(JPEG_LIBDIR)"' $(PROTO_DIR)/usr/lib/amd64/libgtk-4.so.1.1000.5 ; \
55    /usr/bin/elfedit -e 'dyn:value -s  RPATH   "$(JPEG_LIBDIR)"' $(PROTO_DIR)/usr/lib/amd64/libgtk-4.so.1.1000.5 ;
56
57 COMPONENT_TEST_TRANSFORMS += \
58         '-e "s/seed:[0-9]*/seed:/"'
59 # get rid of the timestamps from the test results
60 COMPONENT_TEST_TRANSFORMS += '-e "s/[0-9]*[0-9].[0-9][0-9]s//" '
61 COMPONENT_TEST_TRANSFORMS += '-e "s/OK      [0-9]//" '
62 COMPONENT_TEST_TRANSFORMS += \
63         '-n ' \
64         '-e "/OK/p" '
65 COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-$(MACH64).master
66
67 # Build dependencies
68 REQUIRED_PACKAGES += library/python/docutils
69
70 # Auto-generated dependencies
71 REQUIRED_PACKAGES += $(JPEG_IMPLEM_PKG)
72 REQUIRED_PACKAGES += image/library/libpng16
73 REQUIRED_PACKAGES += image/library/librsvg
74 REQUIRED_PACKAGES += image/library/libtiff
75 REQUIRED_PACKAGES += library/c++/harfbuzz
76 REQUIRED_PACKAGES += library/desktop/cairo
77 REQUIRED_PACKAGES += library/desktop/gdk-pixbuf
78 REQUIRED_PACKAGES += library/desktop/graphene
79 REQUIRED_PACKAGES += library/desktop/pango
80 REQUIRED_PACKAGES += library/fribidi
81 REQUIRED_PACKAGES += library/glib2
82 REQUIRED_PACKAGES += library/print/cups-libs
83 REQUIRED_PACKAGES += system/library
84 REQUIRED_PACKAGES += system/library/fontconfig
85 REQUIRED_PACKAGES += system/library/math
86 REQUIRED_PACKAGES += x11/library/libepoxy
87 REQUIRED_PACKAGES += x11/library/libx11
88 REQUIRED_PACKAGES += x11/library/libxcursor
89 REQUIRED_PACKAGES += x11/library/libxdamage
90 REQUIRED_PACKAGES += x11/library/libxext
91 REQUIRED_PACKAGES += x11/library/libxfixes
92 REQUIRED_PACKAGES += x11/library/libxi
93 REQUIRED_PACKAGES += x11/library/libxinerama
94 REQUIRED_PACKAGES += x11/library/libxrandr