| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* gnu/packages/ada.scm (ada-ed)[arguments]: Only set the target system
when necessary.
[supported-systems]: Add powerpc-linux.
|
|
|
|
|
|
| |
* gnu/packages/xiph.scm (libogg): Update to 1.3.5.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For cross-compilation, meson needs to be passed a
‘cross file’ with information on the architecture,
CPU type, endianness and operating system, and the
name of the cross-compiler binaries.
The new module (guix build meson-configuration) has
some utilities for writing these cross files, used
by 'make-cross-file' in a G-exp. The values for
the cross file are generated by 'make-machine-alist'
and 'make-binaries-alist'.
'make-machine-alist' and 'make-binaries-alist' live
on the host side, such that new architectures and operating
systems can be added without causing rebuilds for old
architectures.
All operating systems and targets supported by Guix are
theoretically supported, but only aarch64-linux-gnu,
powerpc64le-linux-gnu and arm-linux-gnueabihf have been
tested. i686-linux-gnu has also been tested with a previous
version of this patch series but required some changes
to 'cross-base.scm'.
This has been tested with:
$ ./pre-inst-env guix build glib --target=TARGET
* guix/build/meson-configuration.scm
(write-section-header): New procedure.
(write-assignment): New procedure.
(write-assignments): New procedure.
* guix/build-system/meson.scm
(target-hurd?): New predicate.
(make-machine-alist): New procedure.
(make-binaries-alist): New procedure.
(make-cross-file): New procedure.
(meson-cross-build): New procedure.
(lower)[build-inputs]: Add standard cross packages when cross-compiling.
Do not include regular 'inputs' when cross-compiling.
(lower)[host-inputs]: Include 'inputs' when cross-compiling.
(lower)[target-inputs]: Add cross packages when cross-compiling.
(lower)[build]: Call 'meson-cross-build' instead of 'cross-build'
when cross-compiling.
(lower)[target]: Set it.
(lower)[private-keywords]: Do not remove #:target when cross-compiling.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current configure script is too old to find the cross-compiler
and support variables passed as arguments. Also, config.guess and
config.sub are too old to recognise powerpc64 and aarch64. Solve
this by regenerating the 'configure' script and replacing
'config.guess' and 'config.sub'.
* gnu/packages/elf.scm
(libelf)[arguments]<#:phases>{configure}: Remove phase.
(libelf)[arguments]<#:phases>{delete-configure}: Regenerate
the configure script and replace 'config.guess' and 'config.sub'.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Otherwise, "tzdata" won't be found when cross-compiling
and string-append will complain about types. Alternatively,
"tzdata" could be moved from 'native-inputs' to 'inputs'.
* gnu/packages/glib.scm (glib)[arguments]<#:phases>{pre-check}:
Look up "tzdata" in 'native-inputs', not 'inputs'.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
| |
* gnu/packages/glib.scm (glib)[arguments]<#:disallowed-references>:
Disallow the native python when cross-compiling.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
During the build, a native python should be used as these
scripts will be invoked during the build, but when installed,
they should be a python for the system we're compiling for.
* gnu/packages/glib.scm
(glib)[arguments]<#:phases>{patch-python-references}: Look up
"python" in 'native-inputs', not 'inputs'.
(glib)[inputs]{python,python-wrapper,bash-minimal}: New inputs.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
| |
By computing this value outside the build code, new targets
can be added without causing rebuilds for other targets.
* gnu/packages/tls.scm
(target->openssl-target): New procedure.
(openssl)[arguments]<#:phases>{set-cross-compile}: Use it.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
| |
There does not seem to be any reason to only move man3 pages.
So, move all man pages to a separate output for documentation.
* gnu/packages/tls.scm
(openssl)[arguments]<#:phases>{move-extra-documentation}: Move
all man pages, not only man3.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
| |
* gnu/packages/tls.scm
(openssl)[arguments]<#:phases>{move-extra-documentation}: Use
'rename-file' instead of 'copy-recursively' and
'delete-file-recursively'.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This doesn't fix anything broken, just for simplifying
the code a little while we're rebuilding the world anyway.
IMHO this makes the code a little more readable.
* gnu/packages/tls.scm (openssl)[arguments]<#:phases>: Don't refer
to the association list 'outputs', use #$output, #$output:doc
and #$output:static instead.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
|
| |
This allows using this-package-native-input later.
* gnu/packages/tls.scm
(openssl)[arguments]<#:phases>: Make this a G-expression.
(openssl-1.0)[arguments]<#:phases>: Likewise.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
| |
* gnu/packages/tls.scm
(openssl)[arguments]<#:phases>: Delete trailing #t.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
|
| |
"sitecustomize.py" is a native input, so look it up
in 'native-inputs', not 'inputs'.
* gnu/packages/python.scm (customize-site): Look up "sizecustomize.py"
in 'native-inputs', not 'inputs'.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
|
| |
TODO: inform upstream about the cross-compilation error.
* gnu/packages/gnupg.scm
(libgpg-error)[arguments]{fix-gen-lock-obj.sh}: Prevent generated
header files from being sprinkled with ‘\c’.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
| |
* gnu/packages/gpg.scm
(libgpgerror)[arguments]<#:phases>{cross-symlinks}: Only
link to src/syscfg/lock-obj-pub.linux-gnu.h if the package
is being compiled for a Linux target. Do not link either
if the architecture is unknown, as the headers vary with
the architecture.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
| |
These aren't required anymore.
* gnu/packages/gnupg.scm (libgpgerror)[arguments]{cross-symlinks}:
Remove trailing #f.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The time zone database is architecture-independent,
so trying to cross-compile it is pointless!
* gnu/packages/base.scm
(tzdata)[arguments]<#:target>: Set to #f.
(tzdata)[allowed-references]: Only include the "out" output itself,
to make sure no (architecture-dependent) binaries are installed.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
| |
net-base is pure data, so cross-compiling is pointless.
* gnu/packages/admin.scm
(net-base)[arguments]<#:target>: Set to #f.
(net-base)[arguments]<#:allowed-references>: Disallow all
references.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These macros are intended to be used in build phases.
More precisely, (assoc-ref %build-inputs "input") can be
replaced by #$(this-package-input "input") or #+(this-package-native-input
"native-input") as appropriate.
* guix/packages.scm
(package-input, package-native-input): New (unexported) procedures.
(this-package-input, this-package-native-input): New macros.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
| |
* guix/utils.scm (target-x86-32?, target-x86-64?): New predicates.
* tests/utils.scm ("target-x86-32?", "target-x86-64?"): New tests.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
|
| |
target-hurd? and target-linux? have docstrings, but
target-mingw? doesn't.
* guix/utils.scm (target-mingw?): Add a docstring.
Reported-By: Mathieu Othacehe <othacehe@gnu.org>
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It behaves similarily to the other target-...? procedures.
The usage of hurd-triplet? / target-hurd? in libgc appears
incorrect to me, as (%current-system) is normally never false.
* gnu/packages/hurd.scm (hurd-triplet?): Move to ...
* guix/util.scm (target-hurd?): ... here, let its argument
default to (%current-target-system) or (%current-system),
and write a docstring.
* gnu/packages/hurd.scm
(hurd-target?, hurd-system?): Use target-hurd? instead of
hurd-triplet?.
* gnu/packages/bdw-gc.scm (libgc): Likewise.
* gnu/packages/cross-base.scm
(cross-libc)[arguments]<#:configure-flags>: Likewise.
(cross-libc)[arguments]<#:phases>: Likewise.
(cross-libc)[arguments]<#:native-inputs>: Likewise.
* gnu/packages/make-boostrap.scm
(%glibc-stripped)[inputs]: Likewise.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
|
|
|
|
|
| |
* guix/utils.scm (target-linux?): New predicate.
* tests/utils.scm
("target-linux?"): Test it.
("target-mingw?"): Also test ‘target-mingw?’.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
|
|
| |
* gnu/packages/tls.scm (openssl): Fix indentation.
|
|
|
|
|
|
| |
* gnu/packages/sdl.scm (sdl2): Update to 2.0.14.
Signed-off-by: Leo Famulari <leo@famulari.name>
|
|
|
|
|
| |
* gnu/packages/tls.scm (openssl)[arguments]: Adjust custom 'configure
phase to also show how openssl is configured.
|
|
|
|
|
| |
* gnu/packages/tls.scm (openssl)[arguments]: Adjust custom 'configure
phase to also use configure-flags.
|
|
|
|
|
| |
* doc/guix-cookbook.texi (Extended example): Adjust example to new input
style and adjust "Inputs" section.
|
|
|
|
|
| |
* doc/guix-cookbook.texi (Extended example): Remove trailing #t from
snippet and phases.
|
|
|
|
|
| |
* gnu/packages/fontutils.scm (fontconfig-with-documentation)[arguments]:
Add 'no-pdf-doc' phase.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make fontconfig use directory contents rather than modification time to
determine cache validity (by pretending that mtime is broken).
* gnu/packages/patches/fontconfig-cache-ignore-mtime.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/fontutils.scm (fontconfig)[source]: Use it.
[arguments]: Unset SOURCE_DATE_EPOCH for tests.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
|
|
| |
* etc/news.scm: Add entry.
|
|
|
|
|
|
| |
* guix/import/elpa.scm (elpa-package->sexp)[dependencies]: Turn into a
list of symbols.
[maybe-inputs]: Wrap in 'list' instead of 'quasiquote'.
|
|
|
|
|
|
|
|
| |
* guix/import/print.scm (redundant-input-labels?): New procedure.
(package->code)[package-lists->code]: Rename to...
[inputs->code]: ... this. When 'redundant-input-labels?' returns true,
emit label-less inputs. Adjust callers to new name.
* tests/print.scm (pkg-with-inputs): Adjust accordingly.
|
|
|
|
|
|
|
| |
* guix/import/cran.scm (format-inputs): Emit symbols or
'specification->package' calls.
(maybe-inputs): Wrap in 'list' instead of 'quasiquote'.
* tests/cran.scm ("description->package"): Adjust accordingly.
|
|
|
|
|
|
|
|
| |
* guix/import/pypi.scm (maybe-inputs): Wrap PACKAGE-INPUTS in 'list'
instead of 'quasiquote'.
(compute-inputs)[requirement->package-name/sort]: Return a list of symbols.
* tests/pypi.scm ("pypi->guix-package, no wheel")
("pypi->guix-package, wheels"): Adjust accordingly.
|
|
|
|
| |
* guix/packages.scm (hidden-package): Inherit 'location' from P.
|
|
|
|
|
|
|
|
|
| |
* guix/scripts/style.scm, tests/style.scm: New files.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* po/guix/POTFILES.in: Add 'guix/scripts/style.scm'.
* doc/guix.texi (Invoking guix style): New node.
(package Reference): Reference it.
(Invoking guix lint): Likewise.
|
|
|
|
|
|
|
| |
* guix/utils.scm (source-location-key/stamp): New procedure.
(go-to-location): Use it.
(move-source-location-map!): New procedure.
(edit-expression): Call it.
|
|
|
|
| |
* guix/utils.scm (edit-expression): Check whether STR* equals STR.
|
|
|
|
|
|
|
|
| |
* guix/utils.scm (%source-location-map): New variable.
(go-to-location): New procedure.
(edit-expression): Use it instead of custom loop.
* guix/packages.scm (package-field-location)[goto]: Remove.
Use 'go-to-location' instead of 'goto'.
|
|
|
|
|
| |
* guix/utils.scm (edit-expression): Use 'call-with-input-file' to make
sure IN gets closed.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is transparent: the resulting derivations are unchanged.
* gnu/packages/base.scm (grep, sed, tar, patch, diffutils, glibc/hurd-headers)
(coreutils, gnu-make, make-glibc-utf8-locales): Change input fields to
plain package lists and use 'modify-inputs'.
* gnu/packages/guile.scm (guile-1.8, guile-json-1, guile-json-3)
(guile-gdbm-ffi, guile-sqlite3, guile-bytestructures)
(guile-git, guile-zlib, guile-lzlib, guile-zstd, guile-next): Likewise.
* gnu/packages/mes.scm (nyacc-0.86, nyacc-0.99)
(nyacc, nyacc-1.00.2, mes-0.19, mes, m2-planet): Likewise.
|
|
|
|
|
|
|
| |
* guix/packages.scm (inputs-sans-labels, replace-input): New procedures.
(prepend, replace, modify-inputs): New macros.
* doc/guix.texi (Defining Package Variants): Document 'modify-inputs'.
* dir-locals.el: Add 'modify-inputs' and its keywords.
|
|
|
|
|
|
|
| |
* guix/packages.scm (lookup-input, lookup-package-input)
(lookup-package-native-input, lookup-package-propagated-input)
(lookup-package-direct-input): New procedures.
* doc/guix.texi (package Reference): Document them.
|
|
|
|
|
|
|
|
| |
* guix/lint.scm (check-input-labels): New procedure.
(%local-checkers): Add 'input-labels' checker.
* tests/lint.scm ("input labels: no warnings")
("input labels: one warning"): New tests.
* doc/guix.texi (Invoking guix lint): Mention it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* guix/packages.scm (add-input-label, sanitize-inputs): New procedures.
(<package>)[inputs, propagated-inputs, native-inputs]: Add 'sanitize' property.
* doc/guix.texi (Defining Packages, package Reference):
(Defining Package Variants): Adjust examples accordingly.
* tests/packages.scm ("transaction-upgrade-entry, zero upgrades, propagated inputs")
("transaction-upgrade-entry, grafts")
("package-transitive-inputs")
("package-transitive-supported-systems")
("package-closure")
("supported-package?")
("package-derivation, inputs deduplicated")
("package-transitive-native-search-paths")
("package-grafts, indirect grafts")
("package-grafts, indirect grafts, propagated inputs")
("package-grafts, same replacement twice")
("package-grafts, dependency on several outputs")
("replacement also grafted")
("package->bag, sensitivity to %current-target-system")
("package->bag, propagated inputs")
("package->bag, sensitivity to %current-system")
("package-input-rewriting/spec, identity")
("package-input-rewriting, identity"): Use the label-less input style.
|
|
|
|
|
|
|
|
|
|
| |
* guix/records.scm (make-syntactic-constructor): Add #:sanitizers.
[field-sanitizer]: New procedure.
[wrap-field-value]: Honor F's sanitizer.
(define-record-type*)[field-sanitizer]: New procedure.
Pass #:sanitizer to 'make-syntactic-constructor'.
* tests/records.scm ("define-record-type* & sanitize")
("define-record-type* & sanitize & thunked"): New tests.
|
|
|
|
|
|
|
| |
This is a followup to fe6775f52b7f28a5bf74633ea4737c32a64b7e05.
* tests/guix-environment.sh: Expect C_INCLUDE_PATH rather than CPATH in
environment containing 'gcc-bootstrap'.
|