From da500224f138f6d4800d248c24228987a0a149de Mon Sep 17 00:00:00 2001 From: davidovski Date: Wed, 18 May 2022 09:54:26 +0100 Subject: added c++ bindings for glib, cairo, pango, gtk3 and atk addded pavucontrol --- repo/apps/pavucontrol/pavucontrol.xibuild | 25 ++++++++ ...assume-all-GdkDisplays-are-GdkX11Displays.patch | 72 ++++++++++++++++++++++ .../fix-build-with-no-lynx-installed.patch | 63 +++++++++++++++++++ repo/media/libcanberra/libcanberra.xibuild | 29 +++++++++ repo/system/atkmm/atkmm.xibuild | 23 +++++++ repo/system/glibmm/glibmm.xibuild | 21 +++++++ repo/system/libsigc++/libsigc++.xibuild | 21 +++++++ repo/x11/cairomm/cairomm.xibuild | 21 +++++++ repo/x11/gtkmm3/gtkmm3.xibuild | 22 +++++++ repo/x11/pangomm/pangomm.xibuild | 22 +++++++ 10 files changed, 319 insertions(+) create mode 100644 repo/apps/pavucontrol/pavucontrol.xibuild create mode 100644 repo/media/libcanberra/dont-assume-all-GdkDisplays-are-GdkX11Displays.patch create mode 100644 repo/media/libcanberra/fix-build-with-no-lynx-installed.patch create mode 100644 repo/media/libcanberra/libcanberra.xibuild create mode 100644 repo/system/atkmm/atkmm.xibuild create mode 100644 repo/system/glibmm/glibmm.xibuild create mode 100644 repo/system/libsigc++/libsigc++.xibuild create mode 100644 repo/x11/cairomm/cairomm.xibuild create mode 100644 repo/x11/gtkmm3/gtkmm3.xibuild create mode 100644 repo/x11/pangomm/pangomm.xibuild diff --git a/repo/apps/pavucontrol/pavucontrol.xibuild b/repo/apps/pavucontrol/pavucontrol.xibuild new file mode 100644 index 0000000..698cc1a --- /dev/null +++ b/repo/apps/pavucontrol/pavucontrol.xibuild @@ -0,0 +1,25 @@ +#!/bin/sh + +NAME="pavucontrol" +DESC="Pulseaudio Volume Control, GTK based mixer for Pulseaudio" + +MAKEDEPS="make " +DEPS="atkmm glib glibmm gtk3 json-glib libcanberra intltool libsigc++ musl pulseaudio gtkmm3" + +PKG_VER=5.0 +SOURCE="https://freedesktop.org/software/pulseaudio/pavucontrol/pavucontrol-$PKG_VER.tar.gz" + +build () { + ./configure \ + --prefix=/usr \ + --bindir=/usr/bin \ + --sysconfdir=/etc \ + --disable-static \ + --disable-lynx \ + --disable-nls + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/libcanberra/dont-assume-all-GdkDisplays-are-GdkX11Displays.patch b/repo/media/libcanberra/dont-assume-all-GdkDisplays-are-GdkX11Displays.patch new file mode 100644 index 0000000..79ced10 --- /dev/null +++ b/repo/media/libcanberra/dont-assume-all-GdkDisplays-are-GdkX11Displays.patch @@ -0,0 +1,72 @@ +From c0620e432650e81062c1967cc669829dbd29b310 Mon Sep 17 00:00:00 2001 +From: Michael Meeks +Date: Fri, 9 Nov 2012 16:16:40 +0000 +Subject: gtk: Don't assume all GdkDisplays are GdkX11Displays: + broadway/wayland + +--- + src/canberra-gtk-module.c | 15 +++++++++++++++ + src/canberra-gtk.c | 5 +++++ + 2 files changed, 20 insertions(+) + +Patch-Source: http://git.0pointer.net/libcanberra.git/commit/?id=c0620e432650e81062c1967cc669829dbd29b310 + +diff --git a/src/canberra-gtk-module.c b/src/canberra-gtk-module.c +index 67791f0..c1532ab 100644 +--- a/src/canberra-gtk-module.c ++++ b/src/canberra-gtk-module.c +@@ -307,6 +307,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +@@ -335,6 +340,11 @@ static gint display_get_desktop(GdkDisplay *d) { + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), DefaultRootWindow(GDK_DISPLAY_XDISPLAY(d)), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_CURRENT_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +@@ -365,6 +375,11 @@ static gboolean window_is_xembed(GdkDisplay *d, GdkWindow *w) { + gboolean ret = FALSE; + Atom xembed; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return FALSE; ++#endif ++ + /* Gnome Panel applets are XEMBED windows. We need to make sure we + * ignore them */ + +diff --git a/src/canberra-gtk.c b/src/canberra-gtk.c +index 34446f5..08cb668 100644 +--- a/src/canberra-gtk.c ++++ b/src/canberra-gtk.c +@@ -185,6 +185,11 @@ static gint window_get_desktop(GdkDisplay *d, GdkWindow *w) { + guchar *data = NULL; + gint ret = -1; + ++#ifdef GDK_IS_X11_DISPLAY ++ if (!GDK_IS_X11_DISPLAY(d)) ++ return 0; ++#endif ++ + if (XGetWindowProperty(GDK_DISPLAY_XDISPLAY(d), GDK_WINDOW_XID(w), + gdk_x11_get_xatom_by_name_for_display(d, "_NET_WM_DESKTOP"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, +-- +cgit v1.2.3 + diff --git a/repo/media/libcanberra/fix-build-with-no-lynx-installed.patch b/repo/media/libcanberra/fix-build-with-no-lynx-installed.patch new file mode 100644 index 0000000..1d6f46b --- /dev/null +++ b/repo/media/libcanberra/fix-build-with-no-lynx-installed.patch @@ -0,0 +1,63 @@ +From 5a71fffd3da981127d0a012dda1a1412acaee7d8 Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Sun, 15 Jan 2012 16:35:43 -0500 +Subject: build-sys: Fix build with no lynx installed + +--- + Makefile.am | 8 +++++++- + doc/Makefile.am | 3 ++- + 2 files changed, 9 insertions(+), 2 deletions(-) + +Patch-Source: http://git.0pointer.net/libcanberra.git/commit/?id=5a71fffd3da981127d0a012dda1a1412acaee7d8 + +diff --git a/Makefile.am b/Makefile.am +index af36805..42a56e5 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -16,7 +16,11 @@ + # License along with libcanberra. If not, see + # . + +-dist_doc_DATA = README ++dist_doc_DATA = ++ ++if USE_LYNX ++dist_doc_DATA += README ++endif + + EXTRA_DIST = \ + autogen.sh \ +@@ -27,7 +31,9 @@ EXTRA_DIST = \ + SUBDIRS = src gtkdoc doc + + MAINTAINERCLEANFILES = README ++if USE_LYNX + noinst_DATA = README ++endif + + pkgconfigdir = $(libdir)/pkgconfig + pkgconfig_DATA = libcanberra.pc +diff --git a/doc/Makefile.am b/doc/Makefile.am +index fae9958..cb27f22 100644 +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -16,7 +16,7 @@ + # License along with libcanberra. If not, see + # . + +-noinst_DATA = README.html README ++noinst_DATA = README.html + EXTRA_DIST = $(noinst_DATA) style.css README.html.in + + MAINTAINERCLEANFILES = README.html +@@ -26,6 +26,7 @@ if USE_LYNX + README: README.html + $(AM_V_GEN)lynx --dump $^ | sed 's,file://localhost/.*/doc/README.html,README,' > $@ + ++noinst_DATA += README + CLEANFILES += README + endif + +-- +cgit v1.2.3 + diff --git a/repo/media/libcanberra/libcanberra.xibuild b/repo/media/libcanberra/libcanberra.xibuild new file mode 100644 index 0000000..de9ec80 --- /dev/null +++ b/repo/media/libcanberra/libcanberra.xibuild @@ -0,0 +1,29 @@ +#!/bin/sh + +NAME="libcanberra" +DESC="Simple audio library for GTK applications" + +MAKEDEPS="make " +DEPS="eudev libvorbis musl libtool " + +PKG_VER=0.30 +SOURCE="https://dev.alpinelinux.org/archive/libcanberra/libcanberra-$PKG_VER.tar.xz" +ADDITIONAL="fix-build-with-no-lynx-installed.patch dont-assume-all-GdkDisplays-are-GdkX11Displays.patch " + +prepare () { + apply_patches +} + +build () { + ./configure \ + --prefix=/usr \ + --bindir=/usr/bin \ + --sysconfdir=/etc \ + --disable-static \ + --disable-oss + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/system/atkmm/atkmm.xibuild b/repo/system/atkmm/atkmm.xibuild new file mode 100644 index 0000000..903128c --- /dev/null +++ b/repo/system/atkmm/atkmm.xibuild @@ -0,0 +1,23 @@ +#!/bin/sh + +NAME="atkmm" +DESC="C++ bindings for atk" + +MAKEDEPS="make " +DEPS="atk glib glibmm libsigc++ musl " + +PKG_VER=2.28.0 +SOURCE="https://download.gnome.org/sources/atkmm/${PKG_VER%.*}/atkmm-$PKG_VER.tar.xz" + +build () { + ./configure \ + --prefix=/usr \ + --bindir=/usr/bin \ + --sysconfdir=/etc \ + --disable-static + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/system/glibmm/glibmm.xibuild b/repo/system/glibmm/glibmm.xibuild new file mode 100644 index 0000000..44f2a71 --- /dev/null +++ b/repo/system/glibmm/glibmm.xibuild @@ -0,0 +1,21 @@ +#!/bin/sh + +NAME="glibmm" +DESC="C++ wrapper for the GLib toolkit" + +MAKEDEPS="meson ninja " +DEPS="glib libgcc libsigc++ musl" + +PKG_VER=2.66.2 +SOURCE="https://download.gnome.org/sources/glibmm/${PKG_VER%.*}/glibmm-$PKG_VER.tar.xz" + +build () { + cd build && + meson --prefix=/usr \ + .. && + ninja +} + +package () { + DESTDIR=$PKG_DEST ninja install +} diff --git a/repo/system/libsigc++/libsigc++.xibuild b/repo/system/libsigc++/libsigc++.xibuild new file mode 100644 index 0000000..0c85550 --- /dev/null +++ b/repo/system/libsigc++/libsigc++.xibuild @@ -0,0 +1,21 @@ +#!/bin/sh + +NAME="libsigc++" +DESC="type-safe Signal Framework for C++" + +MAKEDEPS="meson ninja " +DEPS="musl " + +PKG_VER=2.10.6 +SOURCE="https://download.gnome.org/sources/libsigc++/${PKG_VER%.*}/libsigc++-$PKG_VER.tar.xz" + +build () { + cd build && + meson --prefix=/usr \ + .. && + ninja +} + +package () { + DESTDIR=$PKG_DEST ninja install +} diff --git a/repo/x11/cairomm/cairomm.xibuild b/repo/x11/cairomm/cairomm.xibuild new file mode 100644 index 0000000..3d98220 --- /dev/null +++ b/repo/x11/cairomm/cairomm.xibuild @@ -0,0 +1,21 @@ +#!/bin/sh + +NAME="cairomm" +DESC="C++ bindings to Cairo vector graphics library" + +MAKEDEPS="meson ninja " +DEPS="cairo libsigc++ " + +PKG_VER=1.14.3 +SOURCE="https://www.cairographics.org/releases/cairomm-$PKG_VER.tar.xz" + +build () { + cd build && + meson --prefix=/usr \ + .. && + ninja +} + +package () { + DESTDIR=$PKG_DEST ninja install +} diff --git a/repo/x11/gtkmm3/gtkmm3.xibuild b/repo/x11/gtkmm3/gtkmm3.xibuild new file mode 100644 index 0000000..959d067 --- /dev/null +++ b/repo/x11/gtkmm3/gtkmm3.xibuild @@ -0,0 +1,22 @@ +#!/bin/sh + +NAME="gtkmm3" +DESC="C++ wrappers for GTK+" + +MAKEDEPS="meson ninja " +DEPS="atkmm cairomm gdk-pixbuf glib glibmm gtk3 libsigc++ musl pangomm " + +PKG_VER=3.24.5 +SOURCE="https://download.gnome.org/sources/gtkmm/${PKG_VER%.*}/gtkmm-$PKG_VER.tar.xz" + +build () { + cd build && + meson --prefix=/usr \ + -Dbuild-demos=false \ + .. && + ninja +} + +package () { + DESTDIR=$PKG_DEST ninja install +} diff --git a/repo/x11/pangomm/pangomm.xibuild b/repo/x11/pangomm/pangomm.xibuild new file mode 100644 index 0000000..05e3a6b --- /dev/null +++ b/repo/x11/pangomm/pangomm.xibuild @@ -0,0 +1,22 @@ +#!/bin/sh + +NAME="pangomm" +DESC="C++ bindings for pango" + +MAKEDEPS="meson ninja " +DEPS="cairomm glib glibmm libsigc++ musl pango" + +PKG_VER=2.46.2 +SOURCE="https://download.gnome.org/sources/pangomm/${PKG_VER%.*}/pangomm-$PKG_VER.tar.xz" + +build () { + mkdir build && + cd build && + meson --prefix=/usr \ + .. && + ninja +} + +package () { + DESTDIR=$PKG_DEST ninja install +} -- cgit v1.2.1