summaryrefslogtreecommitdiff
path: root/guix/build-system
Commit message (Collapse)AuthorAge
* gnu: Add %final-inputs-riscv64.Efraim Flashner2022-01-27
| | | | | | * gnu/packages/commencement.scm (%final-inputs-riscv64): New variable. * guix/build-system/gnu.scm (standard-inputs): Use %final-inputs-riscv64 when targeting riscv64-linux.
* build-system/clojure: Support compiling Java.Reily Siegel2022-01-24
| | | | | | | | | | | | | | * guix/build/clojure-build-system.scm (compile-java): New variable. (build): Copy classes compiled from Java and optionally Java sources to the final jar. (%standard-phases): Add compile-java phase before build. * guix/build/clojure-utils.scm (%java-source-dirs): New variable. (%java-compile-dir): New variable. * guix/build-system/clojure.scm (clojure-build): Include %java-source-dirs and %java-compile-dir. (builder): Include %java-source-dirs and %java-compile-dir. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* build-system/linux-module: Use G-expressions.Tobias Geerinckx-Rice2022-01-16
| | | | | * guix/build-system/linux-module.scm (make-linux-module-builder) [arguments]: Rewrite as G-expressions.
* build-system: clojure: Allow clojure-build-system to pass source to ant.Reily Siegel2022-01-12
| | | | | | | | | Fixes <https://bugs.gnu.org/52598>. * guix/build-system/clojure.scm (lower): Remove #:source from private keywords, preventing an error in ant-build-system. Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
* build-system: Pass #:make-dynamic-linker-cache? #f when cross-compiling.Ludovic Courtès2022-01-11
| | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/52898>. Reported by Maxime Devos <maximedevos@telenet.be>. This is a followup to 1209447ad3f471d12e9408dd478b3cfcd7b7a07e. * guix/build-system/cmake.scm (cmake-cross-build)[builder]: Pass #:make-dynamic-linker-cache? #f. * guix/build-system/go.scm (go-cross-build)[builder]: Ditto. * guix/build-system/guile.scm (guile-cross-build)[builder]: Ditto. * guix/build-system/qt.scm (qt-cross-build)[builder]: Ditto.
* guix: node-build-system: Add implicit libuv input.Philip McGrath2022-01-09
| | | | | | | | * guix/build-system/node.scm (lower): Add the version of libuv used as an input to the #:node package as an additional implicit input, so that packages needing libuv always get the correct version. Signed-off-by: Liliana Marie Prikler <liliana.prikler@gmail.com>
* build-system/go: Add pre-built standard library as implicit input.Sarah Morgensen2021-12-24
| | | | | | | | * gnu/packages/golang.scm (make-go-std): New procedure. * guix/build-system/go.scm (make-go-std): New procedure. (lower): Use it. Add pre-built standard library to inputs. Signed-off-by: Leo Famulari <leo@famulari.name>
* build-system/go: Add #:substitutable? argument.Sarah Morgensen2021-12-24
| | | | | | | * guix/build-system/go.scm (go-build): Add 'substitutable?' argument. (go-cross-build): Likewise. Signed-off-by: Leo Famulari <leo@famulari.name>
* build-system/meson: Define build variables when cross-compiling.Ludovic Courtès2021-12-20
| | | | | | | | | Fixes <https://issues.guix.gnu.org/52574>. Reported by L p R n d n <guix@lprndn.info>. * guix/build-system/meson.scm (meson-cross-build)[builder]: Define '%build-host-inputs', '%build-target-inputs', '%build-inputs', and '%outputs'.
* build-system/linux-module: Wrap with build variables.Tobias Geerinckx-Rice2021-12-15
| | | | | | | | * guix/build-system/linux-module.scm (linux-module-build): Wrap the builder gexp WITH-BUILD-VARIABLES to restore %build-inputs after commit 7d873f194ca69d6096d28d7a224ab78e83e34fe1 removed all old certainties. Reported by lfam in #guix.
* Merge remote-tracking branch 'origin/master' into core-updates-frozenRicardo Wurmus2021-12-05
|\
| * build-system: haskell: Add ‘hackage-uri’ procedure.Xinglu Chen2021-12-01
| | | | | | | | | | | | | | | | | | * guix/build-system/haskell (hackage-uri): New procedure. * guix/import/hackage.scm (hackage-module->sexp, latest-release): Use it. * tests/hackage.scm (match-ghc-foo, match-ghc-foo-6, match-ghc-foo-revision, match-ghc-foo-import): Adjust accordingly. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | build: julia-build-system: Add support for parallel tests.zimoun2021-11-25
| | | | | | | | | | | | | | | | | | | | | | | | The tests are defined by the script 'test/runtests.jl' from packages and the parallelism depends on the implementation of this script. Therefore, 'julia' is launched using local worker processes accordingly with 'parallel?'. * guix/build/julia-build-system.scm (check): Set the JULIA_CPU_THREADS environment variable and invoke julia with the '--procs' option. * guix/build-system/julia.scm (julia-build)[parallel-tests?]: New argument. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
* | Merge branch 'master' into core-updates-frozenLudovic Courtès2021-11-23
|\|
| * build-system/asdf: Don't fail in sbcl-package->cl-source-package on ↵Pierre Neidhardt2021-11-19
| | | | | | | | | | | | | | | | | | | | | | non-package inputs. Inputs can be non-packages, for instance (origin ...). sbcl-package->cl-source-package used to fail if such inputs were present in the parent sbcl-* package. * guix/build-system/asdf.scm (package-with-build-system): Fix 'has-from-build-system?' function.
* | build-system/go: Update cross-compilation support to new interface.Ludovic Courtès2021-11-18
| | | | | | | | | | | | | | | | | | * guix/build-system/go.scm (go-cross-build): Remove 'store', 'native-drvs' and 'target-drvs'; add 'source', 'build-inputs', 'target-inputs', and 'host-inputs'. Change default value of #:phases. [builder]: Rewrite as a gexp. Rewrite body to call 'gexp->derivation' instead of 'build-expression->derivation'.
* | Merge branch 'master' into core-updates-frozenLudovic Courtès2021-11-17
|\|
| * build-system/julia: Enable Julia Pkg to find installed packages.Jean-Baptiste Volatier2021-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Julia's built-in package manager (Pkg) looks for packages in JULIA_DEPOT_PATH/packages/PACKAGENAME/XXXX, where XXXX is a string encoding package UUID and SHA1 of files. The link-depot phase creates a link at the correct location to allow Pkg to find packages that were already installed by Guix. * guix/build/julia-build-system.scm (link-depot): New phase. (%package-path): Modified package path from packages/ to loadpath/. (project.toml->uuid): New procedure, retrive package uuid from TOML file. (precompile, check): Adjust to the change in paths. (%standard-phases): Add link-depot phase. (julia-build): Add julia-package-uuid keyword. * guix/build-system/julia.scm (julia-build): Also use the julia-package-uuid keyword. * gnu/packages/julia-jll.scm (julia-bzip2-jll, julia-cairo-jll, julia-compilersupportlibraries-jll, julia-expat-jll, julia-ffmpeg-jll, julia-fontconfig-jll, julia-freetype2-jll, julia-fribidi-jll, julia-gettext-jll, julia-glib-jll, julia-gr-jll, julia-gumbo-jll, julia-imagemagick-jll, julia-jllwrappers-jll, julia-jpegturbo-jll, julia-lame-jll, julia-libass-jll, julia-libfdk-aac-jll, julia-libffi-jll, julia-libgcrypt-jll, julia-libglvnd-jll, julia-libgpg-error-jll, juli-libiconv-jll, julia-libmount-jll, julia-libpng-jll, julia-libsass-jll, julia-libtiff-jll, julia-libuuid-jll, julia-libvorbis-jll, julia-lzo-jll, julia-mbedtls-jll, julia-ogg-jll, julia-openspecfun-jll, julia-openssl-jll, julia-opus-jll, julia-pcre-jll, julia-pixman-jll, julia-qt5base-jll, julia-wayland-jll, julia-wayland-protocols-jll, julia-x264-jll, julia-x265-jll, julia-xkbcommon-jll, julia-xml2-jll, julia-xorg-libpthread-stubs-jll, julia-xorg-libx11-jll, julia-xorg-libxau-jll, julia-xorg-libxcb-jll, julia-xorg-libxcursor-jll, julia-xorg-libxdmcp-jll, julia-xorg-libxext-jll, julia-xorg-libxfixes-jll, julia-xorg-libxi-jll, julia-xorg-libxinerama-jll, julia-xorg-libxkbfile-jll, julia-xorg-libxrandr-jll, julia-xorg-libxrender-jll, julia-xorg-xcb-util-jll, julia-xorg-xcb-util-keysyms-jll, julia-xorg-xcb-util-renderutil-jll, julia-xorg-xcb-util-wm-jll, julia-xorg-xkbcomp-jll, julia-xorg-xkeyboard-config-jll, julia-xorg-xtrans-jll, julia-xslt-jll, julia-zlib-jll, julia-zstd-jll) [argument]: Adjust the order of the phases to the change in the julia-build-system. * gnu/packages/julia-xyz.scm (julia-bufferedstreams, julia-calculus, julia-dataframes, julia-datavalues, julia-distances, julia-documenter, julia-dualnumbers, julia-ellipsisnotation, julia-expronicon, julia-fileio, julia-fixedpointnumbers, julia-functionwrappers, julia-fuzzycompletions, julia-genericlinearalgebra, julia-genericschur, julia-geometrybasics, julia-imagemagick, julia-infinity, julia-matrixfactorizations, julia-media, julia-missings, julia-nnlib, julia-optimtestproblems, julia-orderedcollections, julia-prettytables, julia-pycall, julia-quadmath, julia-safetests, julia-stackviews) [arguments]: Correct paths to reflect change of %package-path modify order of phases as link-depot needs to run on an unmodified src directory add package-name-uuid keyword argument to packages without Project.toml file. * gnu/packages/julia.scm (julia)[native-search-paths]: Correct paths to reflect change of %package-path modify order of phases as link-depot needs to run on an unmodified src directory. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* | build: meson: Replace the 'test-target' argument by 'test-options'.Maxim Cournoyer2021-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is motivated by the need to disable the default 30 seconds timeout that Meson uses (see: https://gitlab.gnome.org/GNOME/glib/-/issues/2522), and also by desire to specify extra options to run the check phase without having to override it. * guix/build-system/meson.scm (meson-build) <test-target>: Replace argument with... <test-options>: ... this one. * guix/build/meson-build-system.scm (check): Invoke 'meson test' instead of 'ninja test-target', as the former is configurable via options. * doc/guix.texi (Build Systems) <meson-build-system>: Update doc.
* | build: glib-or-gtk: Generate the gdk-pixbuf-loaders cache file in a phase.Maxim Cournoyer2021-11-11
| | | | | | | | | | | | | | | | | | | | | | | | Adding a profile hook to do so covers most use cases, but it is still necessary to have the gdk-pixbuf loaders cache file computed at build time, as software may expect to find loaders support at that time. * guix/build/glib-or-gtk-build-system.scm: Delete trailing #t. (%gdk-pixbuf-loaders-cache-file-prefix): New variable. (generate-gdk-pixbuf-loaders-cache): New procedure. (generate-gdk-pixbuf-loaders-cache-file): Add procedure... (%standard-phases): ... and register it as a build phase.
* | Merge remote-tracking branch 'origin/master' into core-updates-frozenEfraim Flashner2021-11-08
|\|
| * guix: Upgrade to Bioconductor 3.14.Ricardo Wurmus2021-11-07
| | | | | | | | | | | | * guix/build-system/r.scm (bioconductor-uri): Bump Bioconductor version to 3.14. * guix/import/cran.scm (%bioconductor-version): Same.
* | Merge remote-tracking branch 'signed/master' into core-updatesMathieu Othacehe2021-10-18
|\|
| * build-system/go: Fix building on host's secondary architecture.Efraim Flashner2021-10-18
| | | | | | | | | | | | | | | | | | | | | | Before when building for i686-linux on x86_64-linux GOARCH would be set to amd64, not 386. * guix/build-system/go.scm (go-build): Set goarch and goos to #f when not cross-compiling. * guix/build/go-build-system.scm (setup-go-environment): Set GOARCH according to the calculated goarch or using GOHOSTARCH and GOOS according to the calculated goos or using GOHOSTOS.
* | Merge remote-tracking branch 'origin/master' into core-updates-frozen.Mathieu Othacehe2021-10-12
|\|
| * Revert the #51061 patch series for now.Tobias Geerinckx-Rice2021-10-08
| | | | | | | | | | | | | | This reverts commits f63c79bf7674df012517f8e9148f94c611e35f32 ..f86f7e24b39928247729020df0134e2e1c4cde62 for more chillax reviewing. See <https://issues.guix.gnu.org/51061#32>.
| * build-system: Add 'rebar3-build-system'.Hartmut Goebel2021-10-07
| | | | | | | | | | * guix/build-system/rebar3.scm, guix/build/rebar3-build-system.scm: New files. * Makefile.am (MODULES): Add them.
| * build-system: linux-module: Build and install in parallel.Tobias Geerinckx-Rice2021-10-01
| | | | | | | | | | | | | | | | * guix/build-system/linux-module.scm (linux-module-build) (guix/build-system/linux-module.scm): Accept the PARALLEL-BUILD? keyword and pass it on to the builder. * guix/build/linux-module-build-system.scm (build, install): Capture and honour it.
| * Update copyright assignments for Liliana Marie Prikler.Liliana Marie Prikler2021-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/guix.texi: Update copyright name for Liliana Marie Prikler. * gnu/packages/build-tools.scm: Update copyright name and email for Liliana Marie Prikler. * gnu/packages/convmv.scm: Likewise. * gnu/packages/emacs-xyz.scm: Likewise. * gnu/packages/emacs.scm: Likewise. * gnu/packages/esolangs.scm: Likewise. * gnu/packages/game-development.scm: Likewise. * gnu/packages/games.scm: Likewise. * gnu/packages/gnome-xyz.scm: Likewise. * gnu/packages/gnome.scm: Likewise. * gnu/packages/gstreamer.scm: Likewise. * gnu/packages/guile-xyz.scm: Likewise. * gnu/packages/minetest.scm: Likewise. * gnu/packages/music.scm: Likewise. * gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch: Likewise. * gnu/packages/patches/ppsspp-disable-upgrade-and-gold.patch: Likewise. * gnu/packages/patches/webkitgtk-bind-all-fonts.patch: Likewise. * gnu/packages/python-xyz.scm: Likewise. * gnu/packages/unicode.scm: Likewise. * gnu/packages/xorg.scm: Likewise. * gnu/services/sound.scm: Likewise. * guix/build-system/renpy.scm: Likewise. * guix/build/emacs-utils.scm: Likewise. * guix/build/renpy-build-system.scm: Likewise.
* | gexp: Leave grafting as is when lowering allowed/disallowed references.Ludovic Courtès2021-09-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes <https://issues.guix.gnu.org/50676>. Reported by Mathieu Othacehe <othacehe@gnu.org>. Commit a779363b6aa581e88eda21f9f35530962d54ac25 was partially incorrect: references passed to #:allowed-references or #:references-graphs *can* be lowered as references to grafted elements. This is for example the case when doing: (computed-file "partition.img" exp #:options `(#:references-graphs ,inputs)) Here INPUTS must be lowered as a reference to suitably grafted elements. Failing to do that, the reference graph will not match the actual INPUTS. However, when building a package, those references must indeed refer only to ungrafted packages. This commit preserves that by having build systems pass #:graft? #f. * guix/gexp.scm (lower-reference-graphs, lower-references): Remove uses of 'without-grafting'. This reverts a779363b6aa581e88eda21f9f35530962d54ac25. * guix/build-system/cmake.scm (cmake-build, cmake-cross-build): Pass #:graft? #f. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build) (glib-or-gtk-cross-build): Likewise. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Likewise. * guix/build-system/meson.scm (meson-build, meson-cross-build): Likewise. * guix/build-system/trivial.scm (trivial-build, trivial-cross-build): Likewise. * tests/gexp.scm ("lower-object, computed-file + grafts"): New test. * tests/packages.scm ("trivial with #:allowed-references + grafts"): New test.
* | build-system/glib-or-gtk: Support cross-compilaton.Maxime Devos2021-09-20
| | | | | | | | | | | | | | * guix/build-system/glib-or-gtk.scm (lower): Add 'implicit-cross-inputs?' argument. Generate a bag when cross-compiling. (glib-or-gtk-cross-build): New procedure.
* | build-system/meson: Allow 'configure-flags' to be a G-exp.Maxime Devos2021-09-20
| | | | | | | | | | | | * guix/build-system/meson.scm (meson-build, meson-cross-build): Only call 'sexp->gexp' on 'configure-flags' when 'configure-flags' is a pair.
* | Merge branch 'master' into core-updates-frozenMarius Bakke2021-09-17
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: gnu/packages/bioinformatics.scm gnu/packages/chez.scm gnu/packages/docbook.scm gnu/packages/ebook.scm gnu/packages/gnome.scm gnu/packages/linux.scm gnu/packages/networking.scm gnu/packages/python-web.scm gnu/packages/python-xyz.scm gnu/packages/tex.scm gnu/packages/version-control.scm gnu/packages/xml.scm guix/build-system/dune.scm guix/build-system/go.scm guix/build-system/linux-module.scm guix/packages.scm
| * build-system: linux-module: Support source-directory.Liliana Marie Prikler2021-09-14
| | | | | | | | | | | | | | | | | | | | As with guile-build-system, the module to be build need not necessarily live at the root of the build tree. * guix/build/linux-module-build-system.scm (build, install): Add source-directory argument and append it to "M" variable when invoking make. * guix/build-system/linux-module.scm (linux-module-build): Add source-directory argument.
| * build/go: Support cross compiling.Efraim Flashner2021-09-13
| | | | | | | | | | | | | | | | | | | | * guix/build-system/go.scm (go-target): New procedure. (go-build): Add goarch, goos keywords. Adjust bag depending if doing a native or cross compile. (go-cross-build): New procedure. * guix/build/go-build-system.scm (setup-go-environment): Accept goarch, goos keywords. Set go environment variables based on target architecture. * doc/guix.texi (Build Systems): Mention new go-build-system keywords.
| * guix: dune-build-system: Put dune into a reproducible release mode.pukkamustard2021-09-08
| | | | | | | | | | | | | | | | | | * guix/build/dune-build-system.scm (build,check): Replace the profile parameter with the appropriate release flags. * guix/build-system/dune.scm: Remove the profile parameter. * doc/guix.texi: Remove paragraph on profile parameter. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
* | Merge branch 'master' into core-updates-frozenLudovic Courtès2021-09-07
|\|
| * build-system: chicken: Add 'egg-uri' procedure.Xinglu Chen2021-08-30
| | | | | | | | | | | | | | | | | | | | | | | | Once Chicken 6 gets released, we can just adjust the URL in the ‘egg-uri’ procedure, instead of having to change the URL for all the Chicken packages. Making things a little more future-proof. * guix/build-system/chicken.scm (egg-uri): New procedure. * guix/import/egg.scm (egg-source-url): Adjust accordingly. (egg->guix-package): Likewise. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| * guix: dune-build-system: Add a profile parameter.pukkamustard2021-08-20
| | | | | | | | | | | | | | | | | | * guix/build-system/dune.scm: Add a profile parameter. * guix/build/dune-build-system.scm (build): Use it. * doc/guix.texi: Document it. * gnu/packages/ocaml.scm: Remove profile being set from build flags. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
| * gnu: minetest: move to minetest.scm.Leo Prikler2021-08-20
| | | | | | | | | | | | * gnu/packages/games.scm (minetest, minetest-data): Move from here... * gnu/packages/minetest.scm (minetest, minetest-data): ... to here. * guix/build-system/minetest.scm (default-minetest): Adjust accordingly.
| * build-system: Add 'minetest-mod-build-system'.Maxime Devos2021-08-20
| | | | | | | | | | | | | | | | | | * guix/build-system/minetest.scm: New module. * guix/build/minetest-build-system.scm: Likewise. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document 'minetest-mod-build-system'. Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>
* | Merge branch 'master' into core-updates-frozenMarius Bakke2021-07-29
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: gnu/packages/bioinformatics.scm gnu/packages/cmake.scm gnu/packages/curl.scm gnu/packages/emacs-xyz.scm gnu/packages/gpodder.scm gnu/packages/music.scm gnu/packages/patches/glibc-bootstrap-system.patch gnu/packages/python-xyz.scm gnu/packages/shells.scm gnu/packages/statistics.scm
| * build: Update uglifyjs for minify-build-system.Charles2021-07-19
| | | | | | | | | | | | | | * guix/build-system/minify.scm (default-uglify-js): Update uglifyjs package used. * guix/build/minify-build-system.scm (minify): Use updated uglifyjs command name. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
* | build-system: asdf: Remove %build-inputs reference.Mathieu Othacehe2021-07-29
| | | | | | | | | | | | | | This is a follow-up of 7d873f194ca69d6096d28d7a224ab78e83e34fe1 that removes the %build-inputs variable. * guix/build-system/asdf.scm (asdf-build): Remove %build-inputs reference.
* | build-system/haskell: Fix regression.Mathieu Othacehe2021-07-28
| | | | | | | | | | | | | | This is a follow-up of a0f880afea3b29e817866de0170ed579738db2d1. * guix/build-system/haskell.scm (haskell-build): Correctly handle the absence of a "cabal-revision" input.
* | build-system/haskell: Fix regression in "cabal-revision" input handling.Ludovic Courtès2021-07-27
| | | | | | | | | | | | | | | | | | | | | | | | Previously, (assoc-ref ...) would return a one-element list, leading to an evaluation error while building the package ("wrong type to apply"). Regression introduced in 7d873f194ca69d6096d28d7a224ab78e83e34fe1. Reported by Marius Bakke. * guix/build-system/haskell.scm (haskell-build)[builder]: Adjust argument to #:cabal-revision.
* | build-system/cmake: Define '%build-inputs' when cross-compiling.Marius Bakke2021-07-23
| | | | | | | | | | | | * guix/build-system/cmake.scm (cmake-cross-build)[builder]: Define '%build-inputs' as it existed before 7d873f194ca69d6096d28d7a224ab78e83e34fe1.
* | gnu: TeX Live: Update to TeX Live 2021Thiago Jung Bauermann2021-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use version 20210325 for the tarballs, which is the latest one available on the historical releases repository. And use subversion tag 2021.3 which is the latest one available as well. TeX Live dropped support for using the system’s poppler library after the 2020 version. Quoting from `m4/kpse-xpdf-flags.m4`: # Support for our semi-homegrown libs/xpdf library. This is derived # from xpdf source code, but xpdf does not distribute it as a library. # It is used by pdftex (and nothing else) to read PDF images. # Other engines use the semi-homegrown pplib library (q.v.) for that. # The well-known poppler library is also originally derived from xpdf # source code, but has been greatly revised and extended. TL used to # (sort of) support poppler as the system xpdf, but after the TL 2020 # release we dropped this, because we switched XeTeX to use pplib, and # nothing else used poppler. (No engines ever used poppler to generate # their PDF output). # # poppler is aggressively developed, with requirements for new compilers # and language versions. That's fine for them, but since we don't need # anything new, it has become too time-consuming and problematic to # continue to support it in the TL sources, when we don't have any # requirement for it. Therefore the main change in this commit is making the texlive-bin package use the embedded pplib and xpdf libraries. Another noteworthy change is to texlive-latex-l3packages, which now needs to ship a few pre-generated files that cannot be reproduced during the build process (the comments in the package definition have more details). * guix/build-system/texlive.scm (%texlive-tag): Set to “texlive-2021.3”. (%texlive-revision): Set to 59745. * gnu/packages/tex.scm (hyph-utf8-scripts, texlive-docstrip, texlive-unicode-data texlive-hyphen-base, texlive-metafont, texlive-cm, texlive-courier, texlive-lm, texlive-knuth-lib, texlive-tex-plain, texlive-hyphen-finnish, texlive-hyphen-german, texlive-hyph-utf8, texlive-dehyph-exptl, texlive-kpathsea, texlive-latex-fancyvrb, texlive-graphics-def, texlive-latex-graphics, texlive-hyperref, texlive-oberdiek, texlive-latex-tools, texlive-latex-l3kernel, texlive-l3build, texlive-luaotfload, texlive-latex-amsmath, texlive-amscls, texlive-babel, texlive-generic-babel-german, texlive-babel-swedish, texlive-psnfss, texlive-latex-draftwatermark, texlive-latex-etoc, texlive-etoolbox, texlive-latex-polyglossia, texlive-tex-texinfo, texlive-latex-bookmark, texlive-latex-cmap, texlive-latex-fancyhdr, texlive-latex-kvoptions, texlive-latex-eso-pic, texlive-latex-multirow, texlive-latex-parskip, texlive-latex-pdfpages, texlive-metapost, texlive-latex-acmart, texlive-latex-preview, texlive-latex-acronym, texlive-pdftex, texlive-latex-media9, texlive-latex-ocgx2, texlive-latex-ms, texlive-latex-pgf, texlive-latex-pgf-generic, texlive-latex-koma-script, texlive-generic-ltxcmds, texlive-bibtex, texlive-context-base, texlive-context, texlive-beamer, texlive-pstricks, texlive-tools, texlive-latex-xkeyval, texlive-csquotes, texlive-biblatex, texlive-todonotes, texlive-microtype, texlive-caption, texlive-fontaxes, texlive-cabin, texlive-newtx, texlive-xcharter, texlive-adjustbox, texlive-tcolorbox): Update hash. (texlive-extra-src, texlive-texmf-src): Update version to “20210325”. Update hash. (texlive-bin)[source]: Update version to “20210325”. Update hash. Preserve ‘libs/pplib’ and ‘libs/xpdf’. [inputs]: Update hash for ‘texlive-scripts’. Remove ‘poppler’. [arguments]: Remove “--with-system-poppler” and “--with-system-xpdf” from ‘#:configure-flags’. Remove build phase ‘use-code-for-new-poppler’. (texlive-hyphen-schoolfinnish): Add public variable. (texlive-hyphen-macedonian): Add 8bit patterns. Update hash. (texlive-latex-base)[template]: Update hash. [arguments]: Set ‘LUAINPUTS’ environment variable in build phase. [native-inputs]: Update hash for ‘texlive-luatexconfig’. [propagated-inputs]: Add ‘texlive-hyphen-schoolfinnish’, ‘texlive-latex-l3kernel’ and ‘texlive-latex-l3packages’. (texlive-latex-l3packages)[source]: Use ‘texlive-origin’. Update hash. Add generated files. [arguments]: Adjust paths for ‘TEXINPUTS’ environment variable. Add build phase ‘copy-generated-files’. (texlive-texmf, texlive): Update version to “20210325”. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | gnu: TeX Live: Use IniTeX to build a couple of packagesThiago Jung Bauermann2021-07-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The package texlive-latex-base in TeX Live 2021 will depend on texlive-latex-l3kernel and texlive-latex-l3packages. Therefore we need to remove their build dependency on texlive-latex-base to avoid a circular dependency. l3kernel and l3packages don’t need LaTeX during build, just IniTeX. So to make them use it, modify texlive-build-system to allow disabling the #:texlive-latex-base and #:tex-format parameters, and also add a #:tex-engine parameter. We also need to add texlive-docstrip as a native input, which was previously provided by texlive-latex-base. * gnu/packages/tex.scm (texlive-latex-l3kernel, texlive-latex-l3packages)[arguments]: Add ‘#:tex-engine’, ‘#:tex-format’ and ‘#:texlive-latex-base’ parameters. [native-inputs]: Add ‘texlive-docstrip’. * guix/build-system/texlive.scm (lower)[build-inputs]: Don’t add ‘texlive-latex-base’ if its keyword parameter is false. (texlive-build): Add ‘tex-engine’ keyword parameter. [builder]: If a ‘tex-engine’ parameter was passed, use it. Otherwise, use ‘tex-format’ as the engine. * guix/build/texlive-build-system.scm (compile-with-latex): Add ‘engine’ parameter. If the ‘format’ parameter is false, add “-ini” option to the command line. (build): Add ‘tex-engine’ parameter. Pass it down to ‘compile-with-latex’. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* | Merge branch 'master' into core-updatesLudovic Courtès2021-07-18
|\|