diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix index bd174babd549f..bfb454d8eb877 100644 --- a/pkgs/development/haskell-modules/configuration-common.nix +++ b/pkgs/development/haskell-modules/configuration-common.nix @@ -1943,6 +1943,53 @@ 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 = + let + overrides = 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; + }; + pandoc-cli_3_5 = super.pandoc-cli_3_5.overrideScope overrides; + pandoc_3_5 = super.pandoc_3_5.overrideScope overrides; + in + lib.pipe pandoc-cli_3_5 [ + justStaticExecutables + (overrideCabal (drv: { + configureFlags = drv.configureFlags or [ ] ++ [ "-fembed_data_files" ]; + buildDepends = drv.buildDepends or [ ] ++ [ self.file-embed ]; + buildTools = (drv.buildTools or [ ]) ++ [ + pkgs.removeReferencesTo + pkgs.installShellFiles + ]; + + postInstall = + drv.postInstall or "" + + '' + remove-references-to -t ${super.pandoc-types} $out/bin/pandoc + remove-references-to -t ${super.warp} $out/bin/pandoc + remove-references-to -t ${pandoc_3_5} $out/bin/pandoc + ${lib.optionalString (pkgs.stdenv.buildPlatform == pkgs.stdenv.hostPlatform) '' + mkdir -p $out/share/bash-completion/completions + $out/bin/pandoc --bash-completion > $out/share/bash-completion/completions/pandoc''} + installManPage man/* + ''; + })) + ]; + # 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 b1dc2492f8b93..203c57c1fa65f 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 d51851b2c4717..309fad3bdac7a 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 {