From a6774da5563c92dee016b48b201d3aa7e9ab96fc Mon Sep 17 00:00:00 2001 From: termux-pacman-bot Date: Sun, 13 Apr 2025 20:06:36 +0000 Subject: [PATCH] enhance(x11/termux-x11-nightly): add termux-x11-xfce4 service script Running `sv up tx11-xfce4` and `sv down tx11-xfce4` can then be used to start and stop an xfce4 session inside termux-x11. xfce4 needs to be installed for this to work. --- x11-packages/termux-x11-nightly/build.sh | 22 ++++++++++++++++++- .../termux-x11-nightly/sv/tx11-xfce4.run.in | 7 ++++++ .../termux-x11-nightly/sv/tx11.run.in | 7 ++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 x11-packages/termux-x11-nightly/sv/tx11-xfce4.run.in create mode 100644 x11-packages/termux-x11-nightly/sv/tx11.run.in diff --git a/x11-packages/termux-x11-nightly/build.sh b/x11-packages/termux-x11-nightly/build.sh index c860af8808..f650f50ab7 100644 --- a/x11-packages/termux-x11-nightly/build.sh +++ b/x11-packages/termux-x11-nightly/build.sh @@ -3,13 +3,15 @@ TERMUX_PKG_DESCRIPTION="Termux X11 add-on." TERMUX_PKG_LICENSE="GPL-3.0" TERMUX_PKG_MAINTAINER="Twaik Yont @twaik" TERMUX_PKG_VERSION=1.03.01 -TERMUX_PKG_REVISION=3 +TERMUX_PKG_REVISION=4 TERMUX_PKG_SRCURL=https://github.com/termux/termux-x11/archive/efb2d97a46adf1657bacf395c38166a648260066.tar.gz TERMUX_PKG_SHA256=49f635b0aa731b72ad5f5fb78f770d47bc86eeab37b80a2e7a31e93e77e183b3 TERMUX_PKG_AUTO_UPDATE=false TERMUX_PKG_PLATFORM_INDEPENDENT=true TERMUX_PKG_BUILD_IN_SRC=true TERMUX_PKG_DEPENDS="xkeyboard-config" +# We provide a termux-x11-xfce4 service script, so let's suggest xfce4 +TERMUX_PKG_SUGGESTS="xfce4" TERMUX_PKG_BREAKS="termux-x11" TERMUX_PKG_REPLACES="termux-x11" TERMUX_PKG_PROVIDES="termux-x11" @@ -26,6 +28,24 @@ termux_step_make_install() { wget -qO- $LOADER_URL | tar -OJxf - --wildcards "*loader.apk" > $TERMUX_PREFIX/libexec/termux-x11/loader.apk } +termux_step_post_make_install() { + # Setup termux-services scripts + mkdir -p $TERMUX_PREFIX/var/service/tx11/log + ln -sf $TERMUX_PREFIX/share/termux-services/svlogger $TERMUX_PREFIX/var/service/tx11/log/run + sed -e "s%@TERMUX_PREFIX@%$TERMUX_PREFIX%g" \ + -e "s%@TERMUX_HOME@%$TERMUX_ANDROID_HOME%g" \ + $TERMUX_PKG_BUILDER_DIR/sv/tx11.run.in > $TERMUX_PREFIX/var/service/tx11/run + chmod 700 $TERMUX_PREFIX/var/service/tx11/run + touch $TERMUX_PREFIX/var/service/tx11/down + + mkdir -p $TERMUX_PREFIX/var/service/tx11-xfce4/log + ln -sf $TERMUX_PREFIX/share/termux-services/svlogger $TERMUX_PREFIX/var/service/tx11-xfce4/log/run + sed "s%@TERMUX_PREFIX@%$TERMUX_PREFIX%g" \ + $TERMUX_PKG_BUILDER_DIR/sv/tx11-xfce4.run.in > $TERMUX_PREFIX/var/service/tx11-xfce4/run + chmod 700 $TERMUX_PREFIX/var/service/tx11-xfce4/run + touch $TERMUX_PREFIX/var/service/tx11-xfce4/down +} + termux_step_create_debscripts() { cat <<- EOF > postinst #!${TERMUX_PREFIX}/bin/sh diff --git a/x11-packages/termux-x11-nightly/sv/tx11-xfce4.run.in b/x11-packages/termux-x11-nightly/sv/tx11-xfce4.run.in new file mode 100644 index 0000000000..5c79e1c213 --- /dev/null +++ b/x11-packages/termux-x11-nightly/sv/tx11-xfce4.run.in @@ -0,0 +1,7 @@ +#!@TERMUX_PREFIX@/bin/sh + +# Create a file for DISPLAY number. Users can do something like +# export DISPLAY=":$(cat $PREFIX/var/run/tx11-xfce4.display)" +# to use it. +exec 3<> @TERMUX_PREFIX@/var/run/tx11-xfce4.display +exec termux-x11 -displayfd 3 -xstartup "dbus-launch --exit-with-session xfce4-session" 2>&1 diff --git a/x11-packages/termux-x11-nightly/sv/tx11.run.in b/x11-packages/termux-x11-nightly/sv/tx11.run.in new file mode 100644 index 0000000000..c1b74baa11 --- /dev/null +++ b/x11-packages/termux-x11-nightly/sv/tx11.run.in @@ -0,0 +1,7 @@ +#!@TERMUX_PREFIX@/bin/sh + +# Create a file for DISPLAY number. Users can do something like +# export DISPLAY=":$(cat $PREFIX/var/run/tx11.display)" +# to use it. +exec 3<> @TERMUX_PREFIX@/var/run/tx11.display +exec termux-x11 -displayfd 3 2>&1