diff --git a/ports/dbus/build.sh b/ports/dbus/build.sh new file mode 100755 index 00000000..ad8e72a6 --- /dev/null +++ b/ports/dbus/build.sh @@ -0,0 +1,29 @@ +#!/bin/bash ../install.sh + +NAME='dbus' +VERSION='1.16.2' +DOWNLOAD_URL="https://dbus.freedesktop.org/releases/dbus/dbus-$VERSION.tar.xz#0ba2a1a4b16afe7bceb2c07e9ce99a8c2c3508e5dec290dbb643384bd6beb7e2" +DEPENDENCIES=('glib' 'expat') +CONFIGURE_OPTIONS=( + '-Dprefix=/usr' + '-Depoll=disabled' # linux only + '-Dintrusive_tests=false' + '-Dinstalled_tests=false' + '-Dmodular_tests=disabled' +) + +configure() { + meson setup \ + --reconfigure \ + --cross-file "$MESON_CROSS_FILE" \ + "${CONFIGURE_OPTIONS[@]}" \ + build || exit 1 +} + +build() { + meson compile -C build || exit 1 +} + +install() { + meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 +} diff --git a/ports/dbus/patches/0001-fix-includes.patch b/ports/dbus/patches/0001-fix-includes.patch new file mode 100644 index 00000000..a554c57c --- /dev/null +++ b/ports/dbus/patches/0001-fix-includes.patch @@ -0,0 +1,13 @@ +diff -ruN dbus-1.16.2/tools/dbus-print-message.c dbus-1.16.2-banan_os/tools/dbus-print-message.c +--- dbus-1.16.2/tools/dbus-print-message.c 2025-02-27 18:29:06.000000000 +0200 ++++ dbus-1.16.2-banan_os/tools/dbus-print-message.c 2026-02-21 23:23:51.987302740 +0200 +@@ -31,7 +31,9 @@ + #include + #include + #include ++#ifndef __banan_os__ + #include ++#endif + #include + #endif + diff --git a/ports/gdk-pixbuf/build.sh b/ports/gdk-pixbuf/build.sh new file mode 100755 index 00000000..c1958ee8 --- /dev/null +++ b/ports/gdk-pixbuf/build.sh @@ -0,0 +1,27 @@ +#!/bin/bash ../install.sh + +NAME='gdk-pixbuf' +VERSION='2.44.4' +DOWNLOAD_URL="https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/archive/$VERSION/gdk-pixbuf-$VERSION.tar.gz#6de2f77d992155b4121d20036e7e986dfe595a0e654381cdd0d7257f493c208a" +DEPENDENCIES=('glib' 'libpng' 'libjpeg' 'libtiff' 'shared-mime-info') +CONFIGURE_OPTIONS=( + '-Dprefix=/usr' + '-Dtests=false' + '-Dman=false' +) + +configure() { + meson setup \ + --reconfigure \ + --cross-file "$MESON_CROSS_FILE" \ + "${CONFIGURE_OPTIONS[@]}" \ + build || exit 1 +} + +build() { + meson compile -C build || exit 1 +} + +install() { + meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 +} diff --git a/ports/gtk3/build.sh b/ports/gtk3/build.sh new file mode 100755 index 00000000..9c7c4bbf --- /dev/null +++ b/ports/gtk3/build.sh @@ -0,0 +1,30 @@ +#!/bin/bash ../install.sh + +NAME='gtk' +VERSION='3.24.49' +DOWNLOAD_URL="https://gitlab.gnome.org/GNOME/gtk/-/archive/$VERSION/gtk-$VERSION.tar.gz#a2958d82986c81794e953a3762335fa7c78948706d23cced421f7245ca544cbc" +DEPENDENCIES=('glib' 'gdk-pixbuf' 'pango' 'libatk' 'libepoxy' 'libXrandr') +CONFIGURE_OPTIONS=( + '-Dprefix=/usr' + '-Dtests=false' + '-Dexamples=false' + '-Dintrospection=false' + '-Dx11_backend=true' + '-Dwayland_backend=false' +) + +configure() { + meson setup \ + --reconfigure \ + --cross-file "$MESON_CROSS_FILE" \ + "${CONFIGURE_OPTIONS[@]}" \ + build || exit 1 +} + +build() { + meson compile -C build || exit 1 +} + +install() { + meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 +} diff --git a/ports/libatk/build.sh b/ports/libatk/build.sh new file mode 100755 index 00000000..36a50e40 --- /dev/null +++ b/ports/libatk/build.sh @@ -0,0 +1,26 @@ +#!/bin/bash ../install.sh + +NAME='libatk' +VERSION='2.56.6' +DOWNLOAD_URL="https://gitlab.gnome.org/GNOME/at-spi2-core/-/archive/$VERSION/at-spi2-core-$VERSION.tar.gz#49b1a640d50a95389a31672a0a077f0c20e8e222322cbd0228d3fa597686819d" +TAR_CONTENT="at-spi2-core-$VERSION" +DEPENDENCIES=('glib' 'dbus' 'libxml2' 'libX11' 'libXtst') +CONFIGURE_OPTIONS=( + '-Dprefix=/usr' +) + +configure() { + meson setup \ + --reconfigure \ + --cross-file "$MESON_CROSS_FILE" \ + "${CONFIGURE_OPTIONS[@]}" \ + build || exit 1 +} + +build() { + meson compile -C build || exit 1 +} + +install() { + meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 +} diff --git a/ports/libepoxy/build.sh b/ports/libepoxy/build.sh new file mode 100755 index 00000000..5271faaf --- /dev/null +++ b/ports/libepoxy/build.sh @@ -0,0 +1,27 @@ +#!/bin/bash ../install.sh + +NAME='libepoxy' +VERSION='1.5.10' +DOWNLOAD_URL="https://download.gnome.org/sources/libepoxy/1.5/libepoxy-$VERSION.tar.xz#072cda4b59dd098bba8c2363a6247299db1fa89411dc221c8b81b8ee8192e623" +DEPENDENCIES=('mesa' 'libX11') +CONFIGURE_OPTIONS=( + '-Dprefix=/usr' + '-Dtests=false' + '-Degl=no' +) + +configure() { + meson setup \ + --reconfigure \ + --cross-file "$MESON_CROSS_FILE" \ + "${CONFIGURE_OPTIONS[@]}" \ + build || exit 1 +} + +build() { + meson compile -C build || exit 1 +} + +install() { + meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 +} diff --git a/ports/libepoxy/patches/0001-fix-dispatch-common.patch b/ports/libepoxy/patches/0001-fix-dispatch-common.patch new file mode 100644 index 00000000..1bcb9472 --- /dev/null +++ b/ports/libepoxy/patches/0001-fix-dispatch-common.patch @@ -0,0 +1,23 @@ +--- libepoxy-1.5.10/src/dispatch_common.c 2022-02-17 14:56:12.000000000 +0200 ++++ libepoxy-1.5.10-banan_os/src/dispatch_common.c 2025-11-11 18:35:23.194563757 +0200 +@@ -164,7 +164,9 @@ + #include + #else + #include ++#ifndef __banan_os__ + #include ++#endif + #include + #endif + #include +@@ -306,8 +308,10 @@ + pthread_mutex_lock(&api.mutex); + if (!*handle) { + int flags = RTLD_LAZY | RTLD_LOCAL; ++#ifdef RTLD_NOLOAD + if (!load) + flags |= RTLD_NOLOAD; ++#endif + + *handle = dlopen(lib_name, flags); + if (!*handle) { diff --git a/ports/libxml2/build.sh b/ports/libxml2/build.sh new file mode 100755 index 00000000..e56179e3 --- /dev/null +++ b/ports/libxml2/build.sh @@ -0,0 +1,26 @@ +#!/bin/bash ../install.sh + +NAME='libxml2' +VERSION='2.15.1' +DOWNLOAD_URL="https://gitlab.gnome.org/GNOME/libxml2/-/archive/v$VERSION/libxml2-v$VERSION.tar.gz#0a5ebf8fa131585748d661ae692503483aff39d9b29b6c4b342cd80d422f246c" +TAR_CONTENT="libxml2-v$VERSION" +DEPENDENCIES=('zlib' 'libiconv') +CONFIGURE_OPTIONS=( + '-Dprefix=/usr' +) + +configure() { + meson setup \ + --reconfigure \ + --cross-file "$MESON_CROSS_FILE" \ + "${CONFIGURE_OPTIONS[@]}" \ + build || exit 1 +} + +build() { + meson compile -C build || exit 1 +} + +install() { + meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 +} diff --git a/ports/libxml2/patches/0001-disable-tests.patch b/ports/libxml2/patches/0001-disable-tests.patch new file mode 100644 index 00000000..eab63c1c --- /dev/null +++ b/ports/libxml2/patches/0001-disable-tests.patch @@ -0,0 +1,24 @@ +diff -ruN libxml2-2.15.1/meson.build libxml2-2.15.1-banan_os/meson.build +--- libxml2-2.15.1/meson.build 2025-10-16 16:23:05.000000000 +0300 ++++ libxml2-2.15.1-banan_os/meson.build 2025-11-05 21:14:49.833303459 +0200 +@@ -502,19 +502,7 @@ + + ## tests + +-checks = { +- 'runsuite': [], +- 'runtest': threads_dep, +- 'runxmlconf': [], +-# Disabled for now, see #694 +-# 'testModule': [], +- 'testapi': [], +- 'testchar': [], +- 'testdict': [], +- 'testlimits': [], +- 'testparser': [], +- 'testrecurse': [], +-} ++checks = {} + + foreach check, deps : checks + exe = executable( diff --git a/ports/shared-mime-info/build.sh b/ports/shared-mime-info/build.sh new file mode 100755 index 00000000..45057f06 --- /dev/null +++ b/ports/shared-mime-info/build.sh @@ -0,0 +1,28 @@ +#!/bin/bash ../install.sh + +NAME='shared-mime-info' +VERSION='2.4' +DOWNLOAD_URL="https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/$VERSION/shared-mime-info-$VERSION.tar.gz#531291d0387eb94e16e775d7e73788d06d2b2fdd8cd2ac6b6b15287593b6a2de" +DEPENDENCIES=('glib' 'libxml2') +CONFIGURE_OPTIONS=( + '-Dprefix=/usr' + '-Dbuild-tests=false' + '-Dbuild-translations=false' + '-Dupdate-mimedb=true' +) + +configure() { + meson setup \ + --reconfigure \ + --cross-file "$MESON_CROSS_FILE" \ + "${CONFIGURE_OPTIONS[@]}" \ + build || exit 1 +} + +build() { + meson compile -C build || exit 1 +} + +install() { + meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 +}