From cc867fc5cc6a83b01dede127e51efc5a7a7366df Mon Sep 17 00:00:00 2001 From: sulincix Date: Sun, 29 Sep 2024 20:45:00 +0000 Subject: [PATCH 1/5] pipewire env fix --- media/video/pipewire/ympbuild | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/media/video/pipewire/ympbuild b/media/video/pipewire/ympbuild index 1e123580..acbbd0f2 100644 --- a/media/video/pipewire/ympbuild +++ b/media/video/pipewire/ympbuild @@ -54,7 +54,8 @@ package(){ # pipewire system service install ../pipewire.initd ${DESTDIR}/etc/init.d/pipewire # environment variable - echo "export PIPEWIRE_RUNTOME_DIR=/run/pipewire" > ${DESTDIR}/etc/profile.d/pipewire.sh + echo "export PIPEWIRE_RUNTIME_DIR=/run/pipewire" > ${DESTDIR}/etc/profile.d/pipewire.sh + echo "export PULSE_RUNTIME_PATH=/run/pipewire/pulse" > ${DESTDIR}/etc/profile.d/pipewire.sh echo "export PULSE_SERVER=unix:/run/pipewire/pulse/native" >> ${DESTDIR}/etc/profile.d/pipewire.sh # pipewire user (uid same with audio group) echo "pipewire:x:29:29::/run/pipewire:/bin/false" > "$DESTDIR"/etc/passwd.d/pipewire From 0f9f7459af1d3fa96c1a6dfa50138daec40d090b Mon Sep 17 00:00:00 2001 From: sulincix Date: Sun, 29 Sep 2024 20:45:27 +0000 Subject: [PATCH 2/5] pipewire env fix --- media/video/pipewire/ympbuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/media/video/pipewire/ympbuild b/media/video/pipewire/ympbuild index acbbd0f2..86fccf68 100644 --- a/media/video/pipewire/ympbuild +++ b/media/video/pipewire/ympbuild @@ -55,7 +55,7 @@ package(){ install ../pipewire.initd ${DESTDIR}/etc/init.d/pipewire # environment variable echo "export PIPEWIRE_RUNTIME_DIR=/run/pipewire" > ${DESTDIR}/etc/profile.d/pipewire.sh - echo "export PULSE_RUNTIME_PATH=/run/pipewire/pulse" > ${DESTDIR}/etc/profile.d/pipewire.sh + echo "export PULSE_RUNTIME_PATH=/run/pipewire/pulse" >> ${DESTDIR}/etc/profile.d/pipewire.sh echo "export PULSE_SERVER=unix:/run/pipewire/pulse/native" >> ${DESTDIR}/etc/profile.d/pipewire.sh # pipewire user (uid same with audio group) echo "pipewire:x:29:29::/run/pipewire:/bin/false" > "$DESTDIR"/etc/passwd.d/pipewire From a4c0c6b7ea0930800c09fe55547152cdd2f8f5ab Mon Sep 17 00:00:00 2001 From: sulincix Date: Mon, 30 Sep 2024 07:03:40 +0000 Subject: [PATCH 3/5] revert pipewire service mode --- media/video/pipewire/pipewire-launcher.sh | 41 ++++----------------- media/video/pipewire/pipewire.desktop | 8 ++++ media/video/pipewire/ympbuild | 18 ++------- media/video/wireplumber/wireplumber.desktop | 10 ----- media/video/wireplumber/ympbuild | 9 +---- 5 files changed, 22 insertions(+), 64 deletions(-) create mode 100644 media/video/pipewire/pipewire.desktop delete mode 100644 media/video/wireplumber/wireplumber.desktop diff --git a/media/video/pipewire/pipewire-launcher.sh b/media/video/pipewire/pipewire-launcher.sh index da84d85a..16a8adb8 100644 --- a/media/video/pipewire/pipewire-launcher.sh +++ b/media/video/pipewire/pipewire-launcher.sh @@ -1,47 +1,22 @@ -#!/bin/bash -export PIPEWIRE_RUNTIME_DIR=/run/pipewire -export XDG_RUNTIME_DIR=/run/pipewire -export PULSE_RUNTIME_PATH=/run/pipewire/pulse -umask 002 -exec &>~/pipewire.log +#!/bin/sh # We need to kill any existing pipewire instance to restore sound pkill -u "${USER}" -fx /usr/bin/pipewire-pulse 1>/dev/null 2>&1 -pkill -u "${USER}" -fx /usr/bin/pipewire 1>/dev/null 2>&1 pkill -u "${USER}" -fx /usr/bin/pipewire-media-session 1>/dev/null 2>&1 pkill -u "${USER}" -fx /usr/bin/wireplumber 1>/dev/null 2>&1 - -dbus='' -if [ -f /usr/bin/dbus-run-session ] ; then - dbus='/usr/bin/dbus-run-session' -fi +pkill -u "${USER}" -fx /usr/bin/pipewire 1>/dev/null 2>&1 exec /usr/bin/pipewire & -if [ -x /usr/bin/wireplumber ]; then - exec /usr/bin/wireplumber & -elif [ -x /usr/bin/pipewire-media-session ]; then - exec /usr/bin/pipewire-media-session & -fi - # wait for pipewire to start before attempting to start related daemons while [ "$(pgrep -f /usr/bin/pipewire)" = "" ]; do sleep 1 done -# wait until start pipewire -while ! [ -e /run/pipewire/pipewire-0 ] ; do - sleep 1 -done -chgrp audio -R /run/pipewire/ -# start pipewire-pulse -if [ -f "/usr/share/pipewire/pipewire-pulse.conf" ] ; then - exec $dbus /usr/bin/pipewire-pulse & - # wait until start pipewire-pulse - while ! [ -e /run/pipewire/pulse/native ] ; do - sleep 1 - done - chgrp audio -R /run/pipewire/pulse - chmod 775 /run/pipewire/pulse +if [ -x /usr/bin/wireplumber ]; then + exec /usr/bin/wireplumber & +elif [ -x /usr/bin/pipewire-media-session ]; then + exec /usr/bin/pipewire-media-session & fi -wait \ No newline at end of file + +[ -f "/usr/share/pipewire/pipewire-pulse.conf" ] && exec /usr/bin/pipewire-pulse & diff --git a/media/video/pipewire/pipewire.desktop b/media/video/pipewire/pipewire.desktop new file mode 100644 index 00000000..0b353d85 --- /dev/null +++ b/media/video/pipewire/pipewire.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Version=1.0 +Name=Pipewire +Comment=Start Pipewire +Exec=/usr/libexec/pipewire-launcher +Terminal=false +Type=Application +X-KDE-autostart-phase=1 diff --git a/media/video/pipewire/ympbuild b/media/video/pipewire/ympbuild index 86fccf68..73e7cf7c 100644 --- a/media/video/pipewire/ympbuild +++ b/media/video/pipewire/ympbuild @@ -8,7 +8,7 @@ email='bayramk@gmail.com' maintainer='bk' license=('GPLv3') source=("https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/$version/pipewire-$version.tar.gz" - "pipewire.initd" + "pipewire.desktop" "pipewire-launcher.sh") depends=(lilv libpulse alsa-lib dbus) makedepends=() @@ -45,19 +45,9 @@ build(){ package(){ ninja -C build install - mkdir -p ${DESTDIR}/usr/libexec \ - ${DESTDIR}/etc/init.d \ - ${DESTDIR}/etc/profile.d \ - ${DESTDIR}/etc/passwd.d - # pipewire launcher from alpine linux (with same modifications) + mkdir -p ${DESTDIR}/usr/libexec ${DESTDIR}/etc/xdg/autostart/ + # pipewire launcher from alpine linux install ../pipewire-launcher.sh ${DESTDIR}/usr/libexec/pipewire-launcher - # pipewire system service - install ../pipewire.initd ${DESTDIR}/etc/init.d/pipewire - # environment variable - echo "export PIPEWIRE_RUNTIME_DIR=/run/pipewire" > ${DESTDIR}/etc/profile.d/pipewire.sh - echo "export PULSE_RUNTIME_PATH=/run/pipewire/pulse" >> ${DESTDIR}/etc/profile.d/pipewire.sh - echo "export PULSE_SERVER=unix:/run/pipewire/pulse/native" >> ${DESTDIR}/etc/profile.d/pipewire.sh - # pipewire user (uid same with audio group) - echo "pipewire:x:29:29::/run/pipewire:/bin/false" > "$DESTDIR"/etc/passwd.d/pipewire + install ../pipewire.desktop ${DESTDIR}/etc/xdg/autostart/ } diff --git a/media/video/wireplumber/wireplumber.desktop b/media/video/wireplumber/wireplumber.desktop deleted file mode 100644 index 08fd58af..00000000 --- a/media/video/wireplumber/wireplumber.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Wireplumber -Comment=Start Wireplumber -Exec=/usr/bin/wireplumber -Terminal=false -Type=Application -X-KDE-autostart-phase=1 -X-GNOME-HiddenUnderSystemd=true -X-systemd-skip=true diff --git a/media/video/wireplumber/ympbuild b/media/video/wireplumber/ympbuild index eebfdf15..6389d956 100644 --- a/media/video/wireplumber/ympbuild +++ b/media/video/wireplumber/ympbuild @@ -7,12 +7,10 @@ description='Session / policy manager implementation for PipeWire' email='bayramk@gmail.com' maintainer='bk' license=('GPLv3') -source=("https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$version/$name-$version.tar.gz" - "wireplumber.desktop") +source=("https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$version/$name-$version.tar.gz") depends=(pipewire) makedepends=() -sha256sums=('ce7b7217d880bed1438e408ea412716a259cb46b09f597bfd652a577dc60185c' - 'SKIP') +sha256sums=('ce7b7217d880bed1438e408ea412716a259cb46b09f597bfd652a577dc60185c') group=(media.video) uses=() arch=('x86_64') @@ -38,8 +36,5 @@ build(){ package(){ ninja -C build install - # install autostart file - mkdir -p $DESTDIR/etc/xdg/autostart - install ../wireplumber.desktop $DESTDIR/etc/xdg/autostart/ } From 06bdecee4f3fd125b69e131ec98f04bedf2aaf93 Mon Sep 17 00:00:00 2001 From: sulincix Date: Mon, 30 Sep 2024 19:40:53 +0000 Subject: [PATCH 4/5] fixes about lxde and xfce --- lxde/base/lxpanel/lxpanel-0.10.1-c99.patch | 29 ++++++ lxde/base/lxpanel/ympbuild | 11 ++- ...esion-0.5.5-fix-incompatible-pointer.patch | 89 +++++++++++++++++++ lxde/base/lxsession/lxsession-0.5.5-c99.patch | 86 ++++++++++++++++++ lxde/base/lxsession/ympbuild | 16 ++-- .../lxterminal/lxterminal-0.4.0-c99.patch | 54 +++++++++++ lxde/base/lxterminal/ympbuild | 6 +- lxde/base/pcmanfm/ympbuild | 3 + xfce/base/xfce4-session/ympbuild | 2 +- xfce/extra/xfce-polkit/ympbuild | 2 + 10 files changed, 287 insertions(+), 11 deletions(-) create mode 100644 lxde/base/lxpanel/lxpanel-0.10.1-c99.patch create mode 100644 lxde/base/lxsession/lxsesion-0.5.5-fix-incompatible-pointer.patch create mode 100644 lxde/base/lxsession/lxsession-0.5.5-c99.patch create mode 100644 lxde/base/lxterminal/lxterminal-0.4.0-c99.patch diff --git a/lxde/base/lxpanel/lxpanel-0.10.1-c99.patch b/lxde/base/lxpanel/lxpanel-0.10.1-c99.patch new file mode 100644 index 00000000..06a94821 --- /dev/null +++ b/lxde/base/lxpanel/lxpanel-0.10.1-c99.patch @@ -0,0 +1,29 @@ +https://bugs.gentoo.org/919092 +https://github.com/lxde/lxpanel/pull/70 + +From 914bcc3945503be2506e112883a648b867c6db57 Mon Sep 17 00:00:00 2001 +From: Ravi Kant Sharma <600723+raviksharma@users.noreply.github.com> +Date: Tue, 23 Jul 2024 18:02:44 +0200 +Subject: [PATCH] fix build failure on gcc-14 + +gcc-14 treats implicitly casting all pointer types to all other pointer types as error now. + +https://gcc.gnu.org/gcc-14/porting_to.html#warnings-as-errors +--- + plugins/tray.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plugins/tray.c b/plugins/tray.c +index 3e66b81f..42d4917c 100644 +--- a/plugins/tray.c ++++ b/plugins/tray.c +@@ -631,7 +631,7 @@ static GtkWidget *tray_constructor(LXPanel *panel, config_setting_t *settings) + /* Add GDK event filter. */ + gdk_window_add_filter(NULL, (GdkFilterFunc) tray_event_filter, tr); + /* Reference the window since it is never added to a container. */ +- tr->invisible = g_object_ref_sink(G_OBJECT(invisible)); ++ tr->invisible = (GtkWidget *) g_object_ref_sink(G_OBJECT(invisible)); + tr->invisible_window = GDK_WINDOW_XID(gtk_widget_get_window(invisible)); + + /* Allocate top level widget and set into Plugin widget pointer. */ + diff --git a/lxde/base/lxpanel/ympbuild b/lxde/base/lxpanel/ympbuild index e092f60b..bca5e164 100644 --- a/lxde/base/lxpanel/ympbuild +++ b/lxde/base/lxpanel/ympbuild @@ -7,17 +7,24 @@ description='Lightweight X11 desktop panel for LXDE ' email='bayramk@gmail.com' maintainer='bk' license=('GPLv3') -source=("https://salsa.debian.org/lxde-team/lxpanel/-/archive/debian/$version-1/lxpanel-debian-$version-1.tar.gz") +source=("https://salsa.debian.org/lxde-team/lxpanel/-/archive/debian/$version-1/lxpanel-debian-$version-1.tar.gz" + "lxpanel-0.10.1-c99.patch") depends=(libwnck3 wireless-tools) makedepends=() -sha256sums=('e4c6a8c9901f4226160af79c409236fe4e5d1b1ec3aefdb1c43e416698f27811') +sha256sums=('e4c6a8c9901f4226160af79c409236fe4e5d1b1ec3aefdb1c43e416698f27811' + 'SKIP') group=(lxde.base) uses=() arch=('x86_64') cd $name-debian-$version-1 +export CFLAGS="-Wno-all -O2 -s" +export CXXFLAGS="-Wno-all -O2 -s" + prepare(){ + + patch -Np1 -i ../lxpanel-0.10.1-c99.patch # Disable pager plugin as it breaks panel layout with GTK+ 3 # https://sourceforge.net/p/lxde/bugs/773/ sed -i '/pager.c/d' plugins/Makefile.am diff --git a/lxde/base/lxsession/lxsesion-0.5.5-fix-incompatible-pointer.patch b/lxde/base/lxsession/lxsesion-0.5.5-fix-incompatible-pointer.patch new file mode 100644 index 00000000..d45ffb53 --- /dev/null +++ b/lxde/base/lxsession/lxsesion-0.5.5-fix-incompatible-pointer.patch @@ -0,0 +1,89 @@ +From 0eb1a31843691b4e5f3354c153315dcb7ebeda3d Mon Sep 17 00:00:00 2001 +From: Mamoru TASAKA +Date: Sun, 25 Feb 2024 16:58:43 +0900 +Subject: [PATCH] Fix: support gcc14 -Werror=incompatible-pointer-types + +gcc14 now defaults to -Werror=incompatible-pointer-types. +To support compilation with gcc14, cast GTK related objects +properly. +--- + lxpolkit/lxpolkit-listener.c | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/lxpolkit/lxpolkit-listener.c b/lxpolkit/lxpolkit-listener.c +index 00bda424..819d2c58 100644 +--- a/lxpolkit/lxpolkit-listener.c ++++ b/lxpolkit/lxpolkit-listener.c +@@ -85,13 +85,13 @@ static void on_completed(PolkitAgentSession* session, gboolean authorized, DlgDa + + if(!authorized && !g_cancellable_is_cancelled(data->cancellable)) + { +- show_msg(data->dlg, GTK_MESSAGE_ERROR, _("Authentication failed!\nWrong password?")); ++ show_msg(GTK_WINDOW(data->dlg), GTK_MESSAGE_ERROR, _("Authentication failed!\nWrong password?")); + /* initiate a new session */ + g_object_unref(data->session); + data->session = NULL; +- gtk_entry_set_text(data->request, ""); ++ gtk_entry_set_text(GTK_ENTRY(data->request), ""); + gtk_widget_grab_focus(data->request); +- on_user_changed(data->id, data); ++ on_user_changed(GTK_COMBO_BOX(data->id), data); + return; + } + g_simple_async_result_complete(data->result); +@@ -106,20 +106,20 @@ static void on_request(PolkitAgentSession* session, gchar* request, gboolean ech + msg = _("Password: "); + else + msg = request; +- gtk_label_set_text(data->request_label, msg); +- gtk_entry_set_visibility(data->request, echo_on); ++ gtk_label_set_text(GTK_LABEL(data->request_label), msg); ++ gtk_entry_set_visibility(GTK_ENTRY(data->request), echo_on); + } + + static void on_show_error(PolkitAgentSession* session, gchar* text, DlgData* data) + { + DEBUG("on error: %s", text); +- show_msg(data->dlg, GTK_MESSAGE_ERROR, text); ++ show_msg(GTK_WINDOW(data->dlg), GTK_MESSAGE_ERROR, text); + } + + static void on_show_info(PolkitAgentSession* session, gchar* text, DlgData* data) + { + DEBUG("on info: %s", text); +- show_msg(data->dlg, GTK_MESSAGE_INFO, text); ++ show_msg(GTK_WINDOW(data->dlg), GTK_MESSAGE_INFO, text); + } + + void on_dlg_response(GtkDialog* dlg, int response, DlgData* data) +@@ -127,7 +127,7 @@ void on_dlg_response(GtkDialog* dlg, int response, DlgData* data) + DEBUG("on_response: %d", response); + if(response == GTK_RESPONSE_OK) + { +- const char* request = gtk_entry_get_text(data->request); ++ const char* request = gtk_entry_get_text(GTK_ENTRY(data->request)); + polkit_agent_session_response(data->session, request); + gtk_widget_set_sensitive(data->dlg, FALSE); + } +@@ -195,7 +195,7 @@ static void initiate_authentication(PolkitAgentListener *listener, + DEBUG("%s: %s", *p, polkit_details_lookup(details, *p)); + #endif + data->listener = (LXPolkitListener*)listener; +- data->result = g_simple_async_result_new(listener, callback, user_data, initiate_authentication); ++ data->result = g_simple_async_result_new(G_OBJECT(listener), callback, user_data, initiate_authentication); + + data->action_id = g_strdup(action_id); + data->cancellable = (GCancellable*)g_object_ref(cancellable); +@@ -260,10 +260,10 @@ static void initiate_authentication(PolkitAgentListener *listener, + g_free(str); + } + } +- gtk_combo_box_set_model(data->id, GTK_TREE_MODEL(store)); ++ gtk_combo_box_set_model(GTK_COMBO_BOX(data->id), GTK_TREE_MODEL(store)); + g_object_unref(store); + /* select the fist user in the list */ +- gtk_combo_box_set_active(data->id, 0); ++ gtk_combo_box_set_active(GTK_COMBO_BOX(data->id), 0); + } + else + { diff --git a/lxde/base/lxsession/lxsession-0.5.5-c99.patch b/lxde/base/lxsession/lxsession-0.5.5-c99.patch new file mode 100644 index 00000000..8f795780 --- /dev/null +++ b/lxde/base/lxsession/lxsession-0.5.5-c99.patch @@ -0,0 +1,86 @@ +https://github.com/lxde/lxsession/pull/34 + +From a0d8f8b865ce25867983cd45720adfff33b3fdfb Mon Sep 17 00:00:00 2001 +From: Mamoru TASAKA +Date: Sun, 25 Feb 2024 16:58:43 +0900 +Subject: [PATCH] Fix: support gcc14 -Werror=incompatible-pointer-types + +gcc14 now defaults to -Werror=incompatible-pointer-types. +To support compilation with gcc14, cast GTK related objects +properly. +--- a/lxpolkit/lxpolkit-listener.c ++++ b/lxpolkit/lxpolkit-listener.c +@@ -85,13 +85,13 @@ static void on_completed(PolkitAgentSession* session, gboolean authorized, DlgDa + + if(!authorized && !g_cancellable_is_cancelled(data->cancellable)) + { +- show_msg(data->dlg, GTK_MESSAGE_ERROR, _("Authentication failed!\nWrong password?")); ++ show_msg(GTK_WINDOW(data->dlg), GTK_MESSAGE_ERROR, _("Authentication failed!\nWrong password?")); + /* initiate a new session */ + g_object_unref(data->session); + data->session = NULL; +- gtk_entry_set_text(data->request, ""); ++ gtk_entry_set_text(GTK_ENTRY(data->request), ""); + gtk_widget_grab_focus(data->request); +- on_user_changed(data->id, data); ++ on_user_changed(GTK_COMBO_BOX(data->id), data); + return; + } + g_simple_async_result_complete(data->result); +@@ -106,20 +106,20 @@ static void on_request(PolkitAgentSession* session, gchar* request, gboolean ech + msg = _("Password: "); + else + msg = request; +- gtk_label_set_text(data->request_label, msg); +- gtk_entry_set_visibility(data->request, echo_on); ++ gtk_label_set_text(GTK_LABEL(data->request_label), msg); ++ gtk_entry_set_visibility(GTK_ENTRY(data->request), echo_on); + } + + static void on_show_error(PolkitAgentSession* session, gchar* text, DlgData* data) + { + DEBUG("on error: %s", text); +- show_msg(data->dlg, GTK_MESSAGE_ERROR, text); ++ show_msg(GTK_WINDOW(data->dlg), GTK_MESSAGE_ERROR, text); + } + + static void on_show_info(PolkitAgentSession* session, gchar* text, DlgData* data) + { + DEBUG("on info: %s", text); +- show_msg(data->dlg, GTK_MESSAGE_INFO, text); ++ show_msg(GTK_WINDOW(data->dlg), GTK_MESSAGE_INFO, text); + } + + void on_dlg_response(GtkDialog* dlg, int response, DlgData* data) +@@ -127,7 +127,7 @@ void on_dlg_response(GtkDialog* dlg, int response, DlgData* data) + DEBUG("on_response: %d", response); + if(response == GTK_RESPONSE_OK) + { +- const char* request = gtk_entry_get_text(data->request); ++ const char* request = gtk_entry_get_text(GTK_ENTRY(data->request)); + polkit_agent_session_response(data->session, request); + gtk_widget_set_sensitive(data->dlg, FALSE); + } +@@ -195,7 +195,7 @@ static void initiate_authentication(PolkitAgentListener *listener, + DEBUG("%s: %s", *p, polkit_details_lookup(details, *p)); + #endif + data->listener = (LXPolkitListener*)listener; +- data->result = g_simple_async_result_new(listener, callback, user_data, initiate_authentication); ++ data->result = g_simple_async_result_new(G_OBJECT(listener), callback, user_data, initiate_authentication); + + data->action_id = g_strdup(action_id); + data->cancellable = (GCancellable*)g_object_ref(cancellable); +@@ -260,10 +260,10 @@ static void initiate_authentication(PolkitAgentListener *listener, + g_free(str); + } + } +- gtk_combo_box_set_model(data->id, GTK_TREE_MODEL(store)); ++ gtk_combo_box_set_model(GTK_COMBO_BOX(data->id), GTK_TREE_MODEL(store)); + g_object_unref(store); + /* select the fist user in the list */ +- gtk_combo_box_set_active(data->id, 0); ++ gtk_combo_box_set_active(GTK_COMBO_BOX(data->id), 0); + } + else + { + diff --git a/lxde/base/lxsession/ympbuild b/lxde/base/lxsession/ympbuild index f784362e..325baef1 100644 --- a/lxde/base/lxsession/ympbuild +++ b/lxde/base/lxsession/ympbuild @@ -7,25 +7,27 @@ description='Lightweight X11 session manager' email='akarsu@protonmail.com' maintainer='akarsu' license=('GPL2') -source=("https://salsa.debian.org/lxde-team/lxsession/-/archive/debian/$version-2/lxsession-debian-$version-2.tar.gz") +_commit="95e902d76758e09f9226abd39163aadd5cd50bc1" +source=("https://github.com/lxde/lxsession/archive/${_commit}.zip") depends=(gtk3 polkit) makedepends=(intltool vala docbook-xsl) -sha256sums=('c9ed57c23c682fbd33cf5a8092a5d5c5415a922f8e36d350dcbb637434db6843') +sha256sums=('19df9abfda70fb051c4e0f6d17a68d6e635728065faee7b95e441e26af4098d9') group=(lxde.base) uses=() arch=('x86_64') -cd $name-debian-$version-2 +cd $name-${_commit} + +export CC="clang" +export CXX="clang++" setup(){ - autoreconf -fvi + ./autogen.sh ./configure --prefix=/usr\ --sysconfdir=/etc \ --libexecdir=/usr/libexec \ --enable-gtk3 \ - --enable-buildin-clipboard \ - --libdir=/usr/lib64/ \ - --enable-buildin-polkit + --libdir=/usr/lib64/ } build(){ diff --git a/lxde/base/lxterminal/lxterminal-0.4.0-c99.patch b/lxde/base/lxterminal/lxterminal-0.4.0-c99.patch new file mode 100644 index 00000000..7694e94b --- /dev/null +++ b/lxde/base/lxterminal/lxterminal-0.4.0-c99.patch @@ -0,0 +1,54 @@ +https://bugs.gentoo.org/919094 +https://github.com/lxde/lxterminal/issues/121 +https://github.com/lxde/lxterminal/pull/122 +https://src.fedoraproject.org/rpms/lxterminal/blob/rawhide/f/lxterminal-pr122-fix-gcc14-incompatible-pointer-types.patch + +From c947b9065b470c24064ac1b1c4935e8093970531 Mon Sep 17 00:00:00 2001 +From: Mamoru TASAKA +Date: Wed, 21 Feb 2024 17:01:14 +0900 +Subject: [PATCH] Fix: support gcc14 -Werror=incompatible-pointer-types + +gcc14 now defaults to -Werror=incompatible-pointer-types . +Fix code to support this. + +* Add GTK cast for GTK_STYLE_PROVIDER +* VteRegex must be deref'ed with vte_regex_unref + +Fixes #121 . +--- + src/lxterminal.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/lxterminal.c b/src/lxterminal.c +index 680e411..dcd7405 100644 +--- a/src/lxterminal.c ++++ b/src/lxterminal.c +@@ -1208,7 +1208,7 @@ static Term * terminal_new(LXTerminal * terminal, const gchar * label, const gch + GtkStyleContext* box_style_ctx = + gtk_widget_get_style_context(GTK_WIDGET(terminal->box)); + gtk_style_context_add_provider( +- box_style_ctx, box_css_provider, ++ box_style_ctx, GTK_STYLE_PROVIDER(box_css_provider), + GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + #endif + +@@ -1232,6 +1232,8 @@ static Term * terminal_new(LXTerminal * terminal, const gchar * label, const gch + vte_terminal_match_set_cursor_name(VTE_TERMINAL(term->vte), ret, "pointer"); + ret = vte_terminal_match_add_regex(VTE_TERMINAL(term->vte), dingus2, 0); + vte_terminal_match_set_cursor_name(VTE_TERMINAL(term->vte), ret, "pointer"); ++ vte_regex_unref(dingus1); ++ vte_regex_unref(dingus2); + #else + GRegex * dingus1 = g_regex_new(DINGUS1, G_REGEX_OPTIMIZE, 0, NULL); + GRegex * dingus2 = g_regex_new(DINGUS2, G_REGEX_OPTIMIZE, 0, NULL); +@@ -1239,9 +1241,9 @@ static Term * terminal_new(LXTerminal * terminal, const gchar * label, const gch + vte_terminal_match_set_cursor_name(VTE_TERMINAL(term->vte), ret, "pointer"); + ret = vte_terminal_match_add_gregex(VTE_TERMINAL(term->vte), dingus2, 0); + vte_terminal_match_set_cursor_name(VTE_TERMINAL(term->vte), ret, "pointer"); +-#endif + g_regex_unref(dingus1); + g_regex_unref(dingus2); ++#endif + + /* Create a horizontal box inside an event box as the toplevel for the tab label. */ + term->tab = gtk_event_box_new(); diff --git a/lxde/base/lxterminal/ympbuild b/lxde/base/lxterminal/ympbuild index d2e9c3e1..a8d306f6 100644 --- a/lxde/base/lxterminal/ympbuild +++ b/lxde/base/lxterminal/ympbuild @@ -17,10 +17,14 @@ arch=('x86_64') cd $name-debian-$version-2 +export CC="clang" +export CXX="clang++" + + setup(){ autoreconf -fvi ./configure --prefix=/usr \ - --libdir=/usr/lib64/ --enable-gtk3 + --libdir=/usr/lib64/ --enable-gtk3 } build(){ diff --git a/lxde/base/pcmanfm/ympbuild b/lxde/base/pcmanfm/ympbuild index 5daeb8fe..275bdbfb 100644 --- a/lxde/base/pcmanfm/ympbuild +++ b/lxde/base/pcmanfm/ympbuild @@ -17,6 +17,9 @@ arch=('x86_64') cd $name-$version +export CC="clang" +export CXX="clang++" + setup(){ autoreconf -fvi ./configure --prefix=/usr \ diff --git a/xfce/base/xfce4-session/ympbuild b/xfce/base/xfce4-session/ympbuild index bb6ec6a7..c58f3ca1 100644 --- a/xfce/base/xfce4-session/ympbuild +++ b/xfce/base/xfce4-session/ympbuild @@ -9,7 +9,7 @@ email='akarsu@protonmail.com' maintainer='akarsu' license=('GPLv2') source=("https://archive.xfce.org/src/xfce/xfce4-session/${_version}/xfce4-session-${version}.tar.bz2") -depends=(libxfce4ui libwnck3 xfconf) +depends=(libxfce4ui libwnck3 xfconf xorg-iceauth) makedepends=(intltool) sha256sums=('9a9c5074c7338b881a5259d3b643619bf84901360c03478e1a697938ece06516') group=(xfce.base) diff --git a/xfce/extra/xfce-polkit/ympbuild b/xfce/extra/xfce-polkit/ympbuild index c36fb670..abb47591 100644 --- a/xfce/extra/xfce-polkit/ympbuild +++ b/xfce/extra/xfce-polkit/ympbuild @@ -32,5 +32,7 @@ build () { package () { make DESTDIR="$DESTDIR" install $jobs + # dont run non xfce + echo "OnlyShowIn=XFCE;" >> $DESTDIR//etc/xdg/autostart/xfce-polkit.desktop } From d7d27d80eb2136a4b1384e74309bf742edf392e8 Mon Sep 17 00:00:00 2001 From: sulincix Date: Mon, 30 Sep 2024 21:11:39 +0000 Subject: [PATCH 5/5] gtk3 update and fix sysconf --- gui/libs/gtk3/gtk3.sysconf | 10 +++++++--- gui/libs/gtk3/ympbuild | 6 +++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/gui/libs/gtk3/gtk3.sysconf b/gui/libs/gtk3/gtk3.sysconf index ebc0c477..dd22548c 100644 --- a/gui/libs/gtk3/gtk3.sysconf +++ b/gui/libs/gtk3/gtk3.sysconf @@ -1,14 +1,18 @@ #!/bin/sh for dir in $(ls /usr/share/icons) ; do if [ -d "/usr/share/icons/$dir" ] ; then - current=$(find "/usr/share/icons/$dir" -type d -exec date +%s -r {} \; | sort | tail -n 1) + current=$(date +%s -r "/usr/share/icons/$dir") last=$(cat /var/lib/ymp/sysconf/gtk3/"$dir"-update.date 2>/dev/null) if [ "$current" != "$last" ] ; then - gtk-update-icon-cache "/usr/share/icons/$dir" + gtk-update-icon-cache "/usr/share/icons/$dir" 2>/dev/null & fi - find "/usr/share/icons/$dir" -type d -exec date +%s -r {} \; | sort | tail -n 1 > /var/lib/ymp/sysconf/gtk3/"$dir"-update.date + date +%s -r "/usr/share/icons/$dir" > /var/lib/ymp/sysconf/gtk3/"$dir"-update.date fi done +wait +if [ -d "/usr/share/icons/hicolor" ] ; then + gtk-update-icon-cache "/usr/share/icons/hicolor" 2>/dev/null +fi current=$(date +%s -r /usr/lib64/gtk-3.0) last=$(cat /var/lib/ymp/sysconf/gtk3/immodules-update.date 2>/dev/null) if [ "$current" != "$last" ] ; then diff --git a/gui/libs/gtk3/ympbuild b/gui/libs/gtk3/ympbuild index b303f398..ee8ad44b 100644 --- a/gui/libs/gtk3/ympbuild +++ b/gui/libs/gtk3/ympbuild @@ -1,7 +1,7 @@ #!/usr/bin/env bash name='gtk3' -release='2' -version='3.24.39' +release='3' +version='3.24.43' url='https://download.gnome.org/sources' description='Gimp Toolkit' email='bayramk@gmail.com' @@ -16,7 +16,7 @@ depends=(cairo libXi libXext libXfixes libXcursor libXdamage librsvg at-spi2-cor dconf cantarell-fonts libpng libXcomposite libXinerama glib libXrandr pango wayland) makedepends=() -md5sums=('9364eedb002a8fab7287b578ef02bdd8' +sha256sums=('7e04f0648515034b806b74ae5d774d87cffb1a2a96c468cb5be476d51bf2f3c7' 'SKIP' 'SKIP' 'SKIP')