Skip to content

Instantly share code, notes, and snippets.

@glitsj16
Created July 27, 2021 11:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save glitsj16/638f7971bbe6bebfcfd25d1b65fef478 to your computer and use it in GitHub Desktop.
Save glitsj16/638f7971bbe6bebfcfd25d1b65fef478 to your computer and use it in GitHub Desktop.
# Maintainer: Jonathon Fernyhough <jonathon+m2x.dev>
# Contributor: Luke Horwell <code@horwell.me>
# Contributor: Tomasz Gąsior <tomaszgasior.pl>
# This file is based on original PKGBUILD of GTK3 package.
# https://git.archlinux.org/svntogit/packages.git/plain/trunk/PKGBUILD?h=packages/gtk3
__arch_pkg_commit="408873e9af613dc26f6d434fe489735fb8c5de75"
_gtkver=3.24.29
pkgbase=gtk3-classic
pkgname=($pkgbase lib32-$pkgbase)
pkgver=${_gtkver}
pkgrel=1
pkgdesc="GTK3 patched to provide a more classic experience"
url="https://github.com/lah7/gtk3-classic"
conflicts=(gtk3 gtk3-typeahead gtk3-print-backends)
provides=(gtk3=$_gtkver gtk3-typeahead=$_gtkver gtk3-mushrooms=$_gtkver gtk3-print-backends
libgtk-3.so libgdk-3.so libgailutil-3.so)
arch=(x86_64)
license=(LGPL)
makedepends=(
git gobject-introspection libcanberra gtk-doc sassc libcups meson quilt
atk cairo libxcursor libxinerama libxrandr libxi libepoxy gdk-pixbuf2 fribidi
libxcomposite libxdamage pango shared-mime-info at-spi2-atk wayland libxkbcommon
json-glib librsvg wayland-protocols desktop-file-utils mesa gtk-update-icon-cache
adwaita-icon-theme cantarell-fonts
lib32-atk lib32-cairo lib32-libxcursor lib32-libxinerama lib32-libxrandr lib32-libxi
lib32-libepoxy lib32-gdk-pixbuf2 lib32-fribidi lib32-libxcomposite lib32-libxdamage
lib32-pango lib32-at-spi2-atk lib32-wayland lib32-libxkbcommon lib32-json-glib
lib32-librsvg lib32-mesa lib32-libcups lib32-krb5 lib32-e2fsprogs
)
install=gtk3.install
source=(
git+$url.git#commit=fdbaeb4e4936e90f8b92abf23c2cb7dd46fbd03b
"https://download.gnome.org/sources/gtk+/${pkgver%.*}/gtk+-$_gtkver.tar.xz"
"gtk-query-immodules-3.0.hook::https://github.com/archlinux/svntogit-packages/raw/packages/gtk3/trunk/gtk-query-immodules-3.0.hook"
README.md
)
sha256sums=('SKIP'
'f57ec4ade8f15cab0c23a80dcaee85b876e70a8823d9105f067ce335a8268caa'
'a0319b6795410f06d38de1e8695a9bf9636ff2169f40701671580e60a108e229'
'1d2e3c41c7de03a31d717b09e053c88cbaca2ae74eefd982549c49de81c21ada')
prepare()
{
cd gtk+-$_gtkver
QUILT_PATCHES=../$pkgbase quilt push -av
rm -f "$srcdir"/gtk+-"$_gtkver"/gtk/theme/Adwaita/gtk-contained{,-dark}.css
cat "$srcdir/$pkgbase/smaller-adwaita.css" | tee -a "$srcdir"/gtk+-"$_gtkver"/gtk/theme/Adwaita/gtk-contained{,-dark}.css > /dev/null
}
build()
{
CFLAGS+=" -DG_ENABLE_DEBUG -DG_DISABLE_CAST_CHECKS"
# 64-bit
arch-meson gtk+-$_gtkver build \
-D broadway_backend=true \
-D colord=no \
-D demos=true \
-D examples=false \
-D tests=false \
-D installed_tests=false
ninja -C build
# 32-bit
export PKG_CONFIG_LIBDIR="/usr/lib32/pkgconfig"
export PKG_CONFIG_PATH="/usr/share/pkgconfig"
CFLAGS+=" -m32"
CXXFLAGS+=" -m32"
LDFLAGS+=" -m32"
linux32 arch-meson gtk+-$_gtkver build32 \
-D broadway_backend=true \
-D colord=no \
-D demos=false \
-D examples=false \
-D introspection=false \
-D tests=false \
-D installed_tests=false \
-D libdir=/usr/lib32
linux32 ninja -C build32
}
package_gtk3-classic()
{
depends=(
atk cairo libxcursor libxinerama libxrandr libxi libepoxy gdk-pixbuf2 fribidi
libxcomposite libxdamage pango shared-mime-info at-spi2-atk wayland libxkbcommon
json-glib librsvg wayland-protocols desktop-file-utils mesa gtk-update-icon-cache
)
optdepends=(
'libcups: printers in printing dialog'
'dconf: default GSettings backend'
'libcanberra: sounds events'
'adwaita-icon-theme: default icon theme'
'cantarell-fonts: default font'
)
DESTDIR="$pkgdir" meson install -C build
install -Dm 644 /dev/stdin "$pkgdir"/usr/share/gtk-3.0/settings.ini <<END
[Settings]
gtk-icon-theme-name = Adwaita
gtk-theme-name = Adwaita
gtk-font-name = Cantarell 11
END
install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 gtk-query-immodules-3.0.hook
rm "$pkgdir/usr/bin/gtk-update-icon-cache"
install -Dm644 "$srcdir"/README.md "$pkgdir/usr/share/gtk-3.0/README.md"
sed -i 's/mushrooms/classic/g' "$pkgdir/usr/share/gtk-3.0/README.md"
}
package_lib32-gtk3-classic()
{
pkgdesc="GTK3 patched to provide a more classic experience (32-bit)"
depends=(
lib32-atk lib32-cairo lib32-libxcursor lib32-libxinerama lib32-libxrandr lib32-libxi
lib32-libepoxy lib32-gdk-pixbuf2 lib32-fribidi lib32-libxcomposite lib32-libxdamage
lib32-pango lib32-at-spi2-atk lib32-wayland lib32-libxkbcommon lib32-json-glib
lib32-librsvg lib32-mesa lib32-libcups lib32-krb5 lib32-e2fsprogs
"gtk3-classic>=$pkgver"
)
conflicts=("lib32-gtk3")
provides=("lib32-gtk3=$pkgver")
DESTDIR="$pkgdir" linux32 meson install -C build32
rm -fr "$pkgdir"/etc
rm -fr "$pkgdir"/usr/{bin,share,include}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment