···40404141:::
42424343+## `hasCmakeConfigModules` {#tester-hasCmakeConfigModules}
4444+4545+Checks whether a package exposes a given list of `*config.cmake` modules.
4646+Note the moduleNames used in cmake find_package are case sensitive.
4747+4848+:::{.example #ex-hascmakeconfigmodules}
4949+5050+# Check that `*config.cmake` modules are exposed using explicit module names
5151+5252+```nix
5353+{
5454+ passthru.tests.cmake-config = testers.hasCmakeConfigModules {
5555+ package = finalAttrs.finalPackage;
5656+ moduleNames = [ "Foo" ];
5757+ };
5858+}
5959+```
6060+6161+:::
6262+4363## `lycheeLinkCheck` {#tester-lycheeLinkCheck}
44644565Check a packaged static site's links with the [`lychee` package](https://search.nixos.org/packages?show=lychee&type=packages&query=lychee).
···2020 # Test_EventFilters/trace_only_events_from_"dockerd"_binary_and_contain_it's_pid
2121 # require docker/dockerd
2222 virtualisation.docker.enable = true;
2323-2424- environment.systemPackages = with pkgs; [
2525- # required by Test_EventFilters/trace_events_from_ls_and_which_binary_in_separate_scopes
2626- which
2727- # the go integration tests as a binary
2828- tracee.passthru.tests.integration-test-cli
2929- ];
2323+ environment = {
2424+ variables.PATH = "/tmp/testdir";
2525+ systemPackages = with pkgs; [
2626+ # 'ls', 'uname' and 'who' are required by many tests in event_filters_test.go
2727+ coreutils
2828+ # the go integration tests as a binary
2929+ tracee.passthru.tests.integration-test-cli
3030+ ];
3131+ };
3032 };
3133 };
3234···3840 # the policies and run tracee myself but doesn't work in the integration
3941 # test either with the automatic run or running the commands by hand
4042 # while it's searching.
4141- "Test_EventFilters/comm:_event:_args:_trace_event_set_in_a_specific_policy_with_args_from_ls_command"
4343+ "Test_EventFilters/comm:_event:_data:_trace_event_magic_write_set_in_multiple_policies_using_multiple_filter_types"
4444+ "Test_EventFilters/comm:_event:_data:_trace_event_security_file_open_and_magic_write_using_multiple_filter_types"
4545+ "Test_EventFilters/comm:_event:_data:_trace_event_security_file_open_and_magic_write_using_multiple_filter_types_combined"
4646+ "Test_EventFilters/comm:_event:_data:_trace_event_security_file_open_set_in_multiple_policies_\\(with_and_without_in-kernel_filter\\)"
4747+ "Test_EventFilters/comm:_event:_data:_trace_event_security_file_open_set_in_multiple_policies_using_multiple_filter_types"
4848+ "Test_EventFilters/comm:_event:_data:_trace_event_set_in_a_specific_policy_with_data_from_ls_command"
4249 "Test_EventFilters/comm:_event:_trace_events_set_in_two_specific_policies_from_ls_and_uname_commands"
4343-4444- # worked at some point, seems to be flakey
4545- "Test_EventFilters/pid:_event:_args:_trace_event_sched_switch_with_args_from_pid_0"
5050+ "Test_EventFilters/pid:_event:_data:_trace_event_sched_switch_with_data_from_pid_0"
5151+ "Test_EventsDependencies/non_existing_ksymbol_dependency_with_sanity"
5252+ "Test_EventsDependencies/non_existing_probe_function_with_sanity"
5353+ "Test_EventsDependencies/sanity_of_exec_test_event"
5454+ "Test_TraceeCapture/capture_packet_context"
4655 ];
4756 in
4857 ''
···6170 )
62716372 with subtest("run integration tests"):
6464- # Test_EventFilters/trace_event_set_in_a_specific_scope expects to be in a dir that includes "integration"
7373+ # Test_EventFilters/comm:_event:_data:_trace_event_set_in_a_specific_policy_with_data_from_ls_command expects to be in a dir that includes "integration"
6574 # tests must be ran with 1 process
6675 print(machine.succeed(
6776 'mkdir /tmp/integration',
6868- 'cd /tmp/integration && export PATH="/tmp/testdir:$PATH" && integration.test -test.v -test.parallel 1 -test.skip="^${builtins.concatStringsSep "$|^" skippedTests}$"'
7777+ 'cd /tmp/integration && integration.test -test.v -test.parallel 1 -test.skip="^${builtins.concatStringsSep "$|^" skippedTests}$"'
6978 ))
7079 '';
7180 }
···11+# Static arguments
22+{
33+ lib,
44+ runCommandCC,
55+ cmake,
66+}:
77+88+# Tester arguments
99+{
1010+ package,
1111+ moduleNames,
1212+ # Extra nativeBuildInputs needed to pass the cmake find_package test, e.g. pkg-config.
1313+ nativeBuildInputs ? [ ],
1414+ # buildInputs is used to help pass the cmake find_package test.
1515+ # The purpose of buildInputs here is to allow us to iteratively add
1616+ # any missing dependencies required by the *Config.cmake module
1717+ # during testing. This allows us to test and fix the CMake setup
1818+ # without rebuilding the finalPackage each time. Once all required
1919+ # packages are properly added to the finalPackage's propagateBuildInputs,
2020+ # this buildInputs should be set to an empty list [].
2121+ buildInputs ? [ ],
2222+ # Extra cmakeFlags needed to pass the cmake find_package test.
2323+ # Can be used to set verbose/debug flags.
2424+ cmakeFlags ? [ ],
2525+ testName ? "check-cmake-config-${package.pname or package.name}",
2626+ version ? package.version or null,
2727+ versionCheck ? false,
2828+}:
2929+3030+runCommandCC testName
3131+ {
3232+ inherit moduleNames versionCheck cmakeFlags;
3333+ version = if versionCheck then version else null;
3434+ nativeBuildInputs = [
3535+ cmake
3636+ ] ++ nativeBuildInputs;
3737+ buildInputs = [ package ] ++ buildInputs;
3838+ meta =
3939+ {
4040+ description = "Test whether ${package.name} exposes cmake-config modules ${lib.concatStringsSep ", " moduleNames}";
4141+ }
4242+ # Make sure licensing info etc is preserved, as this is a concern for e.g. cache.nixos.org,
4343+ # as hydra can't check this meta info in dependencies.
4444+ # The test itself is just Nixpkgs, with MIT license.
4545+ // builtins.intersectAttrs {
4646+ available = throw "unused";
4747+ broken = throw "unused";
4848+ insecure = throw "unused";
4949+ license = throw "unused";
5050+ maintainers = throw "unused";
5151+ teams = throw "unused";
5252+ platforms = throw "unused";
5353+ unfree = throw "unused";
5454+ unsupported = throw "unused";
5555+ } package.meta;
5656+ }
5757+ ''
5858+ touch "$out"
5959+ notFound=0
6060+ for moduleName in $moduleNames; do
6161+ echo "checking cmake-config module $moduleName"
6262+6363+ cat <<EOF > CMakeLists.txt
6464+ cmake_minimum_required(VERSION 3.14)
6565+ project(CheckCmakeModule)
6666+6767+ find_package($moduleName $version EXACT NO_MODULE REQUIRED)
6868+ EOF
6969+7070+ echoCmd 'cmake flags' $cmakeFlags
7171+ set +e
7272+ cmake . $cmakeFlags
7373+ r=$?
7474+ set -e
7575+ if [[ $r = 0 ]]; then
7676+ echo "✅ cmake-config module $moduleName exists"
7777+ else
7878+ echo "❌ cmake-config module $moduleName was not found"
7979+ ((notFound+=1))
8080+ fi
8181+ done
8282+8383+ if [[ $notFound -ne 0 ]]; then
8484+ exit 1
8585+ fi
8686+ ''
···991010buildGoModule rec {
1111 pname = "gokapi";
1212- version = "1.9.6";
1212+ version = "2.0.0";
13131414 src = fetchFromGitHub {
1515 owner = "Forceu";
1616 repo = "Gokapi";
1717 tag = "v${version}";
1818- hash = "sha256-RDEvKh3tUun7wt1nhtCim95wEN9V9RlztZ9zcw9nS1o=";
1818+ hash = "sha256-YhUHi1tR2bCFskBbAlFekuFzfZ2ER9G+TNCcfh5loS4=";
1919 };
20202121- vendorHash = "sha256-9GRAlgng+yq7q0VQz374jIOCjeDIIDD631BglM/FsQQ=";
2121+ vendorHash = "sha256-GeS+lfFw7jUuXX1qQPiu9eKjz6nswpRtbZXjqu4DnHg=";
22222323- patches = [
2424- ./go-1.24.patch
2525- ];
2323+ patches = [ ];
26242725 # This is the go generate is ran in the upstream builder, but we have to run the components separately for things to work.
2826 preBuild = ''
2727+ # Some steps expect GOROOT to be set.
2828+ export GOROOT="$(go env GOROOT)"
2929+ # Go generate runs from this working dir upstream
2930 cd ./cmd/gokapi/
3031 go run ../../build/go-generate/updateVersionNumbers.go
3131- # Tries to download "golang.org/x/exp/slices"
3232+ # Tries to download "golang.org/x/exp/slices", and fails
3233 # go run ../../build/go-generate/updateProtectedUrls.go
3334 go run ../../build/go-generate/buildWasm.go
3434- # Must be specify go root to import wasm_exec.js
3535- GOROOT="$(go env GOROOT)" go run "../../build/go-generate/copyStaticFiles.go"
3535+ go run ../../build/go-generate/copyStaticFiles.go
3636+ # Attempts to download program to minify content, and fails
3737+ # go run ../../build/go-generate/minifyStaticContent.go
3838+ go run ../../build/go-generate/updateApiRouting.go
3639 cd ../..
3740 '';
3841
+5-2
pkgs/by-name/go/gopls/package.nix
···11{
22 lib,
33- buildGoModule,
33+ # gopls breaks if it is compiled with a lower version than the one it is running against.
44+ # This will affect users especially when project they work on bump go minor version before
55+ # the update went through nixpkgs staging. Further, gopls is a central ecosystem component.
66+ buildGoLatestModule,
47 fetchFromGitHub,
58 nix-update-script,
69 versionCheckHook,
710}:
81199-buildGoModule (finalAttrs: {
1212+buildGoLatestModule (finalAttrs: {
1013 pname = "gopls";
1114 version = "0.18.1";
1215
+9-4
pkgs/by-name/ie/ieda/package.nix
···3535 });
3636 rootSrc = stdenv.mkDerivation {
3737 pname = "iEDA-src";
3838- version = "2025-04-14";
3838+ version = "2025-05-30";
3939 src = fetchgit {
4040 url = "https://gitee.com/oscc-project/iEDA";
4141- rev = "51d198884cde2ecda643071a1a6cb4ec0e09d881";
4242- sha256 = "sha256-kDVEAttSqa8l7qcRs7MQiBgPbAKBExEQvIE8tc7PLpM=";
4141+ rev = "3096147fcea491c381da2928be6fb5a12c2d97b7";
4242+ sha256 = "sha256-rPkcE+QFMlEuwwJ/QBgyLTXP5lWLQPj5SOlZysJ6WTI=";
4343 };
44444545 patches = [
···5959 })
6060 ];
61616262+ postPatch = ''
6363+ # Comment out the iCTS test cases that will fail due to some linking issues on aarch64-linux
6464+ sed -i '17,28s/^/# /' src/operation/iCTS/test/CMakeLists.txt
6565+ '';
6666+6267 dontBuild = true;
6368 dontFixup = true;
6469 installPhase = ''
···7176in
7277stdenv.mkDerivation {
7378 pname = "iEDA";
7474- version = "0-unstable-2025-04-14";
7979+ version = "0-unstable-2025-05-30";
75807681 src = rootSrc;
7782
···11+diff --git a/CMakeLists.txt b/CMakeLists.txt
22+index d0e35b6..fc19477 100644
33+--- a/CMakeLists.txt
44++++ b/CMakeLists.txt
55+@@ -96,20 +96,6 @@ endif()
66+ # set the path where we can find the findXXX.cmake
77+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
88+99+-if(APPLE)
1010+-
1111+- # avoid the cmake policy warning about @rpath in MacOSX
1212+- cmake_policy(SET CMP0042 NEW)
1313+-
1414+- SET(CMAKE_MACOSX_RPATH TRUE) # initialize the MACOSX_RPATH property on all targets
1515+- SET(CMAKE_SKIP_BUILD_RPATH FALSE) # don't skip the full RPATH for the build tree
1616+- # SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) # when building, don't use the install RPATH already
1717+- SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) # when building, use the install RPATH already
1818+- # probably not needed
1919+- # SET(CMAKE_INSTALL_RPATH "") # the RPATH to be used when installing
2020+- SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # LC_RPATH for CUDA and OpenCV etc written into executable
2121+-endif(APPLE)
2222+-
2323+ # FIND BOOST
2424+ set(BOOST_REQUIRED_COMPONENTS "atomic;chrono;date_time;filesystem;program_options;serialization;system;thread;timer;math_c99")
2525+ if(WIN32)
2626+