From 49008f9c71ace2e70ba97604bad4119f2ee25863 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Wed, 27 Jun 2018 15:20:40 -0300 Subject: [PATCH 1/2] guile-reader: init at 0.6.2 --- .../guile-modules/guile-reader/default.nix | 46 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/guile-modules/guile-reader/default.nix diff --git a/pkgs/development/guile-modules/guile-reader/default.nix b/pkgs/development/guile-modules/guile-reader/default.nix new file mode 100644 index 00000000000..010c523507f --- /dev/null +++ b/pkgs/development/guile-modules/guile-reader/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, fetchpatch, pkgconfig +, gperf, guile, guile-lib, libffi }: + +with stdenv.lib; +stdenv.mkDerivation rec { + + name = "guile-reader-${version}"; + version = "0.6.2"; + + src = fetchurl { + url = "http://download.savannah.nongnu.org/releases/guile-reader/${name}.tar.gz"; + sha256 = "0592s2s8ampqmqwilc4fvcild6rb9gy79di6vxv5kcdmv23abkgx"; + }; + + patches = [ + (fetchpatch { + name = "0001-fix-prototypes.patch"; + url = https://aur.archlinux.org/cgit/aur.git/plain/reader_flag.patch?h=guile-reader&id=63ac0413a1aa65eb6a0db57bc16ef4481b70dc31; + sha256 = "01ar34xgpxyli8v2bk4kj6876kyrxhxhfpv9v07lx36d254bzrjb"; + }) ]; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ gperf guile guile-lib libffi ]; + + GUILE_SITE="${guile-lib}/share/guile/site"; + + configureFlags = [ "--with-guilemoduledir=$(out)/share/guile/site" ]; + + meta = with stdenv.lib; { + description = "A simple framework for building readers for GNU Guile"; + longDescription = '' + Guile-Reader is a simple framework for building readers for GNU + Guile. + + The idea is to make it easy to build procedures that extend + Guile's read procedure. Readers supporting various syntax + variants can easily be written, possibly by re-using existing + "token readers" of a standard Scheme readers. For example, it + is used to implement Skribilo's R5RS-derived document syntax. + ''; + homepage = https://www.gnu.org/software/guile-reader; + license = licenses.lgpl3Plus; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.gnu; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 507f3ee5d84..d5b5b45047e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7645,6 +7645,8 @@ with pkgs; guile-opengl = callPackage ../development/guile-modules/guile-opengl { }; + guile-reader = callPackage ../development/guile-modules/guile-reader { }; + guile-sdl = callPackage ../development/guile-modules/guile-sdl { }; guile-sdl2 = callPackage ../development/guile-modules/guile-sdl2 { }; From 8f5f3874751493e33f0eb122c006ede3ad0c8751 Mon Sep 17 00:00:00 2001 From: AndersonTorres Date: Wed, 27 Jun 2018 15:22:03 -0300 Subject: [PATCH 2/2] skribilo: init at 0.9.4 --- pkgs/tools/typesetting/skribilo/default.nix | 58 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 2 files changed, 62 insertions(+) create mode 100644 pkgs/tools/typesetting/skribilo/default.nix diff --git a/pkgs/tools/typesetting/skribilo/default.nix b/pkgs/tools/typesetting/skribilo/default.nix new file mode 100644 index 00000000000..355d7a055e8 --- /dev/null +++ b/pkgs/tools/typesetting/skribilo/default.nix @@ -0,0 +1,58 @@ +{ stdenv, fetchurl, pkgconfig, gettext +, guile, guile-reader, guile-lib +, ploticus, imagemagick +, ghostscript, transfig +, enableEmacs ? false, emacs ? null +, enableLout ? true, lout ? null +, enableTex ? true, tex ? null +, makeWrapper }: + +with stdenv.lib; +stdenv.mkDerivation rec { + + name = "skribilo-${version}"; + version = "0.9.4"; + + src = fetchurl { + url = "http://download.savannah.nongnu.org/releases/skribilo/${name}.tar.gz"; + sha256 = "06ywnfjfa9sxrzdszb5sryzg266380g519cm64kq62sskzl7zmnf"; + }; + + nativeBuildInputs = [ pkgconfig makeWrapper ]; + + buildInputs = [ gettext guile ploticus imagemagick ghostscript transfig ] + ++ optional enableEmacs emacs + ++ optional enableLout lout + ++ optional enableTex tex; + + propagatedBuildInputs = [ guile-reader guile-lib ]; + + 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 = { + 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. + + 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. + ''; + homepage = https://www.nongnu.org/skribilo/; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = platforms.unix; + }; +} +# TODO: Better Emacs and TeX integration diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d5b5b45047e..ddba989f04c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5034,6 +5034,10 @@ with pkgs; sipcalc = callPackage ../tools/networking/sipcalc { }; + skribilo = callPackage ../tools/typesetting/skribilo { + tex = texlive.combined.scheme-small; + }; + sleuthkit = callPackage ../tools/system/sleuthkit {}; sleepyhead = callPackage ../applications/misc/sleepyhead {};