{gcc6,gcc6Stdenv,gfortran6,gcj}: drop (#341714)

This commit is contained in:
Emily 2024-09-15 15:13:29 +01:00 committed by GitHub
commit d71660e9a7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
19 changed files with 51 additions and 511 deletions

View File

@ -152,8 +152,8 @@ let
x86-64-v4 = versionAtLeast ccVersion "11.0";
# Intel
skylake = versionAtLeast ccVersion "6.0";
skylake-avx512 = versionAtLeast ccVersion "6.0";
skylake = true;
skylake-avx512 = true;
cannonlake = versionAtLeast ccVersion "8.0";
icelake-client = versionAtLeast ccVersion "8.0";
icelake-server = versionAtLeast ccVersion "8.0";
@ -164,7 +164,7 @@ let
alderlake = versionAtLeast ccVersion "12.0";
# AMD
znver1 = versionAtLeast ccVersion "6.0";
znver1 = true;
znver2 = versionAtLeast ccVersion "9.0";
znver3 = versionAtLeast ccVersion "11.0";
znver4 = versionAtLeast ccVersion "13.0";
@ -202,9 +202,9 @@ let
else if targetPlatform.isAarch64 then
(if isGNU then
{
cortex-a53 = versionAtLeast ccVersion "4.8"; # gcc 8c075f
cortex-a72 = versionAtLeast ccVersion "5.1"; # gcc d8f70d
"cortex-a72.cortex-a53" = versionAtLeast ccVersion "5.1"; # gcc d8f70d
cortex-a53 = true;
cortex-a72 = true;
"cortex-a72.cortex-a53" = true;
}.${tune} or false
else if isClang then
{

View File

@ -1,10 +0,0 @@
{ wrapCC, gcc6 }:
wrapCC (
gcc6.cc.override {
name = "gfortran";
langFortran = true;
langCC = false;
langC = false;
profiledCompiler = false;
}
)

View File

@ -1,13 +1,12 @@
{ lib
, stdenv
, gccStdenv
, gcc7Stdenv
, gcc9Stdenv
, callPackage
, isl_0_11, isl_0_14, isl_0_17, isl_0_20
, isl_0_17, isl_0_20
, libcCross
, threadsCross
, noSysDirs
, cloog_0_18_0, cloog
, lowPrio
, wrapCC
}@args:
@ -27,16 +26,10 @@ let
threadsCross = if stdenv.targetPlatform != stdenv.buildPlatform then threadsCross else { };
isl = if stdenv.isDarwin then null
else if atLeast "9" then isl_0_20
else if atLeast "7" then isl_0_17
else if atLeast "6" then (if stdenv.targetPlatform.isRedox then isl_0_17 else isl_0_14)
else /* "5" */ isl_0_11;
} // lib.optionalAttrs (!(atLeast "6")) {
cloog = if stdenv.isDarwin
then null
else /* 5 */ cloog_0_18_0;
} // lib.optionalAttrs (atLeast "6" && !(atLeast "9")) {
else /* atLeast "7" */ isl_0_17;
} // lib.optionalAttrs (!(atLeast "9")) {
# gcc 10 is too strict to cross compile gcc <= 8
stdenv = if (stdenv.targetPlatform != stdenv.buildPlatform) && stdenv.cc.isGNU then gcc7Stdenv else stdenv;
stdenv = if (stdenv.targetPlatform != stdenv.buildPlatform) && stdenv.cc.isGNU then gcc9Stdenv else stdenv;
})));
in
lib.nameValuePair attrName pkg;

View File

@ -13,7 +13,6 @@ let
version:
stdenv.buildPlatform.isDarwin
&& stdenv.buildPlatform.isx86_64
&& lib.versionAtLeast version "6"
&& lib.versionOlder version "10";
in

View File

@ -6,7 +6,6 @@
, version
, binutils, gmp, mpfr, libmpc, isl
, cloog ? null
, enableLTO
, enableMultilib
@ -18,7 +17,6 @@
, langCC
, langD ? false
, langFortran
, langJava ? false, javaAwtGtk ? false, javaAntlr ? null, javaEcj ? null
, langAda ? false
, langGo
, langObjC
@ -29,7 +27,6 @@
}:
assert !enablePlugin -> disableGdbPlugin;
assert langJava -> lib.versionOlder version "7";
# Note [Windows Exception Handling]
# sjlj (short jump long jump) exception handling makes no sense on x86_64,
@ -165,7 +162,6 @@ let
++ lib.optional langCC "c++"
++ lib.optional langD "d"
++ lib.optional langFortran "fortran"
++ lib.optional langJava "java"
++ lib.optional langAda "ada"
++ lib.optional langGo "go"
++ lib.optional langObjC "objc"
@ -197,11 +193,6 @@ let
# Optional features
++ lib.optional (isl != null) "--with-isl=${isl}"
++ lib.optionals (lib.versionOlder version "5" && cloog != null) [
"--with-cloog=${cloog}"
"--disable-cloog-version-check"
"--enable-cloog-backend=isl"
]
# Ada options, gcc can't build the runtime library for a cross compiler
++ lib.optional langAda
@ -209,18 +200,6 @@ let
then "--enable-libada"
else "--disable-libada")
# Java options
++ lib.optionals langJava [
"--with-ecj-jar=${javaEcj}"
# Follow Sun's layout for the convenience of IcedTea/OpenJDK. See
# <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008888.html>.
"--enable-java-home"
"--with-java-home=\${prefix}/lib/jvm/jre"
]
++ lib.optional javaAwtGtk "--enable-java-awt=gtk"
++ lib.optional (langJava && javaAntlr != null) "--with-antlr-jar=${javaAntlr}"
++ import ../common/platform-flags.nix { inherit (stdenv) targetPlatform; inherit lib; }
++ lib.optionals (targetPlatform != hostPlatform) crossConfigureFlags
++ lib.optional disableBootstrap' "--disable-bootstrap"

