diff --git a/pkgs/by-name/pa/pandoc/package.nix b/pkgs/by-name/pa/pandoc/package.nix index 9d0c511f64794b..b956ee51bb02a5 100644 --- a/pkgs/by-name/pa/pandoc/package.nix +++ b/pkgs/by-name/pa/pandoc/package.nix @@ -1,8 +1,8 @@ -{ stdenv, lib, haskellPackages, haskell, removeReferencesTo, installShellFiles }: +{ stdenv, lib, haskellPackages, haskell, removeReferencesTo, installShellFiles, pandoc-cli ? haskellPackages.pandoc-cli }: let # Since pandoc 3.0 the pandoc binary resides in the pandoc-cli package. - static = haskell.lib.compose.justStaticExecutables haskellPackages.pandoc-cli; + static = haskell.lib.compose.justStaticExecutables pandoc-cli; in (haskell.lib.compose.overrideCabal (drv: { @@ -28,7 +28,7 @@ in -t ${haskellPackages.warp} \ $out/bin/pandoc remove-references-to \ - -t ${haskellPackages.pandoc} \ + -t ${pandoc-cli.scope.pandoc} \ $out/bin/pandoc '' + lib.optionalString (stdenv.buildPlatform == stdenv.hostPlatform) '' mkdir -p $out/share/bash-completion/completions diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index bd174babd549fa..cba00ab1c462af 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1943,6 +1943,27 @@ self: super: { ) ]; + # Pandoc 3.5 improves the quality of PDF rendering in Quarto >=1.6.30. + # https://github.com/NixOS/nixpkgs/pull/349683 + pandoc-cli_3_5 = super.pandoc-cli_3_5.overrideScope ( + self: super: { + doclayout = self.doclayout_0_5; + pandoc = self.pandoc_3_5; + pandoc-lua-engine = self.pandoc-lua-engine_0_3_3.overrideScope ( + self: super: { + hslua-module-doclayout = self.hslua-module-doclayout_1_2_0; + lpeg = self.lpeg_1_1_0; + } + ); + pandoc-server = self.pandoc-server_0_1_0_9; + texmath = self.texmath_0_12_8_11; + tls = self.tls_2_0_6; + toml-parser = self.toml-parser_2_0_1_0; + typst = self.typst_0_6; + typst-symbols = self.typst-symbols_0_1_6; + } + ); + # 2020-12-06: Restrictive upper bounds w.r.t. pandoc-types (https://github.com/owickstrom/pandoc-include-code/issues/27) pandoc-include-code = doJailbreak super.pandoc-include-code; diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml index b1dc2492f8b938..203c57c1fa65f4 100644 --- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml +++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml @@ -109,6 +109,7 @@ extra-packages: - tls < 2.1.0 # 2024-07-19: requested by darcs == 2.18.3 - extensions == 0.1.0.2 # 2024-10-20: for GHC 9.10/Cabal 3.12 - network-run == 0.4.0 # 2024-10-20: for GHC 9.10/network == 3.1.* + - typst-symbols >=0.1.6 && <0.1.7 # 2024-11-20: for pandoc 3.5 and quarto package-maintainers: abbradar: diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix index d51851b2c4717e..309fad3bdac7a8 100644 --- a/pkgs/development/haskell-modules/hackage-packages.nix +++ b/pkgs/development/haskell-modules/hackage-packages.nix @@ -319329,6 +319329,18 @@ self: { license = lib.licenses.mit; }) {}; + "typst-symbols_0_1_6" = callPackage + ({ mkDerivation, base, text }: + mkDerivation { + pname = "typst-symbols"; + version = "0.1.6"; + sha256 = "17a2grflk67vs68b2pxygvk7p50rj9fb3ri7fcwa19j9jnhg4zwl"; + libraryHaskellDepends = [ base text ]; + description = "Symbol and emoji lookup for typst language"; + license = lib.licenses.mit; + hydraPlatforms = lib.platforms.none; + }) {}; + "typst-symbols_0_1_7" = callPackage ({ mkDerivation, base, text }: mkDerivation { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3ce2bde8f8cd19..04fd37d1212533 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4850,6 +4850,8 @@ with pkgs; pakcs = callPackage ../development/compilers/pakcs { }; + pandoc_3_5 = callPackage ../by-name/pa/pandoc/package.nix { pandoc-cli = haskellPackages.pandoc-cli_3_5; }; + paperwork = callPackage ../applications/office/paperwork/paperwork-gtk.nix { }; parallel = callPackage ../tools/misc/parallel { };