From 1b82c5f564a0e07c87f28e8be9776e45723f58f5 Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Mon, 14 Jul 2025 20:25:46 -0700 Subject: [PATCH] gccNGPackages_15.libgomp: init --- .../compilers/gcc/ng/common/default.nix | 9 ++ .../gcc/ng/common/libgomp/default.nix | 87 +++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 pkgs/development/compilers/gcc/ng/common/libgomp/default.nix diff --git a/pkgs/development/compilers/gcc/ng/common/default.nix b/pkgs/development/compilers/gcc/ng/common/default.nix index ecb075894476..0e040fdb1320 100644 --- a/pkgs/development/compilers/gcc/ng/common/default.nix +++ b/pkgs/development/compilers/gcc/ng/common/default.nix @@ -130,6 +130,7 @@ makeScopeWithSplicing' { "-B${targetGccPackages.libgcc}/lib" "-B${targetGccPackages.libssp}/lib" "-B${targetGccPackages.libatomic}/lib" + "-B${targetGccPackages.libgomp}/lib" "-B${targetGccPackages.libgfortran}/lib/" ]; }; @@ -145,6 +146,8 @@ makeScopeWithSplicing' { "-B${targetGccPackages.libgcc}/lib" "-B${targetGccPackages.libssp}/lib" "-B${targetGccPackages.libatomic}/lib" + "-B${targetGccPackages.libgomp}/lib" + "-I${targetGccPackages.libgomp}/lib/gcc/${metadata.release_version}/include" ]; }; @@ -159,6 +162,8 @@ makeScopeWithSplicing' { "-B${targetGccPackages.libgcc}/lib" "-B${targetGccPackages.libssp}/lib" "-B${targetGccPackages.libatomic}/lib" + "-B${targetGccPackages.libgomp}/lib" + "-I${targetGccPackages.libgomp}/lib/gcc/${metadata.release_version}/include" ]; }; @@ -231,5 +236,9 @@ makeScopeWithSplicing' { libstdcxx = callPackage ./libstdcxx { stdenv = overrideCC stdenv buildGccPackages.gccWithLibatomic; }; + + libgomp = callPackage ./libgomp { + stdenv = overrideCC stdenv buildGccPackages.gccWithLibatomic; + }; }; } diff --git a/pkgs/development/compilers/gcc/ng/common/libgomp/default.nix b/pkgs/development/compilers/gcc/ng/common/libgomp/default.nix new file mode 100644 index 000000000000..9053e88a80f9 --- /dev/null +++ b/pkgs/development/compilers/gcc/ng/common/libgomp/default.nix @@ -0,0 +1,87 @@ +{ + lib, + stdenv, + gcc_meta, + release_version, + version, + getVersionFile, + monorepoSrc ? null, + autoreconfHook269, + runCommand, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "libgomp"; + inherit version; + + src = runCommand "libgomp-src-${version}" { src = monorepoSrc; } '' + runPhase unpackPhase + + mkdir -p "$out/gcc" + cp gcc/BASE-VER "$out/gcc" + cp gcc/DATESTAMP "$out/gcc" + + cp -r libgomp "$out" + cp -r include "$out" + + cp -r config "$out" + cp -r multilib.am "$out" + cp -r libtool.m4 "$out" + + cp config.guess "$out" + cp config.rpath "$out" + cp config.sub "$out" + cp config-ml.in "$out" + cp ltmain.sh "$out" + cp install-sh "$out" + cp mkinstalldirs "$out" + + [[ -f MD5SUMS ]]; cp MD5SUMS "$out" + ''; + + outputs = [ + "out" + "dev" + ]; + + postUnpack = '' + mkdir -p ./build + buildRoot=$(readlink -e "./build") + ''; + + preAutoreconf = '' + sourceRoot=$(readlink -e "./libgomp") + cd $sourceRoot + ''; + + enableParallelBuilding = true; + + nativeBuildInputs = [ + autoreconfHook269 + ]; + + configurePlatforms = [ + "build" + "host" + ]; + + configureFlags = [ + "--disable-dependency-tracking" + "cross_compiling=true" + "--disable-multilib" + ]; + + preConfigure = '' + cd "$buildRoot" + configureScript=$sourceRoot/configure + ''; + + doCheck = true; + + passthru = { + isGNU = true; + }; + + meta = gcc_meta // { + homepage = "https://gcc.gnu.org/"; + }; +})