app-office/sc-im: rewrite fixing automagic deps

This is an almost complete rewrite patching the Makefile for clipboard
program control with use flags and replacing automagic dependencies with
use flags.

Signed-off-by: Dex Conner <cantcuckthis@danwin1210.de>
This commit is contained in:
Dex Conner
2022-04-16 11:10:54 +03:00
parent 0d1c4f7e51
commit b0a81c922c
5 changed files with 136 additions and 41 deletions

View File

@@ -0,0 +1,50 @@
--- src/Makefile
+++ src/Makefile
@@ -83,7 +83,7 @@
endif
# Check for gnuplot existance
-ifneq (, $(shell which gnuplot))
+ifeq ($(PLOTS),yes)
CFLAGS += -DGNUPLOT
endif
@@ -116,32 +116,33 @@
endif
# NOTE: libxlsreader (libxls) is required for xls file reading support
- ifneq ($(shell pkg-config --exists libxls || echo 'no'),no)
+ ifeq ($(XLS),yes)
CFLAGS += -DXLS $(shell pkg-config --cflags libxls)
LDLIBS += $(shell pkg-config --libs libxls)
endif
# NOTE: libxml and libzip are required for xlsx file import support
- ifneq ($(shell pkg-config --exists libzip libxml-2.0 || echo 'no'),no)
+ ifeq ($(XML_ZIP),yes)
CFLAGS += -DODS -DXLSX $(shell pkg-config --cflags libxml-2.0 libzip)
LDLIBS += $(shell pkg-config --libs libxml-2.0 libzip)
endif
# NOTE: libxlsxwriter is required for xlsx file export support
- ifneq ($(shell pkg-config --exists xlsxwriter || echo 'no'),no)
+ ifeq ($(XLSX),yes)
CFLAGS += -DXLSX_EXPORT $(shell pkg-config --cflags xlsxwriter)
LDLIBS += $(shell pkg-config --libs xlsxwriter)
endif
# NOTE: lua support
- ifneq ($(shell pkg-config --exists lua || echo 'no'),no) # Check for user's default lua
+ ifeq ($(LUA),yes)
CFLAGS += -DXLUA $(shell pkg-config --cflags lua)
ifneq ($(shell uname -s),Darwin)
LDLIBS += $(shell pkg-config --libs lua) -Wl,--export-dynamic
else
LDLIBS += $(shell pkg-config --libs lua) -rdynamic
endif
- else ifneq ($(shell pkg-config --exists luajit || echo 'no'),no) # If not found, check for luajit
+ endif
+ ifeq ($(LUAJIT),yes)
CFLAGS += -DXLUA $(shell pkg-config --cflags luajit)
ifneq ($(shell uname -s),Darwin)
LDLIBS += $(shell pkg-config --libs luajit) -Wl,--export-dynamic

View File

@@ -0,0 +1,32 @@
--- src/Makefile
+++ src/Makefile
@@ -57,8 +57,19 @@
#
# Choose one of the following commands for copying to different clipboards:
# You can later change it at runtime.
+ifeq ($(TMUX),yes)
+ CFLAGS += -DDEFAULT_COPY_TO_CLIPBOARD_CMD=\""tmux load-buffer"\"
+ CFLAGS += -DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""tmux show-buffer"\"
+else ifeq ($(WAYLAND),yes)
+ CFLAGS += -DDEFAULT_COPY_TO_CLIPBOARD_CMD=\""wl-copy <"\"
+ CFLAGS += -DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""wl-paste"\"
+else ifeq ($(X),yes)
+ CFLAGS += -DDEFAULT_COPY_TO_CLIPBOARD_CMD=\""xclip -i -selection clipboard <"\"
+ CFLAGS += -DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""xclip -o -selection clipboard"\"
+endif
+
#to copy to tmux clipboard:
-CFLAGS += -DDEFAULT_COPY_TO_CLIPBOARD_CMD=\""tmux load-buffer"\"
+#CFLAGS += -DDEFAULT_COPY_TO_CLIPBOARD_CMD=\""tmux load-buffer"\"
#to copy to X clipboard:
#CFLAGS += -DDEFAULT_COPY_TO_CLIPBOARD_CMD=\""xclip -i -selection clipboard <"\"
#to copy to OSX clipboard:
@@ -66,7 +77,7 @@
#
# Choose one of the proposed commands for pasting from different clipboards:
# You can later change it at runtime.
-CFLAGS += -DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""tmux show-buffer"\"
+#CFLAGS += -DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""tmux show-buffer"\"
#CFLAGS += -DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""xclip -o -selection clipboard"\"
#CFLAGS += -DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""pbpaste"\"

View File

