diff options
author | Alyssa Ross <hi@alyssa.is> | 2021-06-22 15:01:47 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2021-06-22 16:57:59 +0000 |
commit | 633cab0ecb07627706c6b523e219490f019eaab5 (patch) | |
tree | 4fb472bdfe2723037dad53dc1b8a87c939015f5e /nixpkgs/pkgs/tools/typesetting | |
parent | ffb691c199e7e0cbc4e45e5310779c9e3f7c2a73 (diff) | |
parent | 432fc2d9a67f92e05438dff5fdc2b39d33f77997 (diff) | |
download | nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.gz nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.bz2 nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.lz nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.xz nixlib-633cab0ecb07627706c6b523e219490f019eaab5.tar.zst nixlib-633cab0ecb07627706c6b523e219490f019eaab5.zip |
Merge commit '432fc2d9a67f92e05438dff5fdc2b39d33f77997'
# Conflicts: # nixpkgs/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix # nixpkgs/pkgs/applications/networking/mailreaders/thunderbird/default.nix # nixpkgs/pkgs/applications/window-managers/sway/default.nix # nixpkgs/pkgs/build-support/rust/default.nix # nixpkgs/pkgs/development/go-modules/generic/default.nix
Diffstat (limited to 'nixpkgs/pkgs/tools/typesetting')
11 files changed, 116 insertions, 78 deletions
diff --git a/nixpkgs/pkgs/tools/typesetting/htmldoc/default.nix b/nixpkgs/pkgs/tools/typesetting/htmldoc/default.nix index 740d16c73df3..aaea9090b72e 100644 --- a/nixpkgs/pkgs/tools/typesetting/htmldoc/default.nix +++ b/nixpkgs/pkgs/tools/typesetting/htmldoc/default.nix @@ -1,20 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, zlib, libpng, SystemConfiguration, Foundation }: +{ lib, stdenv, fetchFromGitHub, zlib, libpng, libjpeg, SystemConfiguration, Foundation, pkg-config }: stdenv.mkDerivation rec { pname = "htmldoc"; - version = "1.9.11"; + version = "1.9.12"; src = fetchFromGitHub { owner = "michaelrsweet"; repo = "htmldoc"; rev = "v${version}"; - sha256 = "0660829zjfdm6vzx14z7gvsfipsb7h0z74gbkyp2ncg3g2432s4n"; + sha256 = "1dqima0g3j301wwzjxdhzk5pvfj724rl615gf8ssxxajfnid1gl0"; }; - buildInputs = [ zlib libpng ] + + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ zlib libpng libjpeg ] ++ lib.optionals stdenv.isDarwin [ Foundation SystemConfiguration ]; meta = with lib; { description = "Converts HTML files to PostScript and PDF"; homepage = "https://michaelrsweet.github.io/htmldoc"; + changelog = "https://github.com/michaelrsweet/htmldoc/releases/tag/v${version}"; license = licenses.gpl2Only; maintainers = with maintainers; [ shanemikel ]; platforms = platforms.unix; diff --git a/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix b/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix index b9b5e806a4ec..e45eda3326a1 100644 --- a/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix +++ b/nixpkgs/pkgs/tools/typesetting/lowdown/default.nix @@ -14,6 +14,10 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ which ] ++ lib.optionals stdenv.isDarwin [ fixDarwinDylibNames ]; + preConfigure = lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) '' + echo 'HAVE_SANDBOX_INIT=0' > configure.local + ''; + configurePhase = '' runHook preConfigure ./configure PREFIX=''${!outputDev} \ @@ -30,6 +34,14 @@ stdenv.mkDerivation rec { patches = lib.optional (!stdenv.hostPlatform.isStatic) ./shared.patch; + doInstallCheck = stdenv.hostPlatform == stdenv.buildPlatform; + installCheckPhase = '' + runHook preInstallCheck + echo '# TEST' > test.md + $out/bin/lowdown test.md + runHook postInstallCheck + ''; + doCheck = stdenv.hostPlatform == stdenv.buildPlatform; checkTarget = "regress"; @@ -41,4 +53,3 @@ stdenv.mkDerivation rec { platforms = platforms.unix; }; } - diff --git a/nixpkgs/pkgs/tools/typesetting/pdf2djvu/default.nix b/nixpkgs/pkgs/tools/typesetting/pdf2djvu/default.nix index 370d54adde97..47256f9f7ee6 100644 --- a/nixpkgs/pkgs/tools/typesetting/pdf2djvu/default.nix +++ b/nixpkgs/pkgs/tools/typesetting/pdf2djvu/default.nix @@ -1,6 +1,7 @@ { stdenv , lib , fetchFromGitHub +, fetchpatch , autoreconfHook , gettext , libtool @@ -25,6 +26,15 @@ stdenv.mkDerivation rec { sha256 = "1igabfy3fd7qndihmkfk9incc15pjxpxh2cn5pfw5fxfwrpjrarn"; }; + patches = [ + # Not included in 0.9.17.1, but will be in the next version. + (fetchpatch { + name = "no-poppler-splash.patch"; + url = "https://github.com/jwilk/pdf2djvu/commit/2ec7eee57a47bbfd296badaa03dc20bf71b50201.patch"; + sha256 = "03kap7k2j29r16qgl781cxpswzg3r2yn513cqycgl0vax2xj3gly"; + }) + ]; + nativeBuildInputs = [ autoreconfHook pkg-config ]; buildInputs = [ diff --git a/nixpkgs/pkgs/tools/typesetting/satysfi/default.nix b/nixpkgs/pkgs/tools/typesetting/satysfi/default.nix index 73370eb011e4..d18c7fc270e3 100644 --- a/nixpkgs/pkgs/tools/typesetting/satysfi/default.nix +++ b/nixpkgs/pkgs/tools/typesetting/satysfi/default.nix @@ -53,7 +53,7 @@ in nativeBuildInputs = [ ruby dune_2 ]; buildInputs = [ camlpdf otfm yojson-with-position ] ++ (with ocamlPackages; [ - ocaml findlib menhir + ocaml findlib menhir menhirLib batteries camlimages core_kernel ppx_deriving uutf omd cppo re ]); diff --git a/nixpkgs/pkgs/tools/typesetting/skribilo/default.nix b/nixpkgs/pkgs/tools/typesetting/skribilo/default.nix index 755909f2b332..e80c4326651c 100644 --- a/nixpkgs/pkgs/tools/typesetting/skribilo/default.nix +++ b/nixpkgs/pkgs/tools/typesetting/skribilo/default.nix @@ -1,64 +1,75 @@ -{ lib, stdenv +{ lib +, stdenv , fetchurl -, pkg-config , gettext +, ghostscript , guile -, guile-reader , guile-lib -, ploticus +, guile-reader , imagemagick -, ghostscript -, transfig -, enableEmacs ? false, emacs ? null -, enableLout ? true, lout ? null -, enableTex ? true, tex ? null , 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 = '' - 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" - ''; + 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" + ''; - 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; diff --git a/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix b/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix index 1145fabf4860..ba722837026d 100644 --- a/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix +++ b/nixpkgs/pkgs/tools/typesetting/tectonic/default.nix @@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec { sha256 = "sha256-XQ3KRM12X80JPFMnQs//8ZJEv+AV1sr3BH0Nw/PH0HQ="; }; - cargoSha256 = "sha256-YOg4W933qUBcvo2y3nmvEWqxTfqWKDi3GCoTJWLnXxk="; + cargoSha256 = "sha256-930tFAKMCmTFS9faIWLSVtWN/gAA9UAUMuRo61XISYA="; nativeBuildInputs = [ pkg-config ]; diff --git a/nixpkgs/pkgs/tools/typesetting/ted/default.nix b/nixpkgs/pkgs/tools/typesetting/ted/default.nix index 07e89f9f8edd..bd21ad4c437b 100644 --- a/nixpkgs/pkgs/tools/typesetting/ted/default.nix +++ b/nixpkgs/pkgs/tools/typesetting/ted/default.nix @@ -58,8 +58,8 @@ stdenv.mkDerivation rec { runHook postInstall ''; - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ pkg-config zlib pcre xorg.xlibsWrapper xorg.libXpm libjpeg libtiff libpng gtk2 libpaper ]; + nativeBuildInputs = [ pkg-config makeWrapper ]; + buildInputs = [ zlib pcre xorg.xlibsWrapper xorg.libXpm libjpeg libtiff libpng gtk2 libpaper ]; meta = with lib; { description = "An easy rich text processor"; diff --git a/nixpkgs/pkgs/tools/typesetting/tex/auctex/default.nix b/nixpkgs/pkgs/tools/typesetting/tex/auctex/default.nix index 6a9a2cb464c6..f19ddaebdfa1 100644 --- a/nixpkgs/pkgs/tools/typesetting/tex/auctex/default.nix +++ b/nixpkgs/pkgs/tools/typesetting/tex/auctex/default.nix @@ -1,22 +1,24 @@ { lib, stdenv, fetchurl, emacs, texlive, ghostscript }: let auctex = stdenv.mkDerivation ( rec { - version = "12.3"; - # Make this a valid tex(live-new) package; # the pkgs attribute is provided with a hack below. pname = "auctex"; + version = "12.3"; tlType = "run"; - outputs = [ "out" "tex" ]; src = fetchurl { url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz"; - sha256 = "1pd99hbhci3l1n0lmzn803svqwl47kld6172gwkwjmwlnqqgxm1g"; + hash = "sha256-L9T+MLaUV8knf+IE0+g8hHK89QDI/kqBDXREBhdMqd0="; }; - buildInputs = [ emacs texlive.combined.scheme-basic ghostscript ]; + buildInputs = [ + emacs + ghostscript + texlive.combined.scheme-basic + ]; preConfigure = '' mkdir -p "$tex" @@ -27,11 +29,11 @@ let auctex = stdenv.mkDerivation ( rec { "--with-texmf-dir=\${tex}" ]; - meta = { - description = "Extensible package for writing and formatting TeX files in GNU Emacs and XEmacs"; + meta = with lib; { homepage = "https://www.gnu.org/software/auctex"; - platforms = lib.platforms.unix; - license = lib.licenses.gpl3; + description = "Extensible package for writing and formatting TeX files in GNU Emacs and XEmacs"; + license = licenses.gpl3Plus; + platforms = platforms.unix; }; }); diff --git a/nixpkgs/pkgs/tools/typesetting/tex/tex-match/default.nix b/nixpkgs/pkgs/tools/typesetting/tex/tex-match/default.nix index 4d02e2e1acfe..65bfcd02d78c 100644 --- a/nixpkgs/pkgs/tools/typesetting/tex/tex-match/default.nix +++ b/nixpkgs/pkgs/tools/typesetting/tex/tex-match/default.nix @@ -15,7 +15,7 @@ rustPlatform.buildRustPackage rec { buildInputs = [ gtk3 ]; - cargoSha256 = "1sm2fd3dhs59rvmfjzrfz0qwqzyc9dllb8ph0wc2x0r3px16c71x"; + cargoSha256 = "13ihwrckpsb4j1ai923vh151frw0yriwg9yylj9lk0ycps51y1sn"; meta = with lib; { description = "Search through over 1000 different LaTeX symbols by sketching. A desktop version of detexify"; diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix index fb9b748b5d0a..32fba9a8e1f3 100644 --- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -3,7 +3,7 @@ , zlib, libiconv, libpng, libX11 , freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext , perl, perlPackages, python3Packages, pkg-config -, poppler, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr +, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr , brotli, cairo, pixman, xorg, clisp, biber, woff2, xxHash , makeWrapper, shortenPerlShebang }: @@ -14,24 +14,22 @@ let withSystemLibs = map (libname: "--with-system-${libname}"); - year = "2020"; + year = "2021"; version = year; # keep names simple for now common = { src = fetchurl { urls = [ - "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${year}/texlive-${year}0406-source.tar.xz" - "ftp://tug.ctan.org/pub/tex/historic/systems/texlive/${year}/texlive-${year}0406-source.tar.xz" + "http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${year}/texlive-${year}0325-source.tar.xz" + "ftp://tug.ctan.org/pub/tex/historic/systems/texlive/${year}/texlive-${year}0325-source.tar.xz" ]; - sha256 = "0y4h4j2qg714srhvf1hvn165w7sanr1j2vzrsgc23kxvrc43sbz3"; + sha256 = "0jsq1p66l46k2qq0gbqmx25flj2nprsz4wrd1ybn286p11kdkvvs"; }; prePatch = '' for i in texk/kpathsea/mktex*; do sed -i '/^mydir=/d' "$i" done - cp -pv texk/web2c/pdftexdir/pdftoepdf{-poppler0.86.0,}.cc - cp -pv texk/web2c/pdftexdir/pdftosrc{-poppler0.83.0,}.cc ''; configureFlags = [ @@ -43,9 +41,8 @@ let ] ++ withSystemLibs [ # see "from TL tree" vs. "Using installed" in configure output - "zziplib" "xpdf" "poppler" "mpfr" "gmp" + "zziplib" "mpfr" "gmp" "pixman" "potrace" "gd" "freetype2" "libpng" "libpaper" "zlib" - # beware: xpdf means to use stuff from poppler :-/ ]; # clean broken links to stuff not built @@ -73,7 +70,7 @@ core = stdenv.mkDerivation rec { nativeBuildInputs = [ pkg-config ]; buildInputs = [ - /*teckit*/ zziplib poppler mpfr gmp + /*teckit*/ zziplib mpfr gmp pixman gd freetype libpng libpaper zlib perl ]; @@ -82,7 +79,7 @@ core = stdenv.mkDerivation rec { preConfigure = '' rm -r libs/{cairo,freetype2,gd,gmp,graphite2,harfbuzz,icu,libpaper,libpng} \ - libs/{lua53,luajit,mpfr,pixman,poppler,xpdf,zlib,zziplib} + libs/{lua53,luajit,mpfr,pixman,zlib,zziplib} mkdir WorkDir cd WorkDir ''; @@ -146,7 +143,7 @@ core = stdenv.mkDerivation rec { description = "Basic binaries for TeX Live"; homepage = "http://www.tug.org/texlive"; license = lib.licenses.gpl2; - maintainers = with maintainers; [ vcunat veprbl lovek323 raskin jwiegley ]; + maintainers = with maintainers; [ veprbl lovek323 raskin jwiegley ]; platforms = platforms.all; }; }; @@ -178,7 +175,7 @@ core-big = stdenv.mkDerivation { #TODO: upmendex luajit = lib.optionalString withLuaJIT ",luajit"; in '' mkdir ./WorkDir && cd ./WorkDir - for path in libs/{teckit,lua53${luajit}} texk/web2c; do + for path in libs/{pplib,teckit,lua53${luajit}} texk/web2c; do ( if [[ "$path" =~ "libs/lua" ]]; then extraConfig="--enable-static --disable-shared" @@ -188,6 +185,12 @@ core-big = stdenv.mkDerivation { #TODO: upmendex mkdir -p "$path" && cd "$path" "../../../$path/configure" $configureFlags $extraConfig + + if [[ "$path" =~ "libs/pplib" ]]; then + # TODO: revert for texlive 2022 + # ../../../texk/web2c/luatexdir/luamd5/md5lib.c:197:10: fatal error: 'utilsha.h' file not found + make ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}} + fi ) done ''; @@ -247,18 +250,17 @@ chktex = stdenv.mkDerivation { dvisvgm = stdenv.mkDerivation rec { pname = "texlive-dvisvgm.bin"; - version = "2.11"; - # TODO: dvisvgm was switched to build from upstream sources - # to address https://github.com/NixOS/nixpkgs/issues/104847 - # We might want to consider reverting that change in the future. - - src = fetchurl { - url = "https://github.com/mgieseki/dvisvgm/releases/download/${version}/dvisvgm-${version}.tar.gz"; - sha256 = "12b6h0h8rc487yjh3sq9zsdabm9cs2vqcrb0znnfi8277f87zf3j"; - }; + inherit version; + + inherit (common) src; + + preConfigure = "cd texk/dvisvgm"; + + configureFlags = common.configureFlags + ++ [ "--with-system-kpathsea" ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ core/*kpathsea*/ brotli ghostscript zlib freetype woff2 potrace xxHash ]; + buildInputs = [ core brotli ghostscript zlib freetype woff2 potrace xxHash ]; enableParallelBuilding = true; }; diff --git a/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix b/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix index 52521a80809f..4ba42cbce570 100644 --- a/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/nixpkgs/pkgs/tools/typesetting/tex/texlive/default.nix @@ -3,7 +3,7 @@ - current html: https://nixos.org/nixpkgs/manual/#sec-language-texlive */ { stdenv, lib, fetchurl, runCommand, writeText, buildEnv -, callPackage, ghostscriptX, harfbuzz, poppler_min +, callPackage, ghostscriptX, harfbuzz , makeWrapper, python3, ruby, perl , useFixedHashes ? true , recurseIntoAttrs @@ -11,7 +11,6 @@ let # various binaries (compiled) bin = callPackage ./bin.nix { - poppler = poppler_min; # otherwise depend on various X stuff ghostscript = ghostscriptX; harfbuzz = harfbuzz.override { withIcu = true; withGraphite2 = true; |