Merge pull request #226366 from mmlb/rename-gnatboot
gnatboot: rename to gnat-bootstrap
This commit is contained in:
commit
9e3b2a5822
@ -166,7 +166,7 @@ stdenv.mkDerivation {
|
||||
|
||||
# If we are asked to wrap `gas` and this bintools has it,
|
||||
# then symlink it (`as` will be symlinked next).
|
||||
# This is mainly for the wrapped gnatboot on x86-64 Darwin,
|
||||
# This is mainly for the wrapped gnat-bootstrap on x86-64 Darwin,
|
||||
# as it must have both the GNU assembler from cctools (installed as `gas`)
|
||||
# and the Clang integrated assembler (installed as `as`).
|
||||
# See pkgs/os-specific/darwin/binutils/default.nix for details.
|
||||
|
@ -16,7 +16,7 @@
|
||||
, gmp, mpfr, libmpc, gettext, which, patchelf, binutils
|
||||
, isl ? null # optional, for the Graphite optimization framework.
|
||||
, zlib ? null
|
||||
, gnatboot ? null
|
||||
, gnat-bootstrap ? null
|
||||
, enableMultilib ? false
|
||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||
, name ? "gcc"
|
||||
@ -34,7 +34,7 @@ assert stdenv.buildPlatform.isDarwin -> gnused != null;
|
||||
|
||||
# The go frontend is written in c++
|
||||
assert langGo -> langCC;
|
||||
assert langAda -> gnatboot != null;
|
||||
assert langAda -> gnat-bootstrap != null;
|
||||
|
||||
# threadsCross is just for MinGW
|
||||
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
|
||||
@ -111,7 +111,7 @@ let majorVersion = "10";
|
||||
fetchurl
|
||||
gettext
|
||||
gmp
|
||||
gnatboot
|
||||
gnat-bootstrap
|
||||
gnused
|
||||
isl
|
||||
langAda
|
||||
|
@ -16,7 +16,7 @@
|
||||
, gmp, mpfr, libmpc, gettext, which, patchelf, binutils
|
||||
, isl ? null # optional, for the Graphite optimization framework.
|
||||
, zlib ? null
|
||||
, gnatboot ? null
|
||||
, gnat-bootstrap ? null
|
||||
, enableMultilib ? false
|
||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||
, name ? "gcc"
|
||||
@ -37,7 +37,7 @@ assert stdenv.buildPlatform.isDarwin -> gnused != null;
|
||||
|
||||
# The go frontend is written in c++
|
||||
assert langGo -> langCC;
|
||||
assert langAda -> gnatboot != null;
|
||||
assert langAda -> gnat-bootstrap != null;
|
||||
|
||||
# threadsCross is just for MinGW
|
||||
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
|
||||
@ -126,7 +126,7 @@ let majorVersion = "11";
|
||||
fetchurl
|
||||
gettext
|
||||
gmp
|
||||
gnatboot
|
||||
gnat-bootstrap
|
||||
gnused
|
||||
isl
|
||||
langAda
|
||||
|
@ -17,7 +17,7 @@
|
||||
, isl ? null # optional, for the Graphite optimization framework.
|
||||
, zlib ? null
|
||||
, libucontext ? null
|
||||
, gnatboot ? null
|
||||
, gnat-bootstrap ? null
|
||||
, enableMultilib ? false
|
||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||
, name ? "gcc"
|
||||
@ -39,7 +39,7 @@ assert stdenv.buildPlatform.isDarwin -> gnused != null;
|
||||
|
||||
# The go frontend is written in c++
|
||||
assert langGo -> langCC;
|
||||
assert langAda -> gnatboot != null;
|
||||
assert langAda -> gnat-bootstrap != null;
|
||||
|
||||
# TODO: fixup D bootstapping, probably by using gdc11 (and maybe other changes).
|
||||
# error: GDC is required to build d
|
||||
@ -159,7 +159,7 @@ let majorVersion = "12";
|
||||
fetchurl
|
||||
gettext
|
||||
gmp
|
||||
gnatboot
|
||||
gnat-bootstrap
|
||||
gnused
|
||||
isl
|
||||
langAda
|
||||
|
@ -17,7 +17,7 @@
|
||||
, gmp, mpfr, libmpc, gettext, which, patchelf, binutils
|
||||
, isl ? null # optional, for the Graphite optimization framework.
|
||||
, zlib ? null, boehmgc ? null
|
||||
, gnatboot ? null
|
||||
, gnat-bootstrap ? null
|
||||
, zip ? null, unzip ? null, pkg-config ? null
|
||||
, gtk2 ? null, libart_lgpl ? null
|
||||
, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
|
||||
@ -45,7 +45,7 @@ assert stdenv.buildPlatform.isDarwin -> gnused != null;
|
||||
# The go frontend is written in c++
|
||||
assert langGo -> langCC;
|
||||
|
||||
assert langAda -> gnatboot != null;
|
||||
assert langAda -> gnat-bootstrap != null;
|
||||
|
||||
# threadsCross is just for MinGW
|
||||
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
|
||||
@ -151,7 +151,7 @@ let majorVersion = "6";
|
||||
flex
|
||||
gettext
|
||||
gmp
|
||||
gnatboot
|
||||
gnat-bootstrap
|
||||
gnused
|
||||
gtk2
|
||||
isl
|
||||
|
@ -16,7 +16,7 @@
|
||||
, gmp, mpfr, libmpc, gettext, which, patchelf, binutils
|
||||
, isl ? null # optional, for the Graphite optimization framework.
|
||||
, zlib ? null
|
||||
, gnatboot ? null
|
||||
, gnat-bootstrap ? null
|
||||
, enableMultilib ? false
|
||||
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
|
||||
, name ? "gcc"
|
||||
@ -38,7 +38,7 @@ assert stdenv.buildPlatform.isDarwin -> gnused != null;
|
||||
|
||||
# The go frontend is written in c++
|
||||
assert langGo -> langCC;
|
||||
assert langAda -> gnatboot != null;
|
||||
assert langAda -> gnat-bootstrap != null;
|
||||
|
||||
# threadsCross is just for MinGW
|
||||
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
|
||||
@ -112,7 +112,7 @@ let majorVersion = "9";
|
||||
fetchurl
|
||||
gettext
|
||||
gmp
|
||||
gnatboot
|
||||
gnat-bootstrap
|
||||
gnused
|
||||
isl
|
||||
langAda
|
||||
|
@ -17,7 +17,7 @@
|
||||
, cloog ? null
|
||||
, isl ? null
|
||||
, zlib ? null
|
||||
, gnatboot ? null
|
||||
, gnat-bootstrap ? null
|
||||
, flex ? null
|
||||
, boehmgc ? null
|
||||
, zip ? null
|
||||
@ -51,7 +51,7 @@ in
|
||||
++ optionals (perl != null) [ perl ]
|
||||
++ optionals javaAwtGtk [ pkg-config ]
|
||||
++ optionals (with stdenv.targetPlatform; isVc4 || isRedox && flex != null) [ flex ]
|
||||
++ optionals langAda [ gnatboot ]
|
||||
++ optionals langAda [ gnat-bootstrap ]
|
||||
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
|
||||
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
|
||||
++ optionals buildPlatform.isDarwin [ gnused ]
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ lib, version, buildPlatform, hostPlatform, targetPlatform
|
||||
, gnatboot ? null
|
||||
, gnat-bootstrap ? null
|
||||
, langAda ? false
|
||||
, langJava ? false
|
||||
, langJit ? false
|
||||
@ -9,7 +9,7 @@
|
||||
}:
|
||||
|
||||
assert langJava -> lib.versionOlder version "7";
|
||||
assert langAda -> gnatboot != null; let
|
||||
assert langAda -> gnat-bootstrap != null; let
|
||||
needsLib
|
||||
= (lib.versionOlder version "7" && (langJava || langGo))
|
||||
|| (lib.versions.major version == "4" && lib.versions.minor version == "9" && targetPlatform.isDarwin);
|
||||
@ -21,13 +21,13 @@ in lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
|
||||
'' + lib.optionalString needsLib ''
|
||||
export lib=$out;
|
||||
'' + lib.optionalString langAda ''
|
||||
export PATH=${gnatboot}/bin:$PATH
|
||||
export PATH=${gnat-bootstrap}/bin:$PATH
|
||||
''
|
||||
|
||||
# On x86_64-darwin, the gnatboot bootstrap compiler that we need to build a
|
||||
# On x86_64-darwin, the gnat-bootstrap bootstrap compiler that we need to build a
|
||||
# native GCC with Ada support emits assembly that is accepted by the Clang
|
||||
# integrated assembler, but not by the GNU assembler in cctools-port that Nix
|
||||
# usually in the x86_64-darwin stdenv. In particular, x86_64-darwin gnatboot
|
||||
# usually in the x86_64-darwin stdenv. In particular, x86_64-darwin gnat-bootstrap
|
||||
# emits MOVQ as the mnemonic for quadword interunit moves, such as between XMM
|
||||
# and general registers (e.g "movq %xmm0, %rbp"); the cctools-port assembler,
|
||||
# however, only recognises MOVD for such moves.
|
||||
@ -35,7 +35,7 @@ in lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
|
||||
# Therefore, for native x86_64-darwin builds that support Ada, we have to use
|
||||
# the Clang integrated assembler to build (at least stage 1 of) GCC, but have to
|
||||
# target GCC at the cctools-port GNU assembler. In the wrapped x86_64-darwin
|
||||
# gnatboot, the former is provided as `as`, while the latter is provided as
|
||||
# gnat-bootstrap, the former is provided as `as`, while the latter is provided as
|
||||
# `gas`.
|
||||
#
|
||||
+ lib.optionalString (
|
||||
@ -45,8 +45,8 @@ in lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
|
||||
&& targetPlatform.isx86_64
|
||||
&& targetPlatform.isDarwin
|
||||
) ''
|
||||
export AS_FOR_BUILD=${gnatboot}/bin/as
|
||||
export AS_FOR_TARGET=${gnatboot}/bin/gas
|
||||
export AS_FOR_BUILD=${gnat-bootstrap}/bin/as
|
||||
export AS_FOR_TARGET=${gnat-bootstrap}/bin/gas
|
||||
''
|
||||
|
||||
# NOTE 2020/3/18: This environment variable prevents configure scripts from
|
||||
|
@ -38,7 +38,7 @@ let
|
||||
in with versionMap.${majorVersion};
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnatboot";
|
||||
pname = "gnat-bootstrap";
|
||||
inherit gccVersion alireRevision;
|
||||
|
||||
version = "${gccVersion}-${alireRevision}";
|
||||
@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
|
||||
cp -ar * $out/
|
||||
''
|
||||
|
||||
# So far with the Darwin gnatboot binary packages, there have been two
|
||||
# So far with the Darwin gnat-bootstrap binary packages, there have been two
|
||||
# types of dylib path references to other dylibs that need fixups:
|
||||
#
|
||||
# 1. Dylibs in $out/lib with paths starting with
|
@ -60,7 +60,7 @@ stdenv.mkDerivation {
|
||||
makeWrapper "${clang-unwrapped}/bin/clang" "$out/bin/${targetPrefix}as" \
|
||||
--add-flags "-x assembler -integrated-as -c"
|
||||
''
|
||||
# x86-64 Darwin gnatboot emits assembly
|
||||
# x86-64 Darwin gnat-bootstrap emits assembly
|
||||
# with MOVQ as the mnemonic for quadword interunit moves
|
||||
# such as `movq %rbp, %xmm0`.
|
||||
# The clang integrated assembler recognises this as valid,
|
||||
|
@ -570,6 +570,9 @@ mapAliases ({
|
||||
gmic-qt-krita = throw "gmic-qt-krita was removed as it's no longer supported upstream."; # Converted to throw 2023-02-02
|
||||
gmvault = throw "gmvault has been removed because it is unmaintained, mostly broken, and insecure"; # Added 2021-03-08
|
||||
gnash = throw "gnash has been removed; broken and abandoned upstream"; # added 2022-02-06
|
||||
gnatboot11 = gnat-bootstrap11;
|
||||
gnatboot12 = gnat-bootstrap12;
|
||||
gnatboot = gnat-bootstrap;
|
||||
gnome-breeze = throw "gnome-breeze has been removed, use libsForQt5.breeze-gtk instead"; # Added 2022-04-22
|
||||
gnome-firmware-updater = gnome-firmware; # added 2022-04-14
|
||||
gnome-passwordsafe = gnome-secrets; # added 2022-01-30
|
||||
|
@ -14990,10 +14990,10 @@ with pkgs;
|
||||
# As per upstream instructions building a cross compiler
|
||||
# should be done with a (native) compiler of the same version.
|
||||
# If we are cross-compiling GNAT, we may as well do the same.
|
||||
gnatboot =
|
||||
gnat-bootstrap =
|
||||
if stdenv.hostPlatform == stdenv.targetPlatform
|
||||
&& stdenv.buildPlatform == stdenv.hostPlatform
|
||||
then buildPackages.gnatboot11
|
||||
then buildPackages.gnat-bootstrap11
|
||||
else buildPackages.gnat11;
|
||||
});
|
||||
|
||||
@ -15006,24 +15006,24 @@ with pkgs;
|
||||
# As per upstream instructions building a cross compiler
|
||||
# should be done with a (native) compiler of the same version.
|
||||
# If we are cross-compiling GNAT, we may as well do the same.
|
||||
gnatboot =
|
||||
gnat-bootstrap =
|
||||
if stdenv.hostPlatform == stdenv.targetPlatform
|
||||
&& stdenv.buildPlatform == stdenv.hostPlatform
|
||||
then buildPackages.gnatboot12
|
||||
then buildPackages.gnat-bootstrap12
|
||||
else buildPackages.gnat12;
|
||||
stdenv =
|
||||
if stdenv.hostPlatform == stdenv.targetPlatform
|
||||
&& stdenv.buildPlatform == stdenv.hostPlatform
|
||||
&& stdenv.buildPlatform.isDarwin
|
||||
&& stdenv.buildPlatform.isx86_64
|
||||
then overrideCC stdenv gnatboot12
|
||||
then overrideCC stdenv gnat-bootstrap12
|
||||
else stdenv;
|
||||
});
|
||||
|
||||
gnatboot = gnatboot12;
|
||||
gnatboot11 = wrapCC (callPackage ../development/compilers/gnatboot { majorVersion = "11"; });
|
||||
gnatboot12 = wrapCCWith ({
|
||||
cc = callPackage ../development/compilers/gnatboot { majorVersion = "12"; };
|
||||
gnat-bootstrap = gnat-bootstrap12;
|
||||
gnat-bootstrap11 = wrapCC (callPackage ../development/compilers/gnat-bootstrap { majorVersion = "11"; });
|
||||
gnat-bootstrap12 = wrapCCWith ({
|
||||
cc = callPackage ../development/compilers/gnat-bootstrap { majorVersion = "12"; };
|
||||
} // lib.optionalAttrs (stdenv.hostPlatform.isDarwin) {
|
||||
bintools = bintoolsDualAs;
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user