@@ -1,23 +0,0 @@
--- src/Makefile
+++ src/Makefile
@@ -58,16 +58,16 @@
# Choose one of the following commands for copying to different clipboards:
# You can later change it at runtime.
#to copy to tmux clipboard:
-#CFLAGS += -DDEFAULT_COPY_TO_CLIPBOARD_CMD=\""tmux load-buffer"\"
+CFLAGS += -DDEFAULT_COPY_TO_CLIPBOARD_CMD=\""tmux load-buffer"\"
#to copy to X clipboard:
-CFLAGS += -DDEFAULT_COPY_TO_CLIPBOARD_CMD=\""xclip -i -selection clipboard <"\"
+#CFLAGS += -DDEFAULT_COPY_TO_CLIPBOARD_CMD=\""xclip -i -selection clipboard <"\"
#to copy to OSX clipboard:
#CFLAGS += -DDEFAULT_COPY_TO_CLIPBOARD_CMD=\""pbcopy <"\"
#
# Choose one of the proposed commands for pasting from different clipboards:
# You can later change it at runtime.
-#CFLAGS += -DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""tmux show-buffer"\"
-CFLAGS += -DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""xclip -o -selection clipboard"\"
+CFLAGS += -DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""tmux show-buffer"\"
+#CFLAGS += -DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""xclip -o -selection clipboard"\"
#CFLAGS += -DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""pbpaste"\"
# Command to open file or link under cursor

View File

@@ -7,9 +7,11 @@
</maintainer>
<use>
<flag name='plots'>Add <pkg>sci-visualization/gnuplot</pkg> for plotting support</flag>
<flag name='xls'>Add xls/xlsx support</flag>
<flag name='ods'>Add <pkg>dev-libs/libzip</pkg> for ods import support</flag>
<flag name='xls'>Add xls support</flag>
<flag name='xlsx'>Add xlsx support</flag>
<flag name='ods'>Add ods import support</flag>
<flag name='X'>Use <pkg>x11-misc/xclip</pkg> for clipboard copy/paste</flag>
<flag name='tmux'>Use <pkg>app-misc/tmux</pkg> for clipboard copy/paste</flag>
<flag name='wayland'>Use <pkg>gui-apps/wl-clipboard</pkg> for clipboard copy/paste</flag>
</use>
</pkgmetadata>

View File

@@ -3,6 +3,10 @@
EAPI=7
LUA_COMPAT=( lua5-1 luajit )
inherit lua-single
DESCRIPTION="Spreadsheet Calculator Improvised -- An ncurses spreadsheet program for terminal"
HOMEPAGE="https://github.com/andmarti1424/sc-im"
SRC_URI="https://github.com/andmarti1424/sc-im/archive/v${PV}.tar.gz -> ${P}.tar.gz"
@@ -10,28 +14,35 @@ SRC_URI="https://github.com/andmarti1424/sc-im/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="BSD-4"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="X plots xls lua ods tmux"
IUSE="X plots wayland xls xlsx lua ods tmux"
REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
PATCHES=(
"${FILESDIR}/${P}-prefix.patch"
"${FILESDIR}/${P}-tmux.patch"
"${FILESDIR}/${P}-automagic.patch"
"${FILESDIR}/${P}-clipboard.patch"
)
DEPEND="
sys-libs/ncurses
X? ( x11-misc/xclip )
tmux? ( app-misc/tmux )
plots? ( sci-visualization/gnuplot )
xls? (
dev-libs/libxlsxwriter
dev-haskell/libxml
dev-libs/libzip
dev-libs/libxls
)
lua? (
dev-lang/lua
${LUA_DEPS}
)
ods? (
dev-haskell/libxml
dev-libs/libzip
)
plots? ( sci-visualization/gnuplot )
tmux? ( app-misc/tmux )
wayland? ( gui-apps/wl-clipboard )
X? ( x11-misc/xclip )
xls? (
dev-libs/libxls
)
xlsx? (
dev-libs/libxlsxwriter
dev-haskell/libxml
dev-libs/libzip
)
"
@@ -39,8 +50,31 @@ RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
S="${WORKDIR}/${P}/src"
src_prepare() {
eapply "${FILESDIR}/${P}-prefix.patch"
use tmux && eapply "${FILESDIR}/${P}-tmux.patch"
eapply_user
pkg_setup() {
export X=$(usex X)
export TMUX=$(usex tmux)
export WAYLAND=$(usex wayland)
export PLOTS=$(usex plots)
export XLS=$(usex xls)
export XLSX=$(usex xlsx)
export LUA=$(usex lua)
export JUAJIT=$(usex lua_single_target_luajit)
( use xlsx || use ods ) && export XML_ZIP="yes"
# Prefer wayland support over X, and tmux support over both wayland and X.
use wayland && export X="no"
use tmux && X="no" && export WAYLAND="no"
# Notifying the user about which clipboard support is enabled if conflicting flags are set
CONFLICTING=$(usex tmux "tmux " "")$(usex wayland "wayland " "")$(usex X "X" "")
if ( use tmux && ( use wayland || use X ) ) ; then
elog "Conflicting flags for clipboard support are set: ${CONFLICTING}"
elog "tmux support has been preferred."
elif ( use wayland && use X ) ; then
elog "Conflicting flags for clipboard support are set: ${CONFLICTING}"
elog "Wayland support has been preferred."
fi
# Run lua setup
lua-single_pkg_setup
}