diff options
Diffstat (limited to 'pkgs/tools/typesetting/tex')
-rw-r--r-- | pkgs/tools/typesetting/tex/advi/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/typesetting/tex/blahtexml/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/typesetting/tex/catdvi/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/typesetting/tex/dblatex/default.nix | 8 | ||||
-rw-r--r-- | pkgs/tools/typesetting/tex/latexrun/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/typesetting/tex/nix/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/typesetting/tex/pgf-tikz/pgf-1.x.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/typesetting/tex/pgf-tikz/pgf-2.x.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/typesetting/tex/pgf-tikz/pgf-3.x.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/typesetting/tex/tetex/default.nix | 7 | ||||
-rw-r--r-- | pkgs/tools/typesetting/tex/texlive/bin.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/typesetting/tex/texlive/build-tex-env.nix | 21 | ||||
-rw-r--r-- | pkgs/tools/typesetting/tex/texlive/build-tex-env.sh | 50 | ||||
-rw-r--r-- | pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix | 49 | ||||
-rw-r--r-- | pkgs/tools/typesetting/tex/texpresso/default.nix | 8 | ||||
-rw-r--r-- | pkgs/tools/typesetting/tex/texpresso/tectonic.nix | 4 |
16 files changed, 105 insertions, 60 deletions
diff --git a/pkgs/tools/typesetting/tex/advi/default.nix b/pkgs/tools/typesetting/tex/advi/default.nix index ff20a10c5cf45..05262a3f2c01c 100644 --- a/pkgs/tools/typesetting/tex/advi/default.nix +++ b/pkgs/tools/typesetting/tex/advi/default.nix @@ -64,7 +64,7 @@ ocamlPackages.buildDunePackage rec { meta = with lib; { homepage = "http://advi.inria.fr/"; - description = "A Unix-platform DVI previewer and a programmable presenter for slides written in LaTeX"; + description = "Unix-platform DVI previewer and a programmable presenter for slides written in LaTeX"; license = licenses.lgpl21Only; maintainers = [ maintainers.xworld21 ]; }; diff --git a/pkgs/tools/typesetting/tex/blahtexml/default.nix b/pkgs/tools/typesetting/tex/blahtexml/default.nix index fb7605924023a..9d88ac3b0be60 100644 --- a/pkgs/tools/typesetting/tex/blahtexml/default.nix +++ b/pkgs/tools/typesetting/tex/blahtexml/default.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { meta = with lib; { homepage = "http://gva.noekeon.org/blahtexml/"; - description = "A TeX to MathML converter"; + description = "TeX to MathML converter"; longDescription = '' Blahtex is a program written in C++, which converts an equation given in a syntax close to TeX into MathML. It is designed by David Harvey and is diff --git a/pkgs/tools/typesetting/tex/catdvi/default.nix b/pkgs/tools/typesetting/tex/catdvi/default.nix index fe0f22bd95b0d..03fedbbc386d9 100644 --- a/pkgs/tools/typesetting/tex/catdvi/default.nix +++ b/pkgs/tools/typesetting/tex/catdvi/default.nix @@ -84,7 +84,7 @@ stdenv.mkDerivation (finalAttrs: { meta = with lib; { homepage = "http://catdvi.sourceforge.net"; - description = "A DVI to plain text translator"; + description = "DVI to plain text translator"; license = licenses.gpl2Plus; maintainers = [ ]; }; diff --git a/pkgs/tools/typesetting/tex/dblatex/default.nix b/pkgs/tools/typesetting/tex/dblatex/default.nix index d615cefd77c38..39069029e57c5 100644 --- a/pkgs/tools/typesetting/tex/dblatex/default.nix +++ b/pkgs/tools/typesetting/tex/dblatex/default.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchurl, python3, libxslt, texliveBasic +{ lib, stdenv, fetchurl, python311, libxslt, texliveBasic , enableAllFeatures ? false, imagemagick, fig2dev, inkscape, fontconfig, ghostscript , tex ? texliveBasic.withPackages (ps: with ps; [ # satisfy all packages that ./configure mentions @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { sha256 = "0yd09nypswy3q4scri1dg7dr99d7gd6r2dwx0xm81l9f4y32gs0n"; }; - buildInputs = [ python3 libxslt tex ] + buildInputs = [ python311 libxslt tex ] ++ lib.optionals enableAllFeatures [ imagemagick fig2dev ]; # TODO: dblatex tries to execute texindy command, but nixpkgs doesn't have @@ -52,13 +52,13 @@ stdenv.mkDerivation rec { dontBuild = true; installPhase = '' - ${python3.interpreter} ./setup.py install --prefix="$out" --use-python-path --verbose + ${python311.interpreter} ./setup.py install --prefix="$out" --use-python-path --verbose ''; passthru = { inherit tex; }; meta = { - description = "A program to convert DocBook to DVI, PostScript or PDF via LaTeX or ConTeXt"; + description = "Program to convert DocBook to DVI, PostScript or PDF via LaTeX or ConTeXt"; mainProgram = "dblatex"; homepage = "https://dblatex.sourceforge.net/"; license = lib.licenses.gpl2Plus; diff --git a/pkgs/tools/typesetting/tex/latexrun/default.nix b/pkgs/tools/typesetting/tex/latexrun/default.nix index ea2c630e79605..5cab85a1cc1ff 100644 --- a/pkgs/tools/typesetting/tex/latexrun/default.nix +++ b/pkgs/tools/typesetting/tex/latexrun/default.nix @@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation { ''; meta = with lib; { - description = "A 21st century LaTeX wrapper"; + description = "21st century LaTeX wrapper"; mainProgram = "latexrun"; homepage = "https://github.com/aclements/latexrun"; license = licenses.mit; diff --git a/pkgs/tools/typesetting/tex/nix/default.nix b/pkgs/tools/typesetting/tex/nix/default.nix index e9017333c943c..feb444b98ff49 100644 --- a/pkgs/tools/typesetting/tex/nix/default.nix +++ b/pkgs/tools/typesetting/tex/nix/default.nix @@ -243,7 +243,7 @@ rec { # fonts. fontsConf = pkgs.makeFontsConf { fontDirectories = [ - "${pkgs.ghostscript}/share/ghostscript/fonts" + "${pkgs.ghostscript.fonts}/share/fonts" ]; }; diff --git a/pkgs/tools/typesetting/tex/pgf-tikz/pgf-1.x.nix b/pkgs/tools/typesetting/tex/pgf-tikz/pgf-1.x.nix index 25c65d081911d..b0681d1ce8d14 100644 --- a/pkgs/tools/typesetting/tex/pgf-tikz/pgf-1.x.nix +++ b/pkgs/tools/typesetting/tex/pgf-tikz/pgf-1.x.nix @@ -28,7 +28,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { meta = with lib; { homepage = "https://github.com/pgf-tikz/pgf"; - description = "A Portable Graphic Format for TeX - version ${finalAttrs.version}"; + description = "Portable Graphic Format for TeX - version ${finalAttrs.version}"; branch = lib.versions.major version; license = licenses.gpl2Plus; maintainers = with maintainers; [ AndersonTorres ]; diff --git a/pkgs/tools/typesetting/tex/pgf-tikz/pgf-2.x.nix b/pkgs/tools/typesetting/tex/pgf-tikz/pgf-2.x.nix index d25e1bd84904f..82d2026063829 100644 --- a/pkgs/tools/typesetting/tex/pgf-tikz/pgf-2.x.nix +++ b/pkgs/tools/typesetting/tex/pgf-tikz/pgf-2.x.nix @@ -28,7 +28,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { meta = with lib; { homepage = "https://github.com/pgf-tikz/pgf"; - description = "A Portable Graphic Format for TeX"; + description = "Portable Graphic Format for TeX"; branch = lib.versions.major version; license = licenses.gpl2Plus; maintainers = with maintainers; [ AndersonTorres ]; diff --git a/pkgs/tools/typesetting/tex/pgf-tikz/pgf-3.x.nix b/pkgs/tools/typesetting/tex/pgf-tikz/pgf-3.x.nix index 6fabce3d7316a..3395c15adf6c1 100644 --- a/pkgs/tools/typesetting/tex/pgf-tikz/pgf-3.x.nix +++ b/pkgs/tools/typesetting/tex/pgf-tikz/pgf-3.x.nix @@ -28,7 +28,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { meta = with lib; { homepage = "https://github.com/pgf-tikz/pgf"; - description = "A Portable Graphic Format for TeX - version ${finalAttrs.version}"; + description = "Portable Graphic Format for TeX - version ${finalAttrs.version}"; branch = lib.versions.major version; license = licenses.gpl2Plus; maintainers = with maintainers; [ AndersonTorres ]; diff --git a/pkgs/tools/typesetting/tex/tetex/default.nix b/pkgs/tools/typesetting/tex/tetex/default.nix index d153864172187..6000a13ec6212 100644 --- a/pkgs/tools/typesetting/tex/tetex/default.nix +++ b/pkgs/tools/typesetting/tex/tetex/default.nix @@ -31,6 +31,11 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; + env = { + CFLAGS = "-std=gnu89"; + CXXFLAGS = "-std=c++03"; + }; + configureFlags = [ "--disable-multiplatform" "--without-x11" "--without-xdvik" "--without-oxdvik" "--without-texinfo" "--without-texi2html" @@ -47,7 +52,7 @@ stdenv.mkDerivation rec { ''; meta = with lib; { - description = "A full-featured (La)TeX distribution"; + description = "Full-featured (La)TeX distribution"; homepage = "http://www.tug.org/tetex/"; maintainers = with maintainers; [ lovek323 ]; platforms = platforms.unix; diff --git a/pkgs/tools/typesetting/tex/texlive/bin.nix b/pkgs/tools/typesetting/tex/texlive/bin.nix index ece8a36aa5536..86ac35eb78094 100644 --- a/pkgs/tools/typesetting/tex/texlive/bin.nix +++ b/pkgs/tools/typesetting/tex/texlive/bin.nix @@ -328,7 +328,7 @@ context = stdenv.mkDerivation rec { nativeBuildInputs = [ cmake ninja ]; meta = with lib; { - description = "The LUAMETATEX engine is a follow up on LUATEX and is again part of CONTEXT development"; + description = "LUAMETATEX engine is a follow up on LUATEX and is again part of CONTEXT development"; homepage = "https://www.pragma-ade.nl/luametatex-1.htm"; license = licenses.gpl2Plus; maintainers = with lib.maintainers; [ apfelkuchen6 xworld21 ]; diff --git a/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix b/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix index 5497e6b6dd4bd..148e51f55de58 100644 --- a/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix +++ b/pkgs/tools/typesetting/tex/texlive/build-tex-env.nix @@ -35,6 +35,8 @@ lib.fix (self: { , __combine ? false # adjust behavior further if called from the texlive.combine wrapper , __fromCombineWrapper ? false +# build only the formats of a package (for internal use!) +, __formatsOf ? null }@args: let @@ -116,7 +118,8 @@ let hyphenPatterns = lib.filter (p: p ? hyphenPatterns && (p.tlOutputName or p.outputName == "tex")) nonbin; sortedHyphenPatterns = builtins.sort (a: b: a.pname < b.pname) hyphenPatterns; formatPkgs = lib.filter (p: p ? formats && (p.outputSpecified or false -> p.tlOutputName or p.outputName == "tex") && builtins.any (f: f.enabled or true) p.formats) all; - sortedFormatPkgs = builtins.sort (a: b: a.pname < b.pname) formatPkgs; + sortedFormatPkgs = if __formatsOf != null then [ __formatsOf ] else builtins.sort (a: b: a.pname < b.pname) formatPkgs; + formats = map (p: self { requiredTeXPackages = ps: [ ps.scheme-infraonly p ] ++ hyphenPatterns; __formatsOf = p; }) sortedFormatPkgs; }; # list generated by inspecting `grep -IR '\([^a-zA-Z]\|^\)gs\( \|$\|"\)' "$TEXMFDIST"/scripts` @@ -125,7 +128,7 @@ let needsGhostscript = lib.any (p: lib.elem p.pname [ "context" "dvipdfmx" "latex-papersize" "lyluatex" ]) pkgList.bin; name = if __combine then "texlive-${__extraName}-${bin.texliveYear}${__extraVersion}" # texlive.combine: old name name - else "texlive-${bin.texliveYear}-env"; + else "texlive-${bin.texliveYear}-" + (if __formatsOf != null then "${__formatsOf.pname}-fmt" else "env"); texmfdist = buildEnv' { name = "${name}-texmfdist"; @@ -260,11 +263,11 @@ buildEnv' { inherit name; # use attrNames, attrValues to ensure the two lists are sorted in the same way - outputs = [ "out" ] ++ lib.optionals (! __combine) (builtins.attrNames nonEnvOutputs); - otherOutputs = lib.optionals (! __combine) (builtins.attrValues nonEnvOutputs); + outputs = [ "out" ] ++ lib.optionals (! __combine && __formatsOf == null) (builtins.attrNames nonEnvOutputs); + otherOutputs = lib.optionals (! __combine && __formatsOf == null) (builtins.attrValues nonEnvOutputs); # remove fake derivations (without 'outPath') to avoid undesired build dependencies - paths = builtins.catAttrs "outPath" pkgList.bin + paths = builtins.catAttrs "outPath" pkgList.bin ++ lib.optionals (! __combine && __formatsOf == null) pkgList.formats ++ lib.optional __combine doc; pathsToLink = [ "/" @@ -286,7 +289,8 @@ buildEnv' { buildInputs = [ coreutils gawk gnugrep gnused ] ++ lib.optional needsGhostscript ghostscript; - inherit meta passthru; + inherit meta passthru __combine; + __formatsOf = __formatsOf.pname or null; inherit texmfdist texmfroot; @@ -304,6 +308,9 @@ buildEnv' { postBuild = '' . "${./build-tex-env.sh}" ''; + + allowSubstitutes = true; + preferLocalBuild = false; }; # outputsToInstall must be set *after* overrideAttrs (used in buildEnv') or it fails the checkMeta tests -in if __combine then out else lib.addMetaAttrs { inherit (pkgList) outputsToInstall; } out) +in if __combine || __formatsOf != null then out else lib.addMetaAttrs { inherit (pkgList) outputsToInstall; } out) diff --git a/pkgs/tools/typesetting/tex/texlive/build-tex-env.sh b/pkgs/tools/typesetting/tex/texlive/build-tex-env.sh index 834b2e0e7651f..baa508047f846 100644 --- a/pkgs/tools/typesetting/tex/texlive/build-tex-env.sh +++ b/pkgs/tools/typesetting/tex/texlive/build-tex-env.sh @@ -143,7 +143,10 @@ installtl_do_postinst_stuff () { # in principle, we could use writeText and share them across different # environments, but the eval & build overhead is not worth the savings tlutils_create_fmtutil - tlutils_create_updmap + # can be skipped if generating formats only + if [[ -z $__formatsOf ]] ; then + tlutils_create_updmap + fi tlutils_create_language_dat tlutils_create_language_def tlutils_create_language_lua @@ -152,21 +155,24 @@ installtl_do_postinst_stuff () { tlutils_info "running mktexlsr $TEXMFSYSVAR $TEXMFSYSCONFIG" mktexlsr "$TEXMFSYSVAR" "$TEXMFSYSCONFIG" - # update font maps - tlutils_info "generating font maps" - updmap-sys --quiet --force --nohash 2>&1 - # configure the paper size - # tlmgr --no-execute-actions paper letter - # install-tl: "rerun mktexlsr for updmap-sys and tlmgr paper updates" - tlutils_info "re-running mktexlsr $TEXMFSYSVAR $TEXMFSYSCONFIG" - mktexlsr "$TEXMFSYSVAR" "$TEXMFSYSCONFIG" - - tlutils_update_context_cache + # can be skipped if generating formats only + if [[ -z $__formatsOf ]] ; then + # update font maps + tlutils_info "generating font maps" + updmap-sys --quiet --force --nohash 2>&1 + # configure the paper size + # tlmgr --no-execute-actions paper letter + # install-tl: "rerun mktexlsr for updmap-sys and tlmgr paper updates" + tlutils_info "re-running mktexlsr $TEXMFSYSVAR $TEXMFSYSCONFIG" + mktexlsr "$TEXMFSYSVAR" "$TEXMFSYSCONFIG" + + tlutils_update_context_cache + fi # generate formats # install-tl would run fmtutil-sys $common_fmtutil_args --no-strict --all # instead, we want fmtutil to exit with error on failure - if [[ -n $fmtutilCnf ]] ; then + if [[ -n $fmtutilCnf && -n $__combine$__formatsOf ]] ; then tlutils_info "pre-generating all format files, be patient..." # many formats still ignore SOURCE_DATE_EPOCH even when FORCE_SOURCE_DATE=1 # libfaketime fixes non-determinism related to timestamps ignoring FORCE_SOURCE_DATE @@ -177,6 +183,24 @@ installtl_do_postinst_stuff () { substitute "$texmfdist"/scripts/texlive/fmtutil.pl fmtutil \ --replace-fail "my \$cmdline = \"\$eng -ini " "my \$cmdline = \"faketime -f '\@$(date +'%F %T' --date=@"$SOURCE_DATE_EPOCH") x0.001' \$eng -ini " FORCE_SOURCE_DATE=1 perl fmtutil --quiet --strict --sys --all 2>&1 | grep '^fmtutil' # too verbose + + # if generating formats only, delete everything else and exit + if [[ -n $__formatsOf ]] ; then + # see fmtutil.pl::compute_format_destination for file extensions + find "$out" \( -type f -or -type l \) \ + -not -path "$TEXMFSYSVAR/*.mem" \ + -not -path "$TEXMFSYSVAR/*.base" \ + -not -path "$TEXMFSYSVAR/*.fmt" \ + -delete + find "$out" -type d -empty -delete + exit + fi + elif [[ -z $__combine ]] ; then + # double check that all formats are present + if fmtutil --quiet --strict --sys --missing --dry-run 2>&1 | grep running ; then + tlutils_info 'formats not found, aborting' + exit 1 + fi fi installtl_do_path_adjustments @@ -190,7 +214,7 @@ installtl_do_postinst_stuff () { ### TeXLive::TLUtils tlutils_info () { - printf '%s\n' "texlive: $*" + printf "texlive${__formatsOf:+($__formatsOf-fmt)}: %s\n" "$*" } tlutils_create_fmtutil () { diff --git a/pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix b/pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix index c5a55cf0f9c96..1356fc325047e 100644 --- a/pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix +++ b/pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix @@ -62,7 +62,7 @@ let # TeX Live packages should not be installed directly into the user profile outputsToInstall = [ ]; longDescription = '' - This package cannot be installed directly. Please use `texlive.withPackages`. + This package cannot be installed or used directly. Please use `texlive.withPackages (ps: [ ps.${lib.strings.escapeNixIdentifier pname} ])`. ''; # discourage nix-env from matching this package priority = 10; @@ -152,7 +152,7 @@ let # fake derivation for resolving dependencies in the absence of a "tex" containers fakeTeX = passthru - // { inherit meta; tlOutputName = "tex"; } + // { inherit meta; tlOutputName = "tex"; inherit build; } // outputDrvs; containers = rec { @@ -214,22 +214,31 @@ let ln -s {"$texdoc"/doc,"$out"/share}/info '') [ "out" ] // outputDrvs; }; -in -if outputs == [ ] then removeAttrs fakeTeX [ "outputSpecified" ] else -runCommand name - { - __structuredAttrs = true; - inherit meta outputDrvs outputs; - passthru = removeAttrs passthru [ "outputSpecified" ]; - - # force output name in case "out" is missing - nativeBuildInputs = lib.optional (! hasBinfiles) - (writeShellScript "force-output.sh" '' + + # multioutput derivation to be exported under texlivePackages + # to make Hydra build all containers + build = runCommand name + { + __structuredAttrs = true; + inherit meta outputDrvs; + outputs = if outputs != [ ] then outputs else [ "out" ]; + passthru = removeAttrs passthru [ "outputSpecified" ] // { inherit build; }; + + # force output name in case "out" is missing + preHook = lib.optionalString (!hasBinfiles && outputs != [ ]) '' export out="''${${builtins.head outputs}-}" - ''); - } - '' - for outputName in ''${!outputs[@]} ; do - ln -s "''${outputDrvs[$outputName]}" "''${outputs[$outputName]}" - done - '' // outputDrvs + ''; + } + # each output is just a symlink to the corresponding container + # if the container is missing (that is, outputs == [ ]), create a file, to prevent passing the package to .withPackages + '' + for outputName in ''${!outputs[@]} ; do + if [[ -n ''${outputDrvs[$outputName]} ]] ; then + ln -s "''${outputDrvs[$outputName]}" "''${outputs[$outputName]}" + else + touch "''${outputs[$outputName]}" + fi + done + ''; +in +if outputs == [ ] then removeAttrs fakeTeX [ "outputSpecified" ] else build // outputDrvs diff --git a/pkgs/tools/typesetting/tex/texpresso/default.nix b/pkgs/tools/typesetting/tex/texpresso/default.nix index e2e244ceda69d..82f6bca589e97 100644 --- a/pkgs/tools/typesetting/tex/texpresso/default.nix +++ b/pkgs/tools/typesetting/tex/texpresso/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { pname = "texpresso"; - version = "0-unstable-2024-04-18"; + version = "0-unstable-2024-05-23"; nativeBuildInputs = [ makeWrapper @@ -35,8 +35,8 @@ stdenv.mkDerivation rec { src = fetchFromGitHub { owner = "let-def"; repo = "texpresso"; - rev = "62b2b5913420d92bb2863d9c92ac2072f7aaa5f9"; - hash = "sha256-kVGRuFVkJvQfl1bEjBU0pyx+SB+k5yI9C6XFiKZRpLQ="; + rev = "01cafac1ec6d33d5e169a0202f23a6f565cc55b8"; + hash = "sha256-uLGanGEUGzxIYFbU3U8LLV3bpn/IN9XltvWCmwSlD7E="; }; buildFlags = [ "texpresso" ]; @@ -67,7 +67,7 @@ stdenv.mkDerivation rec { meta = { inherit (src.meta) homepage; - description = "Live rendering and error reporting for LaTeX."; + description = "Live rendering and error reporting for LaTeX"; maintainers = with lib.maintainers; [ nickhu ]; license = lib.licenses.mit; }; diff --git a/pkgs/tools/typesetting/tex/texpresso/tectonic.nix b/pkgs/tools/typesetting/tex/texpresso/tectonic.nix index 070594349ad71..603c4d5ad3f4c 100644 --- a/pkgs/tools/typesetting/tex/texpresso/tectonic.nix +++ b/pkgs/tools/typesetting/tex/texpresso/tectonic.nix @@ -6,8 +6,8 @@ tectonic-unwrapped.override (old: { src = fetchFromGitHub { owner = "let-def"; repo = "tectonic"; - rev = "7729f1360a7e1e8b8a9f8a6a23f96b5f7cc023d0"; - hash = "sha256-OyVkA2EuejxpQvA6pOuFaZh8ghZZ3HaV9q5DZ/2sIrY="; + rev = "bc522fabfdd17099deac2e12662b2a0810ceb104"; + hash = "sha256-0esXnUML6C9DYrpmBBB+ACypLvnLsYE9fuNiiCFfYzw="; fetchSubmodules = true; }; cargoHash = "sha256-62sxvPIiY3len1wsl7QelK3u4ekftIjcTqoIGZMYb5A="; |