diff options
author | Jörg Thalheim <joerg@thalheim.io> | 2018-08-28 22:17:54 +0100 |
---|---|---|
committer | Jörg Thalheim <joerg@thalheim.io> | 2018-08-28 22:18:02 +0100 |
commit | 9efffe0135c1ff7fcefbcd5ba0e521b41e56bb56 (patch) | |
tree | 7bd7683d78448502d64cddf30e5d2b2cd32393d1 | |
parent | c4e8f4b442e2500273040a17d61996ee99c3956b (diff) |
hurd: cleanup unmaintained target
This has been not touched in 6 years. Let's remove it to cause less problems when adding new cross-compiling infrastructure. This also simplify gcc significantly.
26 files changed, 34 insertions, 906 deletions
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix index adc454406b851..a00165db17160 100644 --- a/lib/systems/doubles.nix +++ b/lib/systems/doubles.nix @@ -36,7 +36,7 @@ in rec { cygwin = filterDoubles predicates.isCygwin; darwin = filterDoubles predicates.isDarwin; freebsd = filterDoubles predicates.isFreeBSD; - # Should be better, but MinGW is unclear, and HURD is bit-rotted. + # Should be better, but MinGW is unclear. gnu = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }); illumos = filterDoubles predicates.isSunOS; linux = filterDoubles predicates.isLinux; diff --git a/lib/systems/for-meta.nix b/lib/systems/for-meta.nix index 96e8b6f86eb06..51fb6ae760d1e 100644 --- a/lib/systems/for-meta.nix +++ b/lib/systems/for-meta.nix @@ -20,7 +20,7 @@ in rec { cygwin = [ patterns.isCygwin ]; darwin = [ patterns.isDarwin ]; freebsd = [ patterns.isFreeBSD ]; - # Should be better, but MinGW is unclear, and HURD is bit-rotted. + # Should be better, but MinGW is unclear. gnu = [ { kernel = parse.kernels.linux; abi = abis.gnu; } { kernel = parse.kernels.linux; abi = abis.gnueabi; } diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index ac34ed45695ce..65f560328af53 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -27,14 +27,13 @@ rec { isBSD = { kernel = { families = { inherit (kernelFamilies) bsd; }; }; }; isDarwin = { kernel = { families = { inherit (kernelFamilies) darwin; }; }; }; - isUnix = [ isBSD isDarwin isLinux isSunOS isHurd isCygwin ]; + isUnix = [ isBSD isDarwin isLinux isSunOS isCygwin ]; isMacOS = { kernel = kernels.macos; }; isiOS = { kernel = kernels.ios; }; isLinux = { kernel = kernels.linux; }; isSunOS = { kernel = kernels.solaris; }; isFreeBSD = { kernel = kernels.freebsd; }; - isHurd = { kernel = kernels.hurd; }; isNetBSD = { kernel = kernels.netbsd; }; isOpenBSD = { kernel = kernels.openbsd; }; isWindows = { kernel = kernels.windows; }; diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix index 7ee3479c333d8..bb26c93f3d7aa 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -172,7 +172,6 @@ rec { macos = { execFormat = macho; families = { inherit darwin; }; name = "darwin"; }; ios = { execFormat = macho; families = { inherit darwin; }; }; freebsd = { execFormat = elf; families = { inherit bsd; }; }; - hurd = { execFormat = elf; families = { }; }; linux = { execFormat = elf; families = { }; }; netbsd = { execFormat = elf; families = { inherit bsd; }; }; none = { execFormat = unknown; families = { }; }; @@ -259,8 +258,6 @@ rec { "2" = # We only do 2-part hacks for things Nix already supports if elemAt l 1 == "cygwin" then { cpu = elemAt l 0; kernel = "windows"; abi = "cygnus"; } - else if elemAt l 1 == "gnu" - then { cpu = elemAt l 0; kernel = "hurd"; abi = "gnu"; } else { cpu = elemAt l 0; kernel = elemAt l 1; }; "3" = # Awkwards hacks, beware! if elemAt l 1 == "apple" diff --git a/lib/tests/systems.nix b/lib/tests/systems.nix index ffdd8ae929c86..91604280e4e7b 100644 --- a/lib/tests/systems.nix +++ b/lib/tests/systems.nix @@ -22,7 +22,7 @@ in with lib.systems.doubles; lib.runTests { cygwin = assertTrue (mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ]); darwin = assertTrue (mseteq darwin [ "x86_64-darwin" ]); freebsd = assertTrue (mseteq freebsd [ "i686-freebsd" "x86_64-freebsd" ]); - gnu = assertTrue (mseteq gnu (linux /* ++ hurd ++ kfreebsd ++ ... */)); + gnu = assertTrue (mseteq gnu (linux /* ++ kfreebsd ++ ... */)); illumos = assertTrue (mseteq illumos [ "x86_64-solaris" ]); linux = assertTrue (mseteq linux [ "i686-linux" "x86_64-linux" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "mipsel-linux" ]); netbsd = assertTrue (mseteq netbsd [ "i686-netbsd" "x86_64-netbsd" ]); diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix index 101a6feeeae32..3e9ddacac1b4e 100644 --- a/pkgs/development/compilers/gcc/4.8/default.nix +++ b/pkgs/development/compilers/gcc/4.8/default.nix @@ -24,7 +24,6 @@ , name ? "gcc" , libcCross ? null , crossStageStatic ? false -, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd , # Strip kills static libs of other archs (hence no cross) stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform , gnused ? null @@ -181,39 +180,7 @@ stdenv.mkDerivation ({ libc_dev = stdenv.cc.libc_dev; postPatch = - if targetPlatform.isHurd - then - # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not - # in glibc, so add the right `-I' flags to the default spec string. - assert libcCross != null -> libpthreadCross != null; - let - libc = if libcCross != null then libcCross else stdenv.glibc; - gnu_h = "gcc/config/gnu.h"; - extraCPPDeps = - libc.propagatedBuildInputs - ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross - ++ stdenv.lib.optional (libpthread != null) libpthread; - extraCPPSpec = - concatStrings (intersperse " " - (map (x: "-I${x.dev or x}/include") extraCPPDeps)); - extraLibSpec = - if libpthreadCross != null - then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}" - else "-L${libpthread}/lib"; - in - '' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..." - sed -i "${gnu_h}" \ - -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g' - - echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..." - sed -i "${gnu_h}" \ - -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g' - - echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..." - sed -i "${gnu_h}" \ - -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g' - '' - else if targetPlatform != hostPlatform || stdenv.cc.libc != null then + if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. let @@ -379,21 +346,13 @@ stdenv.mkDerivation ({ ++ optional langJava boehmgc ++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk [ gmp mpfr ] - ++ optional (libpthread != null) libpthread - ++ optional (libpthreadCross != null) libpthreadCross - - # On GNU/Hurd glibc refers to Mach & Hurd - # headers. - ++ optionals (libcCross != null && libcCross ? propagatedBuildInputs) - libcCross.propagatedBuildInputs )); LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([] ++ optional (zlib != null) zlib ++ optional langJava boehmgc ++ optionals javaAwtGtk xlibs - ++ optionals javaAwtGtk [ gmp mpfr ] - ++ optional (libpthread != null) libpthread) + ++ optionals javaAwtGtk [ gmp mpfr ]) ); EXTRA_TARGET_FLAGS = optionals @@ -413,10 +372,7 @@ stdenv.mkDerivation ({ ] else [ "-Wl,-rpath,${libcCross.out}/lib" "-Wl,-rpath-link,${libcCross.out}/lib" - ]) ++ optionals (libpthreadCross != null) [ - "-L${libpthreadCross}/lib" - "-Wl,${libpthreadCross.TARGET_LDFLAGS}" - ]); + ])); passthru = { inherit langC langCC langObjC langObjCpp langFortran langGo version; diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix index 1df87cc3d429a..9b4444b905def 100644 --- a/pkgs/development/compilers/gcc/4.9/default.nix +++ b/pkgs/development/compilers/gcc/4.9/default.nix @@ -24,7 +24,6 @@ , name ? "gcc" , libcCross ? null , crossStageStatic ? false -, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd , # Strip kills static libs of other archs (hence no cross) stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform , gnused ? null @@ -190,39 +189,7 @@ stdenv.mkDerivation ({ libc_dev = stdenv.cc.libc_dev; postPatch = - if targetPlatform.isHurd - then - # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not - # in glibc, so add the right `-I' flags to the default spec string. - assert libcCross != null -> libpthreadCross != null; - let - libc = if libcCross != null then libcCross else stdenv.glibc; - gnu_h = "gcc/config/gnu.h"; - extraCPPDeps = - libc.propagatedBuildInputs - ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross - ++ stdenv.lib.optional (libpthread != null) libpthread; - extraCPPSpec = - concatStrings (intersperse " " - (map (x: "-I${x.dev or x}/include") extraCPPDeps)); - extraLibSpec = - if libpthreadCross != null - then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}" - else "-L${libpthread}/lib"; - in - '' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..." - sed -i "${gnu_h}" \ - -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g' - - echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..." - sed -i "${gnu_h}" \ - -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g' - - echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..." - sed -i "${gnu_h}" \ - -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g' - '' - else if targetPlatform != hostPlatform || stdenv.cc.libc != null then + if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. let @@ -401,22 +368,13 @@ stdenv.mkDerivation ({ ++ optional langJava boehmgc ++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk [ gmp mpfr ] - ++ optional (libpthread != null) libpthread - ++ optional (libpthreadCross != null) libpthreadCross - - # On GNU/Hurd glibc refers to Mach & Hurd - # headers. - ++ optionals (libcCross != null && libcCross ? propagatedBuildInputs) - libcCross.propagatedBuildInputs )); LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([] ++ optional (zlib != null) zlib ++ optional langJava boehmgc ++ optionals javaAwtGtk xlibs - ++ optionals javaAwtGtk [ gmp mpfr ] - ++ optional (libpthread != null) libpthread) - ); + ++ optionals javaAwtGtk [ gmp mpfr ])); EXTRA_TARGET_FLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) @@ -435,10 +393,7 @@ stdenv.mkDerivation ({ ] else [ "-Wl,-rpath,${libcCross.out}/lib" "-Wl,-rpath-link,${libcCross.out}/lib" - ]) ++ optionals (libpthreadCross != null) [ - "-L${libpthreadCross}/lib" - "-Wl,${libpthreadCross.TARGET_LDFLAGS}" - ]); + ])); passthru = { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; }; diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix index 1215c971f239a..3fdec1ec31033 100644 --- a/pkgs/development/compilers/gcc/5/default.nix +++ b/pkgs/development/compilers/gcc/5/default.nix @@ -24,7 +24,6 @@ , name ? "gcc" , libcCross ? null , crossStageStatic ? false -, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd , # Strip kills static libs of other archs (hence no cross) stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform , gnused ? null @@ -188,39 +187,7 @@ stdenv.mkDerivation ({ ''; postPatch = - if targetPlatform.isHurd - then - # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not - # in glibc, so add the right `-I' flags to the default spec string. - assert libcCross != null -> libpthreadCross != null; - let - libc = if libcCross != null then libcCross else stdenv.glibc; - gnu_h = "gcc/config/gnu.h"; - extraCPPDeps = - libc.propagatedBuildInputs - ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross - ++ stdenv.lib.optional (libpthread != null) libpthread; - extraCPPSpec = - concatStrings (intersperse " " - (map (x: "-I${x.dev or x}/include") extraCPPDeps)); - extraLibSpec = - if libpthreadCross != null - then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}" - else "-L${libpthread}/lib"; - in - '' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..." - sed -i "${gnu_h}" \ - -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g' - - echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..." - sed -i "${gnu_h}" \ - -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g' - - echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..." - sed -i "${gnu_h}" \ - -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g' - '' - else if targetPlatform != hostPlatform || stdenv.cc.libc != null then + if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. let @@ -302,7 +269,7 @@ stdenv.mkDerivation ({ ] ++ optional (libelf != null) "--with-libelf=${libelf}" ++ optional (!(crossMingw && crossStageStatic)) - "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++ + "--with-native-system-header-dir=${getDev stdenv.cc.libc}/include" ++ # Basic configuration [ @@ -400,13 +367,6 @@ stdenv.mkDerivation ({ ++ optional langJava boehmgc ++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk [ gmp mpfr ] - ++ optional (libpthread != null) libpthread - ++ optional (libpthreadCross != null) libpthreadCross - - # On GNU/Hurd glibc refers to Mach & Hurd - # headers. - ++ optionals (libcCross != null && libcCross ? propagatedBuildInputs) - libcCross.propagatedBuildInputs )); LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([] @@ -414,8 +374,7 @@ stdenv.mkDerivation ({ ++ optional langJava boehmgc ++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk [ gmp mpfr ] - ++ optional (libpthread != null) libpthread) - ); + )); EXTRA_TARGET_FLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) @@ -434,10 +393,7 @@ stdenv.mkDerivation ({ ] else [ "-Wl,-rpath,${libcCross.out}/lib" "-Wl,-rpath-link,${libcCross.out}/lib" - ]) ++ optionals (libpthreadCross != null) [ - "-L${libpthreadCross}/lib" - "-Wl,${libpthreadCross.TARGET_LDFLAGS}" - ]); + ])); passthru = { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; }; diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix index 0fb390758954a..099e26375f416 100644 --- a/pkgs/development/compilers/gcc/6/default.nix +++ b/pkgs/development/compilers/gcc/6/default.nix @@ -24,7 +24,6 @@ , name ? "gcc" , libcCross ? null , crossStageStatic ? false -, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd , # Strip kills static libs of other archs (hence no cross) stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform , gnused ? null @@ -192,39 +191,7 @@ stdenv.mkDerivation ({ ''; postPatch = - if targetPlatform.isHurd - then - # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not - # in glibc, so add the right `-I' flags to the default spec string. - assert libcCross != null -> libpthreadCross != null; - let - libc = if libcCross != null then libcCross else stdenv.glibc; - gnu_h = "gcc/config/gnu.h"; - extraCPPDeps = - libc.propagatedBuildInputs - ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross - ++ stdenv.lib.optional (libpthread != null) libpthread; - extraCPPSpec = - concatStrings (intersperse " " - (map (x: "-I${x.dev or x}/include") extraCPPDeps)); - extraLibSpec = - if libpthreadCross != null - then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}" - else "-L${libpthread}/lib"; - in - '' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..." - sed -i "${gnu_h}" \ - -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g' - - echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..." - sed -i "${gnu_h}" \ - -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g' - - echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..." - sed -i "${gnu_h}" \ - -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g' - '' - else if targetPlatform != hostPlatform || stdenv.cc.libc != null then + if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. let @@ -408,22 +375,13 @@ stdenv.mkDerivation ({ ++ optional langJava boehmgc ++ optionals javaAwtGtk xlibs ++ optionals javaAwtGtk [ gmp mpfr ] - ++ optional (libpthread != null) libpthread - ++ optional (libpthreadCross != null) libpthreadCross - - # On GNU/Hurd glibc refers to Mach & Hurd - # headers. - ++ optionals (libcCross != null && libcCross ? propagatedBuildInputs) - libcCross.propagatedBuildInputs )); LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([] ++ optional (zlib != null) zlib ++ optional langJava boehmgc ++ optionals javaAwtGtk xlibs - ++ optionals javaAwtGtk [ gmp mpfr ] - ++ optional (libpthread != null) libpthread) - ); + ++ optionals javaAwtGtk [ gmp mpfr ])); EXTRA_TARGET_FLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) @@ -442,10 +400,7 @@ stdenv.mkDerivation ({ ] else [ "-Wl,-rpath,${libcCross.out}/lib" "-Wl,-rpath-link,${libcCross.out}/lib" - ]) ++ optionals (libpthreadCross != null) [ - "-L${libpthreadCross}/lib" - "-Wl,${libpthreadCross.TARGET_LDFLAGS}" - ]); + ])); passthru = { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; }; diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix index c5541da079012..60e429cc4da10 100644 --- a/pkgs/development/compilers/gcc/7/default.nix +++ b/pkgs/development/compilers/gcc/7/default.nix @@ -17,7 +17,6 @@ , name ? "gcc" , libcCross ? null , crossStageStatic ? false -, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd , # Strip kills static libs of other archs (hence no cross) stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform , gnused ? null @@ -165,39 +164,7 @@ stdenv.mkDerivation ({ patchShebangs $configureScript done '' + ( - if targetPlatform.isHurd - then - # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not - # in glibc, so add the right `-I' flags to the default spec string. - assert libcCross != null -> libpthreadCross != null; - let - libc = if libcCross != null then libcCross else stdenv.glibc; - gnu_h = "gcc/config/gnu.h"; - extraCPPDeps = - libc.propagatedBuildInputs - ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross - ++ stdenv.lib.optional (libpthread != null) libpthread; - extraCPPSpec = - concatStrings (intersperse " " - (map (x: "-I${x.dev or x}/include") extraCPPDeps)); - extraLibSpec = - if libpthreadCross != null - then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}" - else "-L${libpthread}/lib"; - in - '' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..." - sed -i "${gnu_h}" \ - -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g' - - echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..." - sed -i "${gnu_h}" \ - -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g' - - echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..." - sed -i "${gnu_h}" \ - -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g' - '' - else if targetPlatform != hostPlatform || stdenv.cc.libc != null then + if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. let @@ -357,19 +324,9 @@ stdenv.mkDerivation ({ CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([] ++ optional (zlib != null) zlib - ++ optional (libpthread != null) libpthread - ++ optional (libpthreadCross != null) libpthreadCross - - # On GNU/Hurd glibc refers to Mach & Hurd - # headers. - ++ optionals (libcCross != null && libcCross ? propagatedBuildInputs) - libcCross.propagatedBuildInputs )); - LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([] - ++ optional (zlib != null) zlib - ++ optional (libpthread != null) libpthread) - ); + LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib)); EXTRA_TARGET_FLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) @@ -388,10 +345,7 @@ stdenv.mkDerivation ({ ] else [ "-Wl,-rpath,${libcCross.out}/lib" "-Wl,-rpath-link,${libcCross.out}/lib" - ]) ++ optionals (libpthreadCross != null) [ - "-L${libpthreadCross}/lib" - "-Wl,${libpthreadCross.TARGET_LDFLAGS}" - ]); + ])); passthru = { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; }; diff --git a/pkgs/development/compilers/gcc/8/default.nix b/pkgs/development/compilers/gcc/8/default.nix index 5d7be16378349..a05c1c7181287 100644 --- a/pkgs/development/compilers/gcc/8/default.nix +++ b/pkgs/development/compilers/gcc/8/default.nix @@ -17,7 +17,6 @@ , name ? "gcc" , libcCross ? null , crossStageStatic ? false -, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd , # Strip kills static libs of other archs (hence no cross) stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform , gnused ? null @@ -160,39 +159,7 @@ stdenv.mkDerivation ({ patchShebangs $configureScript done '' + ( - if targetPlatform.isHurd - then - # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not - # in glibc, so add the right `-I' flags to the default spec string. - assert libcCross != null -> libpthreadCross != null; - let - libc = if libcCross != null then libcCross else stdenv.glibc; - gnu_h = "gcc/config/gnu.h"; - extraCPPDeps = - libc.propagatedBuildInputs - ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross - ++ stdenv.lib.optional (libpthread != null) libpthread; - extraCPPSpec = - concatStrings (intersperse " " - (map (x: "-I${x.dev or x}/include") extraCPPDeps)); - extraLibSpec = - if libpthreadCross != null - then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}" - else "-L${libpthread}/lib"; - in - '' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..." - sed -i "${gnu_h}" \ - -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g' - - echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..." - sed -i "${gnu_h}" \ - -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g' - - echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..." - sed -i "${gnu_h}" \ - -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g' - '' - else if targetPlatform != hostPlatform || stdenv.cc.libc != null then + if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. let @@ -346,19 +313,9 @@ stdenv.mkDerivation ({ CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([] ++ optional (zlib != null) zlib - ++ optional (libpthread != null) libpthread - ++ optional (libpthreadCross != null) libpthreadCross - - # On GNU/Hurd glibc refers to Mach & Hurd - # headers. - ++ optionals (libcCross != null && libcCross ? propagatedBuildInputs) - libcCross.propagatedBuildInputs )); - LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([] - ++ optional (zlib != null) zlib - ++ optional (libpthread != null) libpthread) - ); + LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib)); EXTRA_TARGET_FLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) @@ -377,10 +334,7 @@ stdenv.mkDerivation ({ ] else [ "-Wl,-rpath,${libcCross.out}/lib" "-Wl,-rpath-link,${libcCross.out}/lib" - ]) ++ optionals (libpthreadCross != null) [ - "-L${libpthreadCross}/lib" - "-Wl,${libpthreadCross.TARGET_LDFLAGS}" - ]); + ])); passthru = { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; }; diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix index 124fdbcdf9d44..275b380e90f7d 100644 --- a/pkgs/development/compilers/gcc/snapshot/default.nix +++ b/pkgs/development/compilers/gcc/snapshot/default.nix @@ -17,7 +17,6 @@ , name ? "gcc" , libcCross ? null , crossStageStatic ? false -, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd , # Strip kills static libs of other archs (hence no cross) stripped ? hostPlatform == buildPlatform && targetPlatform == hostPlatform , gnused ? null @@ -134,39 +133,7 @@ stdenv.mkDerivation ({ hardeningDisable = [ "format" ]; postPatch = - if targetPlatform.isHurd - then - # On GNU/Hurd glibc refers to Hurd & Mach headers and libpthread is not - # in glibc, so add the right `-I' flags to the default spec string. - assert libcCross != null -> libpthreadCross != null; - let - libc = if libcCross != null then libcCross else stdenv.glibc; - gnu_h = "gcc/config/gnu.h"; - extraCPPDeps = - libc.propagatedBuildInputs - ++ stdenv.lib.optional (libpthreadCross != null) libpthreadCross - ++ stdenv.lib.optional (libpthread != null) libpthread; - extraCPPSpec = - concatStrings (intersperse " " - (map (x: "-I${x.dev or x}/include") extraCPPDeps)); - extraLibSpec = - if libpthreadCross != null - then "-L${libpthreadCross}/lib ${libpthreadCross.TARGET_LDFLAGS}" - else "-L${libpthread}/lib"; - in - '' echo "augmenting \`CPP_SPEC' in \`${gnu_h}' with \`${extraCPPSpec}'..." - sed -i "${gnu_h}" \ - -es'|CPP_SPEC *"\(.*\)$|CPP_SPEC "${extraCPPSpec} \1|g' - - echo "augmenting \`LIB_SPEC' in \`${gnu_h}' with \`${extraLibSpec}'..." - sed -i "${gnu_h}" \ - -es'|LIB_SPEC *"\(.*\)$|LIB_SPEC "${extraLibSpec} \1|g' - - echo "setting \`NATIVE_SYSTEM_HEADER_DIR' and \`STANDARD_INCLUDE_DIR' to \`${libc.dev}/include'..." - sed -i "${gnu_h}" \ - -es'|#define STANDARD_INCLUDE_DIR.*$|#define STANDARD_INCLUDE_DIR "${libc.dev}/include"|g' - '' - else if targetPlatform != hostPlatform || stdenv.cc.libc != null then + if targetPlatform != hostPlatform || stdenv.cc.libc != null then # On NixOS, use the right path to the dynamic linker instead of # `/lib/ld*.so'. let @@ -314,19 +281,9 @@ stdenv.mkDerivation ({ CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([] ++ optional (zlib != null) zlib - ++ optional (libpthread != null) libpthread - ++ optional (libpthreadCross != null) libpthreadCross - - # On GNU/Hurd glibc refers to Mach & Hurd - # headers. - ++ optionals (libcCross != null && libcCross ? propagatedBuildInputs) - libcCross.propagatedBuildInputs )); - LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath ([] - ++ optional (zlib != null) zlib - ++ optional (libpthread != null) libpthread) - ); + LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib)); EXTRA_TARGET_FLAGS = optionals (targetPlatform != hostPlatform && libcCross != null) @@ -345,10 +302,7 @@ stdenv.mkDerivation ({ ] else [ "-Wl,-rpath,${libcCross.out}/lib" "-Wl,-rpath-link,${libcCross.out}/lib" - ]) ++ optionals (libpthreadCross != null) [ - "-L${libpthreadCross}/lib" - "-Wl,${libpthreadCross.TARGET_LDFLAGS}" - ]); + ])); passthru = { inherit langC langCC langObjC langObjCpp langFortran langGo version; isGNU = true; }; diff --git a/pkgs/development/tools/misc/gdb/default.nix b/pkgs/development/tools/misc/gdb/default.nix index ae59f85a211ea..1c2efbeea76fb 100644 --- a/pkgs/development/tools/misc/gdb/default.nix +++ b/pkgs/development/tools/misc/gdb/default.nix @@ -11,9 +11,6 @@ , pythonSupport ? hostPlatform == buildPlatform && !hostPlatform.isCygwin, python ? null , guile ? null -# Additional dependencies for GNU/Hurd. -, mig ? null, hurd ? null - }: let @@ -21,7 +18,6 @@ let version = "8.1.1"; in -assert targetPlatform.isHurd -> mig != null && hurd != null; assert pythonSupport -> python != null; stdenv.mkDerivation rec { @@ -38,13 +34,10 @@ stdenv.mkDerivation rec { patches = [ ./debug-info-from-env.patch ] ++ stdenv.lib.optional stdenv.isDarwin ./darwin-target-match.patch; - nativeBuildInputs = [ pkgconfig texinfo perl setupDebugInfoDirs ] - # TODO(@Ericson2314) not sure if should be host or target - ++ stdenv.lib.optional targetPlatform.isHurd mig; + nativeBuildInputs = [ pkgconfig texinfo perl setupDebugInfoDirs ]; buildInputs = [ ncurses readline gmp mpfr expat zlib guile ] ++ stdenv.lib.optional pythonSupport python - ++ stdenv.lib.optional targetPlatform.isHurd hurd ++ stdenv.lib.optional doCheck dejagnu; propagatedNativeBuildInputs = [ setupDebugInfoDirs ]; diff --git a/pkgs/os-specific/gnu/default.nix b/pkgs/os-specific/gnu/default.nix deleted file mode 100644 index d576000352564..0000000000000 --- a/pkgs/os-specific/gnu/default.nix +++ /dev/null @@ -1,113 +0,0 @@ -# Packages that make up the GNU/Hurd operating system (aka. GNU). - -args@{ fetchgit, stdenv, autoconf, automake, automake111x, libtool -, texinfo, glibcCross, hurdPartedCross, libuuid, samba -, gccCrossStageStatic, gcc -, pkgsi686Linux, newScope, config -, targetPlatform, buildPlatform -, overrides ? {} -, buildPackages, pkgs -}: - -with args; - -let - callPackage = newScope gnu; - - forcedNativePackages = - if stdenv.hostPlatform == stdenv.buildPlatform - then pkgs - else buildPackages; - - gnu = { - hurdCross = forcedNativePackages.callPackage ./hurd { - inherit fetchgit stdenv autoconf libtool texinfo - glibcCross hurdPartedCross; - inherit (gnu) machHeaders mig; - libuuid = libuuid.crossDrv; - automake = automake111x; - headersOnly = false; - cross = assert targetPlatform != buildPlatform; targetPlatform; - gccCross = gcc; - }; - - hurdCrossIntermediate = forcedNativePackages.callPackage ./hurd { - inherit fetchgit stdenv autoconf libtool texinfo glibcCross; - inherit (gnu) machHeaders mig; - hurdPartedCross = null; - libuuid = null; - automake = automake111x; - headersOnly = false; - cross = assert targetPlatform != buildPlatform; targetPlatform; - - # The "final" GCC needs glibc and the Hurd libraries (libpthread in - # particular) so we first need an intermediate Hurd built with the - # intermediate GCC. - gccCross = gccCrossStageStatic; - - # This intermediate Hurd is only needed to build libpthread, which needs - # libihash, and to build Parted, which needs libstore and - # libshouldbeinlibc. - buildTarget = "libihash libstore libshouldbeinlibc"; - installTarget = "libihash-install libstore-install libshouldbeinlibc-install"; - }; - - hurdHeaders = callPackage ./hurd { - automake = automake111x; - headersOnly = true; - gccCross = null; - glibcCross = null; - libuuid = null; - hurdPartedCross = null; - }; - - libpthreadHeaders = callPackage ./libpthread { - headersOnly = true; - hurd = null; - }; - - libpthreadCross = forcedNativePackages.callPackage ./libpthread { - inherit fetchgit stdenv autoconf automake libtool glibcCross; - inherit (gnu) machHeaders hurdHeaders; - hurd = gnu.hurdCrossIntermediate; - gccCross = gccCrossStageStatic; - cross = assert targetPlatform != buildPlatform; targetPlatform; - }; - - # In theory GNU Mach doesn't have to be cross-compiled. However, since it - # has to be built for i586 (it doesn't work on x86_64), one needs a cross - # compiler for that host. - mach = callPackage ./mach { - automake = automake111x; - }; - - machHeaders = callPackage ./mach { - automake = automake111x; - headersOnly = true; - mig = null; - }; - - mig = callPackage ./mig { - # Build natively, but force use of a 32-bit environment because we're - # targeting `i586-pc-gnu'. - stdenv = pkgsi686Linux.stdenv; - }; - - # XXX: Use this one for its `.crossDrv'. Using the one above from - # `x86_64-linux' leads to building a different cross-toolchain because of - # the `forceSystem'. - mig_raw = callPackage ./mig {}; - - smbfs = callPackage ./smbfs { - hurd = gnu.hurdCross; - }; - - unionfs = callPackage ./unionfs { - hurd = gnu.hurdCross; - }; - } - - # Allow callers to override elements of this attribute set. - // overrides; - -in gnu # we trust! diff --git a/pkgs/os-specific/gnu/hurd/default.nix b/pkgs/os-specific/gnu/hurd/default.nix deleted file mode 100644 index a0c4be0ff451a..0000000000000 --- a/pkgs/os-specific/gnu/hurd/default.nix +++ /dev/null @@ -1,91 +0,0 @@ -{ fetchgit, stdenv, autoconf, automake, libtool, texinfo -, machHeaders, mig, headersOnly ? true -, cross ? null, gccCross ? null, glibcCross ? null -, hurdPartedCross ? null, libuuid ? null -, buildTarget ? "all", installTarget ? "install" }: - -assert (cross != null) -> (gccCross != null); -assert (hurdPartedCross != null) -> (libuuid != null); - -let - # Unfortunately we can't use `master@{DATE}', see - # <http://www.bramschoenmakers.nl/en/node/645>. - date = "20111115"; - rev = "969fbb646ffd89a482302e303eaded79781c3331"; - suffix = if headersOnly - then "-headers" - else (if buildTarget != "all" - then "-minimal" - else ""); -in -stdenv.mkDerivation ({ - name = "hurd${suffix}-${date}"; - - src = fetchgit { - url = "git://git.sv.gnu.org/hurd/hurd.git"; - sha256 = "b7f57ec2c6dcaf35ec03fb7979eb5506180ce4c6e2edf60a587f12ac5b11f004"; - inherit rev; - }; - - buildInputs = [ autoconf automake libtool texinfo mig ] - ++ stdenv.lib.optional (hurdPartedCross != null) hurdPartedCross - ++ stdenv.lib.optional (libuuid != null) libuuid - ++ stdenv.lib.optional (gccCross != null) gccCross - ++ stdenv.lib.optional (glibcCross != null) glibcCross; - - propagatedBuildInputs = [ machHeaders ]; - - configureFlags = stdenv.lib.optionals headersOnly [ "--build=i586-pc-gnu" ] - ++ (if hurdPartedCross != null - then [ "--with-parted" ] - else [ "--without-parted" ]); - - # Use `preConfigure' only for `autoreconf', so that users know they can - # simply clear it when the autoconf phase is unneeded. - preConfigure = "autoreconf -vfi"; - - postConfigure = - '' echo "removing \`-o root' from makefiles..." - for mf in {utils,daemons}/Makefile - do - sed -i "$mf" -e's/-o root//g' - done - ''; - - # Not needed after https://github.com/NixOS/nixpkgs/pull/43833 - dontPatchShebangs = stdenv.hostPlatform != stdenv.buildPlatform; - - meta = { - description = "The GNU Hurd, GNU project's replacement for the Unix kernel"; - - longDescription = - '' The GNU Hurd is the GNU project's replacement for the Unix kernel. - It is a collection of servers that run on the Mach microkernel to - implement file systems, network protocols, file access control, and - other features that are implemented by the Unix kernel or similar - kernels (such as Linux). - ''; - - license = stdenv.lib.licenses.gpl2Plus; - - homepage = http://www.gnu.org/software/hurd/; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - }; -} - -// - -stdenv.lib.optionalAttrs (!headersOnly && buildTarget != null) { - # Use the default `buildPhase' and `installPhase' so that the usual hooks - # can still be used. - buildFlags = buildTarget; - installTargets = assert installTarget != null; installTarget; -} - -// - -stdenv.lib.optionalAttrs headersOnly { - dontBuild = true; - installPhase = "make install-headers"; -}) diff --git a/pkgs/os-specific/gnu/libpthread/default.nix b/pkgs/os-specific/gnu/libpthread/default.nix deleted file mode 100644 index a2e1081a1e8d7..0000000000000 --- a/pkgs/os-specific/gnu/libpthread/default.nix +++ /dev/null @@ -1,81 +0,0 @@ -{ fetchgit, stdenv, autoconf, automake, libtool -, machHeaders, hurdHeaders, hurd, headersOnly ? false -, cross ? null, gccCross ? null, glibcCross ? null }: - -assert (cross != null) -> (gccCross != null) && (glibcCross != null); -assert (!headersOnly) -> (hurd != null); - -let - date = "20111020"; - - # Use the `tschwinge/Peter_Herbolzheimer' branch as prescribed in - # <http://www.gnu.org/software/hurd/hurd/building/cross-compiling.html>. - rev = "a7b82c3302bf9c47176648eb802a61ae2d9a16f5"; -in -stdenv.mkDerivation ({ - name = "libpthread-hurd-${if headersOnly then "headers-" else ""}${date}"; - - src = fetchgit { - url = "git://git.sv.gnu.org/hurd/libpthread.git"; - sha256 = "e8300762914d927c0da4168341a5982a1057613e1af363ee68942087b2570b3d"; - inherit rev; - }; - - nativeBuildInputs = [ autoconf automake libtool ]; - buildInputs = [ machHeaders hurdHeaders ] - ++ stdenv.lib.optional (!headersOnly) hurd - ++ stdenv.lib.optional (gccCross != null) gccCross; - - preConfigure = "autoreconf -vfi"; - - meta = { - description = "GNU Hurd's libpthread"; - - license = stdenv.lib.licenses.lgpl2Plus; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - }; -} - -// - -(if headersOnly - then { - configureFlags = - [ "--build=i586-pc-gnu" - "ac_cv_lib_ihash_hurd_ihash_create=yes" - ]; - - dontBuild = true; - installPhase = "make install-data-local-headers"; - } - else { }) - -// - -(if cross != null - then { - # Tell gcc where to find `crt1.o' et al. This is specified in two - # different ways: one for gcc as run from `configure', and one for linking - # libpthread.so (by default `libtool --mode=link' swallows `-B', hence - # this workaround; see - # <http://lists.gnu.org/archive/html/bug-libtool/2010-05/msg00012.html>.) - LDFLAGS = "-B${glibcCross}/lib"; - makeFlags = [ "LDFLAGS=-Wc,-B${glibcCross}/lib" ]; - - # Help the linker find glibc. - CPATH = "${glibcCross}/include"; - LIBRARY_PATH = "${glibcCross}/lib"; - - passthru = { - # Extra target LDFLAGS to allow the cross-linker to find the - # dependencies of the cross libpthread.so, namely libihash.so. - # Note: these are raw `ld' flags, so `-Wl,' must be prepended when using - # `gcc'. - # - # This is actually only useful while building the final cross-gcc, since - # afterwards gcc-cross-wrapper should add the relevant flags. - TARGET_LDFLAGS = "-rpath-link=${hurd}/lib"; - }; - } - else { })) diff --git a/pkgs/os-specific/gnu/mach/default.nix b/pkgs/os-specific/gnu/mach/default.nix deleted file mode 100644 index 852b400ccb145..0000000000000 --- a/pkgs/os-specific/gnu/mach/default.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ fetchgit, stdenv, mig ? null, autoconf, automake, texinfo -, headersOnly ? false }: - -assert (!headersOnly) -> (mig != null); - -let - date = "20120303"; - rev = "2a603e88f86bee88e013c2451eacf076fbcaed81"; -in -stdenv.mkDerivation ({ - name = "gnumach${if headersOnly then "-headers" else ""}-${date}"; - - src = fetchgit { - url = "git://git.sv.gnu.org/hurd/gnumach.git"; - sha256 = "1q8zk8xzbiwpnvvmfgkylj4gwkvkn5n2ydy9j054qv5plnaczj1c"; - inherit rev; - }; - - configureFlags = - stdenv.lib.optional headersOnly "--build=i586-pc-gnu" # cheat - - # Always enable dependency tracking. See - # <http://lists.gnu.org/archive/html/bug-hurd/2010-05/msg00137.html>. - ++ [ "--enable-dependency-tracking" ]; - - nativeBuildInputs = [ autoconf automake texinfo ] - ++ stdenv.lib.optional (mig != null) mig; - - preConfigure = "autoreconf -vfi"; - - meta = { - description = "GNU Mach, the microkernel used by the GNU Hurd"; - - longDescription = - '' GNU Mach is the microkernel that the GNU Hurd system is based on. - - It is maintained by the Hurd developers for the GNU project and - remains compatible with Mach 3.0. - - The majority of GNU Mach's device drivers are from Linux 2.0. They - were added using glue code, i.e., a Linux emulation layer in Mach. - ''; - - license = stdenv.lib.licenses.gpl2Plus; - - homepage = http://www.gnu.org/software/hurd/microkernel/mach/gnumach.html; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = [ "i586-gnu" ]; - }; -} - -// - -(if headersOnly - then { dontBuild = true; installPhase = "make install-data"; } - else {})) diff --git a/pkgs/os-specific/gnu/mig/default.nix b/pkgs/os-specific/gnu/mig/default.nix deleted file mode 100644 index d138011d595bb..0000000000000 --- a/pkgs/os-specific/gnu/mig/default.nix +++ /dev/null @@ -1,50 +0,0 @@ -{ fetchgit, stdenv, autoconf, automake, flex, bison, machHeaders, bash }: - -let - date = "20100512"; - rev = "4fee6a5652f609cb68cdbd9049d4da7a194f15f8"; -in -stdenv.mkDerivation { - name = "mig-${date}"; - - src = fetchgit { - url = "git://git.sv.gnu.org/hurd/mig.git"; - sha256 = "d6958d9b60925d4600aac133c9505bc873a16b203c69260bd0fb228922ee9273"; - inherit rev; - }; - - patches = [ ./noyywrap.patch ]; - - nativeBuildInputs = [ autoconf automake flex bison machHeaders ]; - - preConfigure = "autoreconf -vfi"; - - doCheck = true; - - # Fix the shebang to point to the cross-built shell. Won't be needed - # after #43833. - postInstall = '' - sed -i "$out/bin/mig" -e 's|^#!/.*|#!${bash}/bin/sh|g' - ''; - - meta = { - description = "GNU MIG, the Mach interface generator"; - - longDescription = - '' GNU MIG is the GNU distribution of the Mach 3.0 interface generator - MIG, as maintained by the GNU Hurd developers for the GNU project. - - You need this tool to compile the GNU Mach and GNU Hurd - distributions, and to compile the GNU C library for the Hurd. Also, - you will need it for other software in the GNU system that uses - Mach-based inter-process communication. - ''; - - license = stdenv.lib.licenses.gpl2Plus; - - homepage = http://www.gnu.org/software/hurd/microkernel/mach/mig/gnu_mig.html; - - # platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # really GNU/Hurd - maintainers = [ stdenv.lib.maintainers.ludo ]; - }; -} diff --git a/pkgs/os-specific/gnu/mig/noyywrap.patch b/pkgs/os-specific/gnu/mig/noyywrap.patch deleted file mode 100644 index 40ca6171f64b5..0000000000000 --- a/pkgs/os-specific/gnu/mig/noyywrap.patch +++ /dev/null @@ -1,12 +0,0 @@ -Fix undefined reference to `yywrap'. - -diff --git a/lexxer.l b/lexxer.l -index 9725d0b..15264bc 100644 ---- a/lexxer.l -+++ b/lexxer.l -@@ -1,4 +1,5 @@ - %option nounput -+%option noyywrap - - %k 10000 - %n 5000 diff --git a/pkgs/os-specific/gnu/smbfs/default.nix b/pkgs/os-specific/gnu/smbfs/default.nix deleted file mode 100644 index 6f3d719d81695..0000000000000 --- a/pkgs/os-specific/gnu/smbfs/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ fetchcvs, stdenv, hurd, machHeaders, samba }: - -let - date = "2012-03-15"; - samba_patched = stdenv.lib.overrideDerivation samba (attrs: { - patches = attrs.patches ++ [ ./samba-without-byte-range-locks.patch ]; - }); -in -stdenv.mkDerivation rec { - name = "smbfs-${date}"; - - src = fetchcvs { - cvsRoot = ":pserver:anonymous@cvs.savannah.nongnu.org:/sources/hurdextras"; - module = "smbfs"; - sha256 = "5941d1a5da4488cbf0efe9aa0b41fe4ff5ba57b84ed24f7ff7c0feda4501d3e3"; - inherit date; - }; - - patchPhase = - '' sed -i "Makefile" \ - -e 's|gcc|i586-pc-gnu-gcc|g ; - s|^LDFLAGS=\(.*\)$|LDFLAGS=\1 -pthread|g' - ''; - - buildInputs = [ hurd machHeaders samba_patched ]; - - installPhase = - '' mkdir -p "$out/hurd" - cp -v smbfs "$out/hurd" - - mkdir -p "$out/share/doc/${name}" - cp -v README "$out/share/doc/${name}" - ''; - - meta = { - description = "SMB/CIFS file system translator for GNU/Hurd"; - - homepage = http://www.nongnu.org/hurdextras/; - - license = stdenv.lib.licenses.gpl3Plus; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - }; -} diff --git a/pkgs/os-specific/gnu/smbfs/samba-without-byte-range-locks.patch b/pkgs/os-specific/gnu/smbfs/samba-without-byte-range-locks.patch deleted file mode 100644 index 893a29c753987..0000000000000 --- a/pkgs/os-specific/gnu/smbfs/samba-without-byte-range-locks.patch +++ /dev/null @@ -1,14 +0,0 @@ -Since GNU/Hurd doesn't support byte-range file locks, shamelessly -disable them to allow the SMB client library to work (it uses TDB -to access /etc/samba/private/secrets.tdb, for instance.) - ---- samba/lib/tdb/common/lock.c 2010-02-08 16:12:57.000000000 +0100 -+++ samba/lib/tdb/common/lock.c 2012-03-01 23:39:02.000000000 +0100 -@@ -48,7 +48,7 @@ int tdb_brlock(struct tdb_context *tdb, - struct flock fl; - int ret; - -- if (tdb->flags & TDB_NOLOCK) { -+ if (1) { - return 0; - } diff --git a/pkgs/os-specific/gnu/unionfs/default.nix b/pkgs/os-specific/gnu/unionfs/default.nix deleted file mode 100644 index 5e2f428130cde..0000000000000 --- a/pkgs/os-specific/gnu/unionfs/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ fetchgit, stdenv, hurd, machHeaders, mig }: - -let - date = "20120313"; - rev = "64dfa4e12d93c13b676d1cd7d86f4f4004ebfafa"; -in -stdenv.mkDerivation rec { - name = "unionfs-${date}"; - - src = fetchgit { - url = "git://git.sv.gnu.org/hurd/unionfs.git"; - sha256 = "1c3d71112cb25f8f82719a16df936e43abcb1adb77af96c1bb100a8ad0889d65"; - inherit rev; - }; - - patchPhase = - '' sed -i "Makefile" \ - -e 's|gcc|i586-pc-gnu-gcc|g ; - s|-std=gnu99|-std=gnu99 -fgnu89-inline|g' - ''; - - makeFlags = [ "CC=i586-pc-gnu-gcc" ]; - buildInputs = [ hurd machHeaders ]; - nativeBuildInputs = [ mig ]; - - installPhase = - '' mkdir -p "$out/hurd" - cp -v unionfs "$out/hurd" - - mkdir -p "$out/share/doc/${name}" - cp -v [A-Z]* "$out/share/doc/${name}" - ''; - - meta = { - description = "Union file system translator for GNU/Hurd"; - - homepage = http://www.gnu.org/software/hurd/hurd/translator/unionfs.html; - - license = stdenv.lib.licenses.gpl2Plus; - - maintainers = [ stdenv.lib.maintainers.ludo ]; - }; -} diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index b3934c88ed27d..c661b2e1e4c3d 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -121,7 +121,7 @@ let # Utility flags to test the type of platform. inherit (hostPlatform) - isDarwin isLinux isSunOS isHurd isCygwin isFreeBSD isOpenBSD + isDarwin isLinux isSunOS isCygwin isFreeBSD isOpenBSD isi686 isx86_64 is64bit isAarch32 isAarch64 isMips isBigEndian; isArm = builtins.trace "stdenv.isArm is deprecated after 18.03" hostPlatform.isArm; diff --git a/pkgs/tools/filesystems/nixpart/0.4/parted.nix b/pkgs/tools/filesystems/nixpart/0.4/parted.nix index f356727e64bb5..f7071e45232ed 100644 --- a/pkgs/tools/filesystems/nixpart/0.4/parted.nix +++ b/pkgs/tools/filesystems/nixpart/0.4/parted.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, lvm2, libuuid, gettext, readline -, utillinux, check, enableStatic ? false, hurd ? null }: +, utillinux, check, enableStatic ? false }: stdenv.mkDerivation rec { name = "parted-3.1"; @@ -12,8 +12,7 @@ stdenv.mkDerivation rec { buildInputs = [ libuuid ] ++ stdenv.lib.optional (readline != null) readline ++ stdenv.lib.optional (gettext != null) gettext - ++ stdenv.lib.optional (lvm2 != null) lvm2 - ++ stdenv.lib.optional (hurd != null) hurd; + ++ stdenv.lib.optional (lvm2 != null) lvm2; configureFlags = (if (readline != null) diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix index 643a3bafc66fc..709246269f83c 100644 --- a/pkgs/tools/misc/parted/default.nix +++ b/pkgs/tools/misc/parted/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, fetchpatch, lvm2, libuuid, gettext, readline, perl, python2 -, utillinux, check, enableStatic ? false, hurd ? null }: +, utillinux, check, enableStatic ? false }: stdenv.mkDerivation rec { name = "parted-3.2"; @@ -30,8 +30,7 @@ stdenv.mkDerivation rec { buildInputs = [ libuuid ] ++ stdenv.lib.optional (readline != null) readline ++ stdenv.lib.optional (gettext != null) gettext - ++ stdenv.lib.optional (lvm2 != null) lvm2 - ++ stdenv.lib.optional (hurd != null) hurd; + ++ stdenv.lib.optional (lvm2 != null) lvm2; configureFlags = (if (readline != null) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e176844738fc6..f4d75ff426f39 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4502,7 +4502,7 @@ with pkgs; patchutils = callPackage ../tools/text/patchutils { }; - parted = callPackage ../tools/misc/parted { hurd = null; }; + parted = callPackage ../tools/misc/parted { }; pell = callPackage ../applications/misc/pell { }; @@ -4529,24 +4529,6 @@ with pkgs; pngout = callPackage ../tools/graphics/pngout { }; - hurdPartedCross = - if targetPlatform != buildPlatform && targetPlatform.config == "i586-pc-gnu" - then (makeOverridable - ({ hurd }: - (parted.override { - # Needs the Hurd's libstore. - inherit hurd; - - # The Hurd wants a libparted.a. - enableStatic = true; - - gettext = null; - readline = null; - devicemapper = null; - }).crossDrv) - { hurd = gnu.hurdCrossIntermediate; }) - else null; - ipsecTools = callPackage ../os-specific/linux/ipsec-tools { flex = flex_2_5_35; }; patch = gnupatch; @@ -8762,8 +8744,6 @@ with pkgs; gdb = callPackage ../development/tools/misc/gdb { guile = null; - hurd = gnu.hurdCross; - inherit (gnu) mig; }; jhiccup = callPackage ../development/tools/java/jhiccup { }; @@ -13737,22 +13717,7 @@ with pkgs; libossp_uuid = callPackage ../development/libraries/libossp-uuid { }; - libuuid = - if targetPlatform != buildPlatform && targetPlatform.config == "i586-pc-gnu" - then (utillinuxMinimal // { - crossDrv = lib.overrideDerivation utillinuxMinimal.crossDrv (args: { - # `libblkid' fails to build on GNU/Hurd. - configureFlags = args.configureFlags - + " --disable-libblkid --disable-mount --disable-libmount" - + " --disable-fsck --enable-static --disable-partx"; - doCheck = false; - CPPFLAGS = # ugly hack for ugly software! - lib.concatStringsSep " " - (map (v: "-D${v}=4096") - [ "PATH_MAX" "MAXPATHLEN" "MAXHOSTNAMELEN" ]); - }); - }) - else if stdenv.isLinux + libuuid = if stdenv.isLinux then utillinuxMinimal else null; @@ -13824,9 +13789,6 @@ with pkgs; nmon = callPackage ../os-specific/linux/nmon { }; - # GNU/Hurd core packages. - gnu = recurseIntoAttrs (callPackage ../os-specific/gnu { }); - hwdata = callPackage ../os-specific/linux/hwdata { }; i7z = callPackage ../os-specific/linux/i7z { }; |