Skip to content

Commit

Permalink
x11-misc/spacefm: fix bad substitutions with dash
Browse files Browse the repository at this point in the history
Also update EAPI 7 -> 8.

Closes: https://bugs.gentoo.org/891181
Upstream-PR: IgnorantGuru/spacefm#813
Signed-off-by: orbea <[email protected]>
  • Loading branch information
orbea committed May 7, 2023
1 parent cf45053 commit 84d134d
Show file tree
Hide file tree
Showing 2 changed files with 123 additions and 0 deletions.
47 changes: 47 additions & 0 deletions x11-misc/spacefm/files/spacefm-dash.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
https://github.com/IgnorantGuru/spacefm/pull/813

From 30fc0024a8f023277537db1e168294c21ca3b9b0 Mon Sep 17 00:00:00 2001
From: orbea <[email protected]>
Date: Sun, 7 May 2023 07:31:56 -0700
Subject: [PATCH] configure.ac: fix bad substitutions with dash

Uses POSIX compatible substitutions that is not specific to bash.

Gentoo-Issue: https://bugs.gentoo.org/891181
---
configure.ac | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index 035da60e2..ec080e03f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -40,11 +40,11 @@ bash_path="$withval"
# bash v4. SpaceFM runs bash as root and you WILL open root exploits if you
# disable this check, or run bash based on $PATH.
if test ! -z "$bash_path"; then
- if test ! "${bash_path:0:1}" = "/"; then
+ if test "${bash_path%"${bash_path#?}"}" != "/"; then
AC_MSG_ERROR([Fatal Error: Option --with-bash-path requires absolute path.])
fi
echo "Modifying spacefm-auth to use bash path..."
- bash_esc="${bash_path//\//\\/}"
+ bash_esc="$(printf %s "$bash_path" | sed "s|/|\\\/|g")"
sed "s/\(\/bin\/bash\)/$bash_esc/" src/spacefm-auth.bash > src/spacefm-auth
else
cp -pf src/spacefm-auth.bash src/spacefm-auth
@@ -308,12 +308,12 @@ data/Makefile
])

resolve_datadir="$(eval echo "$datadir")"
-while [[ "${resolve_datadir:0:1}" == "$" ]]; do
+while [[ "${resolve_datadir%"${resolve_datadir#?}"}" = "\$" ]]; do
resolve_datadir="$(eval echo "$resolve_datadir")"
done

resolve_htmldir="$(eval echo "$htmldir")"
-while [[ "${resolve_htmldir:0:1}" == "$" ]]; do
+while [[ "${resolve_htmldir%"${resolve_htmldir#?}"}" = "\$" ]]; do
resolve_htmldir="$(eval echo "$resolve_htmldir")"
done

76 changes: 76 additions & 0 deletions x11-misc/spacefm/spacefm-1.0.6-r2.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit autotools linux-info optfeature xdg

DESCRIPTION="A multi-panel tabbed file manager"
HOMEPAGE="https://ignorantguru.github.io/spacefm/"

if [[ ${PV} == *9999* ]]; then
EGIT_REPO_URI="https://github.com/IgnorantGuru/${PN}.git"
EGIT_BRANCH="next"
inherit git-r3
else
KEYWORDS="~amd64 ~x86"
SRC_URI="https://github.com/IgnorantGuru/spacefm/archive/${PV}.tar.gz -> ${P}.tar.gz"
fi

LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
IUSE="+startup-notification +video-thumbnails"

RDEPEND="dev-libs/glib:2
dev-util/desktop-file-utils
virtual/udev
virtual/freedesktop-icon-theme
x11-libs/cairo
x11-libs/gdk-pixbuf
x11-libs/gtk+:3
x11-libs/pango
x11-libs/libX11
x11-misc/shared-mime-info
startup-notification? ( x11-libs/startup-notification )
video-thumbnails? ( media-video/ffmpegthumbnailer )"
DEPEND="${RDEPEND}"
BDEPEND="dev-util/intltool
sys-devel/gettext
virtual/pkgconfig"

PATCHES=(
"${FILESDIR}"/${PN}-9999-include-sysmacros.patch
"${FILESDIR}"/${PN}-fno-common.patch
"${FILESDIR}"/${PN}-dash.patch #891181
)

src_prepare() {
default
eautoreconf
}

src_configure() {
econf \
$(use_enable startup-notification) \
$(use_enable video-thumbnails) \
--disable-hal \
--enable-inotify \
--disable-pixmaps \
--with-gtk3
}

pkg_postinst() {
xdg_pkg_postinst

optfeature "mounting as non-root user" sys-apps/udevil sys-apps/pmount sys-fs/udisks
optfeature "supporting ftp/nfs/smb/ssh URLs in the path bar" sys-apps/udevil
optfeature "performing as root" x11-misc/ktsuss kde-plasma/kde-cli-tools[kdesu]
# sys-apps/util-linux is required for eject
optfeature "other optional dependencies" sys-apps/dbus sys-process/lsof sys-apps/util-linux

if ! has_version 'sys-fs/udisks' ; then
elog "When using SpaceFM without udisks, and without the udisks-daemon running,"
elog "you may need to enable kernel polling for device media changes to be detected."
elog "See /usr/share/doc/${PF}/html/spacefm-manual-en.html#devices-kernpoll"
fi
}

0 comments on commit 84d134d

Please sign in to comment.