diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 8db6af4fc87b..f23dff89f042 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -10052,6 +10052,11 @@ githubId = 107689; name = "Josh Holland"; }; + jshort = { + github = "jshort"; + githubId = 1186444; + name = "James Short"; + }; jsierles = { email = "joshua@hey.com"; matrix = "@jsierles:matrix.org"; @@ -19720,6 +19725,12 @@ githubId = 12841859; name = "Syboxez Blank"; }; + syedahkam = { + email = "smahkam57@gmail.com"; + github = "SyedAhkam"; + githubId = 52673095; + name = "Syed Ahkam"; + }; symphorien = { email = "symphorien_nixpkgs@xlumurb.eu"; matrix = "@symphorien:xlumurb.eu"; diff --git a/nixos/modules/services/security/oauth2-proxy.nix b/nixos/modules/services/security/oauth2-proxy.nix index 78a772845a35..3079a1d030c5 100644 --- a/nixos/modules/services/security/oauth2-proxy.nix +++ b/nixos/modules/services/security/oauth2-proxy.nix @@ -577,20 +577,22 @@ in users.groups.oauth2-proxy = {}; - systemd.services.oauth2-proxy = { - description = "OAuth2 Proxy"; - path = [ cfg.package ]; - wantedBy = [ "multi-user.target" ]; - wants = [ "network-online.target" ]; - after = [ "network-online.target" ]; + systemd.services.oauth2-proxy = + let needsKeycloak = lib.elem cfg.provider ["keycloak" "keycloak-oidc"] + && config.services.keycloak.enable; + in { + description = "OAuth2 Proxy"; + path = [ cfg.package ]; + wantedBy = [ "multi-user.target" ]; + wants = [ "network-online.target" ] ++ lib.optionals needsKeycloak [ "keycloak.service" ]; + after = [ "network-online.target" ] ++ lib.optionals needsKeycloak [ "keycloak.service" ]; - serviceConfig = { - User = "oauth2-proxy"; - Restart = "always"; - ExecStart = "${cfg.package}/bin/oauth2-proxy ${configString}"; - EnvironmentFile = lib.mkIf (cfg.keyFile != null) cfg.keyFile; + serviceConfig = { + User = "oauth2-proxy"; + Restart = "always"; + ExecStart = "${cfg.package}/bin/oauth2-proxy ${configString}"; + EnvironmentFile = lib.mkIf (cfg.keyFile != null) cfg.keyFile; + }; }; - }; - }; } diff --git a/nixos/modules/services/web-apps/keycloak.nix b/nixos/modules/services/web-apps/keycloak.nix index 201085daa74a..6d472cf48cd0 100644 --- a/nixos/modules/services/web-apps/keycloak.nix +++ b/nixos/modules/services/web-apps/keycloak.nix @@ -466,7 +466,8 @@ in confFile = pkgs.writeText "keycloak.conf" (keycloakConfig filteredConfig); keycloakBuild = cfg.package.override { inherit confFile; - plugins = cfg.package.enabledPlugins ++ cfg.plugins; + plugins = cfg.package.enabledPlugins ++ cfg.plugins ++ + (with cfg.package.plugins; [quarkus-systemd-notify quarkus-systemd-notify-deployment]); }; in mkIf cfg.enable @@ -638,6 +639,8 @@ in RuntimeDirectory = "keycloak"; RuntimeDirectoryMode = "0700"; AmbientCapabilities = "CAP_NET_BIND_SERVICE"; + Type = "notify"; # Requires quarkus-systemd-notify plugin + NotifyAccess = "all"; }; script = '' set -o errexit -o pipefail -o nounset -o errtrace diff --git a/nixos/modules/services/web-apps/pretalx.nix b/nixos/modules/services/web-apps/pretalx.nix index d0b1512f77c5..1411d11982c8 100644 --- a/nixos/modules/services/web-apps/pretalx.nix +++ b/nixos/modules/services/web-apps/pretalx.nix @@ -11,14 +11,19 @@ let configFile = format.generate "pretalx.cfg" cfg.settings; - extras = cfg.package.optional-dependencies.redis - ++ lib.optionals (cfg.settings.database.backend == "mysql") cfg.package.optional-dependencies.mysql - ++ lib.optionals (cfg.settings.database.backend == "postgresql") cfg.package.optional-dependencies.postgres; + finalPackage = cfg.package.override { + inherit (cfg) plugins; + }; - pythonEnv = cfg.package.python.buildEnv.override { - extraLibs = [ (cfg.package.python.pkgs.toPythonModule cfg.package) ] - ++ (with cfg.package.python.pkgs; [ gunicorn ] - ++ lib.optional cfg.celery.enable celery) ++ extras; + pythonEnv = finalPackage.python.buildEnv.override { + extraLibs = with finalPackage.python.pkgs; [ + (toPythonModule finalPackage) + gunicorn + ] + ++ finalPackage.optional-dependencies.redis + ++ lib.optionals cfg.celery.enable [ celery ] + ++ lib.optionals (cfg.settings.database.backend == "mysql") finalPackage.optional-dependencies.mysql + ++ lib.optionals (cfg.settings.database.backend == "postgresql") finalPackage.optional-dependencies.postgres; }; in @@ -44,6 +49,20 @@ in description = "User under which pretalx should run."; }; + plugins = lib.mkOption { + type = with lib.types; listOf package; + default = []; + example = lib.literalExpression '' + with config.services.pretalx.package.plugins; [ + pages + youtube + ]; + ''; + description = '' + Pretalx plugins to install into the Python environment. + ''; + }; + gunicorn.extraArgs = lib.mkOption { type = with lib.types; listOf str; default = [ diff --git a/nixos/tests/vector.nix b/nixos/tests/vector.nix index a55eb4e012c5..9c0d7e84fab3 100644 --- a/nixos/tests/vector.nix +++ b/nixos/tests/vector.nix @@ -14,15 +14,27 @@ with pkgs.lib; enable = true; journaldAccess = true; settings = { - sources.journald.type = "journald"; + sources = { + journald.type = "journald"; + + vector_metrics.type = "internal_metrics"; + + vector_logs.type = "internal_logs"; + }; sinks = { file = { type = "file"; - inputs = [ "journald" ]; + inputs = [ "journald" "vector_logs" ]; path = "/var/lib/vector/logs.log"; encoding = { codec = "json"; }; }; + + prometheus_exporter = { + type = "prometheus_exporter"; + inputs = [ "vector_metrics" ]; + address = "[::]:9598"; + }; }; }; }; @@ -31,6 +43,10 @@ with pkgs.lib; # ensure vector is forwarding the messages appropriately testScript = '' machine.wait_for_unit("vector.service") + machine.wait_for_open_port(9598) + machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_build_info") + machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_component_received_bytes_total | grep journald") + machine.wait_until_succeeds("curl -sSf http://localhost:9598/metrics | grep vector_utilization | grep prometheus_exporter") machine.wait_for_file("/var/lib/vector/logs.log") ''; }; diff --git a/nixos/tests/web-apps/pretalx.nix b/nixos/tests/web-apps/pretalx.nix index 76e261b2207e..cbb6580aa051 100644 --- a/nixos/tests/web-apps/pretalx.nix +++ b/nixos/tests/web-apps/pretalx.nix @@ -5,13 +5,16 @@ meta.maintainers = lib.teams.c3d2.members; nodes = { - pretalx = { + pretalx = { config, ... }: { networking.extraHosts = '' 127.0.0.1 talks.local ''; services.pretalx = { enable = true; + plugins = with config.services.pretalx.package.plugins; [ + pages + ]; nginx.domain = "talks.local"; settings = { site.url = "http://talks.local"; diff --git a/pkgs/applications/misc/bambu-studio/default.nix b/pkgs/applications/misc/bambu-studio/default.nix index 388b10f1356d..184ad1d8163e 100644 --- a/pkgs/applications/misc/bambu-studio/default.nix +++ b/pkgs/applications/misc/bambu-studio/default.nix @@ -34,7 +34,7 @@ mesa, mpfr, nlopt, - opencascade-occt, + opencascade-occt_7_6, openvdb, pcre, qhull, @@ -47,6 +47,7 @@ withSystemd ? stdenv.isLinux, }: let + opencascade-occt = opencascade-occt_7_6; wxGTK31' = wxGTK31.overrideAttrs (old: { configureFlags = old.configureFlags ++ [ # Disable noisy debug dialogs diff --git a/pkgs/applications/misc/prusa-slicer/default.nix b/pkgs/applications/misc/prusa-slicer/default.nix index b1e2a80617ba..96fc551595b5 100644 --- a/pkgs/applications/misc/prusa-slicer/default.nix +++ b/pkgs/applications/misc/prusa-slicer/default.nix @@ -23,7 +23,7 @@ , mpfr , nanosvg , nlopt -, opencascade-occt +, opencascade-occt_7_6 , openvdb , pcre , qhull @@ -37,6 +37,7 @@ , wxGTK-override ? null }: let + opencascade-occt = opencascade-occt_7_6; wxGTK-prusa = wxGTK32.overrideAttrs (old: rec { pname = "wxwidgets-prusa3d-patched"; version = "3.2.0"; diff --git a/pkgs/applications/networking/irc/weechat/scripts/autosort/default.nix b/pkgs/applications/networking/irc/weechat/scripts/autosort/default.nix new file mode 100644 index 000000000000..26b44568ceaf --- /dev/null +++ b/pkgs/applications/networking/irc/weechat/scripts/autosort/default.nix @@ -0,0 +1,29 @@ +{ lib, stdenv, fetchurl, weechat }: + +stdenv.mkDerivation { + pname = "weechat-autosort"; + version = "3.10"; + + src = fetchurl { + url = "https://github.com/weechat/scripts/raw/13aef991ca879fc0ff116874a45b09bc2db10607/python/autosort.py"; + hash = "sha256-xuZUssjGd0l7lCx96d0V8LL+0O3zIxYlWMoDsdzwMf4="; + }; + + dontUnpack = true; + + installPhase = '' + mkdir -p $out/share + cp $src $out/share/autosort.py + ''; + + passthru = { + scripts = [ "autosort.py" ]; + }; + + meta = with lib; { + inherit (weechat.meta) platforms; + description = "autosort automatically keeps your buffers sorted and grouped by server."; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ flokli ]; + }; +} diff --git a/pkgs/applications/networking/irc/weechat/scripts/default.nix b/pkgs/applications/networking/irc/weechat/scripts/default.nix index f84e2307acb1..1825ee3f5d7a 100644 --- a/pkgs/applications/networking/irc/weechat/scripts/default.nix +++ b/pkgs/applications/networking/irc/weechat/scripts/default.nix @@ -1,6 +1,8 @@ { callPackage, luaPackages, perlPackages, python3Packages }: { + autosort = callPackage ./autosort { }; + colorize_nicks = callPackage ./colorize_nicks { }; edit = callPackage ./edit { }; diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix index a754fcb33f29..d80850edd446 100644 --- a/pkgs/applications/networking/remote/remmina/default.nix +++ b/pkgs/applications/networking/remote/remmina/default.nix @@ -1,5 +1,5 @@ { lib, stdenv, fetchFromGitLab, cmake, ninja, pkg-config, wrapGAppsHook3 -, curl, fuse3 +, curl, fuse3, fetchpatch2 , desktopToDarwinBundle , glib, gtk3, gettext, libxkbfile, libX11, python3 , freerdp3, libssh, libgcrypt, gnutls, vte @@ -26,11 +26,19 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-0z2fcBnChCBYPxyFm/xpAW0jHaUGA92NQgjt+lWFUnM="; }; + patches = [ + (fetchpatch2 { + name = "add-a-conditional-check-for-darwin-and-NetBSD.patch"; + url = "https://gitlab.com/Remmina/Remmina/-/commit/3b681398c823e070c7f780166b9d9fc2158e66c1.diff"; + hash = "sha256-Ovdrsl9bftXiuXV+sqvDP9VGuXQZzC5VKOmkYmBXhNA="; + }) + ]; + nativeBuildInputs = [ cmake ninja pkg-config wrapGAppsHook3 ] ++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle ]; buildInputs = [ - curl fuse3 + curl gsettings-desktop-schemas glib gtk3 gettext libxkbfile libX11 freerdp3 libssh libgcrypt gnutls @@ -42,7 +50,7 @@ stdenv.mkDerivation (finalAttrs: { openssl gnome.adwaita-icon-theme json-glib libsodium harfbuzz python3 wayland - ] ++ lib.optionals stdenv.isLinux [ libappindicator-gtk3 libdbusmenu-gtk3 webkitgtk_4_1 ] + ] ++ lib.optionals stdenv.isLinux [ fuse3 libappindicator-gtk3 libdbusmenu-gtk3 webkitgtk_4_1 ] ++ lib.optionals withLibsecret [ libsecret ] ++ lib.optionals withKf5Wallet [ libsForQt5.kwallet ] ++ lib.optionals withVte [ vte ]; diff --git a/pkgs/applications/science/electronics/horizon-eda/base.nix b/pkgs/applications/science/electronics/horizon-eda/base.nix index 8ce75a6ce241..2a37c0265dc3 100644 --- a/pkgs/applications/science/electronics/horizon-eda/base.nix +++ b/pkgs/applications/science/electronics/horizon-eda/base.nix @@ -9,12 +9,14 @@ , libgit2 , librsvg , libuuid -, opencascade-occt +, opencascade-occt_7_6 , pkg-config , podofo , sqlite }: - +let + opencascade-occt = opencascade-occt_7_6; +in # This base is used in horizon-eda and python3Packages.horizon-eda rec { pname = "horizon-eda"; diff --git a/pkgs/applications/science/electronics/kicad/base.nix b/pkgs/applications/science/electronics/kicad/base.nix index 209d47875f8d..b5f721c3d772 100644 --- a/pkgs/applications/science/electronics/kicad/base.nix +++ b/pkgs/applications/science/electronics/kicad/base.nix @@ -42,7 +42,7 @@ , swig4 , python , wxPython -, opencascade-occt +, opencascade-occt_7_6 , libngspice , valgrind @@ -65,6 +65,7 @@ assert testing -> !stable -> throw "testing implies stable and cannot be used with stable = false"; let + opencascade-occt = opencascade-occt_7_6; inherit (lib) optional optionals optionalString; in stdenv.mkDerivation rec { diff --git a/pkgs/applications/science/physics/elmerfem/default.nix b/pkgs/applications/science/physics/elmerfem/default.nix index e63203a93f28..c3720602d08d 100644 --- a/pkgs/applications/science/physics/elmerfem/default.nix +++ b/pkgs/applications/science/physics/elmerfem/default.nix @@ -1,5 +1,23 @@ -{ lib, stdenv, fetchFromGitHub, cmake, git, gfortran, mpi, blas, liblapack, pkg-config, libGL, libGLU, opencascade-occt, libsForQt5, tbb, vtkWithQt5 }: - +{ lib +, stdenv +, fetchFromGitHub +, cmake +, git +, gfortran +, mpi +, blas +, liblapack +, pkg-config +, libGL +, libGLU +, opencascade-occt_7_6 +, libsForQt5 +, tbb +, vtkWithQt5 +}: +let + opencascade-occt = opencascade-occt_7_6; +in stdenv.mkDerivation rec { pname = "elmerfem"; version = "unstable-2023-09-18"; @@ -19,6 +37,7 @@ stdenv.mkDerivation rec { pkg-config libsForQt5.wrapQtAppsHook ]; + buildInputs = [ mpi blas diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index cf8012b2a3e0..05f93613087b 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -55,11 +55,11 @@ stdenv.mkDerivation (finalAttrs: { + lib.optionalString hostCpuOnly "-host-cpu-only" + lib.optionalString nixosTestRunner "-for-vm-tests" + lib.optionalString toolsOnly "-utils"; - version = "8.2.3"; + version = "8.2.4"; src = fetchurl { url = "https://download.qemu.org/qemu-${finalAttrs.version}.tar.xz"; - hash = "sha256-d1sRjKpjZiCnr0saFWRFoaKA9a1Ss7y7F/jilkhB21g="; + hash = "sha256-7PVTf+q5JkG5nXSC9VHyGV06W9NKzvnVK/v/NTpgc5c="; }; depsBuildBuild = [ buildPackages.stdenv.cc ] diff --git a/pkgs/by-name/ar/arc-browser/package.nix b/pkgs/by-name/ar/arc-browser/package.nix index 4f8a22e89bb9..3ade24c48fab 100644 --- a/pkgs/by-name/ar/arc-browser/package.nix +++ b/pkgs/by-name/ar/arc-browser/package.nix @@ -9,11 +9,11 @@ stdenvNoCC.mkDerivation (finalAttrs: { pname = "arc-browser"; - version = "1.42.0-49714"; + version = "1.42.1-49918"; src = fetchurl { url = "https://releases.arc.net/release/Arc-${finalAttrs.version}.dmg"; - hash = "sha256-fPb4g9rGJqeXuO2ytSo/8r0RB/h/EYa763JAFNqIPY8="; + hash = "sha256-O0l2o0POyeZTqxJAahc/PfA4qS7US4AQYRnE6jSdqoE="; }; nativeBuildInputs = [ undmg ]; diff --git a/pkgs/by-name/bd/bdf2ttf/package.nix b/pkgs/by-name/bd/bdf2ttf/package.nix new file mode 100644 index 000000000000..c12100bb3662 --- /dev/null +++ b/pkgs/by-name/bd/bdf2ttf/package.nix @@ -0,0 +1,32 @@ +{ lib, stdenv, fetchFromGitHub }: + +stdenv.mkDerivation { + pname = "bdf2ttf"; + version = "2.0-unstable-2016-07-03"; + + src = fetchFromGitHub { + owner = "koron"; + repo = "bdf2ttf"; + rev = "1baae7b70a432153e3d876966e47a78f0e572eac"; + hash = "sha256-235BTcTaC/30yLlgo0OO2cp3YCHWa87GFJGBx5lmz6o="; + }; + + dontConfigure = true; + + makeFlags = [ "gcc" ]; + + installPhase = '' + runHook preInstall + install -Dm755 bdf2ttf $out/bin/bdf2ttf + runHook postInstall + ''; + + meta = { + description = "Convert BDF font file to TTF (embed bitmap as is, not convert to vector)"; + homepage = "https://github.com/koron/bdf2ttf"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ ners ]; + platforms = lib.platforms.all; + broken = stdenv.isDarwin; + }; +} diff --git a/pkgs/by-name/bo/bombsquad/package.nix b/pkgs/by-name/bo/bombsquad/package.nix new file mode 100644 index 000000000000..5fee9d25a6c8 --- /dev/null +++ b/pkgs/by-name/bo/bombsquad/package.nix @@ -0,0 +1,114 @@ +{ + lib, + stdenv, + targetPlatform, + fetchurl, + python312, + SDL2, + libvorbis, + openal, + curl, + gnugrep, + libgcc, + makeWrapper, + makeDesktopItem, + autoPatchelfHook, + copyDesktopItems, + writeShellApplication, + commandLineArgs ? "", +}: +let + archive = + { + x86_64-linux = { + name = "BombSquad_Linux_x86_64"; + hash = "sha256-VLNO0TxI/KBj8RkpGjo9Rx40f7fuV3pK2kIoKff9sRU="; + }; + aarch-64-linux = { + name = "BombSquad_Linux_Arm64"; + hash = "sha256-w42qhioZ9JRm004WEKzsJ3G1u09tLuPvTy8qV3DuglI="; + }; + } + .${targetPlatform.system} or (throw "${targetPlatform.system} is unsupported."); +in +stdenv.mkDerivation (finalAttrs: { + name = "bombsquad"; + version = "1.7.34"; + sourceRoot = "."; + src = fetchurl { + url = "https://files.ballistica.net/bombsquad/builds/${archive.name}_${finalAttrs.version}.tar.gz"; + inherit (archive) hash; + }; + + bombsquadIcon = fetchurl { + url = "https://files.ballistica.net/bombsquad/promo/BombSquadIcon.png"; + hash = "sha256-MfOvjVmjhLejrJmdLo/goAM9DTGubnYGhlN6uF2GugA="; + }; + + nativeBuildInputs = [ + python312 + SDL2 + libvorbis + openal + libgcc + makeWrapper + autoPatchelfHook + copyDesktopItems + ]; + + desktopItems = [ + (makeDesktopItem { + name = "bombsquad"; + genericName = "bombsquad"; + desktopName = "BombSquad"; + icon = "bombsquad"; + exec = "bombsquad"; + comment = "An explosive arcade-style party game."; + categories = [ "Game" ]; + }) + ]; + + installPhase = '' + runHook preInstall + + base=${archive.name}_${finalAttrs.version} + + install -m755 -D $base/bombsquad $out/bin/bombsquad + install -dm755 $base/ba_data $out/usr/share/bombsquad/ba_data + cp -r $base/ba_data $out/usr/share/bombsquad/ + + wrapProgram "$out/bin/bombsquad" \ + --add-flags ${lib.escapeShellArg commandLineArgs} \ + --add-flags "-d $out/usr/share/bombsquad" + + install -Dm755 ${finalAttrs.bombsquadIcon} $out/usr/share/icons/hicolor/32x32/apps/bombsquad.png + + runHook postInstall + ''; + + passthru.updateScript = lib.getExe (writeShellApplication { + name = "bombsquad-versionLister"; + runtimeInputs = [ + curl + gnugrep + ]; + text = '' + curl -sL "https://files.ballistica.net/bombsquad/builds/CHANGELOG.md" \ + | grep -oP '^### \K\d+\.\d+\.\d+' \ + | head -n 1 + ''; + }); + + meta = { + description = "A free, multiplayer, arcade-style game for up to eight players that combines elements of fighting games and first-person shooters (FPS)"; + homepage = "https://ballistica.net"; + changelog = "https://ballistica.net/downloads?display=changelog"; + license = with lib.licenses; [ + mit + unfree + ]; + maintainers = with lib.maintainers; [ syedahkam ]; + mainProgram = "bombsquad"; + platforms = lib.platforms.linux; + }; +}) diff --git a/pkgs/by-name/fr/freecad/package.nix b/pkgs/by-name/fr/freecad/package.nix index 61fa9a395e40..0e50640be212 100644 --- a/pkgs/by-name/fr/freecad/package.nix +++ b/pkgs/by-name/fr/freecad/package.nix @@ -19,7 +19,7 @@ , mpi , ninja , ode -, opencascade-occt +, opencascade-occt_7_6 , pkg-config , python3Packages , runCommand # for passthru.tests @@ -33,6 +33,7 @@ }: let + opencascade-occt = opencascade-occt_7_6; boost = python3Packages.boost; inherit (libsForQt5) qtbase diff --git a/pkgs/by-name/pn/pnpm-shell-completion/package.nix b/pkgs/by-name/pn/pnpm-shell-completion/package.nix index b789a1024a72..3ec44b2e175d 100644 --- a/pkgs/by-name/pn/pnpm-shell-completion/package.nix +++ b/pkgs/by-name/pn/pnpm-shell-completion/package.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "pnpm-shell-completion"; - version = "0.5.3"; + version = "0.5.4"; src = fetchFromGitHub { owner = "g-plane"; repo = "pnpm-shell-completion"; rev = "v${version}"; - hash = "sha256-UKuAUN1uGNy/1Fm4vXaTWBClHgda+Vns9C4ugfHm+0s="; + hash = "sha256-bc2ZVHQF+lSAmhy/fvdiVfg9uzPPcXYrtiNChjkjHtA="; }; - cargoHash = "sha256-Kf28hQ5PUHeH5ZSRSRdfHljlqIYU8MN0zQsyT0Sa2+4="; + cargoHash = "sha256-pGACCT96pTG4ZcJZtSWCup7Iejf6r3RvQ+4tMOwiShw="; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/by-name/pr/pretalx/package.nix b/pkgs/by-name/pr/pretalx/package.nix index 78b2f8d4df0b..f3582c1b7fb5 100644 --- a/pkgs/by-name/pr/pretalx/package.nix +++ b/pkgs/by-name/pr/pretalx/package.nix @@ -3,6 +3,7 @@ , gettext , python3 , fetchFromGitHub +, plugins ? [ ] , nixosTests }: @@ -132,7 +133,7 @@ python.pkgs.buildPythonApplication rec { vobject whitenoise zxcvbn - ] ++ beautifulsoup4.optional-dependencies.lxml; + ] ++ beautifulsoup4.optional-dependencies.lxml ++ plugins; passthru.optional-dependencies = { mysql = with python.pkgs; [ @@ -210,6 +211,12 @@ python.pkgs.buildPythonApplication rec { tests = { inherit (nixosTests) pretalx; }; + plugins = lib.recurseIntoAttrs ( + lib.packagesFromDirectoryRecursive { + inherit (python.pkgs) callPackage; + directory = ./plugins; + } + ); }; inherit meta; diff --git a/pkgs/by-name/pr/pretalx/plugins/downstream.nix b/pkgs/by-name/pr/pretalx/plugins/downstream.nix new file mode 100644 index 000000000000..074c84a90b03 --- /dev/null +++ b/pkgs/by-name/pr/pretalx/plugins/downstream.nix @@ -0,0 +1,30 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage rec { + pname = "pretalx-downstream"; + version = "1.2.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretalx"; + repo = "pretalx-downstream"; + rev = "v${version}"; + hash = "sha256-MzoK/tzf6ajZ/THIXyad/tfb3lsQD9k9J6aBfoP9ONo="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "pretalx_downstream" ]; + + meta = { + description = "Use pretalx passively by importing another event's schedule"; + homepage = "https://github.com/pretalx/pretalx-downstream"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ wegank ]; + }; +} diff --git a/pkgs/by-name/pr/pretalx/plugins/media-ccc-de.nix b/pkgs/by-name/pr/pretalx/plugins/media-ccc-de.nix new file mode 100644 index 000000000000..91cb42f791e3 --- /dev/null +++ b/pkgs/by-name/pr/pretalx/plugins/media-ccc-de.nix @@ -0,0 +1,30 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage rec { + pname = "pretalx-media-ccc-de"; + version = "1.2.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretalx"; + repo = "pretalx-media-ccc-de"; + rev = "v${version}"; + hash = "sha256-QCnZZpYjHxj92Dl2nRd4lXapufcqRmlVH6LEq0rzQ2U="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "pretalx_media_ccc_de" ]; + + meta = { + description = "Pull recordings from media.ccc.de and embed them in talk pages"; + homepage = "https://github.com/pretalx/pretalx-media-ccc-de"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ wegank ]; + }; +} diff --git a/pkgs/by-name/pr/pretalx/plugins/pages.nix b/pkgs/by-name/pr/pretalx/plugins/pages.nix new file mode 100644 index 000000000000..3f8d254542a7 --- /dev/null +++ b/pkgs/by-name/pr/pretalx/plugins/pages.nix @@ -0,0 +1,30 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage rec { + pname = "pretalx-pages"; + version = "1.4.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretalx"; + repo = "pretalx-pages"; + rev = "v${version}"; + hash = "sha256-Wzd3uf+mdoyeMCZ4ZYcPLGqlUWCqSL02eeKRubTiH00="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "pretalx_pages" ]; + + meta = { + description = "Static pages for pretalx, e.g. information, venue listings, a Code of Conduct, etc"; + homepage = "https://github.com/pretalx/pretalx-pages"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ wegank ]; + }; +} diff --git a/pkgs/by-name/pr/pretalx/plugins/public-voting.nix b/pkgs/by-name/pr/pretalx/plugins/public-voting.nix new file mode 100644 index 000000000000..3ce595b69fe5 --- /dev/null +++ b/pkgs/by-name/pr/pretalx/plugins/public-voting.nix @@ -0,0 +1,30 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage rec { + pname = "pretalx-public-voting"; + version = "1.5.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretalx"; + repo = "pretalx-public-voting"; + rev = "v${version}"; + hash = "sha256-0dSnUVXtWEuu+m5PyFjjM2WVYE3+cNqZYlMkRQlI+2U="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "pretalx_public_voting" ]; + + meta = { + description = "A public voting plugin for pretalx"; + homepage = "https://github.com/pretalx/pretalx-public-voting"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ wegank ]; + }; +} diff --git a/pkgs/by-name/pr/pretalx/plugins/venueless.nix b/pkgs/by-name/pr/pretalx/plugins/venueless.nix new file mode 100644 index 000000000000..5d082c9abd6a --- /dev/null +++ b/pkgs/by-name/pr/pretalx/plugins/venueless.nix @@ -0,0 +1,40 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + gettext, + setuptools, + django, + pyjwt, +}: + +buildPythonPackage rec { + pname = "pretalx-venueless"; + version = "1.3.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretalx"; + repo = "pretalx-venueless"; + rev = "v${version}"; + hash = "sha256-h8o5q1roFm8Bct/Qf8obIJYkkGPcz3WJ15quxZH48H8="; + }; + + nativeBuildInputs = [ gettext ]; + + build-system = [ setuptools ]; + + dependencies = [ + django + pyjwt + ]; + + pythonImportsCheck = [ "pretalx_venueless" ]; + + meta = { + description = "Static venueless for pretalx, e.g. information, venue listings, a Code of Conduct, etc"; + homepage = "https://github.com/pretalx/pretalx-venueless"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ wegank ]; + }; +} diff --git a/pkgs/by-name/pr/pretalx/plugins/vimeo.nix b/pkgs/by-name/pr/pretalx/plugins/vimeo.nix new file mode 100644 index 000000000000..c823b7bce4b3 --- /dev/null +++ b/pkgs/by-name/pr/pretalx/plugins/vimeo.nix @@ -0,0 +1,30 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage rec { + pname = "pretalx-vimeo"; + version = "2.2.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretalx"; + repo = "pretalx-vimeo"; + rev = "v${version}"; + hash = "sha256-CVP9C2wY51p8UDnzPpjzdVv5b9CSVanGbkaJiOo+9eY="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "pretalx_vimeo" ]; + + meta = { + description = "Static vimeo for pretalx, e.g. information, venue listings, a Code of Conduct, etc"; + homepage = "https://github.com/pretalx/pretalx-vimeo"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ wegank ]; + }; +} diff --git a/pkgs/by-name/pr/pretalx/plugins/youtube.nix b/pkgs/by-name/pr/pretalx/plugins/youtube.nix new file mode 100644 index 000000000000..4424225c7b09 --- /dev/null +++ b/pkgs/by-name/pr/pretalx/plugins/youtube.nix @@ -0,0 +1,30 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, +}: + +buildPythonPackage rec { + pname = "pretalx-youtube"; + version = "2.1.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "pretalx"; + repo = "pretalx-youtube"; + rev = "v${version}"; + hash = "sha256-j3NZ+5QBbdpE2bxenqq5bW/42CWvQ9FqrKMmfYIe4Lo="; + }; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "pretalx_youtube" ]; + + meta = { + description = "Static youtube for pretalx, e.g. information, venue listings, a Code of Conduct, etc"; + homepage = "https://github.com/pretalx/pretalx-youtube"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ wegank ]; + }; +} diff --git a/pkgs/by-name/rc/rcu/package.nix b/pkgs/by-name/rc/rcu/package.nix index 915113f44d13..250dda8940e6 100644 --- a/pkgs/by-name/rc/rcu/package.nix +++ b/pkgs/by-name/rc/rcu/package.nix @@ -15,14 +15,14 @@ python3Packages.buildPythonApplication rec { pname = "rcu"; - version = "2024.001n"; + version = "2024.001o"; format = "other"; src = let src-tarball = requireFile { name = "rcu-d${version}-source.tar.gz"; - sha256 = "1snmf2cr242k946q6fh5b5fqdyafdbs8gbbdzchjhm7n9r1kxyca"; + sha256 = "1smi4cfnwbdil0f77244dfq65i173vb4g3kk451lwh35s91ar628"; url = "http://www.davisr.me/projects/rcu/"; }; in runCommand "${src-tarball.name}-unpacked" {} '' diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix index bfa2974bdc5b..9f3fbdbf7eb0 100644 --- a/pkgs/development/libraries/kerberos/krb5.nix +++ b/pkgs/development/libraries/kerberos/krb5.nix @@ -46,7 +46,7 @@ stdenv.mkDerivation rec { ++ lib.optionals staticOnly [ "--enable-static" "--disable-shared" ] ++ lib.optional withLdap "--with-ldap" ++ lib.optional withVerto "--with-system-verto" - ++ lib.optional stdenv.isFreeBSD ''WARN_CFLAGS=""'' + ++ lib.optional stdenv.isFreeBSD ''WARN_CFLAGS='' ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [ "krb5_cv_attr_constructor_destructor=yes,yes" "ac_cv_func_regcomp=yes" diff --git a/pkgs/development/libraries/opencascade-occt/default.nix b/pkgs/development/libraries/opencascade-occt/default.nix index 2a8d49d9d134..664968de6432 100644 --- a/pkgs/development/libraries/opencascade-occt/default.nix +++ b/pkgs/development/libraries/opencascade-occt/default.nix @@ -1,20 +1,44 @@ -{ lib, stdenv, fetchurl, fetchpatch, cmake, ninja, tcl, tk, - libGL, libGLU, libXext, libXmu, libXi, darwin }: +{ lib +, stdenv +, fetchurl +, fetchpatch +, cmake +, ninja +, tcl +, tk +, libGL +, libGLU +, libXext +, libXmu +, libXi +, darwin +}: stdenv.mkDerivation rec { pname = "opencascade-occt"; - version = "7.6.2"; + version = "7.8.1"; commit = "V${builtins.replaceStrings ["."] ["_"] version}"; src = fetchurl { name = "occt-${commit}.tar.gz"; url = "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=${commit};sf=tgz"; - sha256 = "sha256-n3KFrN/mN1SVXfuhEUAQ1fJzrCvhiclxfEIouyj9Z18="; + hash = "sha256-AGMZqTLLjXbzJFW/RSTsohAGV8sMxlUmdU/Y2oOzkk8="; }; - nativeBuildInputs = [ cmake ninja ]; - buildInputs = [ tcl tk libGL libGLU libXext libXmu libXi ] - ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Cocoa; + nativeBuildInputs = [ + cmake + ninja + ]; + + buildInputs = [ + tcl + tk + libGL + libGLU + libXext + libXmu + libXi + ] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Cocoa; meta = with lib; { description = "Open CASCADE Technology, libraries for 3D modeling and numerical simulation"; diff --git a/pkgs/development/python-modules/aiomisc/default.nix b/pkgs/development/python-modules/aiomisc/default.nix index 47a702ddf083..0b4bf7483d84 100644 --- a/pkgs/development/python-modules/aiomisc/default.nix +++ b/pkgs/development/python-modules/aiomisc/default.nix @@ -22,14 +22,14 @@ buildPythonPackage rec { pname = "aiomisc"; - version = "17.5.15"; + version = "17.5.19"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchPypi { inherit pname version; - hash = "sha256-tfJm0W20UeuWIrihXpEmbiX5+Zs1ASIzJbhjodLdctI="; + hash = "sha256-0tcWfi4zxqDDMknDPOLNm+S+K1qmHQ5n/PqNFyNbwZg="; }; build-system = [ poetry-core ]; diff --git a/pkgs/development/python-modules/exchangelib/default.nix b/pkgs/development/python-modules/exchangelib/default.nix index c41a7da3a807..1e560b59895b 100644 --- a/pkgs/development/python-modules/exchangelib/default.nix +++ b/pkgs/development/python-modules/exchangelib/default.nix @@ -29,7 +29,7 @@ buildPythonPackage rec { pname = "exchangelib"; - version = "5.3.0"; + version = "5.4.0"; pyproject = true; disabled = pythonOlder "3.7"; @@ -38,7 +38,7 @@ buildPythonPackage rec { owner = "ecederstrand"; repo = "exchangelib"; rev = "refs/tags/v${version}"; - hash = "sha256-rcXQJYjyWLPrlMci/j8IY7EbDEyyc+5uSOOXo0YwjKo="; + hash = "sha256-GBfSdX9gFLx+CCV8DWHWtVpWi6zI3fg/3g/MiIvRoVM="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/ifcopenshell/default.nix b/pkgs/development/python-modules/ifcopenshell/default.nix index 3fc63b13bb39..7288eb8d96bc 100644 --- a/pkgs/development/python-modules/ifcopenshell/default.nix +++ b/pkgs/development/python-modules/ifcopenshell/default.nix @@ -7,11 +7,13 @@ , icu , swig , pcre -, opencascade-occt +, opencascade-occt_7_6 , opencollada , libxml2 }: - +let + opencascade-occt = opencascade-occt_7_6; +in buildPythonPackage rec { pname = "ifcopenshell"; version = "240306"; diff --git a/pkgs/development/python-modules/litellm/default.nix b/pkgs/development/python-modules/litellm/default.nix index 32bf3798001c..d5446110c6c0 100644 --- a/pkgs/development/python-modules/litellm/default.nix +++ b/pkgs/development/python-modules/litellm/default.nix @@ -33,7 +33,7 @@ buildPythonPackage rec { pname = "litellm"; - version = "1.36.1"; + version = "1.37.9"; pyproject = true; disabled = pythonOlder "3.8"; @@ -42,7 +42,7 @@ buildPythonPackage rec { owner = "BerriAI"; repo = "litellm"; rev = "refs/tags/v${version}"; - hash = "sha256-OGu3+E3T8EpKVVqndgmJwTftWcfLbKId/PmVz7dk3x8="; + hash = "sha256-yLJprng/33bwLpfSwBKSIFtk7/KsYWHqm0H5O1w00ZM="; }; postPatch = '' diff --git a/pkgs/development/python-modules/transitions/default.nix b/pkgs/development/python-modules/transitions/default.nix index 8ed221cd23e9..7e73b9c73aba 100644 --- a/pkgs/development/python-modules/transitions/default.nix +++ b/pkgs/development/python-modules/transitions/default.nix @@ -15,12 +15,12 @@ buildPythonPackage rec { pname = "transitions"; - version = "0.9.0"; + version = "0.9.1"; pyproject = true; src = fetchPypi { inherit pname version; - hash = "sha256-L1TRG9siV3nX5ykBHpOp+3F2aM49xl+NT1pde6L0jhA="; + hash = "sha256-NULDcQjpPirl8hUgjsVzLJSncpN4VKECzXNFuWf+5hs="; }; build-system = [ diff --git a/pkgs/servers/keycloak/all-plugins.nix b/pkgs/servers/keycloak/all-plugins.nix index f2f1117f2d84..2e4c97ea1cec 100644 --- a/pkgs/servers/keycloak/all-plugins.nix +++ b/pkgs/servers/keycloak/all-plugins.nix @@ -1,4 +1,4 @@ -{ callPackage }: +{ callPackage, fetchMavenArtifact }: { scim-for-keycloak = callPackage ./scim-for-keycloak {}; @@ -6,4 +6,20 @@ keycloak-discord = callPackage ./keycloak-discord {}; keycloak-metrics-spi = callPackage ./keycloak-metrics-spi {}; keycloak-restrict-client-auth = callPackage ./keycloak-restrict-client-auth {}; + + # These could theoretically be used by something other than Keycloak, but + # there are no other quarkus apps in nixpkgs (as of 2023-08-21) + quarkus-systemd-notify = (fetchMavenArtifact { + groupId = "io.quarkiverse.systemd.notify"; + artifactId = "quarkus-systemd-notify"; + version = "1.0.1"; + hash = "sha256-3I4j22jyIpokU4kdobkt6cDsALtxYFclA+DV+BqtmLY="; + }).passthru.jar; + + quarkus-systemd-notify-deployment = (fetchMavenArtifact { + groupId = "io.quarkiverse.systemd.notify"; + artifactId = "quarkus-systemd-notify-deployment"; + version = "1.0.1"; + hash = "sha256-xHxzBxriSd/OU8gEcDG00VRkJYPYJDfAfPh/FkQe+zg="; + }).passthru.jar; } diff --git a/pkgs/tools/misc/os-prober/default.nix b/pkgs/tools/misc/os-prober/default.nix index 5d15b7077385..f48aae8e6df5 100644 --- a/pkgs/tools/misc/os-prober/default.nix +++ b/pkgs/tools/misc/os-prober/default.nix @@ -68,6 +68,8 @@ stdenv.mkDerivation rec { description = "Utility to detect other OSs on a set of drives"; homepage = "http://packages.debian.org/source/sid/os-prober"; license = licenses.gpl2Plus; + mainProgram = "os-prober"; maintainers = with maintainers; [ symphorien ]; + platforms = platforms.linux; }; } diff --git a/pkgs/tools/misc/wagyu/default.nix b/pkgs/tools/misc/wagyu/default.nix index 39e1085d4c96..0eb71743f064 100644 --- a/pkgs/tools/misc/wagyu/default.nix +++ b/pkgs/tools/misc/wagyu/default.nix @@ -2,16 +2,18 @@ rustPlatform.buildRustPackage rec { pname = "wagyu"; - version = "0.6.1"; + version = "0.6.3"; src = fetchFromGitHub { owner = "AleoHQ"; repo = pname; - rev = "refs/tags/v${version}"; - hash = "sha256-ltWNKB3DHtwVVzJyvRWj2I8rjsl7ru2i/RCO9yiQhpg="; + rev = "v${version}"; + hash = "sha256-5n8BmETv5jUvgu0rskAPYaBgYyNL2QU2t/iUb3hNMMw="; }; - cargoHash = "sha256-8dbeSHN6+1jLdVA9QxNAy7Y6EX7wflpQI72kqZAEVIE="; + cargoPatches = [ ./fix-rustc-serialize-version.patch ]; + + cargoHash = "sha256-vseTtok0E0ddg9ALQ1ql3NPPxirfyMPHOSWsM2qu2jU="; buildInputs = lib.optional stdenv.isDarwin Security; diff --git a/pkgs/tools/misc/wagyu/fix-rustc-serialize-version.patch b/pkgs/tools/misc/wagyu/fix-rustc-serialize-version.patch new file mode 100644 index 000000000000..2b990909c1b4 --- /dev/null +++ b/pkgs/tools/misc/wagyu/fix-rustc-serialize-version.patch @@ -0,0 +1,15 @@ +diff --git a/Cargo.lock b/Cargo.lock +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -1286,9 +1286,9 @@ checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + + [[package]] + name = "rustc-serialize" +-version = "0.3.24" ++version = "0.3.25" + source = "registry+https://github.com/rust-lang/crates.io-index" +-checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda" ++checksum = "fe834bc780604f4674073badbad26d7219cadfb4a2275802db12cbae17498401" + + [[package]] + name = "rustc_version" diff --git a/pkgs/tools/networking/eternal-terminal/default.nix b/pkgs/tools/networking/eternal-terminal/default.nix index 22ed2dcb80e7..27778006b1e1 100644 --- a/pkgs/tools/networking/eternal-terminal/default.nix +++ b/pkgs/tools/networking/eternal-terminal/default.nix @@ -12,13 +12,13 @@ stdenv.mkDerivation rec { pname = "eternal-terminal"; - version = "6.2.4"; + version = "6.2.8"; src = fetchFromGitHub { owner = "MisterTea"; repo = "EternalTerminal"; rev = "refs/tags/et-v${version}"; - hash = "sha256-9W9Pz0VrFU+HNpf98I3CLrn8+kpjjNLOUK8gGcDJcI8="; + hash = "sha256-7LhCP7zARpigsDJmA7y/ZIgN06l8aCszXryzPoa4aL0="; }; nativeBuildInputs = [ @@ -34,6 +34,7 @@ stdenv.mkDerivation rec { ]; preBuild = '' + mkdir -p ../external_imported/Catch2/single_include/catch2 cp ${catch2}/include/catch2/catch.hpp ../external_imported/Catch2/single_include/catch2/catch.hpp ''; @@ -54,7 +55,7 @@ stdenv.mkDerivation rec { homepage = "https://eternalterminal.dev/"; changelog = "https://github.com/MisterTea/EternalTerminal/releases/tag/et-v${version}"; license = licenses.asl20; - maintainers = with maintainers; [ dezgeg ]; + maintainers = with maintainers; [ dezgeg jshort ]; platforms = platforms.linux ++ platforms.darwin; }; } diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix index b9e23b6548ef..34325cab9edb 100644 --- a/pkgs/tools/networking/minio-client/default.nix +++ b/pkgs/tools/networking/minio-client/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "minio-client"; - version = "2024-04-29T09-56-05Z"; + version = "2024-05-09T17-04-24Z"; src = fetchFromGitHub { owner = "minio"; repo = "mc"; rev = "RELEASE.${version}"; - sha256 = "sha256-Fx7D8w5cPrl/TFmMIGZxn00BC0AYaLEh6K1PQ10jTBQ="; + sha256 = "sha256-S7bi7BTbsbXUFoDpm0IhOvjnumcKbewV0celUxAx57g="; }; vendorHash = "sha256-vqPSzzNIvy+9J9bPE4hxWvRPuPKpB8ahuu6ENnFmfJ0="; diff --git a/pkgs/tools/security/ghidra/build.nix b/pkgs/tools/security/ghidra/build.nix index 212460984140..f8f0fb3ae5a8 100644 --- a/pkgs/tools/security/ghidra/build.nix +++ b/pkgs/tools/security/ghidra/build.nix @@ -71,6 +71,7 @@ HERE nativeBuildInputs = [ gradle perl ] ++ lib.optional stdenv.isDarwin xcbuild; buildPhase = '' + runHook preBuild export HOME="$NIX_BUILD_TOP/home" mkdir -p "$HOME" export JAVA_TOOL_OPTIONS="-Duser.home='$HOME'" @@ -81,13 +82,16 @@ HERE # Then, fetch the maven dependencies. gradle --no-daemon --info -Dorg.gradle.java.home=${openjdk17} resolveDependencies + runHook postBuild ''; # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar) installPhase = '' + runHook preInstall find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \ | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/maven/$x/$3/$4/$5" #e' \ | sh cp -r dependencies $out/dependencies + runHook postInstall ''; outputHashAlgo = "sha256"; outputHashMode = "recursive"; @@ -108,6 +112,7 @@ in stdenv.mkDerivation { ]; buildPhase = '' + runHook preBuild export HOME="$NIX_BUILD_TOP/home" mkdir -p "$HOME" export JAVA_TOOL_OPTIONS="-Duser.home='$HOME'" @@ -117,9 +122,11 @@ in stdenv.mkDerivation { sed -i "s#mavenLocal()#mavenLocal(); maven { url '${deps}/maven' }#g" build.gradle gradle --offline --no-daemon --info -Dorg.gradle.java.home=${openjdk17} buildGhidra + runHook postBuild ''; installPhase = '' + runHook preInstall mkdir -p "${pkg_path}" "$out/share/applications" ZIP=build/dist/$(ls build/dist) @@ -138,6 +145,7 @@ in stdenv.mkDerivation { mkdir -pv "$out/share/icons/hicolor/$res/apps" mv "$f" "$out/share/icons/hicolor/$res/apps/ghidra.png" done; + runHook postInstall ''; postFixup = '' diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ff96d3ac41d5..8e05a7d28f83 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23610,6 +23610,17 @@ with pkgs; opencascade-occt = callPackage ../development/libraries/opencascade-occt { }; + opencascade-occt_7_6 = opencascade-occt.overrideAttrs rec { + pname = "opencascade-occt"; + version = "7.6.2"; + commit = "V${builtins.replaceStrings ["."] ["_"] version}"; + src = fetchurl { + name = "occt-${commit}.tar.gz"; + url = "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=${commit};sf=tgz"; + hash = "sha256-n3KFrN/mN1SVXfuhEUAQ1fJzrCvhiclxfEIouyj9Z18="; + }; + }; + opencl-headers = callPackage ../development/libraries/opencl-headers { }; opencl-clhpp = callPackage ../development/libraries/opencl-clhpp { };