forked from auxolotl/labs
refactor: fix cross compiling packages (#23)
A lot of misc fixes to foundation packages to better support cross compiling - Reduce number of gcc stages - Fix cross compile hooks for gcc, no overrides necessary in stage3 anymore - Add hooks to zlib - Fix compiliation for `i686-linux.i686-linux.i686-linux` Depends on auxolotl/labs#20 Reviewed-on: auxolotl/labs#23 Co-authored-by: Victor Fuentes <vlinkz@snowflakeos.org> Co-committed-by: Victor Fuentes <vlinkz@snowflakeos.org>
This commit is contained in:
parent
0ae450a116
commit
9477da5166
51 changed files with 1028 additions and 634 deletions
|
|
@ -10,7 +10,12 @@ let
|
|||
package = packages.foundation.bash.versions."5.2.15-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
|
|
@ -26,7 +31,10 @@ in
|
|||
main = "/bin/bash";
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -26,6 +26,9 @@ in
|
|||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
|
|
@ -57,6 +60,8 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -69,18 +74,15 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
host = {
|
||||
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
|
||||
host = {
|
||||
host = {
|
||||
coreutils = packages.foundation.coreutils.versions."9.4-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
phases = {
|
||||
|
|
@ -90,15 +92,26 @@ in
|
|||
cd bash-${version}
|
||||
'';
|
||||
|
||||
configure = ''
|
||||
# Configure
|
||||
bash ./configure \
|
||||
--prefix=$out \
|
||||
--build=${platform.build.triple} \
|
||||
--host=${platform.host.triple} \
|
||||
--enable-static-link \
|
||||
bash_cv_func_strtoimax=y \
|
||||
'';
|
||||
configure =
|
||||
let
|
||||
flags = builtins.concatStringsSep " " (
|
||||
[
|
||||
"--prefix=$out"
|
||||
"--build=${platform.build.triple}"
|
||||
"--host=${platform.host.triple}"
|
||||
"--enable-static-link"
|
||||
]
|
||||
++ lib.lists.when (config.platform.host == "i686-linux") [
|
||||
"--without-bash-malloc"
|
||||
]
|
||||
);
|
||||
in
|
||||
''
|
||||
# Configure
|
||||
bash ./configure \
|
||||
${flags} \
|
||||
bash_cv_func_strtoimax=y
|
||||
'';
|
||||
|
||||
build = ''
|
||||
# Build
|
||||
|
|
@ -113,6 +126,5 @@ in
|
|||
ln -s $out/bin/bash $out/bin/sh
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ let
|
|||
package = packages.foundation.binutils.versions."2.41-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
|
|
@ -25,7 +30,16 @@ in
|
|||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = [
|
||||
{
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
}
|
||||
{
|
||||
build = "@linux";
|
||||
target = "@linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -14,47 +14,35 @@ let
|
|||
target = lib.systems.withBuildInfo config.platform.target;
|
||||
};
|
||||
|
||||
isBuildBootstrapped = platform.build.double == "i686-linux";
|
||||
isHostBootstrapped = platform.host.double == "i686-linux";
|
||||
|
||||
isBootstrapped = isBuildBootstrapped && isHostBootstrapped;
|
||||
|
||||
isCross =
|
||||
platform.build.double != platform.host.double && platform.host.double == platform.target.double;
|
||||
|
||||
version = lib.strings.removeSuffix "-stage1" config.version;
|
||||
|
||||
patches = [
|
||||
../patches/2.41-deterministic.patch
|
||||
];
|
||||
|
||||
configureFlags =
|
||||
lib.lists.when (!isCross) [
|
||||
"LDFLAGS=--static"
|
||||
]
|
||||
++ [
|
||||
"--prefix=${builtins.placeholder "out"}"
|
||||
"--build=${platform.build.triple}"
|
||||
"--host=${platform.host.triple}"
|
||||
"--target=${platform.target.triple}"
|
||||
configureFlags = [
|
||||
"--prefix=${builtins.placeholder "out"}"
|
||||
"--build=${platform.build.triple}"
|
||||
"--host=${platform.host.triple}"
|
||||
"--target=${platform.target.triple}"
|
||||
|
||||
"--with-sysroot=/"
|
||||
"--enable-deterministic-archives"
|
||||
# depends on bison
|
||||
"--disable-gprofng"
|
||||
"--with-sysroot=/"
|
||||
"--enable-deterministic-archives"
|
||||
# depends on bison
|
||||
"--disable-gprofng"
|
||||
|
||||
# Turn on --enable-new-dtags by default to make the linker set
|
||||
# RUNPATH instead of RPATH on binaries. This is important because
|
||||
# RUNPATH can be overridden using LD_LIBRARY_PATH at runtime.
|
||||
"--enable-new-dtags"
|
||||
# Turn on --enable-new-dtags by default to make the linker set
|
||||
# RUNPATH instead of RPATH on binaries. This is important because
|
||||
# RUNPATH can be overridden using LD_LIBRARY_PATH at runtime.
|
||||
"--enable-new-dtags"
|
||||
|
||||
# By default binutils searches $libdir for libraries. This brings in
|
||||
# libbfd and libopcodes into a default visibility. Drop default lib
|
||||
# path to force users to declare their use of these libraries.
|
||||
"--with-lib-path=:"
|
||||
# By default binutils searches $libdir for libraries. This brings in
|
||||
# libbfd and libopcodes into a default visibility. Drop default lib
|
||||
# path to force users to declare their use of these libraries.
|
||||
"--with-lib-path=:"
|
||||
|
||||
"--disable-multilib"
|
||||
];
|
||||
"--disable-multilib"
|
||||
];
|
||||
in
|
||||
{
|
||||
config = {
|
||||
|
|
@ -66,13 +54,17 @@ in
|
|||
|
||||
platforms = [
|
||||
{
|
||||
build = "@linux";
|
||||
target = "@linux";
|
||||
build = "i686-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "@linux";
|
||||
build = "x86_64-linux";
|
||||
host = "@linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
target = "@linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.foundation.basic;
|
||||
|
|
@ -98,6 +90,7 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
|
|
@ -113,25 +106,13 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
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-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-passthrough";
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -9,7 +9,14 @@ let
|
|||
|
||||
package = packages.foundation.bison.versions."3.8.2-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -23,12 +30,17 @@ in
|
|||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
platforms.build = "x86_64-linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
derivation = package.package;
|
||||
};
|
||||
};
|
||||
|
||||
hooks = package.hooks;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,10 +24,19 @@ in
|
|||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
platforms = {
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
};
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "@linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.foundation.basic;
|
||||
|
||||
|
|
@ -38,29 +47,41 @@ 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";
|
||||
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";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
gnum4 = packages.foundation.gnum4.versions."1.4.19-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";
|
||||
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";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
gnum4 = packages.foundation.gnum4.versions."1.4.19-bootstrap";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-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";
|
||||
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";
|
||||
xz = packages.foundation.xz.versions."5.4.3-stage1-passthrough";
|
||||
gnum4 = packages.foundation.gnum4.versions."1.4.19-stage1-passthrough";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
|
||||
host = {
|
||||
host = {
|
||||
glibc = packages.foundation.glibc.versions."2.38-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
phases = {
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ let
|
|||
package = packages.foundation.bzip2.versions."1.0.8-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
|
|
@ -25,7 +30,10 @@ in
|
|||
license = lib.licenses.bsdOriginal;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -28,6 +28,9 @@ in
|
|||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
|
|
@ -53,17 +56,21 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -75,17 +82,27 @@ in
|
|||
cd bzip2-${version}
|
||||
'';
|
||||
|
||||
build = ''
|
||||
# Build
|
||||
make \
|
||||
-j $NIX_BUILD_CORES \
|
||||
CC="$CC" \
|
||||
AR="${config.deps.build.host.binutils.package}/bin/${prefix}ar" \
|
||||
RANLIB="${config.deps.build.host.binutils.package}/bin/${prefix}ranlib" \
|
||||
STRIP="${config.deps.build.host.binutils.package}/bin/${prefix}strip" \
|
||||
NM="${config.deps.build.host.binutils.package}/bin/${prefix}nm" \
|
||||
bzip2 bzip2recover
|
||||
'';
|
||||
build =
|
||||
let
|
||||
flags = builtins.concatStringsSep " " (
|
||||
[
|
||||
"CC=\"$CC\""
|
||||
]
|
||||
++ lib.lists.when (config.platform.build != config.platform.host) [
|
||||
"AR=\"${config.deps.build.host.binutils.package}/bin/${prefix}ar\""
|
||||
"RANLIB=\"${config.deps.build.host.binutils.package}/bin/${prefix}ranlib\""
|
||||
"STRIP=\"${config.deps.build.host.binutils.package}/bin/${prefix}strip\""
|
||||
"NM=\"${config.deps.build.host.binutils.package}/bin/${prefix}nm\""
|
||||
]
|
||||
);
|
||||
in
|
||||
''
|
||||
# Build
|
||||
make \
|
||||
-j $NIX_BUILD_CORES \
|
||||
${flags} \
|
||||
bzip2 bzip2recover
|
||||
'';
|
||||
|
||||
install = ''
|
||||
# Install
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ let
|
|||
package = packages.foundation.coreutils.versions."9.4-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
|
|
@ -25,7 +30,10 @@ in
|
|||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -32,6 +32,9 @@ in
|
|||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
|
|
@ -63,6 +66,8 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -75,9 +80,11 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ let
|
|||
package = packages.foundation.diffutils.versions."3.10-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
|
|
@ -25,7 +30,10 @@ in
|
|||
license = lib.licenses.gpl3Only;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,9 @@ in
|
|||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
|
|
@ -57,6 +60,8 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -70,11 +75,13 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ let
|
|||
package = packages.foundation.findutils.versions."4.9.0-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
|
|
@ -25,7 +30,10 @@ in
|
|||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,9 @@ in
|
|||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
|
|
@ -57,6 +60,8 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -70,11 +75,13 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ let
|
|||
package = packages.foundation.gawk.versions."5.2.2-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
|
|
@ -25,7 +30,10 @@ in
|
|||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,9 @@ in
|
|||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
|
|
@ -57,6 +60,8 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -70,11 +75,13 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -8,17 +8,16 @@
|
|||
{
|
||||
config.packages.foundation.gcc = {
|
||||
stable = config.packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
latest = config.packages.foundation.gcc.versions."13.2.0-stage5";
|
||||
latest = config.packages.foundation.gcc.versions."13.2.0-passthrough";
|
||||
|
||||
versions = {
|
||||
"13.2.0-stage5" = ./versions/13.2.0-stage5.nix;
|
||||
"13.2.0-stage4" = ./versions/13.2.0-stage4.nix;
|
||||
"13.2.0-bootstrap" = ./versions/13.2.0-bootstrap.nix;
|
||||
"13.2.0-passthrough" = ./versions/13.2.0-passthrough.nix;
|
||||
"13.2.0-stage1" = ./versions/13.2.0-stage1.nix;
|
||||
"13.2.0-stage2" = ./versions/13.2.0-stage2.nix;
|
||||
"13.2.0-stage3-passthrough" = ./versions/13.2.0-stage3-passthrough.nix;
|
||||
"13.2.0-stage3" = ./versions/13.2.0-stage3.nix;
|
||||
"13.2.0-stage2" = ./versions/13.2.0-stage2.nix;
|
||||
"13.2.0-stage1" = ./versions/13.2.0-stage1.nix;
|
||||
"13.2.0-stage0" = ./versions/13.2.0-stage0.nix;
|
||||
"13.2.0-bootstrap" = ./versions/13.2.0-bootstrap.nix;
|
||||
"13.2.0-stage4" = ./versions/13.2.0-stage4.nix;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,11 @@ let
|
|||
builders
|
||||
;
|
||||
inherit (global.internal.packages) foundation;
|
||||
|
||||
gccFlags = [
|
||||
"-Wl,-dynamic-linker=${foundation.stage1-musl}/lib/libc.so"
|
||||
"-B${foundation.stage1-musl}/lib"
|
||||
];
|
||||
in
|
||||
{
|
||||
config = {
|
||||
|
|
@ -25,12 +30,18 @@ in
|
|||
|
||||
hooks = ctx: {
|
||||
"aux:gcc:env" = lib.dag.entry.before [ "unpack" ] ''
|
||||
export CC='gcc -Wl,-dynamic-linker -Wl,${foundation.stage1-musl}/lib/libc.so -B${foundation.stage1-musl}/lib'
|
||||
export CXX='g++ -Wl,-dynamic-linker -Wl,${foundation.stage1-musl}/lib/libc.so -B${foundation.stage1-musl}/lib'
|
||||
export CC_FOR_TARGET=$CC
|
||||
export CXX_FOR_TARGET=$CXX
|
||||
export CC_FOR_BUILD=$CC
|
||||
export CXX_FOR_BUILD=$CXX
|
||||
export CC='${foundation.stage2-gcc}/bin/gcc ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.host."foundation:cflags")
|
||||
}'
|
||||
export CXX='${foundation.stage2-gcc}/bin/g++ ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.host."foundation:cflags")
|
||||
}'
|
||||
export CC_FOR_BUILD='${foundation.stage2-gcc}/bin/gcc ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.build."foundation:cflags")
|
||||
}'
|
||||
export CXX_FOR_BUILD='${foundation.stage2-gcc}/bin/g++ ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.build."foundation:cflags")
|
||||
}'
|
||||
alias gcc='$CC'
|
||||
alias g++='$CXX'
|
||||
'';
|
||||
|
|
|
|||
|
|
@ -37,6 +37,18 @@ in
|
|||
{
|
||||
build = "@linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "@linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
target = "@linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "@linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
target = "@linux";
|
||||
|
|
@ -1,201 +0,0 @@
|
|||
# gcc-bootstrap-glibc
|
||||
{ config, global }:
|
||||
|
||||
let
|
||||
inherit (global)
|
||||
lib
|
||||
packages
|
||||
builders
|
||||
mirrors
|
||||
;
|
||||
|
||||
version = lib.strings.removeSuffix "-stage0" 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/libstdc++-target.patch
|
||||
];
|
||||
|
||||
gccFlags = [
|
||||
"-Wl,-dynamic-linker"
|
||||
"-Wl,${config.deps.target.target.glibc.dynamicLinker}"
|
||||
"-B${config.deps.target.target.glibc.package}/lib"
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
"--prefix=${builtins.placeholder "out"}"
|
||||
"--build=${platform.build.triple}"
|
||||
"--host=${platform.host.triple}"
|
||||
"--target=${platform.target.triple}"
|
||||
"--enable-languages=c,c++"
|
||||
"--disable-lto"
|
||||
"--disable-bootstrap"
|
||||
"--disable-libsanitizer"
|
||||
"--disable-multilib"
|
||||
"--with-build-sysroot=/"
|
||||
"--with-native-system-header-dir=${config.deps.target.target.glibc.package}/include"
|
||||
];
|
||||
in
|
||||
{
|
||||
options = {
|
||||
gmp.version = lib.options.create {
|
||||
type = lib.types.string;
|
||||
description = "Version of gmp.";
|
||||
};
|
||||
|
||||
mpfr.version = lib.options.create {
|
||||
type = lib.types.string;
|
||||
description = "Version of mpfr.";
|
||||
};
|
||||
|
||||
mpc.version = lib.options.create {
|
||||
type = lib.types.string;
|
||||
description = "Version of mpc.";
|
||||
};
|
||||
|
||||
isl.version = lib.options.create {
|
||||
type = lib.types.string;
|
||||
description = "Version of isl.";
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
meta = {
|
||||
description = "GNU Compiler Collection.";
|
||||
homepage = "https://gcc.gnu.org";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
platforms.build = "i686-linux";
|
||||
|
||||
builder = builders.foundation.basic;
|
||||
|
||||
gmp.version = "6.3.0";
|
||||
mpfr.version = "4.2.1";
|
||||
mpc.version = "1.3.1";
|
||||
isl.version = "0.24";
|
||||
|
||||
src = {
|
||||
gcc = lib.fetchurl {
|
||||
url = "${mirrors.gnu}/gcc/gcc-${version}/gcc-${version}.tar.xz";
|
||||
hash = "sha256-4nXnZEKmBnNBon8Exca4PYYTFEAEwEE1KIY9xrXHQ9o=";
|
||||
};
|
||||
|
||||
gmp = lib.fetchurl {
|
||||
url = "${mirrors.gnu}/gmp/gmp-${config.gmp.version}.tar.xz";
|
||||
hash = "sha256-o8K4AgG4nmhhb0rTC8Zq7kknw85Q4zkpyoGdXENTiJg=";
|
||||
};
|
||||
|
||||
mpfr = lib.fetchurl {
|
||||
url = "${mirrors.gnu}/mpfr/mpfr-${config.mpfr.version}.tar.xz";
|
||||
hash = "sha256-J3gHNTpnJpeJlpRa8T5Sgp46vXqaW3+yeTiU4Y8fy7I=";
|
||||
};
|
||||
|
||||
mpc = lib.fetchurl {
|
||||
url = "${mirrors.gnu}/mpc/mpc-${config.mpc.version}.tar.gz";
|
||||
hash = "sha256-q2QkkvXPiCt0qgy3MM1BCoHtzb7IlRg86TDnBsHHWbg=";
|
||||
};
|
||||
|
||||
isl = lib.fetchurl {
|
||||
url = "https://gcc.gnu.org/pub/gcc/infrastructure/isl-${config.isl.version}.tar.bz2";
|
||||
hash = "sha256-/PeN2WVsEOuM+fvV9ZoLawE4YgX+GTSzsoegoYmBRcA=";
|
||||
};
|
||||
};
|
||||
|
||||
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-bootstrap";
|
||||
};
|
||||
|
||||
host = {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
};
|
||||
};
|
||||
|
||||
target = {
|
||||
target = {
|
||||
glibc = packages.foundation.glibc.versions."2.38-bootstrap";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
env = {
|
||||
CFLAGS_FOR_TARGET = "-Wl,-dynamic-linker -Wl,${config.deps.target.target.glibc.dynamicLinker} -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";
|
||||
LIBRARY_PATH = "${config.deps.target.target.glibc.package}/lib";
|
||||
};
|
||||
|
||||
hooks = ctx: {
|
||||
"aux:gcc:env" = lib.dag.entry.between [ "unpack" ] [ "configure" ] ''
|
||||
export CC='${config.package}/bin/gcc ${builtins.concatStringsSep " " gccFlags}'
|
||||
export CXX='${config.package}/bin/g++ ${builtins.concatStringsSep " " gccFlags}'
|
||||
export CC_FOR_TARGET=$CC
|
||||
export CXX_FOR_TARGET=$CXX
|
||||
export CC_FOR_BUILD=$CC
|
||||
export CXX_FOR_BUILD=$CXX
|
||||
alias gcc='$CC'
|
||||
alias g++='$CXX'
|
||||
'';
|
||||
};
|
||||
|
||||
phases = {
|
||||
unpack = ''
|
||||
# Unpack
|
||||
tar xf ${config.src.gcc}
|
||||
tar xf ${config.src.gmp}
|
||||
tar xf ${config.src.mpfr}
|
||||
tar xf ${config.src.mpc}
|
||||
tar xf ${config.src.isl}
|
||||
cd gcc-${version}
|
||||
|
||||
ln -s ../gmp-${config.gmp.version} gmp
|
||||
ln -s ../mpfr-${config.mpfr.version} mpfr
|
||||
ln -s ../mpc-${config.mpc.version} mpc
|
||||
ln -s ../isl-${config.isl.version} isl
|
||||
'';
|
||||
|
||||
patch = ''
|
||||
${lib.strings.concatMapSep "\n" (file: "patch -Np1 -i ${file}") patches}
|
||||
'';
|
||||
|
||||
configure = ''
|
||||
# Configure
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
bash ../configure ${builtins.concatStringsSep " " configureFlags}
|
||||
'';
|
||||
|
||||
build = ''
|
||||
# Build
|
||||
make -j $NIX_BUILD_CORES V=1
|
||||
'';
|
||||
|
||||
install = ''
|
||||
# Install
|
||||
${lib.strings.when (platform.host.is64bit) ''
|
||||
mkdir -p $out/lib
|
||||
ln -s lib $out/lib64
|
||||
''}
|
||||
make -j $NIX_BUILD_CORES install
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -170,13 +170,20 @@ in
|
|||
};
|
||||
|
||||
hooks = ctx: {
|
||||
"aux:gcc:env" = lib.dag.entry.before [ "unpack" "configure" "build" "install" ] ''
|
||||
export CC='${config.package}/bin/${prefix}gcc'
|
||||
export CXX='${config.package}/bin/${prefix}g++'
|
||||
export CC_FOR_TARGET=$CC
|
||||
export CXX_FOR_TARGET=$CXX
|
||||
export CC_FOR_BUILD=$CC
|
||||
export CXX_FOR_BUILD=$CXX
|
||||
# Explicitly don't set CC_FOR_BUILD
|
||||
"aux:gcc-cross:env" = lib.dag.entry.between [ "aux:gcc:env" ] [ "configure" ] ''
|
||||
export CC='${config.package}/bin/${prefix}gcc ${
|
||||
builtins.concatStringsSep " " (ctx.host."foundation:cflags")
|
||||
}'
|
||||
export CXX='${config.package}/bin/${prefix}g++ ${
|
||||
builtins.concatStringsSep " " (ctx.host."foundation:cflags")
|
||||
}'
|
||||
export CC_FOR_TARGET='${config.package}/bin/${prefix}gcc ${
|
||||
builtins.concatStringsSep " " (ctx.target."foundation:cflags")
|
||||
}'
|
||||
export CXX_FOR_TARGET='${config.package}/bin/${prefix}g++ ${
|
||||
builtins.concatStringsSep " " (ctx.target."foundation:cflags")
|
||||
}'
|
||||
alias gcc='$CC'
|
||||
alias g++='$CXX'
|
||||
'';
|
||||
|
|
|
|||
|
|
@ -21,14 +21,20 @@ let
|
|||
platform.build.triple != platform.target.triple
|
||||
) "${platform.target.triple}-";
|
||||
|
||||
libPrefix = lib.strings.when (
|
||||
platform.build.triple != platform.target.triple
|
||||
) "/${platform.target.triple}";
|
||||
|
||||
patches = [
|
||||
../patches/libstdc++-target.patch
|
||||
];
|
||||
|
||||
gccFlags = [
|
||||
"-Wl,-dynamic-linker"
|
||||
"-Wl,${config.deps.target.target.glibc.dynamicLinker}"
|
||||
"-Wl,-dynamic-linker=${config.deps.target.target.glibc.dynamicLinker}"
|
||||
"-L${config.deps.target.target.glibc.package}/lib"
|
||||
"-B${config.deps.target.target.glibc.package}/lib"
|
||||
"-L${config.package.outPath}${libPrefix}/lib"
|
||||
"-B${config.package.outPath}${libPrefix}/lib"
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
|
|
@ -178,13 +184,20 @@ in
|
|||
};
|
||||
|
||||
hooks = ctx: {
|
||||
"aux:gcc-cross:env" = lib.dag.entry.before [ "unpack" "configure" "build" "install" ] ''
|
||||
export CC='${config.package}/bin/${prefix}gcc ${builtins.concatStringsSep " " gccFlags}'
|
||||
export CXX='${config.package}/bin/${prefix}g++ ${builtins.concatStringsSep " " gccFlags}'
|
||||
export CC_FOR_TARGET=$CC
|
||||
export CXX_FOR_TARGET=$CXX
|
||||
export CC_FOR_BUILD=$CC
|
||||
export CXX_FOR_BUILD=$CXX
|
||||
# Explicitly don't set CC_FOR_BUILD
|
||||
"aux:gcc-cross:env" = lib.dag.entry.between [ "aux:gcc:env" ] [ "configure" ] ''
|
||||
export CC='${config.package}/bin/${prefix}gcc ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.host."foundation:cflags")
|
||||
}'
|
||||
export CXX='${config.package}/bin/${prefix}g++ ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.host."foundation:cflags")
|
||||
}'
|
||||
export CC_FOR_TARGET='${config.package}/bin/${prefix}gcc ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.target."foundation:cflags")
|
||||
}'
|
||||
export CXX_FOR_TARGET='${config.package}/bin/${prefix}g++ ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.target."foundation:cflags")
|
||||
}'
|
||||
alias gcc='$CC'
|
||||
alias g++='$CXX'
|
||||
'';
|
||||
|
|
@ -235,6 +248,10 @@ in
|
|||
mkdir -p $out/lib
|
||||
ln -s lib $out/lib64
|
||||
''}
|
||||
${lib.strings.when (platform.target.is64bit) ''
|
||||
mkdir -p $out/${platform.target.triple}/lib
|
||||
ln -s lib $out/${platform.target.triple}/lib64
|
||||
''}
|
||||
make -j $NIX_BUILD_CORES install
|
||||
'';
|
||||
};
|
||||
|
|
|
|||
|
|
@ -17,21 +17,16 @@ let
|
|||
target = lib.systems.withBuildInfo config.platform.target;
|
||||
};
|
||||
|
||||
prefix = lib.strings.when (
|
||||
platform.build.triple != platform.target.triple
|
||||
) "${platform.target.triple}-";
|
||||
|
||||
patches = [
|
||||
../patches/libstdc++-target.patch
|
||||
];
|
||||
|
||||
gccFlags = [
|
||||
"-Wl,-dynamic-linker"
|
||||
"-Wl,${config.deps.host.host.glibc.dynamicLinker}"
|
||||
"-Wl,-dynamic-linker=${config.deps.host.host.glibc.dynamicLinker}"
|
||||
"-L${config.deps.host.host.glibc.package}/lib"
|
||||
"-B${config.deps.host.host.glibc.package}/lib"
|
||||
]
|
||||
++ lib.lists.when (config.platform.target == "riscv64-linux") [
|
||||
"-L${config.package.outPath}/lib"
|
||||
"-B${config.package.outPath}/lib"
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
|
|
@ -140,8 +135,8 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage0";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
glibc = packages.foundation.glibc.versions."2.38-bootstrap";
|
||||
}
|
||||
else
|
||||
|
|
@ -164,9 +159,6 @@ in
|
|||
|
||||
host = {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
};
|
||||
|
||||
target = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
|
|
@ -179,42 +171,35 @@ in
|
|||
};
|
||||
|
||||
env = rec {
|
||||
CC_FOR_BUILD = "${config.deps.build.build.gcc.package}/bin/gcc -Wl,-dynamic-linker -Wl,${config.deps.build.build.glibc.dynamicLinker} -B${config.deps.build.build.glibc.package}/lib";
|
||||
CXX_FOR_BUILD = "${config.deps.build.build.gcc.package}/bin/g++ -Wl,-dynamic-linker -Wl,${config.deps.build.build.glibc.dynamicLinker} -B${config.deps.build.build.glibc.package}/lib";
|
||||
CFLAGS_FOR_BUILD = "-Wl,-dynamic-linker -Wl,${config.deps.build.build.glibc.dynamicLinker} -B${config.deps.build.build.glibc.package}/lib";
|
||||
LDFLAGS_FOR_BUILD = "-L${config.deps.build.build.gcc.package}/lib -L${config.deps.build.build.glibc.package}/lib -Wl,-rpath,${config.deps.build.build.gcc.package}/lib -Wl,-rpath,${config.deps.build.build.glibc.package}/lib";
|
||||
|
||||
CC_FOR_TARGET = "${prefix}gcc -Wl,-dynamic-linker -Wl,${config.deps.host.host.glibc.dynamicLinker} -B${config.deps.host.host.glibc.package}/lib";
|
||||
CXX_FOR_TARGET = "${prefix}g++ -Wl,-dynamic-linker -Wl,${config.deps.host.host.glibc.dynamicLinker} -B${config.deps.host.host.glibc.package}/lib";
|
||||
CFLAGS_FOR_TARGET = "-Wl,-dynamic-linker -Wl,${config.deps.host.host.glibc.dynamicLinker} -B${config.deps.host.host.glibc.package}/lib";
|
||||
LDFLAGS_FOR_TARGET = "-L$(pwd)/${platform.target.triple}/libgcc -L${config.deps.host.host.glibc.package}/lib";
|
||||
CC = CC_FOR_TARGET;
|
||||
CXX = CXX_FOR_TARGET;
|
||||
CFLAGS = CFLAGS_FOR_TARGET;
|
||||
LDFLAGS = LDFLAGS_FOR_TARGET;
|
||||
|
||||
LIBRARY_PATH = "${config.deps.host.host.glibc.package}/lib";
|
||||
LD_LIBRARY_PATH = "${config.deps.host.host.glibc.package}/lib";
|
||||
};
|
||||
|
||||
hooks = ctx: {
|
||||
"aux:gcc:env" = lib.dag.entry.before [ "unpack" "configure" "build" "install" ] ''
|
||||
export CC='${config.package}/bin/gcc ${builtins.concatStringsSep " " gccFlags}'
|
||||
export CXX='${config.package}/bin/g++ ${builtins.concatStringsSep " " gccFlags}'
|
||||
export CC_FOR_TARGET=$CC
|
||||
export CXX_FOR_TARGET=$CXX
|
||||
export CC_FOR_BUILD=$CC
|
||||
export CXX_FOR_BUILD=$CXX
|
||||
"aux:gcc:env" = lib.dag.entry.between [ "unpack" ] [ "configure" ] ''
|
||||
export CC='${config.package}/bin/gcc ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.host."foundation:cflags")
|
||||
}'
|
||||
export CXX='${config.package}/bin/g++ ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.host."foundation:cflags")
|
||||
}'
|
||||
export CC_FOR_BUILD='${config.package}/bin/gcc ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.build."foundation:cflags")
|
||||
}'
|
||||
export CXX_FOR_BUILD='${config.package}/bin/g++ ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.build."foundation:cflags")
|
||||
}'
|
||||
alias gcc='$CC'
|
||||
alias g++='$CXX'
|
||||
'';
|
||||
};
|
||||
|
||||
phases = {
|
||||
"aux:gcc:env" = '''';
|
||||
|
||||
"aux:gcc-cross:env" = '''';
|
||||
|
||||
unpack = ''
|
||||
# Unpack
|
||||
tar xf ${config.src.gcc}
|
||||
|
|
|
|||
|
|
@ -22,12 +22,11 @@ let
|
|||
];
|
||||
|
||||
gccFlags = [
|
||||
"-Wl,-dynamic-linker"
|
||||
"-Wl,${config.deps.host.host.glibc.dynamicLinker}"
|
||||
"-Wl,-dynamic-linker=${config.deps.host.host.glibc.dynamicLinker}"
|
||||
"-L${config.deps.host.host.glibc.package}/lib"
|
||||
"-B${config.deps.host.host.glibc.package}/lib"
|
||||
]
|
||||
++ lib.lists.when (config.platform.target == "riscv64-linux") [
|
||||
"-L${config.package.outPath}/lib"
|
||||
"-B${config.package.outPath}/lib"
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
|
|
@ -112,34 +111,61 @@ in
|
|||
|
||||
deps = {
|
||||
build = {
|
||||
build = {
|
||||
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-passthrough";
|
||||
};
|
||||
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-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";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage3-passthrough";
|
||||
};
|
||||
|
||||
target = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
host =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage3-passthrough";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
};
|
||||
|
||||
host = {
|
||||
host = {
|
||||
glibc = packages.foundation.glibc.versions."2.38-stage1-passthrough";
|
||||
};
|
||||
host =
|
||||
if (config.platform.build == "i686-linux") then
|
||||
{
|
||||
glibc = packages.foundation.glibc.versions."2.38-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
glibc = packages.foundation.glibc.versions."2.38-stage1-passthrough";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -150,12 +176,18 @@ in
|
|||
|
||||
hooks = ctx: {
|
||||
"aux:gcc:env" = lib.dag.entry.between [ "unpack" ] [ "configure" ] ''
|
||||
export CC='${config.package}/bin/gcc ${builtins.concatStringsSep " " gccFlags}'
|
||||
export CXX='${config.package}/bin/g++ ${builtins.concatStringsSep " " gccFlags}'
|
||||
export CC_FOR_TARGET=$CC
|
||||
export CXX_FOR_TARGET=$CXX
|
||||
export CC_FOR_BUILD=$CC
|
||||
export CXX_FOR_BUILD=$CXX
|
||||
export CC='${config.package}/bin/gcc ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.host."foundation:cflags")
|
||||
}'
|
||||
export CXX='${config.package}/bin/g++ ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.host."foundation:cflags")
|
||||
}'
|
||||
export CC_FOR_BUILD='${config.package}/bin/gcc ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.build."foundation:cflags")
|
||||
}'
|
||||
export CXX_FOR_BUILD='${config.package}/bin/g++ ${
|
||||
builtins.concatStringsSep " " (gccFlags ++ ctx.build."foundation:cflags")
|
||||
}'
|
||||
alias gcc='$CC'
|
||||
alias g++='$CXX'
|
||||
'';
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ let
|
|||
package = packages.foundation.glibc.versions."2.38-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
|
|
@ -33,7 +38,10 @@ in
|
|||
license = lib.licenses.lgpl2Plus;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
dynamicLinker = package.dynamicLinker;
|
||||
|
||||
|
|
|
|||
|
|
@ -33,6 +33,9 @@ in
|
|||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
|
|
@ -68,6 +71,11 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
glibc = packages.foundation.glibc.versions."2.38-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -84,11 +92,18 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
}
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
glibc = packages.foundation.glibc.versions."2.38-stage1-passthrough";
|
||||
};
|
||||
host = {
|
||||
linux-headers = packages.foundation.linux-headers.versions."6.5.6-stage1";
|
||||
}
|
||||
// lib.attrs.when (config.platform.build != config.platform.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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -112,17 +127,26 @@ in
|
|||
cd glibc-${version}
|
||||
'';
|
||||
|
||||
configure = ''
|
||||
mkdir build
|
||||
cd build
|
||||
configure =
|
||||
let
|
||||
flags = builtins.concatStringsSep " " (
|
||||
[
|
||||
"--prefix=$out"
|
||||
"--build=${platform.build.triple}"
|
||||
"--host=${platform.host.triple}"
|
||||
"--with-headers=${config.deps.build.host.linux-headers.package}/include"
|
||||
]
|
||||
++ lib.lists.when (config.platform.build != config.platform.host) [
|
||||
"--with-binutils=${config.deps.build.host.binutils.package}/${platform.target.triple}/bin"
|
||||
]
|
||||
);
|
||||
in
|
||||
''
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
bash ../configure \
|
||||
--prefix=$out \
|
||||
--build=${platform.build.triple} \
|
||||
--host=${platform.host.triple} \
|
||||
--with-headers=${config.deps.build.host.linux-headers.package}/include \
|
||||
--with-binutils=${config.deps.build.host.binutils.package}/${platform.target.triple}/bin
|
||||
'';
|
||||
bash ../configure ${flags}
|
||||
'';
|
||||
|
||||
build = ''
|
||||
# Build
|
||||
|
|
@ -132,6 +156,24 @@ in
|
|||
install = ''
|
||||
# Install
|
||||
make -j $NIX_BUILD_CORES install
|
||||
${
|
||||
if
|
||||
(
|
||||
config.platform.build == config.platform.host
|
||||
|| config.platform.build == "i686-linux" && config.platform.host == "x86_64-linux"
|
||||
)
|
||||
then
|
||||
"make \"localedata/install-locales\" \"localedir=$out/lib/locale\""
|
||||
else
|
||||
''
|
||||
mkdir -p $TMPDIR/${config.deps.build.build.glibc.package}/lib/locale
|
||||
sed -i -e \
|
||||
's,^$(rtld-prefix) $(common-objpfx)locale/localedef,localedef --prefix=''${TMPDIR} --${platform.host.system.cpu.endian.name}-endian,' \
|
||||
../localedata/Makefile
|
||||
make SHELL='sh -x' "localedata/install-locales" "localedir=$out/lib/locale"
|
||||
cp -r $TMPDIR/${config.deps.build.build.glibc.package}/lib/locale $out/lib
|
||||
''
|
||||
}
|
||||
ln -sv $(ls -d ${config.deps.build.host.linux-headers.package}/include/* | grep -v scsi\$) $out/include/
|
||||
'';
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ let
|
|||
package = packages.foundation.gnugrep.versions."3.11-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
|
|
@ -25,7 +30,10 @@ in
|
|||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,9 @@ in
|
|||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
|
|
@ -57,6 +60,8 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -70,11 +75,13 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -9,7 +9,14 @@ let
|
|||
|
||||
package = packages.foundation.gnum4.versions."1.4.19-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -23,7 +30,10 @@ in
|
|||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
platforms.build = "x86_64-linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -24,10 +24,19 @@ in
|
|||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
platforms = {
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
};
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "@linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.foundation.basic;
|
||||
|
||||
|
|
@ -38,22 +47,41 @@ 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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ let
|
|||
package = packages.foundation.gnumake.versions."4.4.1-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
|
|
@ -25,7 +30,10 @@ in
|
|||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -30,6 +30,9 @@ in
|
|||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
|
|
@ -63,6 +66,8 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -76,11 +81,13 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ let
|
|||
package = packages.foundation.gnupatch.versions."2.7-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
|
|
@ -25,7 +30,10 @@ in
|
|||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,9 @@ in
|
|||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
|
|
@ -58,6 +61,8 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -71,11 +76,13 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ let
|
|||
package = packages.foundation.gnused.versions."4.9-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
|
|
@ -25,7 +30,10 @@ in
|
|||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,9 @@ in
|
|||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
|
|
@ -57,6 +60,8 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -70,11 +75,13 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ let
|
|||
package = packages.foundation.gnutar.versions."1.35-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
|
|
@ -25,7 +30,10 @@ in
|
|||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,9 @@ in
|
|||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
|
|
@ -58,6 +61,8 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -71,11 +76,13 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ let
|
|||
package = packages.foundation.gzip.versions."1.13-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
|
|
@ -25,7 +30,10 @@ in
|
|||
license = lib.licenses.gpl3Plus;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -25,6 +25,9 @@ in
|
|||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
|
|
@ -33,9 +36,6 @@ in
|
|||
build = "x86_64-linux";
|
||||
host = "@linux";
|
||||
}
|
||||
{
|
||||
build = "@linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.foundation.basic;
|
||||
|
|
@ -60,6 +60,8 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -73,11 +75,13 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -5,7 +5,14 @@ let
|
|||
|
||||
package = packages.foundation.linux-headers.versions."6.5.6-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force "i686-linux";
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
|
|
@ -18,7 +25,10 @@ in
|
|||
license = lib.licenses.lgpl2Plus;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -45,6 +45,8 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -58,15 +60,12 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -79,7 +78,7 @@ in
|
|||
|
||||
build = ''
|
||||
make -j $NIX_BUILD_CORES V=1 \
|
||||
"CC=$CC" \
|
||||
"CC=''${CC_FOR_TARGET:-''${CC}}" \
|
||||
"HOSTCC=$CC" \
|
||||
ARCH=${platform.target.linux.arch} \
|
||||
headers
|
||||
|
|
|
|||
|
|
@ -2,10 +2,12 @@
|
|||
{
|
||||
config.packages.foundation.musl = {
|
||||
stable = config.packages.foundation.musl.versions."1.2.4-bootstrap";
|
||||
latest = config.packages.foundation.musl.versions."1.2.4-stage1-passthrough";
|
||||
|
||||
versions = {
|
||||
"1.2.4" = ./versions/1.2.4.nix;
|
||||
"1.2.4-bootstrap" = ./versions/1.2.4-bootstrap.nix;
|
||||
"1.2.4-stage1-passthrough" = ./versions/1.2.4-stage1-passthrough.nix;
|
||||
"1.2.4-stage1" = ./versions/1.2.4-stage1.nix;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,52 @@
|
|||
{ config, global }:
|
||||
|
||||
let
|
||||
inherit (global)
|
||||
lib
|
||||
packages
|
||||
builders
|
||||
;
|
||||
|
||||
package = packages.foundation.musl.versions."1.2.4-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
config = {
|
||||
meta = {
|
||||
description = "An efficient, small, quality libc implementation.";
|
||||
homepage = "https://musl.libc.org";
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
}
|
||||
{
|
||||
build = "@linux";
|
||||
target = "@linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
derivation = package.package;
|
||||
};
|
||||
};
|
||||
|
||||
hooks = package.hooks;
|
||||
};
|
||||
}
|
||||
144
tidepool/src/packages/foundation/musl/versions/1.2.4-stage1.nix
Normal file
144
tidepool/src/packages/foundation/musl/versions/1.2.4-stage1.nix
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
{ config, global }:
|
||||
|
||||
let
|
||||
inherit (global) lib packages builders;
|
||||
|
||||
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 = "An efficient, small, quality libc implementation.";
|
||||
homepage = "https://musl.libc.org";
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
target = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "@linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
target = "@linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.foundation.basic;
|
||||
|
||||
src = lib.fetchurl {
|
||||
url = "https://musl.libc.org/releases/musl-${version}.tar.gz";
|
||||
hash = "sha256-ejXq4z1TcqfA2hGI3nmHJvaIJVE7euPr6XqqpSEU8Dk=";
|
||||
};
|
||||
|
||||
deps = {
|
||||
build = {
|
||||
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";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gzip = packages.foundation.gzip.versions."1.13-bootstrap";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
bash = packages.foundation.bash.versions."5.2.15-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";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-stage1-passthrough";
|
||||
gzip = packages.foundation.gzip.versions."1.13-stage1-passthrough";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
bash = packages.foundation.bash.versions."5.2.15-stage1-passthrough";
|
||||
};
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
target = lib.attrs.when (config.platform.host != config.platform.target) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
host = {
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
bash = packages.foundation.bash.versions."5.2.15-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
phases = {
|
||||
"aux:gcc:env" = "";
|
||||
"aux:gcc-cross:env" = "";
|
||||
|
||||
unpack = ''
|
||||
# Unpack
|
||||
tar xzf ${config.src}
|
||||
cd musl-${version}
|
||||
'';
|
||||
|
||||
patch = ''
|
||||
# Patch
|
||||
# https://github.com/ZilchOS/bootstrap-from-tcc/blob/2e0c68c36b3437386f786d619bc9a16177f2e149/using-nix/2a3-intermediate-musl.nix
|
||||
sed -i 's|/bin/sh|${config.deps.build.build.bash.package}/bin/bash|' \
|
||||
tools/*.sh
|
||||
# patch popen/system to search in PATH instead of hardcoding /bin/sh
|
||||
sed -i 's|posix_spawn(&pid, "/bin/sh",|posix_spawnp(\&pid, "sh",|' \
|
||||
src/stdio/popen.c src/process/system.c
|
||||
sed -i 's|execl("/bin/sh", "sh", "-c",|execlp("sh", "-c",|'\
|
||||
src/misc/wordexp.c
|
||||
'';
|
||||
|
||||
configure = ''
|
||||
# Configure
|
||||
bash ./configure \
|
||||
--prefix=$out \
|
||||
--build=${platform.build.triple} \
|
||||
--host=${platform.host.triple} \
|
||||
--target=${platform.target.triple} \
|
||||
--syslibdir=$out/lib \
|
||||
--enable-wrapper
|
||||
'';
|
||||
|
||||
build = ''
|
||||
# Build
|
||||
make -j $NIX_BUILD_CORES
|
||||
'';
|
||||
|
||||
install = ''
|
||||
# Install
|
||||
make -j $NIX_BUILD_CORES install
|
||||
sed -i 's|/bin/sh|${
|
||||
if (config.platform.build != config.platform.host) then
|
||||
config.deps.host.host.bash.package
|
||||
else
|
||||
config.deps.build.build.bash.package
|
||||
}/bin/bash|' $out/bin/*
|
||||
ln -s ../lib/libc.so $out/bin/ldd
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,99 +0,0 @@
|
|||
{ config, global }:
|
||||
|
||||
let
|
||||
inherit (global) lib packages builders;
|
||||
|
||||
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 = "An efficient, small, quality libc implementation.";
|
||||
homepage = "https://musl.libc.org";
|
||||
license = lib.licenses.mit;
|
||||
};
|
||||
|
||||
platforms = {
|
||||
build = "i686-linux";
|
||||
target = [
|
||||
"i686-linux"
|
||||
"x86_64-linux"
|
||||
];
|
||||
};
|
||||
|
||||
builder = builders.foundation.basic;
|
||||
|
||||
src = lib.fetchurl {
|
||||
url = "https://musl.libc.org/releases/musl-${config.version}.tar.gz";
|
||||
hash = "sha256-ejXq4z1TcqfA2hGI3nmHJvaIJVE7euPr6XqqpSEU8Dk=";
|
||||
};
|
||||
|
||||
deps = {
|
||||
build = {
|
||||
only = {
|
||||
inherit (packages.foundation)
|
||||
gcc
|
||||
binutils
|
||||
gnumake
|
||||
gnused
|
||||
gnugrep
|
||||
gnutar
|
||||
gzip
|
||||
;
|
||||
};
|
||||
|
||||
host = {
|
||||
inherit (packages.foundation)
|
||||
bash
|
||||
;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
phases = {
|
||||
unpack = ''
|
||||
# Unpack
|
||||
tar xzf ${config.src}
|
||||
cd musl-${config.version}
|
||||
'';
|
||||
|
||||
patch = ''
|
||||
# Patch
|
||||
# https://github.com/ZilchOS/bootstrap-from-tcc/blob/2e0c68c36b3437386f786d619bc9a16177f2e149/using-nix/2a3-intermediate-musl.nix
|
||||
sed -i 's|/bin/sh|${config.deps.build.host.bash.package}/bin/bash|' \
|
||||
tools/*.sh
|
||||
# patch popen/system to search in PATH instead of hardcoding /bin/sh
|
||||
sed -i 's|posix_spawn(&pid, "/bin/sh",|posix_spawnp(\&pid, "sh",|' \
|
||||
src/stdio/popen.c src/process/system.c
|
||||
sed -i 's|execl("/bin/sh", "sh", "-c",|execlp("sh", "-c",|'\
|
||||
src/misc/wordexp.c
|
||||
'';
|
||||
|
||||
configure = ''
|
||||
# Configure
|
||||
bash ./configure \
|
||||
--prefix=$out \
|
||||
--build=${platform.build.triple} \
|
||||
--host=${platform.host.triple} \
|
||||
--syslibdir=$out/lib \
|
||||
--enable-wrapper
|
||||
'';
|
||||
|
||||
build = ''
|
||||
# Build
|
||||
make -j $NIX_BUILD_CORES
|
||||
'';
|
||||
|
||||
install = ''
|
||||
# Install
|
||||
make -j $NIX_BUILD_CORES install
|
||||
sed -i 's|/bin/sh|${config.deps.build.host.bash.package}/bin/bash|' $out/bin/*
|
||||
ln -s ../lib/libc.so $out/bin/ldd
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -27,7 +27,19 @@ in
|
|||
license = lib.licenses.psfl;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "@linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.foundation.basic;
|
||||
|
||||
|
|
@ -38,30 +50,56 @@ in
|
|||
|
||||
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";
|
||||
};
|
||||
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";
|
||||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-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";
|
||||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
}
|
||||
)
|
||||
// lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
python = packages.foundation.python.versions."3.12.0-stage1";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
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";
|
||||
host = {
|
||||
host = {
|
||||
zlib =
|
||||
if (config.platform.build == "i686-linux" && config.platform.build == config.platform.host) then
|
||||
packages.foundation.zlib.versions."1.3-bootstrap"
|
||||
else
|
||||
packages.foundation.zlib.versions."1.3-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
phases = {
|
||||
|
|
@ -76,12 +114,26 @@ in
|
|||
${lib.strings.concatMapSep "\n" (file: "patch -Np1 -i ${file}") patches}
|
||||
'';
|
||||
|
||||
configure = ''
|
||||
bash ./configure \
|
||||
--prefix=$out \
|
||||
--build=${platform.build.triple} \
|
||||
--host=${platform.host.triple}
|
||||
'';
|
||||
configure =
|
||||
|
||||
let
|
||||
flags = builtins.concatStringsSep " " (
|
||||
[
|
||||
"--prefix=$out"
|
||||
"--build=${platform.build.triple}"
|
||||
"--host=${platform.host.triple}"
|
||||
]
|
||||
++ lib.lists.when (config.platform.build != config.platform.host) [
|
||||
"--with-build-python=\"${config.deps.build.build.python.package}/bin/python3\""
|
||||
"ac_cv_buggy_getaddrinfo=no"
|
||||
"ac_cv_file__dev_ptmx=yes"
|
||||
"ac_cv_file__dev_ptc=yes"
|
||||
]
|
||||
);
|
||||
in
|
||||
''
|
||||
bash ./configure ${flags}
|
||||
'';
|
||||
|
||||
build = ''
|
||||
# Build
|
||||
|
|
|
|||
|
|
@ -10,7 +10,12 @@ let
|
|||
package = packages.foundation.xz.versions."5.4.3-stage1".extend {
|
||||
platform = {
|
||||
build = lib.modules.overrides.force (
|
||||
if config.platform.build == "x86_64-linux" then "i686-linux" else "x86_64-linux"
|
||||
if config.platform.build != config.platform.target then
|
||||
config.platform.build
|
||||
else if config.platform.build == "x86_64-linux" || config.platform.build == "i686-linux" then
|
||||
"i686-linux"
|
||||
else
|
||||
"x86_64-linux"
|
||||
);
|
||||
host = lib.modules.overrides.force config.platform.host;
|
||||
target = lib.modules.overrides.force config.platform.target;
|
||||
|
|
@ -28,7 +33,10 @@ in
|
|||
];
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = {
|
||||
build = "@linux";
|
||||
host = "@linux";
|
||||
};
|
||||
|
||||
builder = builders.foundation.passthrough.extend {
|
||||
settings = {
|
||||
|
|
|
|||
|
|
@ -27,6 +27,9 @@ in
|
|||
};
|
||||
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
|
|
@ -56,6 +59,8 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-bootstrap";
|
||||
binutils = packages.foundation.binutils.versions."2.41-bootstrap";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -66,11 +71,13 @@ in
|
|||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -19,5 +19,13 @@ in
|
|||
derivation = foundation.stage1-zlib;
|
||||
};
|
||||
};
|
||||
|
||||
context = {
|
||||
"foundation:cflags" = [
|
||||
"-L${foundation.stage1-zlib}/lib"
|
||||
"-I${foundation.stage1-zlib}/include"
|
||||
"-Wl,-rpath,${foundation.stage1-zlib}/lib"
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,12 @@ let
|
|||
;
|
||||
|
||||
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 = {
|
||||
|
|
@ -17,7 +23,19 @@ in
|
|||
license = lib.licenses.zlib;
|
||||
};
|
||||
|
||||
platforms.build = "@linux";
|
||||
platforms = [
|
||||
{
|
||||
build = "i686-linux";
|
||||
}
|
||||
{
|
||||
build = "i686-linux";
|
||||
host = "x86_64-linux";
|
||||
}
|
||||
{
|
||||
build = "x86_64-linux";
|
||||
host = "@linux";
|
||||
}
|
||||
];
|
||||
|
||||
builder = builders.foundation.basic;
|
||||
|
||||
|
|
@ -28,21 +46,43 @@ in
|
|||
|
||||
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";
|
||||
};
|
||||
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";
|
||||
gnutar = packages.foundation.gnutar.versions."1.35-bootstrap";
|
||||
gnugrep = packages.foundation.gnugrep.versions."3.11-bootstrap";
|
||||
xz = packages.foundation.xz.versions."5.4.3-bootstrap";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-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";
|
||||
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";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
};
|
||||
|
||||
host = {
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1-passthrough";
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage4";
|
||||
host = lib.attrs.when (config.platform.build != config.platform.host) {
|
||||
gcc = packages.foundation.gcc.versions."13.2.0-stage2";
|
||||
binutils = packages.foundation.binutils.versions."2.41-stage1";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
context = {
|
||||
"foundation:cflags" = [
|
||||
"-isystem ${config.package}/include"
|
||||
"-L${config.package}/lib"
|
||||
"-Wl,-rpath,${config.package}/lib"
|
||||
];
|
||||
};
|
||||
|
||||
phases = {
|
||||
unpack = ''
|
||||
# Unpack
|
||||
|
|
@ -52,6 +92,7 @@ in
|
|||
|
||||
configure = ''
|
||||
# Configure
|
||||
export CHOST=${platform.host.triple}
|
||||
bash ./configure \
|
||||
--prefix=$out
|
||||
'';
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue