Age | Commit message (Collapse) | Author |
|
* gnu/packages/hurd.scm (hurd-minimal)[inputs]: Add gnumach-headers.
[arguments]: Rewrite to include libshouldbeinlibc and libstore.
* gnu/packages/cross-base.scm (cross-kernel-headers*): Update xhurd-minimal
accordingly: Add xgnumach-headers, add them to cpath, use gexps for
modify-phases, add delete-shared-target phase.
Signed-off-by: Josselin Poiret <dev@jpoiret.xyz>
|
|
* gnu/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch
* gnu/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch
* gnu/packages/patches/glibc-2.37-versioned-locpath.patch: New patches.
* gnu/local.mk (dist_patch_DATA): Register them.
* gnu/packages/base.scm (glibc/hurd, libc-for-target): New variables.
(glibc/hurd-headers): Use glibc/hurd.
* gnu/packages/commencement.scm (glibc-final-with-bootstrap-bash)[outputs,
source, arguments]
(glibc-final)[source]: Use libc-for-target instead of glibc.
* gnu/packages/cross-base.scm (cross-libc/deprecated, cross-libc*): Use
libc-for-target.
This part fixes
https://issues.guix.gnu.org/63641#25
* gnu/packages/commencement.scm (%final-inputs): Change to memoized lambda
taking "system".
* gnu/packages/commencement.scm (canonical-package): Likewise, and update
user, passing (%current-system).
(make-gcc-toolchain): Update user, passing (%current-system).
* gnu/packages/base.scm (%final-inputs): Likewise.
* guix/scripts/refresh.scm (options->update-specs): Likewise.
* guix/build-system/gnu.scm (standard-packages): Add optional "system"
parameter.
(lower): Update caller.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Co-authored-by: Janneke Nieuwenhuizen <janneke@gnu.org>
|
|
* gnu/packages/hurd.scm (gnumach-headers): Remove configure flags where we
say the builder is running x86.
* gnu/packages/cross-base.scm (cross-gnumach-headers): Work around limitation
of build system, by manually changing the target host_cpu without relying on
--host, because we don't have a working cross-compiler yet.
|
|
* gnu/packages/base.scm (glibc/hurd-headers): Rely on cross-mig, and remove
hardcoded configure flag `--host=i586-pc-gnu`.
* gnu/packages/cross-base.scm (cross-kernel-headers*): Add `--host` and
`--build` configure flags.
|
|
* gnu/packages/cross-base.scm (cross-kernel-headers*): Remove them.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* gnu/packages/cross-base.scm (cross-kernel-headers*): Add --build and --host to
xhurd-headers and xhurd-minimal.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* gnu/packages/cross-base.scm (cross-mig): New exported procedure.
(cross-gnumach-headers): New procedure.
(cross-kernel-headers*): Factor them out.
(cross-libc*): Use them there.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* gnu/packages/cross-base.scm (cross-gcc-arguments): Switch to gexps.
|
|
* gnu/packages/base.scm (%glibc/hurd-configure-flags): New variable.
(glibc)[arguments]: Use it.
(glibc/hurd-headers)[arguments]: likewise.
* gnu/packages/cross-base.scm (cross-libc*): Likewise.
Co-authored-by: Josselin Poiret <dev@jpoiret.xyz>
|
|
That way, 'xmig' inherits the 'avoid-perl-dependency' build phase.
* gnu/packages/hurd.scm (mig)[arguments]: In 'avoid-perl-dependency',
use 'find-files' to locate the "mig" executable(s).
* gnu/packages/cross-base.scm (cross-kernel-headers*)[xmig]: Use
'substitute-keyword-arguments'.
|
|
* gnu/packages/cross-base.scm (cross-kernel-headers*)[xgnumach-headers]
[xmig]: Remove input labels; use gexps and 'modify-inputs'.
[xgnumach-headers-name]: New variable.
|
|
* gnu/packages/abiword.scm,
* gnu/packages/ada.scm,
* gnu/packages/agda.scm,
* gnu/packages/backup.scm,
* gnu/packages/barrier.scm,
* gnu/packages/bioinformatics.scm,
* gnu/packages/bootstrap.scm,
* gnu/packages/bqn.scm,
* gnu/packages/c.scm,
* gnu/packages/chemistry.scm,
* gnu/packages/coq.scm,
* gnu/packages/cross-base.scm,
* gnu/packages/databases.scm,
* gnu/packages/emacs-xyz.scm,
* gnu/packages/enlightenment.scm,
* gnu/packages/games.scm,
* gnu/packages/geo.scm,
* gnu/packages/ghostscript.scm,
* gnu/packages/gl.scm,
* gnu/packages/golang.scm,
* gnu/packages/jami.scm,
* gnu/packages/java-maths.scm,
* gnu/packages/kde-frameworks.scm,
* gnu/packages/kde-plasma.scm,
* gnu/packages/language.scm,
* gnu/packages/libreoffice.scm,
* gnu/packages/linphone.scm,
* gnu/packages/lisp.scm,
* gnu/packages/llvm.scm,
* gnu/packages/machine-learning.scm,
* gnu/packages/minetest.scm,
* gnu/packages/monitoring.scm,
* gnu/packages/nfs.scm,
* gnu/packages/ocr.scm,
* gnu/packages/opencl.scm,
* gnu/packages/pdf.scm,
* gnu/packages/python-xyz.scm,
* gnu/packages/racket.scm,
* gnu/packages/rust.scm,
* gnu/packages/syncthing.scm,
* gnu/packages/syndication.scm,
* gnu/packages/telegram.scm,
* gnu/packages/vulkan.scm,
* gnu/packages/web-browsers.scm,
* gnu/packages/web.scm,
* gnu/packages/webkit.scm: Remove some unecessary module imports.
|
|
This makes it possible to invoke the procedures with a single or fewer
optional arguments.
* gnu/packages/cross-base.scm (contains-keyword?): New procedure.
(cross-binutils): Dispatch to either...
(cross-binutils/deprecated): ... this renamed procedure or ...
(cross-binutils*): ... this new procedure.
(cross-kernel-headers, cross-libc/deprecated): Likewise.
|
|
* gnu/packages/cross-base.scm (cross-binutils): Fix indentation.
(cross-kernel-headers): Align 'inherit' fields
of nested package variables.
(cross-gcc): Fix indentation.
|
|
Reported by Arun Isaac <arunisaac@systemreboot.net>.
* gnu/packages/cross-base.scm (cross)[arguments]: Add a default for
configure-flags so '--target=' is always added.
|
|
* gnu/packages/patches/gcc-12-cross-environment-variables.patch : New file.
* gnu/local.mk (dist_patch_DATA): Add
gcc-12-cross-environment-variables.patch.
* gnu/packages/cross-base.scm (cross-gcc)[source](patches): Apply the patch.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
* gnu/platform.scm:
* gnu/platforms/arm.scm:
* gnu/platforms/hurd.scm:
* gnu/platforms/mips.scm:
* gnu/platforms/powerpc.scm:
* gnu/platforms/riscv.scm:
* gnu/platforms/s390.scm:
* gnu/platforms/x86.scm: Move to guix/.
* Makefile.am:
* doc/guix.texi (Porting to a New Platform):
* etc/release-manifest.scm:
* gnu/ci.scm:
* gnu/image.scm:
* gnu/local.mk:
* gnu/packages/bioinformatics.scm:
* gnu/packages/bootstrap.scm:
* gnu/packages/cross-base.scm:
* gnu/packages/instrumentation.scm:
* gnu/packages/linux.scm:
* gnu/system/image.scm:
* gnu/system/images/hurd.scm:
* gnu/system/images/novena.scm:
* gnu/system/images/pine64.scm:
* gnu/system/images/pinebook-pro.scm:
* gnu/system/images/rock64.scm:
* guix/scripts/build.scm:
* guix/scripts/system.scm:
* guix/self.scm: Update (gnu platform...) to (guix platform...).
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
* gnu/packages/linux.scm (system->linux-architecture): Remove it.
(make-linux-libre-headers*, make-linux-libre*): Adapt them.
* guix/build-system/linux-module.scm (system->arch): Adapt it.
* gnu/packages/instrumentation.scm (uftrace): Ditto.
* gnu/packages/cross-base.scm (cross-kernel-headers): Ditto.
* gnu/packages/bioinformatics.scm (ncbi-vdb): Ditto.
* doc/guix.texi (Porting to a new platform): Update it.
|
|
Previous to this commit, we added a --with-newlib configure flag to
cross-gcc when cross-newlib?, but cross-newlib? is true only when
target-mingw?.
It turns out that specifying --with-newlib disables the
GLIBCXX_CROSSCONFIG check, which is used to detect
_GLIBCXX_HAVE__WFOPEN, which is required in C++17 std::filesystem for
mingw-w64 systems.
Additional context: In gnu/packages/embedded.scm, --with-newlib is
specified explicitly when we're actually using newlib, which seems like
the correct way of handling it.
Situation in other distros:
- Debian's gcc-mingw-w64 doesn't specify --with-newlib
- Fedora's mingw64-gcc-c++ explicitly specifies --without-newlib
Chesterton's fence: Chatting with janneke, who originally added this
mechanism, reveals that this flag is not only no longer required, but
also that removing it doesn't break his guile-mingw builds. See IRC logs
of #guix for 2022-02-15.
* gnu/packages/cross-base.scm (cross-gcc-arguments): Don't check for and
specify --with-newlib.
(cross-libc): Check for mingw and use mingw-w64 directly.
(cross-newlib?): Remove, unexport.
(native-libc): Remove.
|
|
The newly introduced --enable-compressed-debug-section=all configure
flag in the base binutils package makes the mingw-w64 build system
unusable. For example:
$ guix build --target=x86_64-w64-mingw32 hello
and
$ guix build mingw-w64-x86_64-winpthreads
Will fail to build with an error:
"x86_64-w64-mingw32-ld: final link failed: bad value"
Turning off this flag seems to fix the problem, but perhaps it'd also be
worthwhile to investigate the root cause.
* gnu/packages/cross-base.scm (cross-binutils): When building for mingw
targets, append "--enable-compressed-debug-section=no" to configure
flags.
|
|
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>
|
|
Fixes <https://bugs.gnu.org/48825>.
In short, this change adds the hard-coded "--with-long-double-128" configure
option in one place and removes it from two other places. This changes and
simplifies the use of this option for various architectures that start with
the string "powerpc".
* gnu/packages/gcc.scm (gcc-configure-flags-for-triplet): Add a clause for
targets starting with "powerpc64le-" or "powerpc-" which adds the
"--with-long-double-128" option. This causes any package using this procedure
to be built using this new option on these architectures. In particular, this
affects the gcc package and the gcc-final package, in addition to all the
other versions of GCC defined in (gnu packages gcc).
* gnu/packages/commencement.scm (gcc-boot0)[#:configure-flags]: Remove the
code that adds the "--with-long-double-128" configure option for all
architectures starting with "powerpc", since it is now redundant on the
architectures where it is needed. The gcc-boot0 package uses (and adds to) the
gcc package's configure options. This means that the above change in gcc.scm
is sufficient to ensure that the gcc-boot0 package's configure options will
include "--with-long-double-128" on powerpc64le and powerpc architectures.
Additionally, since the option is apparently not required on the big-endian
powerpc64 architecture, this change also has the nice effect of omitting the
option in that case.
* gnu/packages/cross-base.scm (cross-gcc-arguments)[#:configure-flags]: Remove
the code that adds the "--with-long-double-128" configure option for
powerpc64le, since it is now redundant. The cross-gcc-arguments procedure uses
(and adds to) the configure options of its xgcc argument (a package). This
means that regardless of which gcc from gcc.scm is used as the xgcc, the above
change in gcc.scm is sufficient to ensure that the cross-gcc-arguments
procedure's configure options will include "--with-long-double-128" on the
powerpc64le and powerpc architectures.
|
|
* gnu/packages/patches/gcc-cross-gxx-include-dir.patch: New file.
* gnu/packages/patches/gcc-10-cross-environment-variables.patch: New file.
* gnu/packages/gcc.scm (gcc): Point to GCC-10.
(gcc-objc): Point to GCC-OBJC-10.
(gcc-objc++): Point to GCC-OBJC++-10.
* gnu/packages/cross-base.scm (cross-gcc)[source](patches): Apply the new
patches.
|
|
This fixes a regression introduced in
0e2251fcf8189a4f642074d3aa898221b29c3a55, as "make headers_check" does not
actually build the headers in newer versions, instead "make headers_install"
built them as a side effect.
* gnu/packages/cross-base.scm (cross-kernel-headers)[arguments]: Adjust build
phase to call the correct Make target. While at it, migrate to MODIFY-PHASES.
|
|
Conflicts:
gnu/local.mk
gnu/packages/boost.scm
gnu/packages/chez.scm
gnu/packages/compression.scm
gnu/packages/crates-io.scm
gnu/packages/docbook.scm
gnu/packages/engineering.scm
gnu/packages/gcc.scm
gnu/packages/gl.scm
gnu/packages/gtk.scm
gnu/packages/nettle.scm
gnu/packages/python-check.scm
gnu/packages/python-xyz.scm
gnu/packages/radio.scm
gnu/packages/rust.scm
gnu/packages/sqlite.scm
guix/build-system/node.scm
|
|
* gnu/packages/cross-base.scm (cross-gcc-arguments): When conditionally adding
"--with-long-double-128", check for "powerpc64le-" prefix instead of matching
full target.
Signed-off-by: Chris Marusich <cmmarusich@gmail.com>
|
|
* gnu/packages/cross-base.scm (cross-libc)[native-inputs]: Re-add
"cross-mig", erroneously removed in
6690b6d1e7333137e4731ec5e4bb30d6637c3237.
|
|
* gnu/packages/cross-base.scm (cross-libc)[inputs]: Remove. They have
been unused since 6690b6d1e7333137e4731ec5e4bb30d6637c3237.
|
|
|
|
* gnu/packages/cross-base.scm (cross-gcc-arguments): Add
"--with-long-double-128" when TARGET is "powerpc64le-linux-gnu".
* gnu/packages/commencement.scm (gcc-boot0): Likewise for (boot-triplet).
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Fixes "guix build --target=i586-pc-gnu bootstrap-tarballs".
* gnu/packages/cross-base.scm (cross-libc): Move Hurd patches from
'native-inputs' to 'inputs'.
|
|
* gnu/packages/cross-base.scm (cross-libc)[arguments]: Remove "patch-libc/hurd"
stage.
[native-inputs]: Move hurd patches to...
* gnu/packages/base.scm (glibc)[source]: ...here.
|
|
* gnu/packages/hurd.scm (mig)[inputs]: Include perl.
[arguments]: Substitute "perl" with full store file name in bin/mig.
* gnu/packages/cross-base.scm (cross-kernel-headers): Adjust mig-cross
accordingly.
|
|
* gnu/packages/patches/glibc-hurd-gettyent.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/cross-base.scm (cross-libc): Add it in 'patch-libc/hurd' phase
when 'hurd-target?' is true.
|
|
* gnu/packages/patches/glibc-hurd-mach-print.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/cross-base.scm (cross-libc): Add 'patch-libc/hurd' phase
when 'hurd-target?' is true.
|
|
|
|
This ensures we stay below the POSIX tar file name length limit.
* gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch:
Rename to...
* gnu/packages/patches/binutils-mingw-w64-deterministic.patch: ... this.
* gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch:
Rename to...
* gnu/packages/patches/binutils-mingw-w64-timestamp.patch: ... this.
* gnu/local.mk (dist_patch_DATA): Adjust accordingly.
* gnu/packages/cross-base.scm (cross-binutils): Likewise.
|
|
Conflicts:
etc/news.scm
gnu/local.mk
gnu/packages/check.scm
gnu/packages/cross-base.scm
gnu/packages/gimp.scm
gnu/packages/java.scm
gnu/packages/mail.scm
gnu/packages/sdl.scm
gnu/packages/texinfo.scm
gnu/packages/tls.scm
gnu/packages/version-control.scm
|
|
This is a followup to 102d307520dee27a40feb1ca5a699763a2f3aefe.
* gnu/packages/cross-base.scm (cross-libc): Remove (let ((libc libc)) …).
(cherry picked from commit 524a4e357cd71566841aaf405e8548fa3600b11b)
|
|
* gnu/packages/cross-base.scm (package-with-extra-patches,
package-with-patches): Move procedures from here...
* guix/packages.scm (package-with-extra-patches, package-with-patches):
...to here, and export.
|
|
This is a followup to 102d307520dee27a40feb1ca5a699763a2f3aefe.
* gnu/packages/cross-base.scm (cross-libc): Remove (let ((libc libc)) …).
|
|
This is a followup to c1c50cb5b099897a18e4cd8c27970cb45a7c3a94.
* gnu/packages/cross-base.scm (package-with-patch): Rename to...
(package-with-patches): ... this, and take a list of patches.
(package-with-extra-patches): Use it.
(cross-binutils): Use 'search-patches' instead of 'search-patch'.
|
|
This also removes the execute bit from the patches added. Not sure how
or why those were set in the first place.
* gnu/packages/cross-base.scm (package-with-extra-patches): Imitate
PACKAGE-WITH-PATCH instead of using it.
* gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch:
Remove execute bit.
* gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch:
Remove execute bit.
|
|
* gnu/packages/cross-base.scm (package-with-extra-patches): Add trailing
paren.
|
|
These patches were originally found at the debian mingw-w64 team's
binutils repo, and should improve the reproducibility of our mingw-w64
toolchain.
* gnu/packages/patches/binutils-mingw-w64-reproducible-import-libraries.patch:
New file.
* gnu/packages/patches/binutils-mingw-w64-specify-timestamp.patch:
New file.
* gnu/local.mk (dist_patch_DATA): Update accordingly.
* gnu/packages/cross-base.scm (cross-binutils): Apply relevant patches
if target is mingw-w64.
(package-with-extra-patches): New procedure.
|
|
This fixes cross building of coreutils, e.g.
./pre-inst-env guix build --target=i586-pc-gnu coreutils
* gnu/packages/cross-base.scm (cross-libc): Add -lhurduser, -lmachuser for the
Hurd.
|
|
This fixes cross building of coreutils, e.g.
./pre-inst-env guix build --target=i586-pc-gnu coreutils
* gnu/packages/cross-base.scm (cross-libc): Add -lhurduser, -lmachuser for the
Hurd.
|
|
Add a "lib" output to cross-gcc. This requires an upstream GCC patch adding
support for --with-toolexeclibdir configure option. This option allows to
install cross-built GCC libraries in a specific location.
This also fixes the computation of TOOLDIR_BASE_PREFIX, that fails when
/gnu/store/... directories are involved.
* gnu/packages/patches/gcc-7-cross-toolexeclibdir.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/cross-base.scm (cross-gcc)[source]: Apply it,
[outputs]: add a "lib" output,
(cross-gcc-snippet): fix TOOLDIR_BASE_PREFIX.
|
|
* gnu/packages/base.scm (binutils-2.33): New public variable.
* gnu/packages/cross-base.scm (cross-binutils): Add optional BINUTILS argument.
* gnu/packages/firmware.scm (ath9k-htc-firmware)[native-inputs]: Build the
xtensa-elf toolchain with BINUTILS-2.33.
|
|
This is a followup to 2073b55e6b964cb8ca15e8c74cb32dac00f05f0d.
* gnu/build/cross-toolchain.scm (%gcc-include-paths): Switch back to
'C_INCLUDE_PATH' & co.
* gnu/packages/cross-base.scm (%gcc-include-paths): Likewise.
(cross-gcc-arguments): Remove 'treat-glibc-as-system-header' phase.
(cross-gcc)[native-inputs]: Reorder so that libc comes last.
[search-paths]: Add "include/c++" for 'CROSS_CPLUS_INCLUDE_PATH'.
* guix/build-system/gnu.scm (standard-cross-packages): Have "cross-gcc"
appear both for 'host and 'target.
|