From e2834ca6113acc263ea7ed857fc1cdcf509510e2 Mon Sep 17 00:00:00 2001 From: Lprndn Date: Sat, 4 Feb 2017 18:30:00 +0100 Subject: [PATCH] Sile: Init at 0.9.4 --- pkgs/tools/typesetting/sile/default.nix | 48 +++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++ 2 files changed, 52 insertions(+) create mode 100644 pkgs/tools/typesetting/sile/default.nix diff --git a/pkgs/tools/typesetting/sile/default.nix b/pkgs/tools/typesetting/sile/default.nix new file mode 100644 index 00000000000..890103a0f98 --- /dev/null +++ b/pkgs/tools/typesetting/sile/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchurl, makeWrapper, pkgconfig +, harfbuzz, icu, lpeg, luaexpat, luazlib, luafilesystem +, fontconfig, lua, libiconv +}: + +with stdenv.lib; + +let + + libs = [lpeg luaexpat luazlib luafilesystem]; + getPath = lib : type : "${lib}/lib/lua/${lua.luaversion}/?.${type};${lib}/share/lua/${lua.luaversion}/?.${type}"; + getLuaPath = lib : getPath lib "lua"; + getLuaCPath = lib : getPath lib "so"; + luaPath = concatStringsSep ";" (map getLuaPath libs); + luaCPath = concatStringsSep ";" (map getLuaCPath libs); + in + + stdenv.mkDerivation rec { + name = "sile-${version}"; + version = "0.9.4"; + src = fetchurl { + url = "https://github.com/simoncozens/sile/releases/download/v${version}/${name}.tar.bz2"; + sha256 = "1mald727hy9bi17rcaph8q400yn5xqkn5f2xf1408g94wmwncs8w"; + }; + + nativeBuildInputs = [pkgconfig makeWrapper]; + buildInputs = [ harfbuzz icu lua lpeg luaexpat luazlib luafilesystem fontconfig libiconv ]; + + LUA_PATH = luaPath; + LUA_CPATH = luaCPath; + + postInstall = '' + wrapProgram $out/bin/sile \ + --set LUA_PATH "${luaPath};" \ + --set LUA_CPATH "${luaCPath};" \ + ''; + + meta = { + description = "A typesetting system"; + longDescription = '' + SILE is a typesetting system; its job is to produce beautiful printed documents. + Conceptually, SILE is similar to TeX—from which it borrows some concepts and even syntax and algorithms—but the similarities end there. Rather than being a derivative of the TeX family SILE is a new typesetting and layout engine written from the ground up using modern technologies and borrowing some ideas from graphical systems such as InDesign. + ''; + homepage = "http://www.sile-typesetter.org"; + platforms = stdenv.lib.platforms.unix; + license = stdenv.lib.licenses.mit; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6b7b5cd5599..96420aeb048 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3805,6 +3805,10 @@ with pkgs; silc_server = callPackage ../servers/silc-server { }; + sile = callPackage ../tools/typesetting/sile { + inherit (lua52Packages) lua luaexpat luazlib luafilesystem lpeg; + }; + silver-searcher = callPackage ../tools/text/silver-searcher { }; ag = self.silver-searcher;