View File

@ -6,7 +6,6 @@
, texinfo
, which
, gettext
, pkg-config ? null
, gnused
, patchelf
, gmp
@ -14,21 +13,12 @@
, libmpc
, libucontext ? null
, libxcrypt ? null
, cloog ? null
, darwin ? null
, isl ? null
, zlib ? null
, gnat-bootstrap ? null
, flex ? null
, boehmgc ? null
, zip ? null
, unzip ? null
, gtk2 ? null
, libart_lgpl ? null
, perl ? null
, xlibs ? null
, langJava ? false
, javaAwtGtk ? false
, langAda ? false
, langGo ? false
, langRust ? false
@ -52,7 +42,6 @@ in
gettext
]
++ optionals (perl != null) [ perl ]
++ optionals javaAwtGtk [ pkg-config ]
++ optionals (with stdenv.targetPlatform; isVc4 || isRedox && flex != null) [ flex ]
++ optionals langAda [ gnat-bootstrap ]
++ optionals langRust [ cargo ]
@ -83,15 +72,11 @@ in
++ [
targetPackages.stdenv.cc.bintools # For linking code at run-time
]
++ optionals (lib.versionOlder version "5" && cloog != null) [ cloog ]
++ optionals (isl != null) [ isl ]
++ optionals (zlib != null) [ zlib ]
++ optionals langJava [ boehmgc zip unzip ]
++ optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs)
++ optionals (langGo && stdenv.hostPlatform.isMusl) [ libucontext ]
++ optionals (lib.versionAtLeast version "14" && stdenv.hostPlatform.isDarwin) [ darwin.apple_sdk.frameworks.CoreServices ]
;
# threadsCross.package after gcc6 so i assume its okay for 4.8 and 4.9 too
depsTargetTarget = optionals (!withoutTargetLibc && threadsCross != { } && threadsCross.package != null) [ threadsCross.package ];
}

View File

@ -23,6 +23,6 @@ in
'';
platforms = platforms.unix;
maintainers = if versionOlder version "5" then [ maintainers.veprbl ] else teams.gcc.members;
maintainers = teams.gcc.members;
}

View File

@ -4,7 +4,6 @@
, gnat-bootstrap ? null
, langAda ? false
, langFortran
, langJava ? false
, langJit ? false
, langGo
, withoutTargetLibc
@ -13,18 +12,13 @@
, pkgsBuildTarget
}:
assert langJava -> lib.versionOlder version "7";
assert langAda -> gnat-bootstrap != null; let
needsLib
= (lib.versionOlder version "7" && (langJava || langGo))
|| (lib.versions.major version == "4" && lib.versions.minor version == "9" && targetPlatform.isDarwin);
in lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
assert langAda -> gnat-bootstrap != null;
lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
export NIX_LDFLAGS=`echo $NIX_LDFLAGS | sed -e s~$prefix/lib~$prefix/lib/amd64~g`
export LDFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $LDFLAGS_FOR_TARGET"
export CXXFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CXXFLAGS_FOR_TARGET"
export CFLAGS_FOR_TARGET="-Wl,-rpath,$prefix/lib/amd64 $CFLAGS_FOR_TARGET"
'' + lib.optionalString needsLib ''
export lib=$out;
'' + lib.optionalString langAda ''
export PATH=${gnat-bootstrap}/bin:$PATH
''

View File

