···33 stdenv,
44 rustPlatform,
55 fetchFromGitHub,
66-76 # nativeBuildInputs
87 binaryen,
98 lld,
109 pkg-config,
1110 protobuf,
1211 rustfmt,
1313-1212+ nasm,
1413 # buildInputs
1514 freetype,
1615 glib,
···1918 openssl,
2019 vulkan-loader,
2120 wayland,
2222-2321 versionCheckHook,
2424-2522 # passthru
2623 nix-update-script,
2724 python3Packages,
2525+ # Expose features to the user for the wasm web viewer build
2626+ # So he can easily override them
2727+ # We omit the "analytics" feature because it is opt-out and not opt-in.
2828+ # More information can be found in there README:
2929+ # https://raw.githubusercontent.com/rerun-io/rerun/5a9794990c4903c088ad77174e65eb2573162d97/crates/utils/re_analytics/README.md
3030+ buildWebViewerFeatures ? [
3131+ "grpc"
3232+ "map_view"
3333+ ],
2834}:
29353036rustPlatform.buildRustPackage rec {
···5056 cargoBuildFlags = [ "--package rerun-cli" ];
5157 cargoTestFlags = [ "--package rerun-cli" ];
5258 buildNoDefaultFeatures = true;
5353- buildFeatures = [ "native_viewer" ];
5959+ buildFeatures = [
6060+ "native_viewer"
6161+ "web_viewer"
6262+ "nasm"
6363+ ];
6464+6565+ # Forward as a bash environment variable to the preBuild hook
6666+ inherit buildWebViewerFeatures;
6767+6868+ # When web_viewer is compiled, the wasm webviewer first needs to be built
6969+ # If this doesn't exist, the build will fail. More information: https://github.com/rerun-io/rerun/issues/6028
7070+ # The command is taken from https://github.com/rerun-io/rerun/blob/dd025f1384f9944d785d0fb75ca4ca1cd1792f17/pixi.toml#L198C72-L198C187
7171+ # Note that cargoBuildFeatures reference what buildFeatures is set to in stdenv.mkDerivation,
7272+ # so that user can easily create an overlay to set cargoBuildFeatures to what he needs
7373+ preBuild = ''
7474+ if [[ " $cargoBuildFeatures " == *" web_viewer "* ]]; then
7575+ # transform the environment variable that is a space separated list into a comma separated list
7676+ buildWebViewerFeatures=$(echo $buildWebViewerFeatures | tr ' ' ',')
7777+ # Create the features option only if there are features to pass
7878+ buildWebViewerFeaturesCargoOption=""
7979+ if [[ ! -z "$buildWebViewerFeatures" ]]; then
8080+ buildWebViewerFeaturesCargoOption="--features $buildWebViewerFeatures"
8181+ echo "Features passed to the web viewer build: $buildWebViewerFeatures"
8282+ else
8383+ echo "No features will be passed to the web viewer build"
8484+ fi
8585+ echo "Building the wasm web viewer for rerun's web_viewer feature"
8686+ cargo run -p re_dev_tools -- build-web-viewer --no-default-features $buildWebViewerFeaturesCargoOption --release -g
8787+ else
8888+ echo "web_viewer feature not enabled, skipping web viewer build."
8989+ fi
9090+ '';
54915592 nativeBuildInputs = [
5693 (lib.getBin binaryen) # wasm-opt
···6198 pkg-config
6299 protobuf
63100 rustfmt
101101+ nasm
64102 ];
6510366104 buildInputs = [
···11-WGET_ARGS=( https://download.qt.io/official_releases/qt/6.8/6.8.1/submodules/ -A '*.tar.xz' )
11+WGET_ARGS=( https://download.qt.io/official_releases/qt/6.8/6.8.2/submodules/ -A '*.tar.xz' )
···11-diff --git a/cmake/QtGenerateLibHelpers.cmake b/cmake/QtGenerateLibHelpers.cmake
22-index c9d4a69497..dc1a290cfc 100644
33---- a/cmake/QtGenerateLibHelpers.cmake
44-+++ b/cmake/QtGenerateLibHelpers.cmake
55-@@ -10,7 +10,7 @@ function(qt_get_library_name_without_prefix_and_suffix out_var file_path)
66- if(NOT file_path MATCHES "^-") # not a linker flag
77- get_filename_component(basename "${file_path}" NAME_WE)
88- get_filename_component(ext "${file_path}" EXT)
99-- if(NOT ext) # seems like a library name without prefix and suffix
1010-+ if(NOT ext AND NOT IS_ABSOLUTE "${file_path}") # seems like a library name without prefix and suffix
1111- set(${out_var} "${file_path}" PARENT_SCOPE)
1212- return()
1313- endif()
···162162163163 runHook postBuild
164164 '';
165165+166166+ dontCheckForBrokenSymlinks = true;
165167 };
166168167169 # This can be used as a shellHook in mkYarnPackage. It brings the built node_modules into
···373375374376 runHook postInstall
375377 '';
378378+379379+ dontCheckForBrokenSymlinks = true;
376380377381 doDist = attrs.doDist or true;
378382
+4
pkgs/os-specific/linux/kernel/manual-config.nix
···325325 else "install"))
326326 ];
327327328328+ # We remove a bunch of stuff that is symlinked from other places to save space,
329329+ # which trips the broken symlink check. So, just skip it. We'll know if it explodes.
330330+ dontCheckForBrokenSymlinks = true;
331331+328332 postInstall = optionalString isModular ''
329333 mkdir -p $dev
330334 cp vmlinux $dev/
+10
pkgs/servers/nextcloud/packages/28.json
···1919 "agpl"
2020 ]
2121 },
2222+ "collectives": {
2323+ "hash": "sha256-IAnJZuaj6KW6kF4daIKxvCEDCViWu30gogm8q2/ooQs=",
2424+ "url": "https://github.com/nextcloud/collectives/releases/download/v2.16.0/collectives-2.16.0.tar.gz",
2525+ "version": "2.16.0",
2626+ "description": "Collectives is a Nextcloud App for activist and community projects to organize together.\nCome and gather in collectives to build shared knowledge.\n\n* 👥 **Collective and non-hierarchical workflow by heart**: Collectives are\n tied to a [Nextcloud Team](https://github.com/nextcloud/circles) and\n owned by the collective.\n* 📝 **Collaborative page editing** like known from Etherpad thanks to the\n [Text app](https://github.com/nextcloud/text).\n* 🔤 **Well-known [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax**\n for page formatting.\n\n## Installation\n\nIn your Nextcloud instance, simply navigate to **»Apps«**, find the\n**»Teams«** and **»Collectives«** apps and enable them.",
2727+ "homepage": "https://github.com/nextcloud/collectives",
2828+ "licenses": [
2929+ "agpl"
3030+ ]
3131+ },
2232 "contacts": {
2333 "hash": "sha256-zxmgMiizzXGfReRS9XJ+fb6tJRLH/Z5NvuLpspYARFI=",
2434 "url": "https://github.com/nextcloud-releases/contacts/releases/download/v5.5.3/contacts-v5.5.3.tar.gz",
+10
pkgs/servers/nextcloud/packages/29.json
···1919 "agpl"
2020 ]
2121 },
2222+ "collectives": {
2323+ "hash": "sha256-IAnJZuaj6KW6kF4daIKxvCEDCViWu30gogm8q2/ooQs=",
2424+ "url": "https://github.com/nextcloud/collectives/releases/download/v2.16.0/collectives-2.16.0.tar.gz",
2525+ "version": "2.16.0",
2626+ "description": "Collectives is a Nextcloud App for activist and community projects to organize together.\nCome and gather in collectives to build shared knowledge.\n\n* 👥 **Collective and non-hierarchical workflow by heart**: Collectives are\n tied to a [Nextcloud Team](https://github.com/nextcloud/circles) and\n owned by the collective.\n* 📝 **Collaborative page editing** like known from Etherpad thanks to the\n [Text app](https://github.com/nextcloud/text).\n* 🔤 **Well-known [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax**\n for page formatting.\n\n## Installation\n\nIn your Nextcloud instance, simply navigate to **»Apps«**, find the\n**»Teams«** and **»Collectives«** apps and enable them.",
2727+ "homepage": "https://github.com/nextcloud/collectives",
2828+ "licenses": [
2929+ "agpl"
3030+ ]
3131+ },
2232 "contacts": {
2333 "hash": "sha256-hqCDr7qEqsi8tZ9Woz9hsUm1HENK16FNz4pcQCto8S4=",
2434 "url": "https://github.com/nextcloud-releases/contacts/releases/download/v6.0.2/contacts-v6.0.2.tar.gz",
+10
pkgs/servers/nextcloud/packages/30.json
···1919 "agpl"
2020 ]
2121 },
2222+ "collectives": {
2323+ "hash": "sha256-IAnJZuaj6KW6kF4daIKxvCEDCViWu30gogm8q2/ooQs=",
2424+ "url": "https://github.com/nextcloud/collectives/releases/download/v2.16.0/collectives-2.16.0.tar.gz",
2525+ "version": "2.16.0",
2626+ "description": "Collectives is a Nextcloud App for activist and community projects to organize together.\nCome and gather in collectives to build shared knowledge.\n\n* 👥 **Collective and non-hierarchical workflow by heart**: Collectives are\n tied to a [Nextcloud Team](https://github.com/nextcloud/circles) and\n owned by the collective.\n* 📝 **Collaborative page editing** like known from Etherpad thanks to the\n [Text app](https://github.com/nextcloud/text).\n* 🔤 **Well-known [Markdown](https://en.wikipedia.org/wiki/Markdown) syntax**\n for page formatting.\n\n## Installation\n\nIn your Nextcloud instance, simply navigate to **»Apps«**, find the\n**»Teams«** and **»Collectives«** apps and enable them.",
2727+ "homepage": "https://github.com/nextcloud/collectives",
2828+ "licenses": [
2929+ "agpl"
3030+ ]
3131+ },
2232 "contacts": {
2333 "hash": "sha256-5h94RmmJcM7P0Wjx/hHDbUA55x3H/klOjkmH3qxMbpQ=",
2434 "url": "https://github.com/nextcloud-releases/contacts/releases/download/v6.1.3/contacts-v6.1.3.tar.gz",