diff options
-rw-r--r-- | nixos/modules/config/no-x-libs.nix | 2 | ||||
-rw-r--r-- | nixos/modules/services/security/oauth2-proxy-nginx.nix | 1 | ||||
-rw-r--r-- | nixos/modules/services/web-apps/invoiceplane.nix | 4 | ||||
-rw-r--r-- | pkgs/applications/editors/vim/plugins/overrides.nix | 8 | ||||
-rw-r--r-- | pkgs/data/fonts/julia-mono/default.nix | 4 | ||||
-rw-r--r-- | pkgs/development/libraries/openvino/default.nix | 24 | ||||
-rw-r--r-- | pkgs/development/libraries/tbb/2021_5.nix | 71 | ||||
-rw-r--r-- | pkgs/development/libraries/tbb/gcc13-fixes-2021.5.0.patch | 13 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 1 |
9 files changed, 110 insertions, 18 deletions
diff --git a/nixos/modules/config/no-x-libs.nix b/nixos/modules/config/no-x-libs.nix index 20b9e0ca65d08..95020f0145714 100644 --- a/nixos/modules/config/no-x-libs.nix +++ b/nixos/modules/config/no-x-libs.nix @@ -39,7 +39,7 @@ with lib; # dep of graphviz, libXpm is optional for Xpm support gd = super.gd.override { withXorg = false; }; ghostscript = super.ghostscript.override { cupsSupport = false; x11Support = false; }; - gjs = super.gjs.overrideAttrs { doCheck = false; installTests = false; }; # avoid test dependency on gtk3 + gjs = (super.gjs.override { installTests = false; }).overrideAttrs { doCheck = false; }; # avoid test dependency on gtk3 gobject-introspection = super.gobject-introspection.override { x11Support = false; }; gpg-tui = super.gpg-tui.override { x11Support = false; }; gpsd = super.gpsd.override { guiSupport = false; }; diff --git a/nixos/modules/services/security/oauth2-proxy-nginx.nix b/nixos/modules/services/security/oauth2-proxy-nginx.nix index 44bf56233e95e..2dffeb993803f 100644 --- a/nixos/modules/services/security/oauth2-proxy-nginx.nix +++ b/nixos/modules/services/security/oauth2-proxy-nginx.nix @@ -73,6 +73,7 @@ in virtualHosts.${cfg.domain}.locations."/oauth2/" = { proxyPass = cfg.proxy; extraConfig = '' + auth_request off; proxy_set_header X-Scheme $scheme; proxy_set_header X-Auth-Request-Redirect $scheme://$host$request_uri; ''; diff --git a/nixos/modules/services/web-apps/invoiceplane.nix b/nixos/modules/services/web-apps/invoiceplane.nix index 4d0e25958e35a..3ed21e074cfea 100644 --- a/nixos/modules/services/web-apps/invoiceplane.nix +++ b/nixos/modules/services/web-apps/invoiceplane.nix @@ -49,10 +49,10 @@ let version = src.version; src = pkgs.invoiceplane; - postPhase = '' + postPatch = '' # Patch index.php file to load additional config file substituteInPlace index.php \ - --replace "require('vendor/autoload.php');" "require('vendor/autoload.php'); \$dotenv = Dotenv\Dotenv::createImmutable(__DIR__, 'extraConfig.php'); \$dotenv->load();"; + --replace-fail "require('vendor/autoload.php');" "require('vendor/autoload.php'); \$dotenv = Dotenv\Dotenv::createImmutable(__DIR__, 'extraConfig.php'); \$dotenv->load();"; ''; installPhase = '' diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix index 4f9596c390ce3..5e2e278c937d6 100644 --- a/pkgs/applications/editors/vim/plugins/overrides.nix +++ b/pkgs/applications/editors/vim/plugins/overrides.nix @@ -453,15 +453,17 @@ dependencies = with self; [ copilot-lua plenary-nvim ]; }; - copilot-vim = super.copilot-vim.overrideAttrs { + copilot-vim = super.copilot-vim.overrideAttrs (old: { postInstall = '' substituteInPlace $out/autoload/copilot/agent.vim \ --replace " let node = get(g:, 'copilot_node_command', ''\'''\')" \ " let node = get(g:, 'copilot_node_command', '${nodejs}/bin/node')" ''; - meta.license = lib.licenses.unfree; - }; + meta = old.meta // { + license = lib.licenses.unfree; + }; + }); coq_nvim = super.coq_nvim.overrideAttrs { passthru.python3Dependencies = ps: diff --git a/pkgs/data/fonts/julia-mono/default.nix b/pkgs/data/fonts/julia-mono/default.nix index 50172de67f4ba..dc9ebf5ef25fb 100644 --- a/pkgs/data/fonts/julia-mono/default.nix +++ b/pkgs/data/fonts/julia-mono/default.nix @@ -2,12 +2,12 @@ stdenvNoCC.mkDerivation rec { pname = "JuliaMono-ttf"; - version = "0.055"; + version = "0.054"; src = fetchzip { url = "https://github.com/cormullion/juliamono/releases/download/v${version}/${pname}.tar.gz"; stripRoot = false; - hash = "sha256-bE7XjVzleSo5hjc7Azcl8R4OgJzsj1U21UOuXrBkulA="; + hash = "sha256-DtvaFu3r2r5WmlFCbkbzqAk/Y2BNEnxR6hPDfKM+/aQ="; }; installPhase = '' diff --git a/pkgs/development/libraries/openvino/default.nix b/pkgs/development/libraries/openvino/default.nix index 280c1b7ef934c..14ad6c166e551 100644 --- a/pkgs/development/libraries/openvino/default.nix +++ b/pkgs/development/libraries/openvino/default.nix @@ -5,6 +5,7 @@ , cudaSupport ? opencv.cudaSupport or false # build +, scons , addOpenGLRunpath , autoPatchelfHook , cmake @@ -25,7 +26,7 @@ , protobuf , pugixml , snappy -, tbb +, tbb_2021_5 , cudaPackages }: @@ -36,6 +37,9 @@ let stdenv = gcc12Stdenv; + # prevent scons from leaking in the default python version + scons' = scons.override { python3 = python3Packages.python; }; + tbbbind_version = "2_5"; tbbbind = fetchurl { url = "https://storage.openvinotoolkit.org/dependencies/thirdparty/linux/tbbbind_${tbbbind_version}_static_lin_v4.tgz"; @@ -54,14 +58,14 @@ in stdenv.mkDerivation rec { pname = "openvino"; - version = "2024.1.0"; + version = "2024.2.0"; src = fetchFromGitHub { owner = "openvinotoolkit"; repo = "openvino"; rev = "refs/tags/${version}"; fetchSubmodules = true; - hash = "sha256-OOSxXpLjmhOgKvrSO6SmY7xLhJSzGXT8w/Y4FnfwTqU="; + hash = "sha256-HiKKvmqgbwW625An+Su0EOHqVrP18yvG2aOzrS0jWr4="; }; outputs = [ @@ -78,6 +82,7 @@ stdenv.mkDerivation rec { patchelf pkg-config python + scons' shellcheck ] ++ lib.optionals cudaSupport [ cudaPackages.cuda_nvcc @@ -91,7 +96,9 @@ stdenv.mkDerivation rec { popd ''; - dontUseCmakeBuildDir = true; + dontUseSconsCheck = true; + dontUseSconsBuild = true; + dontUseSconsInstall = true; cmakeFlags = [ "-Wno-dev" @@ -109,7 +116,7 @@ stdenv.mkDerivation rec { (cmakeBool "ENABLE_SAMPLES" false) # features - (cmakeBool "ENABLE_INTEL_CPU" true) + (cmakeBool "ENABLE_INTEL_CPU" stdenv.isx86_64) (cmakeBool "ENABLE_JS" false) (cmakeBool "ENABLE_LTO" true) (cmakeBool "ENABLE_ONEDNN_FOR_GPU" false) @@ -125,8 +132,6 @@ stdenv.mkDerivation rec { (cmakeBool "ENABLE_SYSTEM_TBB" true) ]; - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isAarch64 "-Wno-narrowing"; - autoPatchelfIgnoreMissingDeps = [ "libngraph_backend.so" ]; @@ -140,7 +145,7 @@ stdenv.mkDerivation rec { opencv.cxxdev pugixml snappy - tbb + tbb_2021_5 ] ++ lib.optionals cudaSupport [ cudaPackages.cuda_cudart ]; @@ -172,8 +177,7 @@ stdenv.mkDerivation rec { homepage = "https://docs.openvinotoolkit.org/"; license = with licenses; [ asl20 ]; platforms = platforms.all; - broken = (stdenv.isLinux && stdenv.isAarch64) # requires scons, then fails with *** Source directory cannot be under variant directory. - || stdenv.isDarwin; # Cannot find macos sdk + broken = stdenv.isDarwin; # Cannot find macos sdk maintainers = with maintainers; [ tfmoraes ]; }; } diff --git a/pkgs/development/libraries/tbb/2021_5.nix b/pkgs/development/libraries/tbb/2021_5.nix new file mode 100644 index 0000000000000..3bfa9278106d9 --- /dev/null +++ b/pkgs/development/libraries/tbb/2021_5.nix @@ -0,0 +1,71 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, cmake +}: + +stdenv.mkDerivation rec { + pname = "tbb"; + version = "2021.5.0"; + + outputs = [ "out" "dev" ]; + + src = fetchFromGitHub { + owner = "oneapi-src"; + repo = "oneTBB"; + rev = "v${version}"; + hash = "sha256-TJ/oSSMvgtKuz7PVyIoFEbBW6EZz7t2wr/kP093HF/w="; + }; + + nativeBuildInputs = [ + cmake + ]; + + patches = [ + # port of https://github.com/oneapi-src/oneTBB/pull/1031 + ./gcc13-fixes-2021.5.0.patch + + (fetchpatch { + # Fix "field used uninitialized" on modern gcc versions (https://github.com/oneapi-src/oneTBB/pull/958) + url = "https://github.com/oneapi-src/oneTBB/commit/3003ec07740703e6aed12b028af20f4b0f16adae.patch"; + hash = "sha256-l4+9IxIEdRX/q8JyDY9CPKWzSLatpIVSiNjmIM7ilj0="; + }) + ]; + + # Disable failing test on musl + # test/conformance/conformance_resumable_tasks.cpp:37:24: error: ‘suspend’ is not a member of ‘tbb::v1::task’; did you mean ‘tbb::detail::r1::suspend’? + postPatch = lib.optionalString stdenv.hostPlatform.isMusl '' + substituteInPlace test/CMakeLists.txt \ + --replace-fail 'conformance_resumable_tasks' "" + ''; + + # Fix build with modern gcc + # In member function 'void std::__atomic_base<_IntTp>::store(__int_type, std::memory_order) [with _ITp = bool]', + NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ "-Wno-error=array-bounds" "-Wno-error=stringop-overflow" "-Wno-address" ] ++ + # error: variable 'val' set but not used + lib.optionals stdenv.cc.isClang [ "-Wno-error=unused-but-set-variable" ] ++ + # Workaround for gcc-12 ICE when using -O3 + # https://gcc.gnu.org/PR108854 + lib.optionals (stdenv.cc.isGNU && stdenv.isx86_32) [ "-O2" ]; + + # Fix undefined reference errors with version script under LLVM. + NIX_LDFLAGS = lib.optionalString (stdenv.cc.bintools.isLLVM && lib.versionAtLeast stdenv.cc.bintools.version "17") "--undefined-version"; + + + meta = with lib; { + description = "Intel Thread Building Blocks C++ Library"; + homepage = "http://threadingbuildingblocks.org/"; + license = licenses.asl20; + longDescription = '' + Intel Threading Building Blocks offers a rich and complete approach to + expressing parallelism in a C++ program. It is a library that helps you + take advantage of multi-core processor performance without having to be a + threading expert. Intel TBB is not just a threads-replacement library. It + represents a higher-level, task-based parallelism that abstracts platform + details and threading mechanisms for scalability and performance. + ''; + platforms = platforms.unix; + maintainers = with maintainers; [ thoughtpolice tmarkus ]; + }; +} diff --git a/pkgs/development/libraries/tbb/gcc13-fixes-2021.5.0.patch b/pkgs/development/libraries/tbb/gcc13-fixes-2021.5.0.patch new file mode 100644 index 0000000000000..28b5a0e695f70 --- /dev/null +++ b/pkgs/development/libraries/tbb/gcc13-fixes-2021.5.0.patch @@ -0,0 +1,13 @@ +diff --git a/test/common/utils_assert.h b/test/common/utils_assert.h +index 33bc8ab4..a3d21baf 100644 +--- a/test/common/utils_assert.h ++++ b/test/common/utils_assert.h +@@ -20,6 +20,8 @@ + #include "config.h" + #include "utils_report.h" + ++#include <cstdlib> ++ + #define REPORT_FATAL_ERROR REPORT + + namespace utils { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c3db907dec9b4..3deb4d7c35264 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16909,6 +16909,7 @@ with pkgs; swiPrologWithGui = swiProlog.override { withGui = true; }; tbb_2020_3 = callPackage ../development/libraries/tbb/2020_3.nix { }; + tbb_2021_5 = callPackage ../development/libraries/tbb/2021_5.nix { } ; tbb_2021_11 = callPackage ../development/libraries/tbb { }; # many packages still fail with latest version tbb = tbb_2020_3; |