diff --git a/pkgs/applications/misc/sc-im/default.nix b/pkgs/applications/misc/sc-im/default.nix index 0ae7a5c1ec0..523dc6aab83 100644 --- a/pkgs/applications/misc/sc-im/default.nix +++ b/pkgs/applications/misc/sc-im/default.nix @@ -1,43 +1,71 @@ -{ lib, stdenv, fetchFromGitHub, yacc, ncurses, libxml2, libzip, libxls, pkg-config }: +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, makeWrapper +, pkg-config +, which +, yacc +, gnuplot +, libxls +, libxml2 +, libzip +, ncurses +}: stdenv.mkDerivation rec { - version = "0.7.0"; pname = "sc-im"; + version = "0.8.0"; src = fetchFromGitHub { owner = "andmarti1424"; repo = "sc-im"; rev = "v${version}"; - sha256 = "0xi0n9qzby012y2j7hg4fgcwyly698sfi4i9gkvy0q682jihprbk"; + sha256 = "sha256-/eG2BdkyfEGoSzPu6jT+Bn1RZTGT1D3etGj1tYchm1M="; }; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ yacc ncurses libxml2 libzip libxls ]; + sourceRoot = "${src.name}/src"; - buildPhase = '' - cd src + # make default colors readable on dark background + patches = [ + (fetchpatch { + url = "https://github.com/andmarti1424/sc-im/commit/78d2fdaaf2c578691e68fb5bd773803cb967ddba.patch"; + sha256 = "09716zsqa9qdsj2qpkji8wlzsmp9gl66ggvrg7lmrwwnvli2zn2w"; + }) + (fetchpatch { + url = "https://github.com/andmarti1424/sc-im/commit/f29d6605c8170febcec0dea7bda9613bee3b7011.patch"; + sha256 = "1zs1sb23g0k6lig4d0qdzq1wdhcdzl424ch567zyjl191lyhsjyg"; + }) + ]; - sed 's/LDLIBS += -lm/& -lncurses/' -i Makefile + patchFlags = [ "-p2" ]; - sed -e "\|^prefix = /usr/local| s|/usr/local|$out|" \ - -e "\|^#LDLIBS += -lxlsreader| s|^#|| " \ - -e "\|^#CFLAGS += -DXLS| s|^#|| " \ - -i Makefile + nativeBuildInputs = [ + makeWrapper + pkg-config + which + yacc + ]; - make - export DESTDIR=$out - ''; + buildInputs = [ + gnuplot + libxls + libxml2 + libzip + ncurses + ]; - installPhase = '' - make install prefix= + makeFlags = [ "prefix=${placeholder "out"}" ]; + + postInstall = '' + wrapProgram "$out/bin/sc-im" --prefix PATH : "${lib.makeBinPath [ gnuplot ]}" ''; meta = with lib; { homepage = "https://github.com/andmarti1424/sc-im"; - description = "SC-IM - Spreadsheet Calculator Improvised - SC fork"; + description = "An ncurses spreadsheet program for terminal"; license = licenses.bsdOriginal; - maintainers = [ ]; + maintainers = with maintainers; [ dotlambda ]; platforms = platforms.unix; }; - }