From 12d5b760ae519bf25d72fa9a8a7263a6584227d1 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Tue, 11 May 2021 09:10:03 -0300 Subject: [PATCH] skribilo: rewrite --- pkgs/tools/typesetting/skribilo/default.nix | 83 ++++++++++++--------- 1 file changed, 47 insertions(+), 36 deletions(-) diff --git a/pkgs/tools/typesetting/skribilo/default.nix b/pkgs/tools/typesetting/skribilo/default.nix index 755909f2b33..e80c4326651 100644 --- a/pkgs/tools/typesetting/skribilo/default.nix +++ b/pkgs/tools/typesetting/skribilo/default.nix @@ -1,64 +1,75 @@ -{ lib, stdenv +{ lib +, stdenv , fetchurl -, pkg-config , gettext -, guile -, guile-reader -, guile-lib -, ploticus -, imagemagick , ghostscript -, transfig -, enableEmacs ? false, emacs ? null -, enableLout ? true, lout ? null -, enableTex ? true, tex ? null +, guile +, guile-lib +, guile-reader +, imagemagick , makeWrapper +, pkg-config +, ploticus +, transfig +, enableEmacs ? false, emacs +, enableLout ? true, lout +, enableTex ? true, tex }: let + inherit (lib) optional; +in stdenv.mkDerivation rec{ pname = "skribilo"; version = "0.9.5"; - inherit (lib) optional; -in stdenv.mkDerivation { - inherit pname version; src = fetchurl { url = "http://download.savannah.nongnu.org/releases/skribilo/${pname}-${version}.tar.gz"; sha256 = "sha256-AIJqIcRjT7C0EO6J60gGjERdgAglh0ZU49U9XKPwvwk="; }; - nativeBuildInputs = [ pkg-config makeWrapper ]; - - buildInputs = [ gettext guile ploticus imagemagick ghostscript transfig ] + nativeBuildInputs = [ + pkg-config + makeWrapper + ]; + buildInputs = [ + gettext + ghostscript + guile + guile-lib + guile-reader + imagemagick + ploticus + transfig + ] ++ optional enableEmacs emacs ++ optional enableLout lout ++ optional enableTex tex; - propagatedBuildInputs = [ guile-reader guile-lib ]; + postInstall = + let + guileVersion = lib.versions.majorMinor guile.version; + in + '' + wrapProgram $out/bin/skribilo \ + --prefix GUILE_LOAD_PATH : "$out/share/guile/site/${guileVersion}:$GUILE_LOAD_PATH" \ + --prefix GUILE_LOAD_COMPILED_PATH : "$out/lib/guile/${guileVersion}/site-ccache:$GUILE_LOAD_COMPILED_PATH" + ''; - postInstall = '' - wrapProgram $out/bin/skribilo \ - --prefix GUILE_LOAD_PATH : "$out/share/guile/site:${guile-lib}/share/guile/site:${guile-reader}/share/guile/site" \ - --prefix GUILE_LOAD_COMPILED_PATH : "$out/share/guile/site:${guile-lib}/share/guile/site:${guile-reader}/share/guile/site" - ''; - - meta = with lib;{ + meta = with lib; { + homepage = "https://www.nongnu.org/skribilo/"; description = "The Ultimate Document Programming Framework"; longDescription = '' - Skribilo is a free document production tool that takes a - structured document representation as its input and renders that - document in a variety of output formats: HTML and Info for - on-line browsing, and Lout and LaTeX for high-quality hard - copies. + Skribilo is a free document production tool that takes a structured + document representation as its input and renders that document in a + variety of output formats: HTML and Info for on-line browsing, and Lout + and LaTeX for high-quality hard copies. The input document can use Skribilo's markup language to provide - information about the document's structure, which is similar to - HTML or LaTeX and does not require expertise. Alternatively, it - can use a simpler, "markup-less" format that borrows from Emacs' - outline mode and from other conventions used in emails, Usenet - and text. + information about the document's structure, which is similar to HTML or + LaTeX and does not require expertise. Alternatively, it can use a simpler, + "markup-less" format that borrows from Emacs' outline mode and from other + conventions used in emails, Usenet and text. ''; - homepage = "https://www.nongnu.org/skribilo/"; license = licenses.gpl3Plus; maintainers = with maintainers; [ AndersonTorres ]; platforms = platforms.unix;