summaryrefslogtreecommitdiff
path: root/main/gtk+3.0/APKBUILD
blob: 9bb7f02f8ca6921ec95ee5ef6d4e9794bbdcb5eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
pkgname=gtk+3.0
pkgver=3.24.38
pkgrel=0
pkgdesc="The GTK+ Toolkit (v3)"
url="https://www.gtk.org/"
install="$pkgname.post-install $pkgname.post-upgrade $pkgname.post-deinstall"
triggers="gtk-update-icon-cache.trigger=/usr/share/icons/*"
arch="all"
license="LGPL-2.1-or-later"
options="!check" # checkdepends in community
subpackages="
	$pkgname-dbg
	$pkgname-demo
	$pkgname-dev
	$pkgname-doc
	$pkgname-lang
	gtk-update-icon-cache:icon_cache
	"
depends="shared-mime-info gtk-update-icon-cache"
depends_dev="
	at-spi2-core-dev
	gdk-pixbuf-dev
	glib-dev
	libepoxy-dev
	libxext-dev
	libxi-dev
	libxinerama-dev
	libxkbcommon-dev
	wayland-libs-client
	wayland-libs-cursor
	wayland-protocols
	"
_icon_cache_depends="hicolor-icon-theme"
makedepends="
	$depends_dev
	$_icon_cache_depends
	cairo-dev
	cups-dev
	expat-dev
	fontconfig-dev
	gettext-dev
	gobject-introspection-dev
	hicolor-icon-theme
	iso-codes-dev
	libice-dev
	libx11-dev
	libxcomposite-dev
	libxcursor-dev
	libxdamage-dev
	libxfixes-dev
	libxrandr-dev
	meson
	pango-dev
	tiff-dev
	wayland-dev
	zlib-dev
	"
checkdepends="
	ibus
	xvfb-run
	"
source="https://download.gnome.org/sources/gtk+/${pkgver%.*}/gtk+-$pkgver.tar.xz"
builddir="$srcdir/gtk+-$pkgver"

build() {
	CFLAGS="$CFLAGS -O2" \
	CXXFLAGS="$CXXFLAGS -O2" \
	CPPFLAGS="$CPPFLAGS -O2" \
	abuild-meson \
		-Db_lto=true \
		-Dman=true \
		-Dgtk_doc=false \
		-Dbroadway_backend=true \
		-Dtests="$(want_check && echo true || echo false)" \
		output
	meson compile ${JOBS:+-j ${JOBS}} -C output
}

check() {
	xvfb-run -a meson test --no-rebuild --print-errorlogs -C output
}

package() {
	DESTDIR="$pkgdir" meson install --no-rebuild -C output
}

dev() {
	default_dev

	amove usr/bin/gtk-builder-tool \
		usr/bin/gtk-encode-symbolic-svg \
		usr/bin/gtk-query-settings
}

doc() {
	default_doc
	# gtk-update-icon-cache
	replaces="gtk+2.0-doc"
}

demo() {
	pkgdesc="$pkgdesc (demonstration application)"
	amove usr/bin/gtk3-demo \
		usr/bin/gtk3-demo-application \
		usr/bin/gtk3-icon-browser \
		usr/bin/gtk3-widget-factory \
		usr/share/gtk-3.0/gtkbuilder.rng \
		usr/share/glib-2.0/schemas/org.gtk.Demo.gschema.xml \
		usr/share/applications/gtk3-demo.desktop \
		usr/share/applications/gtk3-icon-browser.desktop \
		usr/share/applications/gtk3-widget-factory.desktop \
		usr/share/icons
}

lang() {
	default_lang

	amove usr/share/gtk-3.0/emoji
}

icon_cache() {
	depends="$_icon_cache_depends"
	replaces="gtk4.0" # gtk4-update-icon-cache

	# provide gtk4 symlink too
	amove usr/bin/gtk-update-icon-cache
	ln -s gtk-update-icon-cache "$subpkgdir"/usr/bin/gtk4-update-icon-cache
}

sha512sums="
e99ec10959191b55013fce37e83f0e85bf36597db101e324081479792a2047d032cf0d213d69c02eeb4b7cd6d56d6489b7b2a60904b2bd7af23ea1b9c5a79528  gtk+-3.24.38.tar.xz
"