forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Efe İzbudak <[email protected]> Closes: gentoo#29600 Signed-off-by: Joonas Niilola <[email protected]>
- Loading branch information
Showing
2 changed files
with
142 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST sc-im-0.8.2.tar.gz 1619617 BLAKE2B 1957b79749012b5e8b24e26f3cde63c84bf971d2183791f986c98ec823a9ab74bf8a126dcdb2a58920af07e068520ebd7efe9c9394235c5a58670f120495e980 SHA512 ae02fd31eb7254208de26802ed6d8b21d77ce2d6997f4a2de5bd2f0a002c763f67f53e6c8e49d66ded096ecd8bf50b1117015e9a0356eaf11c3caef22cf4552c | ||
DIST sc-im-0.8.3.tar.gz 1664440 BLAKE2B 9f02e265ecd39b4f3a5e3ab61222094a1424f9591c04ff3ddf745576f2aa1c89345ea2e4d4c95a0565d7f287985e81d9eba849113f5b7aa61744cf69284ce312 SHA512 a3d7cf99c7c959d24ebf7e525abb665c02690674c9b3cdf5b234dcdb376fd73e9488bda522106802932084bbfd239928e39b35743c7051178aa14edf61ec2cb8 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
# Copyright 2022-2023 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
LUA_COMPAT=( lua5-1 luajit ) | ||
|
||
inherit lua-single toolchain-funcs flag-o-matic | ||
|
||
DESCRIPTION="Ncurses based, vim-like spreadsheet calculator" | ||
HOMEPAGE="https://github.com/andmarti1424/sc-im" | ||
SRC_URI="https://github.com/andmarti1424/sc-im/archive/v${PV}.tar.gz -> ${P}.tar.gz" | ||
S="${WORKDIR}/${P}/src" | ||
|
||
LICENSE="BSD-4" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~arm ~arm64 ~x86" | ||
IUSE="lua ods plots tmux wayland X xls xlsx" | ||
REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )" | ||
|
||
DEPEND=" | ||
sys-libs/ncurses:= | ||
lua? ( | ||
${LUA_DEPS} | ||
) | ||
ods? ( | ||
dev-libs/libxml2 | ||
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-libs/libxml2 | ||
dev-libs/libzip | ||
) | ||
" | ||
RDEPEND="${DEPEND}" | ||
BDEPEND="app-alternatives/yacc | ||
virtual/pkgconfig" | ||
|
||
pkg_setup() { | ||
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 | ||
} | ||
|
||
src_prepare() { | ||
default | ||
|
||
# Clean Makefile from all sorts of flag / lib setting | ||
sed -i -e '/CFLAGS +=\|LDLIBS +=/d' Makefile \ | ||
|| die "sed fix failed. Uh-oh..." | ||
# Also clean the now useless comments and logic | ||
sed -i -e '/#\|if\|else/d' Makefile \ | ||
|| die "sed fix failed. Uh-oh..." | ||
} | ||
|
||
src_configure() { | ||
tc-export CC PKG_CONFIG | ||
|
||
LDLIBS="-lm" | ||
|
||
# default flags that dont need optional dependencies | ||
append-cflags -Wall -g \ | ||
-DNCURSES \ | ||
-D_XOPEN_SOURCE_EXTENDED -D_GNU_SOURCE \ | ||
'-DSNAME=\"sc-im\"' \ | ||
'-DHELP_PATH=\"/usr/share/sc-im\"' \ | ||
'-DLIBDIR=\"/usr/share/doc/sc-im\"' \ | ||
'-DDFLT_PAGER=\"less\"' \ | ||
'-DDFLT_EDITOR=\"vim\"' \ | ||
-DUSECOLORS \ | ||
'-DHISTORY_FILE=\"sc-iminfo\"' \ | ||
'-DHISTORY_DIR=\".cache\"' \ | ||
'-DCONFIG_FILE=\"scimrc\"' \ | ||
'-DCONFIG_DIR=\".config/sc-im\"' \ | ||
'-DINS_HISTORY_FILE=\"sc-iminfo\"' \ | ||
-DUNDO \ | ||
-DMAXROWS=65536 \ | ||
-DUSELOCALE \ | ||
-DMOUSE \ | ||
'-DDEFAULT_OPEN_FILE_UNDER_CURSOR_CMD=\""scopen"\"' \ | ||
-DAUTOBACKUP \ | ||
-DHAVE_PTHREAD | ||
|
||
# setting default clipboard commands | ||
if use tmux ; then | ||
append-cflags '-DDEFAULT_COPY_TO_CLIPBOARD_CMD=\""tmux load-buffer"\"' | ||
append-cflags '-DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""tmux show-buffer"\"' | ||
elif use wayland ; then | ||
append-cflags '-DDEFAULT_COPY_TO_CLIPBOARD_CMD=\""wl-copy <"\"' | ||
append-cflags '-DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""wl-paste"\"' | ||
elif use X ; then | ||
append-cflags '-DDEFAULT_COPY_TO_CLIPBOARD_CMD=\""xclip -i -selection clipboard <"\"' | ||
append-cflags '-DDEFAULT_PASTE_FROM_CLIPBOARD_CMD=\""xclip -o -selection clipboard"\"' | ||
fi | ||
|
||
# optional feature dependency | ||
use plots && append-cflags -DGNUPLOT | ||
if use xls; then | ||
append-cflags -DXLS $(${PKG_CONFIG} --cflags libxls) | ||
LDLIBS+=" $(${PKG_CONFIG} --libs libxls)" | ||
fi | ||
if use xlsx || use ods ; then | ||
append-cflags -DODS -DXLSX $(${PKG_CONFIG} --cflags libxml-2.0 libzip) | ||
LDLIBS+=" -DODS -DXLSX $(${PKG_CONFIG} --libs libxml-2.0 libzip)" | ||
fi | ||
if use xlsx ; then | ||
append-cflags -DXLSX_EXPORT $(${PKG_CONFIG} --cflags xlsxwriter) | ||
LDLIBS+=" -DXLSX_EXPORT $(${PKG_CONFIG} --libs xlsxwriter)" | ||
fi | ||
if use lua ; then | ||
append-cflags -DXLUA $(${PKG_CONFIG} --cflags lua) | ||
LDLIBS+=" -DXLUA $(${PKG_CONFIG} --libs lua) -rdynamic" | ||
fi | ||
append-cflags $(${PKG_CONFIG} --cflags ncursesw) || append-cflags $(${PKG_CONFIG} --cflags ncurses) | ||
LDLIBS+=" $(${PKG_CONFIG} --libs ncursesw)" || LDLIBS+=" $(${PKG_CONFIG} --libs ncurses)" | ||
} | ||
|
||
src_compile() { | ||
emake LDLIBS="${LDLIBS}" CFLAGS="${CFLAGS}" | ||
} | ||
|
||
src_install() { | ||
emake DESTDIR="${D}" prefix="/usr" install | ||
einstalldocs | ||
} |