Skip to content

Commit

Permalink
app-office/sc-im: add 0.8.3
Browse files Browse the repository at this point in the history
Signed-off-by: Efe İzbudak <[email protected]>
Closes: gentoo#29600
Signed-off-by: Joonas Niilola <[email protected]>
  • Loading branch information
ephemer4l authored and juippis committed Feb 27, 2023
1 parent 46c0942 commit a6e801b
Show file tree
Hide file tree
Showing 2 changed files with 142 additions and 0 deletions.
1 change: 1 addition & 0 deletions app-office/sc-im/Manifest
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
141 changes: 141 additions & 0 deletions app-office/sc-im/sc-im-0.8.3.ebuild
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
}

0 comments on commit a6e801b

Please sign in to comment.