@ -27,7 +27,6 @@
, threadsCross ? null # for MinGW
, withoutTargetLibc ? false
, gnused ? null
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
, buildPackages
, pkgsBuildTarget
, libxcrypt
@ -37,17 +36,6 @@
, majorMinorVersion
, cctools
, darwin
# only for gcc<=6.x
, langJava ? false
, flex
, boehmgc ? null
, zip ? null, unzip ? null, pkg-config ? null
, gtk2 ? null, libart_lgpl ? null
, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
, libXrender ? null, xorgproto ? null
, libXrandr ? null, libXi ? null
, x11Support ? langJava
}:
let
@ -80,8 +68,6 @@ let
atLeast10 = versionAtLeast version "10";
atLeast9 = versionAtLeast version "9";
atLeast8 = versionAtLeast version "8";
atLeast7 = versionAtLeast version "7";
atLeast6 = versionAtLeast version "6";
is14 = majorVersion == "14";
is13 = majorVersion == "13";
is12 = majorVersion == "12";
@ -90,7 +76,6 @@ let
is9 = majorVersion == "9";
is8 = majorVersion == "8";
is7 = majorVersion == "7";
is6 = majorVersion == "6";
disableBootstrap = atLeast11 && !stdenv.hostPlatform.isDarwin && (atLeast12 -> !profiledCompiler);
@ -104,12 +89,7 @@ let
stageNameAddon = optionalString withoutTargetLibc "-nolibc";
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}${stageNameAddon}-";
javaAwtGtk = langJava && x11Support;
xlibs = [
libX11 libXt libSM libICE libXtst libXrender libXrandr libXi
xorgproto
];
callFile = callPackageWith ({
callFile = callPackageWith {
# lets
inherit
majorVersion
@ -128,7 +108,6 @@ let
binutils
buildPackages
cargo
cloog
withoutTargetLibc
darwin
disableBootstrap
@ -174,63 +153,18 @@ let
texinfo
threadsCross
which
zip
zlib
;
} // optionalAttrs (!atLeast7) {
inherit
boehmgc
flex
gnat-bootstrap
gtk2
langAda
langJava
libICE
libSM
libX11
libXi
libXrandr
libXrender
libXt
libXtst
libart_lgpl
pkg-config
unzip
x11Support
xorgproto
javaAwtGtk
xlibs
;
javaEcj = fetchurl {
# The `$(top_srcdir)/ecj.jar' file is automatically picked up at
# `configure' time.
# XXX: Eventually we might want to take it from upstream.
url = "ftp://sourceware.org/pub/java/ecj-4.3.jar";
sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx";
};
# Antlr (optional) allows the Java `gjdoc' tool to be built. We want a
# binary distribution here to allow the whole chain to be bootstrapped.
javaAntlr = fetchurl {
url = "https://www.antlr.org/download/antlr-4.4-complete.jar";
sha256 = "02lda2imivsvsis8rnzmbrbp8rh1kb8vmq4i67pqhkwz7lf8y6dz";
};
});
};
in
# We enable the isl cloog backend.
assert !atLeast6 -> (cloog != null -> isl != null);
assert langJava -> !atLeast7 && zip != null && unzip != null && zlib != null && boehmgc != null && perl != null; # for `--enable-java-home'
# Make sure we get GNU sed.
assert stdenv.buildPlatform.isDarwin -> gnused != null;
# The go frontend is written in c++
assert langGo -> langCC;
assert (atLeast6 && !is7 && !is8) -> (langAda -> gnat-bootstrap != null);
assert (!is7 && !is8) -> (langAda -> gnat-bootstrap != null);
# TODO: fixup D bootstapping, probably by using gdc11 (and maybe other changes).
# error: GDC is required to build d
@ -243,40 +177,19 @@ assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
# If turned on, we can't provide reproducible builds anymore
assert reproducibleBuild -> profiledCompiler == false;
# We need all these X libraries when building AWT with GTK.
assert !atLeast7 -> (x11Support -> (filter (x: x == null) ([ gtk2 libart_lgpl ] ++ xlibs)) == []);
pipe ((callFile ./common/builder.nix {}) ({
pname = "${crossNameAddon}${name}";
inherit version;
src = if is6 && stdenv.targetPlatform.isVc4 then fetchFromGitHub {
owner = "itszor";
repo = "gcc-vc4";
rev = "e90ff43f9671c760cf0d1dd62f569a0fb9bf8918";
sha256 = "0gxf66hwqk26h8f853sybphqa5ca0cva2kmrw5jsiv6139g0qnp8";
} else if is6 && stdenv.targetPlatform.isRedox then fetchFromGitHub {
owner = "redox-os";
repo = "gcc";
rev = "f360ac095028d286fc6dde4d02daed48f59813fa"; # `redox` branch
sha256 = "1an96h8l58pppyh3qqv90g8hgcfd9hj7igvh2gigmkxbrx94khfl";
} else fetchurl {
url = if atLeast7
then "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz"
else if atLeast6
then "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.xz"
else "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
src = fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
${if is10 || is11 || is13 then "hash" else "sha256"} =
gccVersions.srcHashForVersion version;
};
inherit patches;
outputs =
if atLeast7
then [ "out" "man" "info" ] ++ optional (!langJit) "lib"
else if (langJava || langGo || (if atLeast6 then langJit else targetPlatform.isDarwin)) then ["out" "man" "info"]
else [ "out" "lib" "man" "info" ];
outputs = [ "out" "man" "info" ] ++ optional (!langJit) "lib";
setOutputFlags = false;
@ -285,7 +198,7 @@ pipe ((callFile ./common/builder.nix {}) ({
hardeningDisable = [ "format" "pie" "stackclashprotection" ]
++ optionals (is11 && langAda) [ "fortify3" ];
postPatch = optionalString atLeast7 ''
postPatch = ''
configureScripts=$(find . -name configure)
for configureScript in $configureScripts; do
patchShebangs $configureScript
@ -293,7 +206,7 @@ pipe ((callFile ./common/builder.nix {}) ({
''
# This should kill all the stdinc frameworks that gcc and friends like to
# insert into default search paths.
+ optionalString (atLeast6 && hostPlatform.isDarwin) ''
+ optionalString hostPlatform.isDarwin ''
substituteInPlace gcc/config/darwin-c.c${optionalString atLeast12 "c"} \
--replace 'if (stdinc)' 'if (0)'
@ -314,18 +227,18 @@ pipe ((callFile ./common/builder.nix {}) ({
'' echo "fixing the {GLIBC,UCLIBC,MUSL}_DYNAMIC_LINKER macros..."
for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
do
grep -q ${optionalString (!atLeast6) "LIBC"}_DYNAMIC_LINKER "$header" || continue
grep -q _DYNAMIC_LINKER "$header" || continue
echo " fixing $header..."
sed -i "$header" \
-e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g' \
-e 's|define[[:blank:]]*MUSL_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define MUSL_DYNAMIC_LINKER\1 "${libc.out}\2"|g'
done
'' + optionalString (atLeast6 && targetPlatform.libc == "musl") ''
'' + optionalString (targetPlatform.libc == "musl") ''
sed -i gcc/config/linux.h -e '1i#undef LOCAL_INCLUDE_DIR'
''
)
))
+ optionalString (atLeast7 && targetPlatform.isAvr) (''
+ optionalString targetPlatform.isAvr (''
makeFlagsArray+=(
'-s' # workaround for hitting hydra log limit
'LIMITS_H_TEST=false'
@ -382,12 +295,8 @@ pipe ((callFile ./common/builder.nix {}) ({
# Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
# library headers and binaries, regarless of the language being compiled.
#
# Note: When building the Java AWT GTK peer, the build system doesn't honor
# `--with-gmp' et al., e.g., when building
# `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just add
# them to $CPATH and $LIBRARY_PATH in this case.
#
# Likewise, the LTO code doesn't find zlib.
# The LTO code doesn't find zlib, so we just add it to $CPATH and
# $LIBRARY_PATH in this case.
#
# Cross-compiling, we need gcc not to read ./specs in order to build the g++
# compiler (after the specs for the cross-gcc are created). Having
@ -395,18 +304,14 @@ pipe ((callFile ./common/builder.nix {}) ({
CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
++ optional (zlib != null) zlib
++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ]
));
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (
optional (zlib != null) zlib
++ optional langJava boehmgc
++ optionals javaAwtGtk xlibs
++ optionals javaAwtGtk [ gmp mpfr ]
));
NIX_LDFLAGS = optionalString hostPlatform.isSunOS "-lm";
inherit (callFile ./common/extra-target-flags.nix { })
EXTRA_FLAGS_FOR_TARGET
EXTRA_LDFLAGS_FOR_TARGET
@ -417,14 +322,10 @@ pipe ((callFile ./common/builder.nix {}) ({
+ optionalString (stdenv.cc.isClang && targetPlatform != hostPlatform) " -Wno-register";
} // optionalAttrs (!is7 && !atLeast12 && stdenv.cc.isClang && targetPlatform != hostPlatform) {
NIX_CFLAGS_COMPILE = "-Wno-register";
} // optionalAttrs (!atLeast7) {
inherit langJava;
} // optionalAttrs atLeast6 {
NIX_LDFLAGS = optionalString hostPlatform.isSunOS "-lm";
});
passthru = {
inherit langC langCC langObjC langObjCpp langAda langFortran langGo langD langJava version;
inherit langC langCC langObjC langObjCpp langAda langFortran langGo langD version;
isGNU = true;
hardeningUnsupportedFlags =
optional (
@ -458,8 +359,7 @@ pipe ((callFile ./common/builder.nix {}) ({
badPlatforms =
# avr-gcc8 is maintained for the `qmk` package
if (is8 && targetPlatform.isAvr) then []
else if !(is6) then [ "aarch64-darwin" ]
else platforms.darwin;
else [ "aarch64-darwin" ];
} // optionalAttrs is10 {
badPlatforms = if targetPlatform != hostPlatform then [ "aarch64-darwin" ] else [ ];
};
@ -472,11 +372,6 @@ pipe ((callFile ./common/builder.nix {}) ({
doCheck = false; # requires a lot of tools, causes a dependency cycle for stdenv
} // optionalAttrs enableMultilib {
dontMoveLib64 = true;
} // optionalAttrs (is6 && langJava) {
postFixup = ''
target="$(echo "$out/libexec/gcc"/*/*/ecj*)"
patchelf --set-rpath "$(patchelf --print-rpath "$target"):$out/lib" "$target"
'';
}
))
([

View File

@ -32,8 +32,6 @@ let
atLeast10 = lib.versionAtLeast version "10";
atLeast9 = lib.versionAtLeast version "9";
atLeast8 = lib.versionAtLeast version "8";
atLeast7 = lib.versionAtLeast version "7";
atLeast6 = lib.versionAtLeast version "6";
is14 = majorVersion == "14";
is13 = majorVersion == "13";
is12 = majorVersion == "12";
@ -42,7 +40,6 @@ let
is9 = majorVersion == "9";
is8 = majorVersion == "8";
is7 = majorVersion == "7";
is6 = majorVersion == "6";
inherit (lib) optionals optional;
in
@ -57,7 +54,7 @@ in
## 1. Patches relevant to gcc>=12 on every platform ####################################
[]
++ optional (atLeast6 && !atLeast12) ./fix-bug-80431.patch
++ optional (!atLeast12) ./fix-bug-80431.patch
++ optional (targetPlatform != hostPlatform) ./libstdc++-target.patch
++ optionals (noSysDirs) (
[(if atLeast12 then ./gcc-12-no-sys-dirs.patch else ./no-sys-dirs.patch)] ++
@ -72,7 +69,7 @@ in
)
++ optional (atLeast12 && langAda) ./gnat-cflags-11.patch
++ optional langFortran (if atLeast12 then ./gcc-12-gfortran-driving.patch else ./gfortran-driving.patch)
++ optional atLeast7 ./ppc-musl.patch
++ [ ./ppc-musl.patch ]
++ optional (atLeast9 && langD) ./libphobos.patch
@ -177,14 +174,13 @@ in
"9" = [ ../patches/9/AvailabilityInternal.h-fixincludes.patch ];
"8" = [ ../patches/8/AvailabilityInternal.h-fixincludes.patch ];
"7" = [ ../patches/7/AvailabilityInternal.h-fixincludes.patch ];
"6" = [ ../patches/6/AvailabilityInternal.h-fixincludes.patch ];
}.${majorVersion} or [])
## Windows
# Obtain latest patch with ../update-mcfgthread-patches.sh
++ optional (atLeast6 && !atLeast13 && !withoutTargetLibc && targetPlatform.isMinGW && threadsCross.model == "mcf")
++ optional (!atLeast13 && !withoutTargetLibc && targetPlatform.isMinGW && threadsCross.model == "mcf")
(./. + "/${majorVersion}/Added-mcf-thread-model-support-from-mcfgthread.patch")
@ -228,7 +224,7 @@ in
## gcc 9.0 and older ##############################################################################
++ optional (majorVersion == "9") ./9/fix-struct-redefinition-on-glibc-2.36.patch
++ optional (atLeast7 && !atLeast10 && targetPlatform.isNetBSD) ./libstdc++-netbsd-ctypes.patch
++ optional (!atLeast10 && targetPlatform.isNetBSD) ./libstdc++-netbsd-ctypes.patch
# Make Darwin bootstrap respect whether the assembler supports `--gstabs`,
# which is not supported by the clang integrated assembler used by default on Darwin.
@ -266,35 +262,8 @@ in
(./. + "/${majorVersion}/gcc8-asan-glibc-2.34.patch")
(./. + "/${majorVersion}/0001-Fix-build-for-glibc-2.31.patch")
]
++ optional ((is6 || is7) && targetPlatform.libc == "musl" && targetPlatform.isx86_32) (fetchpatch {
++ optional (is7 && targetPlatform.libc == "musl" && targetPlatform.isx86_32) (fetchpatch {
url = "https://git.alpinelinux.org/aports/plain/main/gcc/gcc-6.1-musl-libssp.patch?id=5e4b96e23871ee28ef593b439f8c07ca7c7eb5bb";
sha256 = "1jf1ciz4gr49lwyh8knfhw6l5gvfkwzjy90m7qiwkcbsf4a3fqn2";
})
++ optional ((is6 || is7 || is8) && !atLeast9 && targetPlatform.libc == "musl") ./libgomp-dont-force-initial-exec.patch
## gcc 6.0 and older ##############################################################################
++ optional (is6 && langGo) ./gogcc-workaround-glibc-2.36.patch
++ optional is6 ./9/fix-struct-redefinition-on-glibc-2.36.patch
++ optional (is6 && !stdenv.targetPlatform.isRedox) ./use-source-date-epoch.patch
++ optional (is6 && !stdenv.targetPlatform.isRedox) ./6/0001-Fix-build-for-glibc-2.31.patch
++ optionals (is6 && langAda) [
./gnat-cflags.patch
./6/gnat-glibc234.patch
]
# The clang-based assembler used in darwin.binutils (LLVM >11) does not support piping input.
# Fortunately, it does not exhibit the problem GCC has with the cctools assembler.
# This patch can be dropped should darwin.binutils ever implement support.
++ optional (!atLeast7 && hostPlatform.isDarwin && lib.versionAtLeast (lib.getVersion stdenv.cc) "12") ./4.9/darwin-clang-as.patch
# Building libstdc++ with flat namespaces results in trying to link CoreFoundation, which
# defaults to the impure, system location and causes the build to fail.
++ optional (is6 && hostPlatform.isDarwin) ./6/libstdc++-disable-flat_namespace.patch
## gcc 5.0 and older ##############################################################################
++ optional (!atLeast6) ./parallel-bconfig.patch
++ optional ((is7 || is8) && !atLeast9 && targetPlatform.libc == "musl") ./libgomp-dont-force-initial-exec.patch

View File

@ -1,72 +0,0 @@
{ fetchurl, lib, stdenv, ppl, autoreconfHook }:
stdenv.mkDerivation rec {
pname = "cloog-ppl";
version = "0.15.11";
src = fetchurl {
url = "mirror://gcc/infrastructure/${pname}-${version}.tar.gz";
sha256 = "0psdm0bn5gx60glfh955x5b3b23zqrd92idmjr0b00dlnb839mkw";
};
propagatedBuildInputs = [ ppl ];
nativeBuildInputs = [ autoreconfHook ];
patches = [ ./fix-ppl-version.patch ];
configureFlags = [ "--with-ppl=${ppl}" ];
preAutoreconf = ''
touch NEWS ChangeLog AUTHORS
'';
doCheck = true;
meta = {
description = "CLooG-PPL, the Chunky Loop Generator";
mainProgram = "cloog";
longDescription = ''
CLooG is a free software library to generate code for scanning
Z-polyhedra. That is, it finds a code (e.g., in C, FORTRAN...) that
reaches each integral point of one or more parameterized polyhedra.
CLooG has been originally written to solve the code generation problem
for optimizing compilers based on the polytope model. Nevertheless it
is used now in various area e.g., to build control automata for
high-level synthesis or to find the best polynomial approximation of a
function. CLooG may help in any situation where scanning polyhedra
matters. While the user has full control on generated code quality,
CLooG is designed to avoid control overhead and to produce a very
effective code.
'';
# CLooG-PPL is actually a port of GLooG from PolyLib to PPL.
homepage = "http://www.cloog.org/";
license = lib.licenses.gpl2Plus;
maintainers = [ ];
/* Leads to an ICE on Cygwin:
make[3]: Entering directory `/tmp/nix-build-9q5gw5m37q5l4f0kjfv9ar8fsc9plk27-ppl-0.10.2.drv-1/ppl-0.10.2/src'
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -g -O2 -frounding-math -W -Wall -c -o Box.lo Box.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -g -O2 -frounding-math -W -Wall -c Box.cc -DDLL_EXPORT -DPIC -o .libs/Box.o
In file included from checked.defs.hh:595,
from Checked_Number.defs.hh:27,
from Coefficient.types.hh:15,
from Coefficient.defs.hh:26,
from Box.defs.hh:28,
from Box.cc:24:
checked.inlines.hh: In function `Parma_Polyhedra_Library::Result Parma_Polyhedra_Library::Checked::input_generic(Type&, std::istream&, Parma_Polyhedra_Library::Rounding_Dir)':
checked.inlines.hh:607: internal compiler error: in invert_truthvalue, at fold-const.c:2719
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://cygwin.com/problems.html> for instructions.
make[3]: *** [Box.lo] Error 1
*/
platforms = lib.platforms.unix; # Once had cygwin problems
};
}

View File

@ -1,16 +0,0 @@
diff -rupN src/configure.in cloog-ppl-0.15.11/configure.in
--- src/configure.in 2014-04-13 13:33:43.349392305 +0200
+++ cloog-ppl-0.15.11/configure.in 2014-04-13 13:34:12.695379888 +0200
@@ -337,11 +337,7 @@ if test "x$with_ppl" != "x" -a "x$with_p
[AC_MSG_ERROR(Can't find PPL headers.)])
AC_MSG_CHECKING([for version 0.10 (or later revision) of PPL])
- AC_TRY_COMPILE([#include "ppl_c.h"],[
- #if PPL_VERSION_MAJOR != 0 || PPL_VERSION_MINOR < 10
- choke me
- #endif
- ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ])
+ AC_MSG_RESULT([yes])
LIBS="$LIBS -lppl_c -lppl -lgmpxx"
AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend])

View File

@ -1,65 +0,0 @@
{ fetchurl, lib, stdenv, gmp, isl }:
stdenv.mkDerivation rec {
pname = "cloog";
version = "0.18.0";
src = fetchurl {
url = "http://www.bastoul.net/cloog/pages/download/count.php3?url=./cloog-${version}.tar.gz";
sha256 = "1c4aa8dde7886be9cbe0f9069c334843b21028f61d344a2d685f88cb1dcf2228";
};
buildInputs = [ gmp ];
propagatedBuildInputs = [ isl ];
configureFlags = [ "--with-isl=system" ];
enableParallelBuilding = true;
doCheck = true;
meta = {
description = "Library that generates loops for scanning polyhedra";
mainProgram = "cloog";
longDescription = ''
CLooG is a free software library to generate code for scanning
Z-polyhedra. That is, it finds a code (e.g., in C, FORTRAN...) that
reaches each integral point of one or more parameterized polyhedra.
CLooG has been originally written to solve the code generation problem
for optimizing compilers based on the polytope model. Nevertheless it
is used now in various area e.g., to build control automata for
high-level synthesis or to find the best polynomial approximation of a
function. CLooG may help in any situation where scanning polyhedra
matters. While the user has full control on generated code quality,
CLooG is designed to avoid control overhead and to produce a very
effective code.
'';
homepage = "http://www.cloog.org/";
license = lib.licenses.gpl2Plus;
/* Leads to an ICE on Cygwin:
make[3]: Entering directory `/tmp/nix-build-9q5gw5m37q5l4f0kjfv9ar8fsc9plk27-ppl-0.10.2.drv-1/ppl-0.10.2/src'
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -g -O2 -frounding-math -W -Wall -c -o Box.lo Box.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -g -O2 -frounding-math -W -Wall -c Box.cc -DDLL_EXPORT -DPIC -o .libs/Box.o
In file included from checked.defs.hh:595,
from Checked_Number.defs.hh:27,
from Coefficient.types.hh:15,
from Coefficient.defs.hh:26,
from Box.defs.hh:28,
from Box.cc:24:
checked.inlines.hh: In function `Parma_Polyhedra_Library::Result Parma_Polyhedra_Library::Checked::input_generic(Type&, std::istream&, Parma_Polyhedra_Library::Rounding_Dir)':
checked.inlines.hh:607: internal compiler error: in invert_truthvalue, at fold-const.c:2719
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://cygwin.com/problems.html> for instructions.
make[3]: *** [Box.lo] Error 1
*/
platforms = lib.platforms.unix; # Once had cygwin problems
};
}

View File

@ -1,67 +0,0 @@
{ fetchurl, lib, stdenv, gmp, isl }:
stdenv.mkDerivation rec {
pname = "cloog";
version = "0.18.4";
src = fetchurl {
url = "http://www.bastoul.net/cloog/pages/download/count.php3?url=./${pname}-${version}.tar.gz";
sha256 = "03km1aqaiy3sbqc2f046ms9x0mlmacxlvs5rxsvjj8nf20vxynij";
};
buildInputs = [ gmp ];
propagatedBuildInputs = [ isl ];
configureFlags = [ "--with-isl=system" ];
enableParallelBuilding = true;
# Breaks the test cases as it reuses 'cloog_temp' file name for different tests.
enableParallelChecking = false;
doCheck = true;
meta = {
description = "Library that generates loops for scanning polyhedra";
mainProgram = "cloog";
longDescription = ''
CLooG is a free software library to generate code for scanning
Z-polyhedra. That is, it finds a code (e.g., in C, FORTRAN...) that
reaches each integral point of one or more parameterized polyhedra.
CLooG has been originally written to solve the code generation problem
for optimizing compilers based on the polytope model. Nevertheless it
is used now in various area e.g., to build control automata for
high-level synthesis or to find the best polynomial approximation of a
function. CLooG may help in any situation where scanning polyhedra
matters. While the user has full control on generated code quality,
CLooG is designed to avoid control overhead and to produce a very
effective code.
'';
homepage = "http://www.cloog.org/";
license = lib.licenses.gpl2Plus;
/* Leads to an ICE on Cygwin:
make[3]: Entering directory `/tmp/nix-build-9q5gw5m37q5l4f0kjfv9ar8fsc9plk27-ppl-0.10.2.drv-1/ppl-0.10.2/src'
/bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -g -O2 -frounding-math -W -Wall -c -o Box.lo Box.cc
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I../src -g -O2 -frounding-math -W -Wall -c Box.cc -DDLL_EXPORT -DPIC -o .libs/Box.o
In file included from checked.defs.hh:595,
from Checked_Number.defs.hh:27,
from Coefficient.types.hh:15,
from Coefficient.defs.hh:26,
from Box.defs.hh:28,
from Box.cc:24:
checked.inlines.hh: In function `Parma_Polyhedra_Library::Result Parma_Polyhedra_Library::Checked::input_generic(Type&, std::istream&, Parma_Polyhedra_Library::Rounding_Dir)':
checked.inlines.hh:607: internal compiler error: in invert_truthvalue, at fold-const.c:2719
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://cygwin.com/problems.html> for instructions.
make[3]: *** [Box.lo] Error 1
*/
platforms = lib.platforms.unix; # Once had cygwin problems
};
}

View File

@ -1,8 +0,0 @@
import ./generic.nix {
version = "0.11.1";
urls = [
"https://src.fedoraproject.org/repo/pkgs/gcc/isl-0.11.1.tar.bz2/bce1586384d8635a76d2f017fb067cd2/isl-0.11.1.tar.bz2"
];
sha256 = "13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9";
patches = [ ./fix-gcc-build.diff ];
}

View File

@ -1,8 +0,0 @@
import ./generic.nix rec {
version = "0.14.1";
urls = [
"mirror://sourceforge/libisl/isl-${version}.tar.xz"
"https://libisl.sourceforge.io/isl-${version}.tar.xz"
];
sha256 = "0xa6xagah5rywkywn19rzvbvhfvkmylhcxr6z9z7bz29cpiwk0l8";
}

View File

@ -1,12 +0,0 @@
diff -ru isl-0.11.1/include/isl/int.h isl-0.11.1.new/include/isl/int.h
--- isl-0.11.1/include/isl/int.h 2012-11-29 09:47:32.000000000 +0100
+++ isl-0.11.1.new/include/isl/int.h 2013-10-27 15:35:31.348553812 +0100
@@ -14,7 +14,7 @@
#include <string.h>
#include <gmp.h>
#if defined(__cplusplus)
-#include <iostream>
+#include <ostream>
#endif
#if defined(__cplusplus)

View File

@ -243,6 +243,9 @@ mapAliases ({
citra = throw "citra has been removed from nixpkgs, as it has been taken down upstream"; # added 2024-03-04
citra-nightly = throw "citra-nightly has been removed from nixpkgs, as it has been taken down upstream"; # added 2024-03-04
citra-canary = throw "citra-canary has been removed from nixpkgs, as it has been taken down upstream"; # added 2024-03-04
cloog = throw "cloog has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-13
cloog_0_18_0 = throw "cloog_0_18_0 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-13
cloogppl = throw "cloogppl has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-13
clang-ocl = throw "'clang-ocl' has been replaced with 'rocmPackages.clang-ocl'"; # Added 2023-10-08
inherit (libsForQt5.mauiPackages) clip; # added 2022-05-17
clpm = throw "'clpm' has been removed from nixpkgs"; # Added 2024-04-01
@ -510,10 +513,14 @@ mapAliases ({
garage_0_7_3 = throw "garage 0.7.x has been removed as it is EOL. Please upgrade to 0.8 series."; # Added 2023-10-10
garmin-plugin = throw "garmin-plugin has been removed, as it is unmaintained upstream and no longer works with modern browsers."; # Added 2024-01-12
garmindev = throw "'garmindev' has been removed as the dependent software 'qlandkartegt' has been removed"; # Added 2023-04-17
gcc48 = throw "'gcc48' has been removed from nixpkgs"; # Added 2024-09-10
gcc49 = throw "'gcc49' has been removed from nixpkgs"; # Added 2024-09-11
gcc49Stdenv = throw "'gcc49Stdenv' has been removed from nixpkgs"; # Added 2024-09-11
gcc48 = throw "gcc48 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-10
gcc49 = throw "gcc49 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-11
gcc49Stdenv = throw "gcc49Stdenv has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-11
gcc6 = throw "gcc6 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-13
gcc6Stdenv = throw "gcc6Stdenv has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-13
gcc10StdenvCompat = if stdenv.cc.isGNU && lib.versionAtLeast stdenv.cc.version "11" then gcc10Stdenv else stdenv; # Added 2024-03-21
gcj = gcj6; # Added 2024-09-13
gcj6 = throw "gcj6 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-13
gcl_2_6_13_pre = throw "'gcl_2_6_13_pre' has been removed in favor of 'gcl'"; # Added 2024-01-11
geekbench4 = throw "'geekbench4' has been renamed to 'geekbench_4'"; # Added 2023-03-10
geekbench5 = throw "'geekbench5' has been renamed to 'geekbench_5'"; # Added 2023-03-10
@ -702,6 +709,8 @@ mapAliases ({
ipfs-migrator = kubo-migrator; # Added 2022-09-27
iproute = iproute2; # moved from top-level 2021-03-14
irrlichtmt = throw "irrlichtmt has been removed because it was moved into the Minetest repo"; # Added 2024-08-12
isl_0_11 = throw "isl_0_11 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-13
isl_0_14 = throw "isl_0_14 has been removed from Nixpkgs, as it is unmaintained and obsolete"; # Added 2024-09-13
iso-flags-png-320x420 = lib.warn "iso-flags-png-320x420 has been renamed to iso-flags-png-320x240" iso-flags-png-320x240; # Added 2024-07-17
### J ###

View File

@ -6755,16 +6755,6 @@ with pkgs;
clolcat = callPackage ../tools/misc/clolcat { };
cloog = callPackage ../development/libraries/cloog {
isl = isl_0_14;
};
cloog_0_18_0 = callPackage ../development/libraries/cloog/0.18.0.nix {
isl = isl_0_11;
};
cloogppl = callPackage ../development/libraries/cloog-ppl { };
cloud-utils = callPackage ../tools/misc/cloud-utils { };
cloudlist = callPackage ../tools/security/cloudlist { };
@ -8952,8 +8942,6 @@ with pkgs;
ised = callPackage ../tools/misc/ised { };
isl = isl_0_20;
isl_0_11 = callPackage ../development/libraries/isl/0.11.1.nix { };
isl_0_14 = callPackage ../development/libraries/isl/0.14.1.nix { };
isl_0_17 = callPackage ../development/libraries/isl/0.17.1.nix { };
isl_0_20 = callPackage ../development/libraries/isl/0.20.0.nix { };
isl_0_24 = callPackage ../development/libraries/isl/0.24.0.nix { };
@ -14909,7 +14897,6 @@ with pkgs;
extraBuildInputs = lib.optional stdenv.hostPlatform.isDarwin clang.cc;
};
gcc6Stdenv = overrideCC gccStdenv buildPackages.gcc6;
gcc7Stdenv = overrideCC gccStdenv buildPackages.gcc7;
gcc8Stdenv = overrideCC gccStdenv buildPackages.gcc8;
gcc9Stdenv = overrideCC gccStdenv buildPackages.gcc9;
@ -15003,7 +14990,7 @@ with pkgs;
};
inherit (callPackage ../development/compilers/gcc/all.nix { inherit noSysDirs; })
gcc6 gcc7 gcc8 gcc9 gcc10 gcc11 gcc12 gcc13 gcc14;
gcc7 gcc8 gcc9 gcc10 gcc11 gcc12 gcc13 gcc14;
gcc_latest = gcc14;
@ -15017,18 +15004,6 @@ with pkgs;
enableLTO = false;
};
gcj = gcj6;
gcj6 = wrapCC (gcc6.cc.override {
name = "gcj";
langJava = true;
langFortran = false;
langCC = false;
langC = false;
profiledCompiler = false;
inherit zip unzip zlib boehmgc gettext pkg-config perl;
inherit (gnome2) libart_lgpl;
});
gnat = gnat12; # When changing this, update also gnatPackages
gnat11 = wrapCC (gcc11.cc.override {