diff --git a/app-office/sc-im/files/sc-im-0.8.2-automagic.patch b/app-office/sc-im/files/sc-im-0.8.2-automagic.patch new file mode 100644 index 0000000000..33628e2971 --- /dev/null +++ b/app-office/sc-im/files/sc-im-0.8.2-automagic.patch @@ -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 diff --git a/app-office/sc-im/files/sc-im-0.8.2-clipboard.patch b/app-office/sc-im/files/sc-im-0.8.2-clipboard.patch new file mode 100644 index 0000000000..88815c8269 --- /dev/null +++ b/app-office/sc-im/files/sc-im-0.8.2-clipboard.patch @@ -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"\" + diff --git a/app-office/sc-im/files/sc-im-0.8.2-tmux.patch b/app-office/sc-im/files/sc-im-0.8.2-tmux.patch deleted file mode 100644 index 63f910c547..0000000000 --- a/app-office/sc-im/files/sc-im-0.8.2-tmux.patch +++ /dev/null @@ -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 diff --git a/app-office/sc-im/metadata.xml b/app-office/sc-im/metadata.xml index ed2ff157e0..5b29a497a1 100644 --- a/app-office/sc-im/metadata.xml +++ b/app-office/sc-im/metadata.xml @@ -7,9 +7,11 @@ Add sci-visualization/gnuplot for plotting support - Add xls/xlsx support - Add dev-libs/libzip for ods import support + Add xls support + Add xlsx support + Add ods import support Use x11-misc/xclip for clipboard copy/paste Use app-misc/tmux for clipboard copy/paste + Use gui-apps/wl-clipboard for clipboard copy/paste diff --git a/app-office/sc-im/sc-im-0.8.2.ebuild b/app-office/sc-im/sc-im-0.8.2.ebuild index f170c72d45..39b1fabbda 100644 --- a/app-office/sc-im/sc-im-0.8.2.ebuild +++ b/app-office/sc-im/sc-im-0.8.2.ebuild @@ -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 }