feat: dynamic cross gcc support
This commit is contained in:
parent
5d8dc6e478
commit
d673904972
42 changed files with 1179 additions and 270 deletions
|
|
@ -53,10 +53,19 @@ in
|
|||
|
||||
script = lib.strings.concatMapSep "\n" (entry: entry.value) sorted.result;
|
||||
|
||||
executable = if system == "i686-linux" then
|
||||
"${foundation.stage2-bash}/bin/bash"
|
||||
else
|
||||
"${(lib.packages.build packages.foundation.bash.versions."5.2.15-stage1" "i686-linux" system system).package}/bin/bash";
|
||||
executable =
|
||||
if system == "i686-linux" then
|
||||
"${foundation.stage2-bash}/bin/bash"
|
||||
else if system == "x86_64-linux" then
|
||||
"${
|
||||
(lib.packages.build packages.foundation.bash.versions."5.2.15-stage1" "i686-linux" system system)
|
||||
.package
|
||||
}/bin/bash"
|
||||
else
|
||||
"${
|
||||
(lib.packages.build packages.foundation.bash.versions."5.2.15-stage1" "x86_64-linux" system system)
|
||||
.package
|
||||
}/bin/bash";
|
||||
|
||||
built = builtins.derivation (
|
||||
package.env
|
||||
|
|
@ -87,6 +96,13 @@ in
|
|||
(lib.packages.build packages.foundation.coreutils.versions."9.4-stage1" "i686-linux" system system)
|
||||
.package
|
||||
]
|
||||
++ lib.lists.when (system != "i686-linux" && system != "x86_64-linux") [
|
||||
(lib.packages.build packages.foundation.bash.versions."5.2.15-stage1" "x86_64-linux" system system)
|
||||
.package
|
||||
(lib.packages.build packages.foundation.coreutils.versions."9.4-stage1" "x86_64-linux" system
|
||||
system
|
||||
).package
|
||||
]
|
||||
);
|
||||
in
|
||||
builtins.concatStringsSep ":" (
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
package = packages.foundation.gnupatch.versions."2.7-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -32,6 +34,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -32,6 +32,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -43,17 +48,31 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
};
|
||||
host = {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
package = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -31,6 +33,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -81,6 +81,21 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "x86_64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -92,33 +107,54 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
bzip2 = packages.foundation.bzip2.versions."1.0.8-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
bzip2 = packages.foundation.bzip2.versions."1.0.8-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
bzip2 = packages.foundation.bzip2.versions."1.0.8-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
gcc =
|
||||
if isBootstrapped then
|
||||
packages.foundation.gcc.versions."13.2.0-bootstrap"
|
||||
else if isCross then
|
||||
packages.foundation.gcc.versions."13.2.0-stage2"
|
||||
else
|
||||
packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
|
||||
binutils =
|
||||
if isBootstrapped then
|
||||
packages.foundation.binutils.versions."2.41-bootstrap"
|
||||
else if isCross then
|
||||
packages.foundation.binutils.versions."2.41-stage1"
|
||||
else
|
||||
packages.foundation.binutils.versions."2.41-stage1";
|
||||
packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
package = packages.foundation.bzip2.versions."1.0.8-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -31,6 +33,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -35,6 +35,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -46,11 +51,19 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
package = packages.foundation.coreutils.versions."9.4-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -31,6 +33,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -42,6 +42,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -53,17 +58,31 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
package = packages.foundation.diffutils.versions."3.10-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -31,6 +33,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -42,18 +47,33 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
package = packages.foundation.findutils.versions."4.9.0-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -31,6 +33,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -42,18 +47,33 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
package = packages.foundation.gawk.versions."5.2.2-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -31,6 +33,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -42,18 +47,33 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
|
|
|
|||
|
|
@ -90,6 +90,11 @@ in
|
|||
host = "i686-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "x86_64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -128,22 +133,39 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
bzip2 = packages.foundation.bzip2.versions."1.0.8-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
};
|
||||
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
bzip2 = packages.foundation.bzip2.versions."1.0.8-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
bzip2 = packages.foundation.bzip2.versions."1.0.8-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
target = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -26,11 +26,17 @@ let
|
|||
../patches/libstdc++-target.patch
|
||||
];
|
||||
|
||||
ldLinux =
|
||||
if platform.target.double == "aarch64-linux" then
|
||||
"ld-linux-aarch64.so.1"
|
||||
else if platform.target.double == "x86_64-linux" then
|
||||
"ld-linux-x86-64.so.2"
|
||||
else
|
||||
"ld-linux.so.2";
|
||||
|
||||
gccFlags = [
|
||||
"-Wl,-dynamic-linker"
|
||||
"-Wl,${config.deps.target.target.glibc.package}/lib/ld-linux${
|
||||
lib.strings.when (platform.target.isx86 && platform.target.is64bit) "-x86-64"
|
||||
}.so.2"
|
||||
"-Wl,${config.deps.target.target.glibc.package}/lib/${ldLinux}"
|
||||
"-B${config.deps.target.target.glibc.package}/lib"
|
||||
];
|
||||
|
||||
|
|
@ -88,6 +94,11 @@ in
|
|||
host = "i686-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "x86_64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -126,21 +137,39 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
bzip2 = packages.foundation.bzip2.versions."1.0.8-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
bzip2 = packages.foundation.bzip2.versions."1.0.8-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
bzip2 = packages.foundation.bzip2.versions."1.0.8-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
target = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
|
|
@ -157,7 +186,7 @@ in
|
|||
env = {
|
||||
CC = "gcc -Wl,-dynamic-linker";
|
||||
CXX = "g++ -Wl,-dynamic-linker";
|
||||
CFLAGS_FOR_TARGET = "-Wl,-dynamic-linker -Wl,${config.deps.target.target.glibc.package}/lib/ld-linux-x86-64.so.2 -B${config.deps.target.target.glibc.package}/lib";
|
||||
CFLAGS_FOR_TARGET = "-Wl,-dynamic-linker -Wl,${config.deps.target.target.glibc.package}/lib/${ldLinux} -B${config.deps.target.target.glibc.package}/lib";
|
||||
LDFLAGS_FOR_TARGET = "-L$(pwd)/${platform.target.triple}/libgcc -L${config.deps.target.target.glibc.package}/lib";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,9 @@ let
|
|||
|
||||
package = packages.foundation.gcc.versions."13.2.0-stage3".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.target == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -32,6 +34,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -26,11 +26,17 @@ let
|
|||
../patches/libstdc++-target.patch
|
||||
];
|
||||
|
||||
ldLinux =
|
||||
if platform.target.double == "aarch64-linux" then
|
||||
"ld-linux-aarch64.so.1"
|
||||
else if platform.target.double == "x86_64-linux" then
|
||||
"ld-linux-x86-64.so.2"
|
||||
else
|
||||
"ld-linux.so.2";
|
||||
|
||||
gccFlags = [
|
||||
"-Wl,-dynamic-linker"
|
||||
"-Wl,${config.deps.host.host.glibc.package}/lib/ld-linux${
|
||||
lib.strings.when (platform.target.isx86 && platform.target.is64bit) "-x86-64"
|
||||
}.so.2"
|
||||
"-Wl,${config.deps.host.host.glibc.package}/lib/${ldLinux}"
|
||||
"-B${config.deps.host.host.glibc.package}/lib"
|
||||
];
|
||||
|
||||
|
|
@ -88,6 +94,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -126,20 +137,37 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
bzip2 = packages.foundation.bzip2.versions."1.0.8-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
bzip2 = packages.foundation.bzip2.versions."1.0.8-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
}
|
||||
else
|
||||
{
|
||||
bzip2 = packages.foundation.bzip2.versions."1.0.8-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
|
||||
host = {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
|
|
@ -158,7 +186,7 @@ in
|
|||
};
|
||||
|
||||
env = {
|
||||
CFLAGS_FOR_TARGET = "-Wl,-dynamic-linker -Wl,${config.deps.host.host.glibc.package}/lib/ld-linux-x86-64.so.2";
|
||||
CFLAGS_FOR_TARGET = "-Wl,-dynamic-linker -Wl,${config.deps.host.host.glibc.package}/lib/${ldLinux}";
|
||||
LIBRARY_PATH = "${config.deps.host.host.glibc.package}/lib";
|
||||
LDFLAGS_FOR_TARGET = "-L$(pwd)/${platform.target.triple}/libgcc -L${config.deps.host.host.glibc.package}/lib";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -22,11 +22,17 @@ let
|
|||
../patches/libstdc++-target.patch
|
||||
];
|
||||
|
||||
ldLinux =
|
||||
if platform.target.double == "aarch64-linux" then
|
||||
"ld-linux-aarch64.so.1"
|
||||
else if platform.target.double == "x86_64-linux" then
|
||||
"ld-linux-x86-64.so.2"
|
||||
else
|
||||
"ld-linux.so.2";
|
||||
|
||||
gccFlags = [
|
||||
"-Wl,-dynamic-linker"
|
||||
"-Wl,${config.deps.host.host.glibc.package}/lib/ld-linux${
|
||||
lib.strings.when (platform.target.isx86 && platform.target.is64bit) "-x86-64"
|
||||
}.so.2"
|
||||
"-Wl,${config.deps.host.host.glibc.package}/lib/${ldLinux}"
|
||||
"-B${config.deps.host.host.glibc.package}/lib"
|
||||
];
|
||||
|
||||
|
|
@ -80,6 +86,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -150,7 +161,7 @@ in
|
|||
};
|
||||
|
||||
env = {
|
||||
CFLAGS_FOR_TARGET = "-Wl,-dynamic-linker -Wl,${"${config.deps.host.host.glibc.package}/lib/ld-linux${lib.strings.when (platform.target.isx86 && platform.target.is64bit) "-x86-64"}.so.2"}";
|
||||
CFLAGS_FOR_TARGET = "-Wl,-dynamic-linker -Wl,${"${config.deps.host.host.glibc.package}/lib/${ldLinux}"}";
|
||||
LIBRARY_PATH = "${config.deps.host.host.glibc.package}/lib";
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
package = packages.foundation.glibc.versions."2.38-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -31,6 +33,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -42,25 +47,43 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
bzip2 = packages.foundation.bzip2.versions."1.0.8-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
python = packages.foundation.python.versions."3.12.0-bootstrap";
|
||||
bison = packages.foundation.bison.versions."3.8.2-bootstrap";
|
||||
linux-headers = packages.foundation.linux-headers.versions."6.5.6-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
bzip2 = packages.foundation.bzip2.versions."1.0.8-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
python = packages.foundation.python.versions."3.12.0-bootstrap";
|
||||
bison = packages.foundation.bison.versions."3.8.2-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
bzip2 = packages.foundation.bzip2.versions."1.0.8-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
python = packages.foundation.python.versions."3.12.0-stage1";
|
||||
bison = packages.foundation.bison.versions."3.8.2-stage1-passthrough";
|
||||
};
|
||||
host = {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage1";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
linux-headers = packages.foundation.linux-headers.versions."6.5.6-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -79,7 +102,7 @@ in
|
|||
--prefix=$out \
|
||||
--build=${platform.build.triple} \
|
||||
--host=${platform.host.triple} \
|
||||
--with-headers=${config.deps.build.build.linux-headers.package}/include \
|
||||
--with-headers=${config.deps.build.host.linux-headers.package}/include \
|
||||
--with-binutils=${config.deps.build.host.binutils.package}/${platform.target.triple}/bin
|
||||
'';
|
||||
|
||||
|
|
@ -91,7 +114,7 @@ in
|
|||
install = ''
|
||||
# Install
|
||||
make -j $NIX_BUILD_CORES install
|
||||
ln -sv $(ls -d ${config.deps.build.build.linux-headers.package}/include/* | grep -v scsi\$) $out/include/
|
||||
ln -sv $(ls -d ${config.deps.build.host.linux-headers.package}/include/* | grep -v scsi\$) $out/include/
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
package = packages.foundation.gnugrep.versions."3.11-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -31,6 +33,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -42,18 +47,33 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
package = packages.foundation.gnumake.versions."4.4.1-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -31,6 +33,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -36,6 +36,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -47,18 +52,34 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
package = packages.foundation.gnupatch.versions."2.7-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -31,6 +33,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -42,18 +47,34 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
package = packages.foundation.gnused.versions."4.9-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -31,6 +33,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -42,18 +47,33 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
package = packages.foundation.gnutar.versions."1.35-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -31,6 +33,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -42,18 +47,34 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
package = packages.foundation.gzip.versions."1.13-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -31,6 +33,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -42,18 +47,33 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
|
|
|
|||
|
|
@ -22,9 +22,14 @@ in
|
|||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
host = "i686-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "x86_64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -36,22 +41,41 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-bootstrap";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
gcc =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
packages.foundation.gcc.versions."13.2.0-bootstrap"
|
||||
else
|
||||
packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -66,7 +90,7 @@ in
|
|||
make -j $NIX_BUILD_CORES V=1 \
|
||||
"CC=$CC" \
|
||||
"HOSTCC=$CC" \
|
||||
ARCH=${platform.host.linux.arch} \
|
||||
ARCH=${platform.target.linux.arch} \
|
||||
headers
|
||||
'';
|
||||
|
||||
|
|
|
|||
|
|
@ -2,9 +2,11 @@
|
|||
{
|
||||
config.packages.foundation.python = {
|
||||
stable = config.packages.foundation.python.versions."3.12.0-bootstrap";
|
||||
latest = config.packages.foundation.python.versions."3.12.0-stage1";
|
||||
|
||||
versions = {
|
||||
"3.12.0-bootstrap" = ./versions/3.12.0-bootstrap.nix;
|
||||
"3.12.0-stage1" = ./versions/3.12.0-stage1.nix;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,108 @@
|
|||
From 5330b6af9f832af59aa5c61d9ef6971053a8e709 Mon Sep 17 00:00:00 2001
|
||||
From: Jonathan Ringer <jonringer117@gmail.com>
|
||||
Date: Mon, 9 Nov 2020 10:24:35 -0800
|
||||
Subject: [PATCH] CPython: Don't use ldconfig
|
||||
|
||||
---
|
||||
Lib/ctypes/util.py | 77 ++--------------------------------------------
|
||||
1 file changed, 2 insertions(+), 75 deletions(-)
|
||||
|
||||
diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
|
||||
index 0c2510e161..7fb98af308 100644
|
||||
--- a/Lib/ctypes/util.py
|
||||
+++ b/Lib/ctypes/util.py
|
||||
@@ -100,53 +100,7 @@ def _is_elf(filename):
|
||||
return thefile.read(4) == elf_header
|
||||
|
||||
def _findLib_gcc(name):
|
||||
- # Run GCC's linker with the -t (aka --trace) option and examine the
|
||||
- # library name it prints out. The GCC command will fail because we
|
||||
- # haven't supplied a proper program with main(), but that does not
|
||||
- # matter.
|
||||
- expr = os.fsencode(r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name))
|
||||
-
|
||||
- c_compiler = shutil.which('gcc')
|
||||
- if not c_compiler:
|
||||
- c_compiler = shutil.which('cc')
|
||||
- if not c_compiler:
|
||||
- # No C compiler available, give up
|
||||
- return None
|
||||
-
|
||||
- temp = tempfile.NamedTemporaryFile()
|
||||
- try:
|
||||
- args = [c_compiler, '-Wl,-t', '-o', temp.name, '-l' + name]
|
||||
-
|
||||
- env = dict(os.environ)
|
||||
- env['LC_ALL'] = 'C'
|
||||
- env['LANG'] = 'C'
|
||||
- try:
|
||||
- proc = subprocess.Popen(args,
|
||||
- stdout=subprocess.PIPE,
|
||||
- stderr=subprocess.STDOUT,
|
||||
- env=env)
|
||||
- except OSError: # E.g. bad executable
|
||||
- return None
|
||||
- with proc:
|
||||
- trace = proc.stdout.read()
|
||||
- finally:
|
||||
- try:
|
||||
- temp.close()
|
||||
- except FileNotFoundError:
|
||||
- # Raised if the file was already removed, which is the normal
|
||||
- # behaviour of GCC if linking fails
|
||||
- pass
|
||||
- res = re.findall(expr, trace)
|
||||
- if not res:
|
||||
- return None
|
||||
-
|
||||
- for file in res:
|
||||
- # Check if the given file is an elf file: gcc can report
|
||||
- # some files that are linker scripts and not actual
|
||||
- # shared objects. See bpo-41976 for more details
|
||||
- if not _is_elf(file):
|
||||
- continue
|
||||
- return os.fsdecode(file)
|
||||
+ return None
|
||||
|
||||
|
||||
if sys.platform == "sunos5":
|
||||
@@ -268,34 +222,7 @@ def find_library(name, is64 = False):
|
||||
else:
|
||||
|
||||
def _findSoname_ldconfig(name):
|
||||
- import struct
|
||||
- if struct.calcsize('l') == 4:
|
||||
- machine = os.uname().machine + '-32'
|
||||
- else:
|
||||
- machine = os.uname().machine + '-64'
|
||||
- mach_map = {
|
||||
- 'x86_64-64': 'libc6,x86-64',
|
||||
- 'ppc64-64': 'libc6,64bit',
|
||||
- 'sparc64-64': 'libc6,64bit',
|
||||
- 's390x-64': 'libc6,64bit',
|
||||
- 'ia64-64': 'libc6,IA-64',
|
||||
- }
|
||||
- abi_type = mach_map.get(machine, 'libc6')
|
||||
-
|
||||
- # XXX assuming GLIBC's ldconfig (with option -p)
|
||||
- regex = r'\s+(lib%s\.[^\s]+)\s+\(%s'
|
||||
- regex = os.fsencode(regex % (re.escape(name), abi_type))
|
||||
- try:
|
||||
- with subprocess.Popen(['/sbin/ldconfig', '-p'],
|
||||
- stdin=subprocess.DEVNULL,
|
||||
- stderr=subprocess.DEVNULL,
|
||||
- stdout=subprocess.PIPE,
|
||||
- env={'LC_ALL': 'C', 'LANG': 'C'}) as p:
|
||||
- res = re.search(regex, p.stdout.read())
|
||||
- if res:
|
||||
- return os.fsdecode(res.group(1))
|
||||
- except OSError:
|
||||
- pass
|
||||
+ return None
|
||||
|
||||
def _findLib_ld(name):
|
||||
# See issue #9998 for why this is needed
|
||||
--
|
||||
2.33.1
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,161 @@
|
|||
{ config, global }:
|
||||
|
||||
let
|
||||
inherit (global)
|
||||
lib
|
||||
packages
|
||||
builders
|
||||
mirrors
|
||||
;
|
||||
inherit (global.internal.packages) foundation;
|
||||
|
||||
version = lib.strings.removeSuffix "-stage1" config.version;
|
||||
|
||||
platform = {
|
||||
build = lib.systems.withBuildInfo config.platform.build;
|
||||
host = lib.systems.withBuildInfo config.platform.host;
|
||||
target = lib.systems.withBuildInfo config.platform.target;
|
||||
};
|
||||
|
||||
patches = [
|
||||
../patches/no-ldconfig.patch
|
||||
];
|
||||
in
|
||||
{
|
||||
config = {
|
||||
meta = {
|
||||
description = "A high-level dynamically-typed programming language.";
|
||||
homepage = "https://www.python.org";
|
||||
license = lib.licenses.psfl;
|
||||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
||||
src = builtins.fetchurl {
|
||||
url = "https://www.python.org/ftp/python/${version}/Python-${version}.tar.xz";
|
||||
sha256 = "eVw09E30Wg6blxDIxxwVxnGHFSTNQSyhTe8hLozLFV0=";
|
||||
};
|
||||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnupatch = packages.foundation.gnupatch.versions."2.7-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
diffutils = packages.foundation.diffutils.versions."3.10-stage1-passthrough";
|
||||
findutils = packages.foundation.findutils.versions."4.9.0-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
zlib = packages.foundation.zlib.versions."1.3-stage1";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
env = {
|
||||
C_INCLUDE_PATH = "${config.deps.build.build.zlib.package}/include";
|
||||
LIBRARY_PATH = "${config.deps.build.build.zlib.package}/lib";
|
||||
LD_LIBRARY_PATH = "${config.deps.build.build.zlib.package}/lib";
|
||||
};
|
||||
|
||||
phases = {
|
||||
unpack = ''
|
||||
# Unpack
|
||||
tar xf ${config.src}
|
||||
cd Python-${version}
|
||||
'';
|
||||
|
||||
patch = ''
|
||||
# Patch
|
||||
${lib.strings.concatMapSep "\n" (file: "patch -Np1 -i ${file}") patches}
|
||||
'';
|
||||
|
||||
configure = ''
|
||||
bash ./configure \
|
||||
--prefix=$out \
|
||||
--build=${platform.build.triple} \
|
||||
--host=${platform.host.triple}
|
||||
'';
|
||||
|
||||
build = ''
|
||||
# Build
|
||||
make -j $NIX_BUILD_CORES
|
||||
'';
|
||||
|
||||
install = ''
|
||||
# Install
|
||||
make -j $NIX_BUILD_CORES install
|
||||
'';
|
||||
};
|
||||
|
||||
# package =
|
||||
# let
|
||||
# patches = [
|
||||
# # Disable the use of ldconfig in ctypes.util.find_library (since
|
||||
# # ldconfig doesn't work on NixOS), and don't use
|
||||
# # ctypes.util.find_library during the loading of the uuid module
|
||||
# # (since it will do a futile invocation of gcc (!) to find
|
||||
# # libuuid, slowing down program startup a lot).
|
||||
# ./patches/no-ldconfig.patch
|
||||
# ];
|
||||
# in
|
||||
# builders.bash.build {
|
||||
# name = "python-${cfg.version}";
|
||||
# meta = cfg.meta;
|
||||
|
||||
# deps.build.host = [
|
||||
# stage1.gcc.package
|
||||
# stage1.musl.package
|
||||
# stage1.binutils.package
|
||||
# stage1.gnumake.package
|
||||
# stage1.gnupatch.package
|
||||
# stage1.gnused.package
|
||||
# stage1.gnugrep.package
|
||||
# stage1.gawk.package
|
||||
# stage1.diffutils.package
|
||||
# stage1.findutils.package
|
||||
# stage1.gnutar.package
|
||||
# stage1.xz.package
|
||||
# ];
|
||||
|
||||
# script = ''
|
||||
# # Unpack
|
||||
# tar xf ${cfg.src}
|
||||
# cd Python-${cfg.version}
|
||||
|
||||
# # Patch
|
||||
# ${lib.strings.concatMapSep "\n" (file: "patch -Np1 -i ${file}") patches}
|
||||
|
||||
# # Configure
|
||||
# export CC=musl-gcc
|
||||
# export C_INCLUDE_PATH="${stage1.zlib.package}/include"
|
||||
# export LIBRARY_PATH="${stage1.zlib.package}/lib"
|
||||
# export LD_LIBRARY_PATH="$LIBRARY_PATH"
|
||||
# bash ./configure \
|
||||
# --prefix=$out \
|
||||
# --build=${platform.build} \
|
||||
# --host=${platform.host}
|
||||
|
||||
# # Build
|
||||
# make -j $NIX_BUILD_CORES
|
||||
|
||||
# # Install
|
||||
# make -j $NIX_BUILD_CORES install
|
||||
# '';
|
||||
# };
|
||||
};
|
||||
}
|
||||
|
|
@ -11,7 +11,9 @@ let
|
|||
|
||||
package = packages.foundation.xz.versions."5.4.3-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -34,6 +36,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "aarch64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.passthrough.extend {
|
||||
|
|
|
|||
|
|
@ -34,6 +34,11 @@ in
|
|||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "aarch64-linux";
|
||||
target = "aarch64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
|
@ -45,15 +50,27 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
};
|
||||
build =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-bootstrap";
|
||||
gnused = packages.foundation.gnused.versions."4.9-bootstrap";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-bootstrap";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gawk = packages.foundation.gawk.versions."5.2.2-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
|
|
|
|||
|
|
@ -2,9 +2,11 @@
|
|||
{
|
||||
config.packages.foundation.zlib = {
|
||||
stable = config.packages.foundation.zlib.versions."1.3-bootstrap";
|
||||
latest = config.packages.foundation.zlib.versions."1.3-stage1";
|
||||
|
||||
versions = {
|
||||
"1.3-bootstrap" = ./versions/1.3-bootstrap.nix;
|
||||
"1.3-stage1" = ./versions/1.3-stage1.nix;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,84 @@
|
|||
{ config, global }:
|
||||
|
||||
let
|
||||
inherit (global)
|
||||
lib
|
||||
packages
|
||||
builders
|
||||
mirrors
|
||||
;
|
||||
inherit (global.internal.packages) foundation;
|
||||
|
||||
version = lib.strings.removeSuffix "-stage1" config.version;
|
||||
|
||||
platform = {
|
||||
build = lib.systems.withBuildInfo config.platform.build;
|
||||
host = lib.systems.withBuildInfo config.platform.host;
|
||||
target = lib.systems.withBuildInfo config.platform.target;
|
||||
};
|
||||
in
|
||||
{
|
||||
config = {
|
||||
meta = {
|
||||
description = "Lossless data-compression library.";
|
||||
homepage = "https://zlib.net";
|
||||
license = lib.licenses.zlib;
|
||||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "x86_64-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.basic;
|
||||
|
||||
src = builtins.fetchurl {
|
||||
url = "https://github.com/madler/zlib/releases/download/v${version}/zlib-${version}.tar.xz";
|
||||
sha256 = "ipuiiY4dDXdOymultGJ6EeVYi6hciFEzbrON5GgwUKc=";
|
||||
};
|
||||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
gnumake = packages.foundation.gnumake.versions."4.4.1-stage1-passthrough";
|
||||
gnused = packages.foundation.gnused.versions."4.9-stage1-passthrough";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-stage1-passthrough";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
phases = {
|
||||
unpack = ''
|
||||
# Unpack
|
||||
tar xf ${config.src}
|
||||
cd zlib-${version}
|
||||
'';
|
||||
|
||||
configure = ''
|
||||
# Configure
|
||||
bash ./configure \
|
||||
--prefix=$out
|
||||
'';
|
||||
|
||||
build = ''
|
||||
# Build
|
||||
make -j $NIX_BUILD_CORES
|
||||
'';
|
||||
|
||||
install = ''
|
||||
# Install
|
||||
make -j $NIX_BUILD_CORES install
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue