diff options
Diffstat (limited to 'pkgs/tools/typesetting/sile/default.nix')
-rw-r--r-- | pkgs/tools/typesetting/sile/default.nix | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/pkgs/tools/typesetting/sile/default.nix b/pkgs/tools/typesetting/sile/default.nix new file mode 100644 index 000000000000..382219a0a3a3 --- /dev/null +++ b/pkgs/tools/typesetting/sile/default.nix @@ -0,0 +1,56 @@ +{ 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; + }; +} |