diff --git a/doc/release-notes/rl-2605.section.md b/doc/release-notes/rl-2605.section.md index 5d60022aec6c..44817ac44e55 100644 --- a/doc/release-notes/rl-2605.section.md +++ b/doc/release-notes/rl-2605.section.md @@ -50,6 +50,8 @@ - `python3packages.pillow-avif-plugin` has been removed as the functionality is included in `python3packages.pillow` directly since version 11.3. +- `services.openssh.settings.AcceptEnv` now explicitly defined as an option that takes a list of strings, to facilitate option merging. Setting it to a string value is no longer supported. + ## Other Notable Changes {#sec-nixpkgs-release-26.05-notable-changes} diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index cc7468790f78..2b753822dad7 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -5735,6 +5735,13 @@ matrix = "@Dan:matrix.org"; name = "Daniel Theriault"; }; + danberdev = { + email = "me@danber.dev"; + github = "danberdev"; + githubId = 13893528; + name = "Daniil Berendeev"; + keys = [ { fingerprint = "60D7 0EE0 3BD4 A415 B255 1938 6556 0668 006B 4906"; } ]; + }; danbst = { email = "abcz2.uprola@gmail.com"; github = "danbst"; @@ -13331,6 +13338,12 @@ githubId = 386765; matrix = "@k900:0upti.me"; }; + kaasboteram = { + name = "Luuk Machielse"; + github = "kaasboteram"; + githubId = 168290368; + email = "luuk.machielse@gmail.com"; + }; kachick = { email = "kachick1@gmail.com"; github = "kachick"; @@ -13509,6 +13522,11 @@ githubId = 37185887; name = "Calvin Kim"; }; + kedry = { + name = "Kevin Edry"; + github = "kedry"; + githubId = 12020122; + }; keegancsmith = { email = "keegan.csmith@gmail.com"; name = "Keegan Carruthers-Smith"; diff --git a/nixos/modules/services/misc/forgejo.nix b/nixos/modules/services/misc/forgejo.nix index ebf795fe2ad1..9b85fc8dc133 100644 --- a/nixos/modules/services/misc/forgejo.nix +++ b/nixos/modules/services/misc/forgejo.nix @@ -801,9 +801,9 @@ in // lib.listToAttrs (map (e: lib.nameValuePair e.env "%d/${e.env}") secrets); }; - services.openssh.settings.AcceptEnv = mkIf ( - !cfg.settings.server.START_SSH_SERVER or false - ) "GIT_PROTOCOL"; + services.openssh.settings.AcceptEnv = mkIf (!cfg.settings.server.START_SSH_SERVER or false) [ + "GIT_PROTOCOL" + ]; users.users = mkIf (cfg.user == "forgejo") { forgejo = { diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix index d4457560dbf1..f34b8ca2a190 100644 --- a/nixos/modules/services/networking/ssh/sshd.nix +++ b/nixos/modules/services/networking/ssh/sshd.nix @@ -48,6 +48,7 @@ let "Macs" ]; spaceSeparated = [ + "AcceptEnv" "AuthorizedKeysFile" "AllowGroups" "AllowUsers" @@ -463,6 +464,15 @@ in { freeformType = settingsFormat.type; options = { + AcceptEnv = lib.mkOption { + type = lib.types.nullOr (lib.types.listOf lib.types.str); + default = null; + description = '' + Specifies what environment variables sent by the client will be copied into the session's + environment. The TERM environment variable is always accepted whenever the client requests + a pseudo-terminal as it is required by the protocol. + ''; + }; AuthorizedPrincipalsFile = lib.mkOption { type = lib.types.nullOr lib.types.str; default = "none"; # upstream default diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix index 582e87fa9b7f..24abf4d5e269 100644 --- a/pkgs/applications/audio/reaper/default.nix +++ b/pkgs/applications/audio/reaper/default.nix @@ -38,17 +38,17 @@ let in stdenv.mkDerivation rec { pname = "reaper"; - version = "7.54"; + version = "7.55"; src = fetchurl { url = url_for_platform version stdenv.hostPlatform.qemuArch; hash = if stdenv.hostPlatform.isDarwin then - "sha256-1C7FfFULm7ZYdKHU/x5BcoiISRoySvFDqRjJZ+OiqLc=" + "sha256-meTuaGH9zwx/sT+h0I7JRSCRPD8AryGPvoHUKbyzpHA=" else { - x86_64-linux = "sha256-DOhWauKjIv5cah+6yO/ZkHQ6X0qcyxxWD6B2xH/zm4c="; - aarch64-linux = "sha256-TD6kHAzNBSDQxmT23VJwCUcfblp4DffOaKhKVPSAg6w="; + x86_64-linux = "sha256-BOjS39GySB6ptiEJvwlShL4ZcDot2nsKXCAU/CeMEIc="; + aarch64-linux = "sha256-oqEwEQKFhpaFMqzcSc28v0njuiMi5CAGjP3fLDECUXU="; } .${stdenv.hostPlatform.system}; }; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/treesit-grammars/package.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/treesit-grammars/package.nix index d38046fe571a..3b349ed571e7 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/treesit-grammars/package.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/treesit-grammars/package.nix @@ -20,5 +20,5 @@ in { inherit with-grammars; - with-all-grammars = with-grammars builtins.attrValues; + with-all-grammars = with-grammars (ps: lib.filter (p: !p.meta.broken) (lib.attrValues ps)); } diff --git a/pkgs/applications/networking/browsers/chromium/info.json b/pkgs/applications/networking/browsers/chromium/info.json index cee508371f11..862f66ac043d 100644 --- a/pkgs/applications/networking/browsers/chromium/info.json +++ b/pkgs/applications/networking/browsers/chromium/info.json @@ -813,7 +813,7 @@ } }, "ungoogled-chromium": { - "version": "143.0.7499.146", + "version": "143.0.7499.169", "deps": { "depot_tools": { "rev": "e2bb3cd55899346cc68bbfd5139e59c9d85a6984", @@ -825,16 +825,16 @@ "hash": "sha256-kIPhfuJBQSISdRjloe0N2JrqvuVrEkNijb92/9zSE9I=" }, "ungoogled-patches": { - "rev": "143.0.7499.146-1", - "hash": "sha256-GHJ/xdEaaNdXJzn3XdY9xoVPYH5HxH1T7kPgvrdi+9s=" + "rev": "143.0.7499.169-1", + "hash": "sha256-6fz1xdX4o0k0Bj4+Y4Tw9h98f/zpcqikYJARtv54Unw=" }, "npmHash": "sha256-HF6B4abJJJ9JDVbovtAdaHIvqE1zHJZ2a+g2Cudx8Pw=" }, "DEPS": { "src": { "url": "https://chromium.googlesource.com/chromium/src.git", - "rev": "c1224fc40c96e7f17f0cdeb87a8f4c64b93c0d74", - "hash": "sha256-Sn4j7vs7g/D9GnL+BMCyg73iEeGn7Miq0k42mV6Z3hM=", + "rev": "164b20aab62509dad21fd46383951aeec084ad1e", + "hash": "sha256-WqpZXjcklOyPIvEmWi23bC8D/vVXMLkAmFrQQ13Iy6o=", "recompress": true }, "src/third_party/clang-format/script": { diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json index f7e552fcf09f..0d0f868bd00e 100644 --- a/pkgs/applications/networking/cluster/terraform-providers/providers.json +++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json @@ -869,13 +869,13 @@ "vendorHash": "sha256-vcuUt3WIo1TnLApch410JgtyCzliQRYMQQQ2Z9diDZ8=" }, "lxc_incus": { - "hash": "sha256-OznwpRtSxf9XOJLjO732bwVh0dclGHAFuFUKGUdg3Xc=", + "hash": "sha256-apgSFI+NgIGEnYAJifwN5X9eIrrdy7Xti83YGdu2bPU=", "homepage": "https://registry.terraform.io/providers/lxc/incus", "owner": "lxc", "repo": "terraform-provider-incus", - "rev": "v1.0.1", + "rev": "v1.0.2", "spdx": "MPL-2.0", - "vendorHash": "sha256-5FZFHzZGjIE49cszj5aeTDJRB7JXK6vLlsk8RJKRMpY=" + "vendorHash": "sha256-6CoEZz7/8PysjolcTsrBKForJkoOQqgERYX8g5PeoMY=" }, "marcofranssen_dexidp": { "hash": "sha256-un+jAmcK1MYljcAFyIHw0AFmvz4GltAsWxTOd/zXxyU=", diff --git a/pkgs/applications/science/misc/sasview/default.nix b/pkgs/applications/science/misc/sasview/default.nix index aef55bfa170f..173bda74a259 100644 --- a/pkgs/applications/science/misc/sasview/default.nix +++ b/pkgs/applications/science/misc/sasview/default.nix @@ -1,49 +1,91 @@ { lib, + stdenv, python3, fetchFromGitHub, - wrapQtAppsHook, + writeShellScriptBin, + qt6, + writableTmpDirAsHomeHook, + ausaxs, }: -python3.pkgs.buildPythonApplication rec { +let + version = "6.1.1"; + + pyside-tools-uic = writeShellScriptBin "pyside6-uic" '' + exec ${qt6.qtbase}/libexec/uic -g python "$@" + ''; + + pyside-tools-rcc = writeShellScriptBin "pyside6-rcc" '' + exec ${qt6.qtbase}/libexec/rcc -g python "$@" + ''; +in +python3.pkgs.buildPythonApplication { pname = "sasview"; - version = "5.0.6"; + inherit version; pyproject = true; src = fetchFromGitHub { owner = "SasView"; repo = "sasview"; - rev = "refs/tags/v${version}"; - hash = "sha256-cwP9VuvO4GPlbAxCqw31xISTi9NoF5RoBQmjWusrnzc="; + tag = "v${version}"; + hash = "sha256-dc1vr+YFHItCI4NnSa+yF948/t7B6utoSp2ps/J40ys="; }; - # AttributeError: module 'numpy' has no attribute 'float'. - postPatch = '' - substituteInPlace src/sas/sascalc/pr/p_invertor.py \ - --replace "dtype=np.float)" "dtype=float)" - ''; + build-system = with python3.pkgs; [ + hatchling + hatch-build-scripts + hatch-requirements-txt + hatch-sphinx + hatch-vcs + ]; nativeBuildInputs = [ - python3.pkgs.pyqt5 - python3.pkgs.setuptools - wrapQtAppsHook + qt6.wrapQtAppsHook + pyside-tools-rcc + pyside-tools-uic + python3.pkgs.pyside6 + python3.pkgs.sasdata + python3.pkgs.sasmodels ]; - propagatedBuildInputs = with python3.pkgs; [ - bumps - h5py - lxml - periodictable - pillow - pyparsing - pyqt5 - qt5reactor + buildInputs = [ qt6.qtbase ]; + + dependencies = with python3.pkgs; [ sasmodels - scipy - setuptools + siphash24 + bumps + columnize + tccbox + hatch-sphinx + sasdata + matplotlib + appdirs + dominate + html2text + html5lib + ipython + jsonschema + mako + numba + periodictable + platformdirs + pybind11 + pylint + pyopencl + pyopengl + pyside6 + pytools + qtconsole + superqt + twisted + uncertainties xhtml2pdf + zope-interface ]; + pythonRemoveDeps = [ "zope" ]; + postBuild = '' ${python3.interpreter} src/sas/qtgui/convertUI.py ''; @@ -54,20 +96,30 @@ python3.pkgs.buildPythonApplication rec { "\${qtWrapperArgs[@]}" ]; - nativeCheckInputs = with python3.pkgs; [ - pytestCheckHook - unittest-xml-reporting - ]; + nativeCheckInputs = + with python3.pkgs; + [ + pytestCheckHook + unittest-xml-reporting + ] + ++ [ + writableTmpDirAsHomeHook + ausaxs + ]; enabledTestPaths = [ "test" ]; - disabledTests = [ - # NoKnownLoaderException - "test_invalid_cansas" - "test_data_reader_exception" - ]; + disabledTestPaths = [ "test/sascalculator/utest_sas_gen.py::sas_gen_test::test_debye_impl" ]; + + preCheck = + let + ext = stdenv.hostPlatform.extensions.sharedLibrary; + in + '' + ln -s ${ausaxs}/lib/libausaxs.${ext} src/sas/sascalc/calculator/ausaxs/lib/libausaxs.${ext} + ''; meta = { description = "Fitting and data analysis for small angle scattering data"; diff --git a/pkgs/by-name/ac/acpica-tools/package.nix b/pkgs/by-name/ac/acpica-tools/package.nix index 15ea53028b0c..2b0d3601c46b 100644 --- a/pkgs/by-name/ac/acpica-tools/package.nix +++ b/pkgs/by-name/ac/acpica-tools/package.nix @@ -9,13 +9,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "acpica-tools"; - version = "20250807"; + version = "20251212"; src = fetchFromGitHub { owner = "acpica"; repo = "acpica"; tag = finalAttrs.version; - hash = "sha256-OY7jEirUDpzhgT9iCUYWeZmbCQl2R/agGIHXqJI/UBo="; + hash = "sha256-R2u93OzNv2/LcuxlqXBufGVv+rI3fNPMHl3VKcPn3VU="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/au/ausaxs/cmake-no-fetchcontent.patch b/pkgs/by-name/au/ausaxs/cmake-no-fetchcontent.patch new file mode 100644 index 000000000000..551c84541598 --- /dev/null +++ b/pkgs/by-name/au/ausaxs/cmake-no-fetchcontent.patch @@ -0,0 +1,54 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -85,7 +85,7 @@ + set(DLIB_USE_MKL_FFT OFF) + set(DLIB_USE_FFMPEG OFF) + set(CMAKE_CXX_STANDARD 17) # dlib must be compiled with C++17 +- FetchContent_MakeAvailable(dlib) ++ add_subdirectory(dlib) + set(CMAKE_CXX_STANDARD 20) # continue with C++20 + add_compile_definitions("DLIB_AVAILABLE") + endif() +@@ -105,8 +105,9 @@ + GIT_REPOSITORY https://github.com/klytje/gcem + ) + +-FetchContent_MakeAvailable(thread_pool GCEM backward) +-include_directories(${thread_pool_SOURCE_DIR}/include ${gcem_SOURCE_DIR}/include ${backward_SOURCE_DIR}) ++add_subdirectory(gcem) ++add_subdirectory(backward) ++include_directories(thread_pool/include gcem/include backward) + + ############################################ + ## Find and link CURL ## + +--- a/executable/gui/CMakeLists.txt ++++ b/executable/gui/CMakeLists.txt +@@ -6,7 +6,9 @@ + nfd + GIT_REPOSITORY https://github.com/btzy/nativefiledialog-extended.git + ) +-FetchContent_MakeAvailable(elements CLI11 nfd) ++find_package(CLI11 CONFIG REQUIRED) ++add_subdirectory(${CMAKE_SOURCE_DIR}/elements elements_build) ++add_subdirectory(${CMAKE_SOURCE_DIR}/nfd nfd_build) + + # set the path to the elements root & module path + set(ELEMENTS_ROOT "${elements_SOURCE_DIR}") + +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -18,10 +18,10 @@ + GIT_TAG 914aeecfe23b1e16af6ea675a4fb5dbd5a5b8d0a + GIT_PROGRESS TRUE + ) +-FetchContent_MakeAvailable(Catch2) ++add_subdirectory(${CMAKE_SOURCE_DIR}/catch2 catch2_build) + + # make the tests available through CTest +-list(APPEND CMAKE_MODULE_PATH ${catch2_SOURCE_DIR}/extras) ++list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/catch2/extras) + include(CTest) + include(Catch) + + diff --git a/pkgs/by-name/au/ausaxs/elements-cmake-no-fetchcontent.patch b/pkgs/by-name/au/ausaxs/elements-cmake-no-fetchcontent.patch new file mode 100644 index 000000000000..7cf1f798e092 --- /dev/null +++ b/pkgs/by-name/au/ausaxs/elements-cmake-no-fetchcontent.patch @@ -0,0 +1,21 @@ +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -229,7 +229,7 @@ + GIT_SUBMODULES_RECURSE ON + ) + +-FetchContent_MakeAvailable(cycfi_infra) ++add_subdirectory(${CMAKE_SOURCE_DIR}/cycfi_infra cycfi_infra_build) + target_link_libraries(elements PUBLIC cycfi::infra) + + ############################################################################### +@@ -270,9 +270,7 @@ + + FetchContent_Declare( + asio +- GIT_REPOSITORY https://github.com/chriskohlhoff/asio.git +- GIT_TAG asio-1-29-0 +- GIT_SHALLOW TRUE ++ SOURCE_DIR ${CMAKE_SOURCE_DIR}/asio + ) + FetchContent_MakeAvailable(asio) diff --git a/pkgs/by-name/au/ausaxs/package.nix b/pkgs/by-name/au/ausaxs/package.nix new file mode 100644 index 000000000000..f3a9fe107bce --- /dev/null +++ b/pkgs/by-name/au/ausaxs/package.nix @@ -0,0 +1,148 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + doxygen, + libwebp, + curl, + cli11, + python3, + pkg-config, + cairo, + gtk3, +}: + +let + dlib = fetchFromGitHub { + owner = "davisking"; + repo = "dlib"; + tag = "v20.0"; + hash = "sha256-VTX7s0p2AzlvPUsSMXwZiij+UY9g2y+a1YIge9bi0sw="; + }; + + thread-pool = fetchFromGitHub { + owner = "bshoshany"; + repo = "thread-pool"; + tag = "v5.0.0"; + hash = "sha256-1TTpt6u3NVIMSExl0ttuwH2owQCetujolnR/t8hDMh0="; + }; + + gcem = fetchFromGitHub { + owner = "klytje"; + repo = "gcem"; + rev = "c5464969d373ed0a763c3562656798d1cc00687f"; + hash = "sha256-bnWakLHl/afpeFm6S32ku0IkniyIs8X+LE1NmV6p0ho="; + }; + + backward-cpp = fetchFromGitHub { + owner = "bombela"; + repo = "backward-cpp"; + rev = "0bfd0a07a61551413ccd2ab9a9099af3bad40681"; + hash = "sha256-nLH8jfdgzmlUTg6zwY/h0HVnDMeC9rvmX1x4Ithu9dI="; + }; + + catch2 = fetchFromGitHub { + owner = "catchorg"; + repo = "Catch2"; + rev = "914aeecfe23b1e16af6ea675a4fb5dbd5a5b8d0a"; + hash = "sha256-2gK+CUpml6AaHcwNoq0tHLr2NwqtMPx+jP80/LLFFr4="; + }; + + elements = fetchFromGitHub { + owner = "cycfi"; + repo = "elements"; + rev = "71ecd1f4ebc76967c6812b1872db639784e40a2d"; + hash = "sha256-F3Dv+QboXfOSaXpbdOeWPtOC8orWGZc8ZBFho/X8Ky8="; + }; + + nfd = fetchFromGitHub { + owner = "btzy"; + repo = "nativefiledialog-extended"; + tag = "v1.2.1"; + hash = "sha256-GwT42lMZAAKSJpUJE6MYOpSLKUD5o9nSe9lcsoeXgJY="; + }; + + asio = fetchFromGitHub { + owner = "chriskohlhoff"; + repo = "asio"; + tag = "asio-1-29-0"; + hash = "sha256-5WSrMe9n+8i/ZyvCsa4MMBguYbSz+7FwH0Z5JfHtRGM="; + }; + + cycfi_infra = fetchFromGitHub { + owner = "cycfi"; + repo = "infra"; + rev = "2dff97a4b107eced78e426152f5001a2331cb1cf"; + hash = "sha256-NmoPYhfsrC5oWFjJ9Ol83sR8aIkyQr6UpaCeZpW58PI="; + fetchSubmodules = true; + }; +in +stdenv.mkDerivation (finalAttrs: { + pname = "ausaxs"; + version = "1.1.2"; + + src = fetchFromGitHub { + owner = "AUSAXS"; + repo = "AUSAXS"; + tag = "v${finalAttrs.version}"; + hash = "sha256-83ZgplSZmY/2DZXG1t+/4+gzlv/YusRFeDRqNuie0JA="; + }; + + patches = [ ./cmake-no-fetchcontent.patch ]; + + postPatch = '' + cp --recursive --no-preserve=mode ${dlib} dlib + cp --recursive --no-preserve=mode ${thread-pool} thread_pool + cp --recursive --no-preserve=mode ${gcem} gcem + cp --recursive --no-preserve=mode ${backward-cpp} backward + cp --recursive --no-preserve=mode ${catch2} catch2 + cp --recursive --no-preserve=mode ${nfd} nfd + cp --recursive --no-preserve=mode ${elements} elements + cp --recursive --no-preserve=mode ${asio} asio + cp --recursive --no-preserve=mode ${cycfi_infra} cycfi_infra + substituteInPlace executable/CMakeLists.txt \ + --replace-fail "FetchContent_MakeAvailable(CLI11)" "find_package(CLI11 CONFIG REQUIRED)" + substituteInPlace include/crystal/crystal/miller/MillerGenerationFactory.h \ + --replace-fail "namespace ausaxs::settings::crystal {enum class MillerGenerationChoice;}" '#include "../core/settings/CrystalSettings.h"' + patch -p1 -d elements < ${./elements-cmake-no-fetchcontent.patch} + substituteInPlace CMakeLists.txt \ + --replace-fail "-mavx" "${ + lib.optionalString (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isLinux) "-msse3" + }" + sed -i '/#include /a\ + #include ' source/crystal/miller/FibonacciMillers.cpp + ''; + + nativeBuildInputs = [ + cmake + doxygen + python3 + pkg-config + ]; + + buildInputs = [ + curl + cli11 + cairo + libwebp + gtk3 + ]; + + cmakeFlags = [ (lib.cmakeBool "GUI" true) ]; + + postInstall = '' + cp --recursive lib/* $out/lib/ + cp --recursive bin $out/bin + rm $out/bin/scripts + cp --recursive ../scripts $out/bin/scripts + ''; + + meta = { + description = "Small-angle X-ray scattering framework"; + homepage = "https://github.com/AUSAXS/AUSAXS"; + license = lib.licenses.lgpl3Plus; + maintainers = with lib.maintainers; [ kyehn ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/by-name/be/beads/package.nix b/pkgs/by-name/be/beads/package.nix new file mode 100644 index 000000000000..d84dd6ca0e85 --- /dev/null +++ b/pkgs/by-name/be/beads/package.nix @@ -0,0 +1,69 @@ +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + gitMinimal, + installShellFiles, + versionCheckHook, + writableTmpDirAsHomeHook, +}: + +buildGoModule (finalAttrs: { + pname = "beads"; + version = "0.27.2"; + + src = fetchFromGitHub { + owner = "steveyegge"; + repo = "beads"; + tag = "v${finalAttrs.version}"; + hash = "sha256-PpuyQCQocmOqt4EYDsjx1nh0dRxt2e7Vu1/KQ74B88Q="; + }; + + vendorHash = "sha256-5p4bHTBB6X30FosIn6rkMDJoap8tOvB7bLmVKsy09D8="; + + subPackages = [ "cmd/bd" ]; + + ldflags = [ + "-s" + "-w" + ]; + + nativeBuildInputs = [ installShellFiles ]; + + nativeCheckInputs = [ + gitMinimal + writableTmpDirAsHomeHook + ]; + + # Skip security tests on Darwin - they check for /etc/passwd which isn't available in sandbox + checkFlags = lib.optionals stdenv.hostPlatform.isDarwin [ + "-skip=TestCleanupMergeArtifacts_CommandInjectionPrevention" + ]; + + preCheck = '' + export PATH="$out/bin:$PATH" + ''; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd bd \ + --bash <($out/bin/bd completion bash) \ + --fish <($out/bin/bd completion fish) \ + --zsh <($out/bin/bd completion zsh) + ''; + + nativeInstallCheckInputs = [ + versionCheckHook + writableTmpDirAsHomeHook + ]; + versionCheckProgramArg = "version"; + doInstallCheck = true; + + meta = { + description = "Lightweight memory system for AI coding agents with graph-based issue tracking"; + homepage = "https://github.com/steveyegge/beads"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ kedry ]; + mainProgram = "bd"; + }; +}) diff --git a/pkgs/by-name/bo/bob-nvim/package.nix b/pkgs/by-name/bo/bob-nvim/package.nix new file mode 100644 index 000000000000..7550587e0e2c --- /dev/null +++ b/pkgs/by-name/bo/bob-nvim/package.nix @@ -0,0 +1,41 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + installShellFiles, + stdenv, +}: + +rustPlatform.buildRustPackage (finalAttrs: { + pname = "bob"; + version = "4.1.6"; + + src = fetchFromGitHub { + owner = "MordechaiHadad"; + repo = "bob"; + tag = "v${finalAttrs.version}"; + hash = "sha256-XI/oNGKLXQ/fpB6MojhTsEgmmPH1pHECD5oZgc1r4rQ="; + }; + + nativeBuildInputs = [ installShellFiles ]; + + cargoHash = "sha256-YSZcYTGnMnN/srh8Z15toq+GIyRKfFd+pGkFQl5gCuo="; + + doCheck = false; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd bob \ + --bash <($out/bin/bob complete bash) \ + --fish <($out/bin/bob complete fish) \ + --zsh <($out/bin/bob complete zsh) \ + --nushell <($out/bin/bob complete nushell) + ''; + + meta = { + description = "Version manager for neovim"; + homepage = "https://github.com/MordechaiHadad/bob"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ kaasboteram ]; + mainProgram = "bob"; + }; +}) diff --git a/pkgs/by-name/cl/cloud-hypervisor/package.nix b/pkgs/by-name/cl/cloud-hypervisor/package.nix index 4a6869c4490c..3cff663a22d9 100644 --- a/pkgs/by-name/cl/cloud-hypervisor/package.nix +++ b/pkgs/by-name/cl/cloud-hypervisor/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchpatch, rustPlatform, pkg-config, dtc, @@ -12,29 +11,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cloud-hypervisor"; - version = "49.0"; + version = "50.0"; src = fetchFromGitHub { owner = "cloud-hypervisor"; repo = "cloud-hypervisor"; rev = "v${finalAttrs.version}"; - hash = "sha256-bPPs/4XMcvOH4BGfQrjQdvgjGWae4UEZjzPKjalDN3w="; + hash = "sha256-U2jNKdc+CWB/Z9TvAC0xfHDipfe4dhWjL9VXbBVaNJE="; }; - patches = [ - (fetchpatch { - name = "vsock-seccomp-Rust-1.90.patch"; - url = "https://github.com/cloud-hypervisor/cloud-hypervisor/commit/ec57aade1563075e37b8e9ccc0b85fe2c04a54b8.patch"; - hash = "sha256-M+I+ZbiNDV1a8Y46+/mPTyDlQgQS7G6ytvPgli0NhJ0="; - }) - (fetchpatch { - name = "vfio-user-seccomp-Rust-1.90.patch"; - url = "https://github.com/cloud-hypervisor/cloud-hypervisor/commit/95b8c6afdd6eec9810243f92ec1956dccfe305da.patch"; - hash = "sha256-kCP/Fu0Dg+GdnwyFQLqZWKlbqO9w4KRJcbV4sReSDYM="; - }) - ]; - - cargoHash = "sha256-5EK9V9yiF/UjmlYSKBIJgQOA1YU33ezicLikWYnKFAo="; + cargoHash = "sha256-M1jVvFo9Bo/ZFqaFtzwp2rusl1T1m7jAkEobOF0cnlA="; separateDebugInfo = true; diff --git a/pkgs/by-name/co/code/package.nix b/pkgs/by-name/co/code/package.nix index e1159348038b..c2d20a228c76 100644 --- a/pkgs/by-name/co/code/package.nix +++ b/pkgs/by-name/co/code/package.nix @@ -1,8 +1,7 @@ { - bash, fetchFromGitHub, - gitMinimal, lib, + nix-update-script, openssl, pkg-config, rustPlatform, @@ -12,24 +11,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "code"; - version = "0.2.188"; + version = "0.6.5"; src = fetchFromGitHub { owner = "just-every"; repo = "code"; tag = "v${finalAttrs.version}"; - hash = "sha256-xUhgA4poybzFehVgVWHKx1ejhncvYAnug2oxLwGNrk0="; + hash = "sha256-X+YwTXla6EePXLhMgokiZkgkm9P/rkl2+2XC27tqAEk="; }; sourceRoot = "${finalAttrs.src.name}/code-rs"; - postPatch = '' - # shell::tests::test_run_with_profile_bash_escaping_and_execution - substituteInPlace core/src/shell.rs \ - --replace-fail '"/bin/bash"' '"${lib.getExe bash}"' - ''; - - cargoHash = "sha256-wQHcwfBJE/qGXHgLDQ1NfBpgFdmQhuHCvfAG8KV+MHM="; + cargoHash = "sha256-oNrBwI0klqQtGTMhPzVvOqMqvdexEVkZpLD6ssXqQX8="; nativeBuildInputs = lib.optionals stdenvNoCC.hostPlatform.isLinux [ pkg-config @@ -50,26 +43,18 @@ rustPlatform.buildRustPackage (finalAttrs: { "code-exec" ]; - nativeCheckInputs = [ - gitMinimal - ]; - - doInstallCheck = true; - nativeInstallCheckInputs = [ versionCheckHook ]; - - checkFlags = [ - # pty_error: No such file or directory (os error 2) - "--skip=exec_command::session_manager::tests::session_manager_streams_and_truncates_from_now" - "--skip=unified_exec::tests::multi_unified_exec_sessions" - "--skip=unified_exec::tests::reusing_completed_session_returns_unknown_session" - "--skip=unified_exec::tests::unified_exec_persists_across_requests_jif" - "--skip=unified_exec::tests::unified_exec_timeouts" - ]; + # Takes too much time + doCheck = false; postInstall = '' ln -s $out/bin/code $out/bin/coder ''; + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + + passthru.updateScript = nix-update-script { }; + meta = { description = "Fast, effective, mind-blowing, coding CLI"; homepage = "https://github.com/just-every/code"; @@ -80,7 +65,7 @@ rustPlatform.buildRustPackage (finalAttrs: { mit ]; maintainers = with lib.maintainers; [ prince213 ]; - mainProgram = "code"; + mainProgram = "coder"; priority = 10; }; }) diff --git a/pkgs/by-name/cu/cunicu/package.nix b/pkgs/by-name/cu/cunicu/package.nix index ea6e16c32300..75bb5851609a 100644 --- a/pkgs/by-name/cu/cunicu/package.nix +++ b/pkgs/by-name/cu/cunicu/package.nix @@ -2,7 +2,7 @@ lib, stdenv, buildGoModule, - fetchFromGitHub, + fetchFromGitea, installShellFiles, versionCheckHook, protobuf, @@ -14,7 +14,8 @@ buildGoModule rec { pname = "cunicu"; version = "0.12.0"; - src = fetchFromGitHub { + src = fetchFromGitea { + domain = "codeberg.org"; owner = "cunicu"; repo = "cunicu"; rev = "v${version}"; diff --git a/pkgs/by-name/et/ethr/package.nix b/pkgs/by-name/et/ethr/package.nix new file mode 100644 index 000000000000..d0dfd5c30f5b --- /dev/null +++ b/pkgs/by-name/et/ethr/package.nix @@ -0,0 +1,33 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, +}: + +buildGoModule { + pname = "ethr"; + version = "1.0.0-unstable-2025-12-10"; + + src = fetchFromGitHub { + owner = "microsoft"; + repo = "ethr"; + rev = "86e07049d11357f69da89317d55f11bed62e0007"; + hash = "sha256-lkhqPq2EDI3J8jiNx0Gygf8fDZvtZ2Pw3rRSt4HVBq8="; + }; + + vendorHash = "sha256-UHZNe6vlqdYaHzt2IZ5HTQxqR0sf8m9Lfo5tXvpiFlg="; + + # Strip symbol table and DWARF debug info to reduce binary size + ldflags = [ + "-s" + "-w" + ]; + + meta = { + description = "Comprehensive Network Measurement Tool for TCP, UDP & ICMP"; + homepage = "https://github.com/microsoft/ethr"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.philiptaron ]; + mainProgram = "ethr"; + }; +} diff --git a/pkgs/by-name/go/gose/package.nix b/pkgs/by-name/go/gose/package.nix index 1e5454430544..a17f88eb2008 100644 --- a/pkgs/by-name/go/gose/package.nix +++ b/pkgs/by-name/go/gose/package.nix @@ -3,13 +3,14 @@ buildNpmPackage, nix-update-script, versionCheckHook, - fetchFromGitHub, + fetchFromGitea, lib, }: let version = "0.11.4"; - src = fetchFromGitHub { + src = fetchFromGitea { + domain = "codeberg.org"; repo = "gose"; owner = "stv0g"; tag = "v${version}"; diff --git a/pkgs/by-name/hp/hp-unified-linux-driver/libsane-smfp-wrapper.c b/pkgs/by-name/hp/hp-unified-linux-driver/libsane-smfp-wrapper.c new file mode 100644 index 000000000000..fe998d309c9b --- /dev/null +++ b/pkgs/by-name/hp/hp-unified-linux-driver/libsane-smfp-wrapper.c @@ -0,0 +1,51 @@ +#include +#include +#include +#include + +static const char libsane_smfp_cfg[] = "/opt/smfp-common/scanner/share/libsane-smfp.cfg"; +static const char libsane_smfp_cfg_to[] = "@libsane_smfp_cfg_to@"; + +static const char smfp_conf[] = "/etc/sane.d/smfp.conf"; +static const char smfp_conf_to[] = "@smfp_conf_to@"; + +static const char usedby[] = "/opt/smfp-common/scanner/.usedby/"; +static const char usedby_to[] = "@usedby_to@"; + +static const char oem[] = "/opt/smfp-common/scanner/share/oem.conf"; +static const char oem_to[] = "@oem_to@"; + +static const char sane_d[] = "/etc/sane.d"; +static const char sane_d_to[] = "@sane_d_to@"; + +static const char opt[] = "/opt"; +static const char opt_to[] = "@opt_to@"; + + +const char* pick_path(const char* path) +{ + if (!strcmp(path, libsane_smfp_cfg)) { + return libsane_smfp_cfg_to; + } else if (!strcmp(path, smfp_conf)) { + return smfp_conf_to; + } else if (!strcmp(path, usedby)) { + return usedby_to; + } else if (!strcmp(path, oem)) { + return oem_to; + } if (!strcmp(path, sane_d)) { + return sane_d_to; + } if (!strcmp(path, opt)) { + return opt_to; + } + return path; +} + +FILE *fopen_wrapper(const char* file_name, const char* mode) +{ + return fopen(pick_path(file_name), mode); +} + +DIR *opendir_wrapper(const char* dirname) +{ + return opendir(pick_path(dirname)); +} diff --git a/pkgs/by-name/hp/hp-unified-linux-driver/package.nix b/pkgs/by-name/hp/hp-unified-linux-driver/package.nix new file mode 100644 index 000000000000..be09e097882b --- /dev/null +++ b/pkgs/by-name/hp/hp-unified-linux-driver/package.nix @@ -0,0 +1,151 @@ +{ + lib, + stdenv, + cups, + libusb1, + libxml2_13, # The uld library uses libxml2.so.2 which is provided only in the older version + fetchurl, + patchPpdFilesHook, + buildPackages, + replaceVars, +}: + +let + version = "1.00.39.12_00.15"; + installationPath = + { + x86_64-linux = "x86_64"; + i686-linux = "i386"; + } + .${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); + + unpacked = stdenv.mkDerivation (finalAttrs: { + inherit version; + pname = "hp-unified-linux-driver-unpacked"; + + src = fetchurl { + url = "https://ftp.hp.com/pub/softlib/software13/printers/MFP170/uld-hp_V${version}.tar.gz"; + hash = "sha256-zrube2El50BmNLucKpiwFHfR4R1mx8kEdGad6ZJ7yR0="; + }; + dontBuild = true; + + installPhase = '' + mkdir -p $out/opt/smfp-common/scanner/.usedby/ + cp -r . $out + ''; + }); + + patchedWrapper = replaceVars ./libsane-smfp-wrapper.c { + libsane_smfp_cfg_to = "${unpacked}/noarch/libsane-smfp.cfg"; + smfp_conf_to = "${unpacked}/noarch/etc/smfp.conf"; + usedby_to = "${unpacked}/opt/smfp-common/scanner/.usedby/"; + oem_to = "${unpacked}/noarch/oem.conf"; + sane_d_to = "${unpacked}/etc/sane.d"; + opt_to = "${unpacked}/opt"; + }; + + # Contains a fopen() wrapper + wrapperLibName = "libsane-smfp-wrapper.so"; + wrapperLib = stdenv.mkDerivation (finalAttrs: { + pname = "libsane-smfp-wrapper-lib"; + inherit version; + + unpackPhase = '' + cp ${patchedWrapper} libsane-smfp-wrapper.c + ''; + + buildPhase = '' + $CC -fPIC -shared libsane-smfp-wrapper.c -o ${wrapperLibName} + ''; + + installPhase = '' + install -D ${wrapperLibName} -t $out/lib + ''; + }); + + libPath = + lib.makeLibraryPath [ + cups + libusb1 + libxml2_13 + wrapperLib + ] + + ":$out/lib:${lib.getLib stdenv.cc.cc}/lib"; +in +stdenv.mkDerivation { + inherit version; + + pname = "hp-unified-linux-driver"; + src = unpacked; + + nativeBuildInputs = [ patchPpdFilesHook ]; + + dontPatchELF = true; + dontStrip = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out/opt/smfp-common/scanner/.usedby/ + mkdir -p $out/share/cups + mkdir -p $out/etc/sane.d/dll.d + mkdir -p $out/lib/udev/rules.d + + install -m755 ${installationPath}/{pstosecps,rastertospl,smfpnetdiscovery} -D -t $out/lib/cups/filter/ + install -m755 ${installationPath}/libscmssc.so -D -t $out/lib/ + install -m755 ${installationPath}/libsane-smfp.so.1.0.1 -D -t $out/lib/sane/ + install -m644 noarch/etc/smfp.conf -D -t $out/etc/sane.d/ + cp -r noarch/share/ppd $out/share/ + + echo "smfp" >> $out/etc/sane.d/dll.d/hp-uld.conf + + ln -s $out/share/ppd $out/share/cups/model + ln -sf $out/lib/sane/libsane-smfp.so.1.0.1 $out/lib/sane/libsane-smfp.so.1 + ln -sf $out/lib/sane/libsane-smfp.so.1 $out/lib/sane/libsane-smfp.so + + ( + OEM_FILE=noarch/oem.conf + INSTALL_LOG_FILE=/dev/null + . noarch/scripting_utils + . noarch/package_utils + . noarch/scanner-script.pkg + fill_full_template noarch/etc/smfp.rules.in $out/lib/udev/rules.d/60_smfp_hp.rules + chmod -x $out/lib/udev/rules.d/60_smfp_hp.rules + ) + + runHook postInstall + ''; + + postFixup = '' + patchelf --set-rpath ${libPath} --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + $out/lib/cups/filter/{pstosecps,rastertospl,smfpnetdiscovery} + + echo fopen fopen_wrapper >> name_map + echo opendir opendir_wrapper >> name_map + ${buildPackages.patchelfUnstable}/bin/patchelf \ + --rename-dynamic-symbols name_map \ + --add-needed ${wrapperLibName} \ + --set-rpath ${libPath} \ + $out/lib/sane/libsane-smfp.so.1.0.1 + + patchelf --set-rpath ${libPath} $out/lib/libscmssc.so + ''; + + ppdFileCommands = [ + "pstosecps" + "rastertospl" + "smfpnetdiscovery" + ]; + + meta = { + description = "Drivers for HP printers that are actually Samsung printers"; + homepage = "http://www.hp.com/"; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + license = lib.licenses.unfree; + platforms = [ + "x86_64-linux" + "i686-linux" + ]; + maintainers = with lib.maintainers; [ danberdev ]; + }; +} diff --git a/pkgs/by-name/ma/mattermost/package.nix b/pkgs/by-name/ma/mattermost/package.nix index 26c8bf135dba..ea2a2db86ae7 100644 --- a/pkgs/by-name/ma/mattermost/package.nix +++ b/pkgs/by-name/ma/mattermost/package.nix @@ -19,8 +19,8 @@ # # Ensure you also check ../mattermostLatest/package.nix. regex = "^v(10\\.11\\.[0-9]+)$"; - version = "10.11.8"; - srcHash = "sha256-OlP5fO85YXP09H9jClSHNGC0/Gvq4h0+VgHTBKsbUWA="; + version = "10.11.9"; + srcHash = "sha256-e7itz3VcjSwXGTA+Dn0g5CmQzpnquQ6GmWNdvwrhaQo="; vendorHash = "sha256-Lsw/cvl98JdVmzWr85lAv/JMcTmZZZ4ALLunFLNcrro="; npmDepsHash = "sha256-p9dq31qw0EZDQIl2ysKE38JgDyLA6XvSv+VtHuRh+8A="; lockfileOverlay = '' diff --git a/pkgs/by-name/mc/mcpelauncher-client/fix-cmake4-build.patch b/pkgs/by-name/mc/mcpelauncher-client/fix-cmake4-build.patch index 3ec736f980db..2434452c01b9 100644 --- a/pkgs/by-name/mc/mcpelauncher-client/fix-cmake4-build.patch +++ b/pkgs/by-name/mc/mcpelauncher-client/fix-cmake4-build.patch @@ -28,4 +28,14 @@ index 2f475e1..09b800a 100644 project(simpleipc LANGUAGES CXX) +diff --git a/axml-parser/CMakeLists.txt b/axml-parser/CMakeLists.txt +index 633c915..50c5ffb 100644 +--- a/axml-parser/CMakeLists.txt ++++ b/axml-parser/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 3.0) ++cmake_minimum_required(VERSION 3.10) + project(axml_parser) + + set(CMAKE_CXX_STANDARD 11) diff --git a/pkgs/by-name/mc/mcpelauncher-client/package.nix b/pkgs/by-name/mc/mcpelauncher-client/package.nix index 386a94f1721a..d1516cdda61c 100644 --- a/pkgs/by-name/mc/mcpelauncher-client/package.nix +++ b/pkgs/by-name/mc/mcpelauncher-client/package.nix @@ -26,7 +26,7 @@ # Bionic libc part doesn't compile with GCC clangStdenv.mkDerivation (finalAttrs: { pname = "mcpelauncher-client"; - version = "1.5.3-qt6"; + version = "1.5.5-qt6"; # NOTE: check mcpelauncher-ui-qt when updating src = fetchFromGitHub { @@ -34,7 +34,7 @@ clangStdenv.mkDerivation (finalAttrs: { repo = "mcpelauncher-manifest"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-uVtvPeGfiCpXIN1aQzF0nw8qNddIeIjFeoKXJUInqwg="; + hash = "sha256-QJL2CKcP1Sv7JR2ir0XP4nZUpBeH0NX7QeyrZWPSMoI="; }; patches = [ diff --git a/pkgs/by-name/mc/mcpelauncher-ui-qt/package.nix b/pkgs/by-name/mc/mcpelauncher-ui-qt/package.nix index 9cc1ff056f02..718eae89071b 100644 --- a/pkgs/by-name/mc/mcpelauncher-ui-qt/package.nix +++ b/pkgs/by-name/mc/mcpelauncher-ui-qt/package.nix @@ -22,7 +22,7 @@ stdenv.mkDerivation (finalAttrs: { repo = "mcpelauncher-ui-manifest"; tag = "v${finalAttrs.version}"; fetchSubmodules = true; - hash = "sha256-utL70loiS1itxbX6Pp10dzIIYssNiQOZKfkPYIsXrvU="; + hash = "sha256-F8tGG3sC6hojb318i6FQ2skLMgf2cyyLYrtW93/ZDOg="; }; patches = [ diff --git a/pkgs/by-name/me/meshtastic-web/package.nix b/pkgs/by-name/me/meshtastic-web/package.nix index ff09475e3425..899c654b630b 100644 --- a/pkgs/by-name/me/meshtastic-web/package.nix +++ b/pkgs/by-name/me/meshtastic-web/package.nix @@ -1,23 +1,63 @@ { - stdenv, lib, - fetchurl, + stdenv, + fetchFromGitHub, + pnpm_9, + fetchPnpmDeps, + pnpmConfigHook, + nodejs, }: + stdenv.mkDerivation (finalAttrs: { pname = "meshtastic-web"; version = "2.6.7"; - src = fetchurl { - url = "https://github.com/meshtastic/web/releases/download/v${finalAttrs.version}/build.tar"; - hash = "sha256-o09DYKBIZUOmmN4g3lM1V0kudjq0Wfwn/OqV0ElRRO0="; + src = fetchFromGitHub { + owner = "meshtastic"; + repo = "web"; + tag = "v${finalAttrs.version}"; + hash = "sha256-71/Wr/b42fknVCdeO99AI4ZpJk8Smkse/TFisKLzBCQ="; + fetchSubmodules = true; + leaveDotGit = true; + postFetch = '' + cd "$out" + git rev-parse --short HEAD > $out/COMMIT + find "$out" -name .git -print0 | xargs -0 rm -rf + ''; }; - sourceRoot = "."; + pnpmWorkspaces = [ "*" ]; + pnpmRoot = "packages/web"; + pnpmDeps = fetchPnpmDeps { + pnpm = pnpm_9; + inherit (finalAttrs) + pname + version + src + pnpmWorkspaces + ; + fetcherVersion = 2; + hash = "sha256-p8AdAYqaHoKaWirNy9uPLs/kRDVNDcXBJQ1y29MVAA0="; + }; + + nativeBuildInputs = [ + pnpm_9 + pnpmConfigHook + nodejs + ]; + + preConfigure = '' + substituteInPlace packages/web/vite.config.ts \ + --replace-fail "hash = \"DEV\"" "hash = \"$(cat COMMIT)\"" \ + --replace-fail "version = \"v0.0.0\"" "version = \"${finalAttrs.version}\"" + ''; buildPhase = '' runHook preBuild - gzip -dr . + pushd packages/web + pnpm install + pnpm run build runHook postBuild ''; @@ -26,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: { runHook preInstall mkdir -p $out - cp -ar . $out/ + cp -ar dist/. $out/ runHook postInstall ''; diff --git a/pkgs/by-name/mi/minder/package.nix b/pkgs/by-name/mi/minder/package.nix index 232fac6e6692..f1a0a843ef46 100644 --- a/pkgs/by-name/mi/minder/package.nix +++ b/pkgs/by-name/mi/minder/package.nix @@ -6,33 +6,30 @@ meson, ninja, pkg-config, - python3, - shared-mime-info, vala, - wrapGAppsHook3, + wrapGAppsHook4, cairo, discount, glib, - gtk3, - gtksourceview4, - hicolor-icon-theme, # for setup-hook + gtk4, + gtksourceview5, json-glib, libarchive, libgee, - libhandy, + libwebp, libxml2, pantheon, }: stdenv.mkDerivation rec { pname = "minder"; - version = "1.17.0"; + version = "2.0.2"; src = fetchFromGitHub { owner = "phase1geo"; repo = "minder"; - rev = version; - sha256 = "sha256-LZm2TLUugW/lSHp+y3Sz9IacQCEFQloVnZ9MoBjqHvI="; + tag = version; + hash = "sha256-+aAzM+OOOLwF4PJotdYSfFJu8gYp3I2E2r9fNTjJOs4="; }; nativeBuildInputs = [ @@ -40,32 +37,24 @@ stdenv.mkDerivation rec { meson ninja pkg-config - python3 - shared-mime-info vala - wrapGAppsHook3 + wrapGAppsHook4 ]; buildInputs = [ cairo discount glib - gtk3 - gtksourceview4 - hicolor-icon-theme + gtk4 + gtksourceview5 json-glib libarchive libgee - libhandy + libwebp libxml2 - pantheon.granite + pantheon.granite7 ]; - postPatch = '' - chmod +x meson/post_install.py - patchShebangs meson/post_install.py - ''; - postFixup = '' for x in $out/bin/*; do ln -vrs $x "$out/bin/''${x##*.}" diff --git a/pkgs/by-name/ne/networkd-dispatcher/package.nix b/pkgs/by-name/ne/networkd-dispatcher/package.nix index addb7879e2c4..15527a405e4f 100644 --- a/pkgs/by-name/ne/networkd-dispatcher/package.nix +++ b/pkgs/by-name/ne/networkd-dispatcher/package.nix @@ -57,10 +57,7 @@ stdenv.mkDerivation rec { ]; checkInputs = with python3Packages; [ - dbus-python - iw mock - pygobject3 pytestCheckHook ]; diff --git a/pkgs/by-name/op/openmeters/package.nix b/pkgs/by-name/op/openmeters/package.nix new file mode 100644 index 000000000000..959d7b780b25 --- /dev/null +++ b/pkgs/by-name/op/openmeters/package.nix @@ -0,0 +1,62 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + makeWrapper, + pkg-config, + pipewire, + wayland, + fontconfig, + freetype, + libglvnd, + libxkbcommon, + xorg, +}: +rustPlatform.buildRustPackage (finalAttrs: { + pname = "openmeters"; + version = "0-unstable-2025-12-15"; + + src = fetchFromGitHub { + owner = "httpsworldview"; + repo = "openmeters"; + rev = "701b22b40796e33b118719724a54be231144a5ac"; + hash = "sha256-svsC0lxAnkVuyk6LZPyFSjeOL8H0yY3dRA37+K1e/xY="; + }; + + cargoHash = "sha256-jm/8FdJiVVh/PAyJiLA/KK4IaXi4gUBMGIKz/FL3KZ8="; + + nativeBuildInputs = [ + makeWrapper + pkg-config + rustPlatform.bindgenHook + ]; + + buildInputs = [ + pipewire + ]; + + postFixup = '' + patchelf --add-rpath '${ + lib.makeLibraryPath [ + fontconfig + freetype + libglvnd + libxkbcommon + wayland + xorg.libX11 + xorg.libXcursor + xorg.libXi + xorg.libXrandr + ] + }' $out/bin/openmeters + ''; + + meta = { + description = "Fast and simple audio metering/visualization program for Linux"; + homepage = "https://github.com/httpsworldview/openmeters"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.bitbloxhub ]; + platforms = lib.platforms.linux; + mainProgram = "openmeters"; + }; +}) diff --git a/pkgs/by-name/pe/pell/package.nix b/pkgs/by-name/pe/pell/package.nix index 81f1a8685ca1..548a328d4006 100644 --- a/pkgs/by-name/pe/pell/package.nix +++ b/pkgs/by-name/pe/pell/package.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation { src = fetchFromGitHub { owner = "ebzzry"; repo = "pell"; - rev = "f251625ece6bb5517227970287119e7d2dfcea8b"; + rev = "3b8a9a59c4a8671705805edb7be7c35b1654971f"; sha256 = "0k8m1lv2kyrs8fylxmbgxg3jn65g57frf2bndc82gkr5svwb554a"; }; diff --git a/pkgs/by-name/sh/shavee/package.nix b/pkgs/by-name/sh/shavee/package.nix index 6642c5c5e6fb..6edc6cbe350c 100644 --- a/pkgs/by-name/sh/shavee/package.nix +++ b/pkgs/by-name/sh/shavee/package.nix @@ -15,11 +15,11 @@ rustPlatform.buildRustPackage rec { src = fetchFromGitHub { owner = "ashuio"; repo = "shavee"; - rev = "v${version}"; - hash = "sha256-41wJ3QBZdmCl7v/6JetXhzH2zF7tsKYMKZY1cKhByX8="; + rev = "shavee-v${version}"; + hash = "sha256-FxZXJ1cSq0rOiClDgJ1r+nv7aJSiTXyKChh/wFDKSxs="; }; - cargoHash = "sha256-IGMEl/iK25WMkkLgbT7pCfppAf3GCvyBk1NrqMDtbUA="; + cargoHash = "sha256-eupHLZmMBLMMIL3x4KVmmKv1O9QKcU4zmn4ewOmUS8E="; nativeBuildInputs = [ pkg-config @@ -31,10 +31,13 @@ rustPlatform.buildRustPackage rec { zlib ]; - # these tests require network access checkFlags = [ + # these tests require network access "--skip=filehash::tests::remote_file_hash" "--skip=filehash::tests::get_filehash_unit_test" + # I think this test is broken? + # errors with File PATH must be absolute eg. "/mnt/a/test.jpg", but provided path is relative + "--skip=args::tests::input_args_check" ]; meta = { diff --git a/pkgs/by-name/sw/swipe-guess/package.nix b/pkgs/by-name/sw/swipe-guess/package.nix index d7d46749c6f6..7c34fdfcf4ca 100644 --- a/pkgs/by-name/sw/swipe-guess/package.nix +++ b/pkgs/by-name/sw/swipe-guess/package.nix @@ -2,32 +2,32 @@ lib, stdenv, fetchFromSourcehut, + scdoc, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "swipe-guess"; - version = "0.2.1"; + version = "0.3.1"; src = fetchFromSourcehut { owner = "~earboxer"; repo = "swipeGuess"; - rev = "v${version}"; - hash = "sha256-8bPsnqjLeeZ7btTre9j1T93VWY9+FdBdJdxyvBVt34s="; + tag = "v${finalAttrs.version}"; + hash = "sha256-zpV7A42wzoRZBpDBQUKGFCnLNJELqQE69fJTx8TN4uE="; }; - dontConfigure = true; - - buildPhase = '' - runHook preBuild - - ${lib.getExe stdenv.cc} swipeGuess.c -o swipeGuess - - runHook postBuild + postPatch = '' + substituteInPlace Makefile \ + --replace-fail "docs words-qwerty-en" "docs" \ + --replace-fail 'install -m644 words-qwerty-en -D -t "$(DESTDIR)/$(PREFIX)/share/swipeGuess/words/"' "" ''; - postInstall = '' - install -Dm555 swipeGuess -t $out/bin - ''; + nativeBuildInputs = [ scdoc ]; + + makeFlags = [ + "PREFIX=" + "DESTDIR=${placeholder "out"}" + ]; meta = { description = "Completion plugin for touchscreen-keyboards on mobile devices"; @@ -37,4 +37,4 @@ stdenv.mkDerivation rec { maintainers = [ ]; platforms = lib.platforms.all; }; -} +}) diff --git a/pkgs/by-name/tm/tmux-cssh/package.nix b/pkgs/by-name/tm/tmux-cssh/package.nix index edaa62c8201e..bf874600c678 100644 --- a/pkgs/by-name/tm/tmux-cssh/package.nix +++ b/pkgs/by-name/tm/tmux-cssh/package.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { version = "unstable-2015-10-15"; src = fetchFromGitHub { - owner = "dennishafemann"; + owner = "zinic"; repo = "tmux-cssh"; rev = "21750733c5b6fa2fe23b9e50ce69d8564f2f742a"; hash = "sha256-Rz4n87aYZLkF0TQNl5F80gJwXHYWEes67EwkUh9ptSw="; diff --git a/pkgs/by-name/zs/zsnow/package.nix b/pkgs/by-name/zs/zsnow/package.nix new file mode 100644 index 000000000000..50af3ea0d486 --- /dev/null +++ b/pkgs/by-name/zs/zsnow/package.nix @@ -0,0 +1,72 @@ +{ + lib, + zig, + stdenv, + fetchFromGitHub, + pkg-config, + wayland, + wayland-scanner, + wayland-protocols, + wlr-protocols, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "zsnow"; + version = "0-unstable-2025-12-01"; + + src = fetchFromGitHub { + owner = "DarkVanityOfLight"; + repo = "ZSnoW"; + rev = "db8491639e45dbb925652512cb5941f1ea1a1ec2"; + hash = "sha256-h9o/6X2WPfeJrLIx3WnVo0l4i80zHnmO2KkYuVJY2Sk="; + }; + zigWayland = fetchFromGitHub { + owner = "ifreund"; + repo = "zig-wayland"; + tag = "v0.4.0"; + hash = "sha256-ulIII5iJpM/W/VJB0HcdktEO2eb9T9J0ln2A1Z94dU4="; + }; + + nativeBuildInputs = [ + zig.hook + pkg-config + wayland-scanner + ]; + buildInputs = [ + wayland + wayland-protocols + wlr-protocols + ]; + + postPatch = '' + ln -s ${finalAttrs.zigWayland} ./zig-wayland + + substituteInPlace build.zig \ + --replace-fail \ + 'scanner.addCustomProtocol(.{ .cwd_relative = "/usr/share/wlr-protocols/unstable/wlr-layer-shell-unstable-v1.xml" });' \ + 'scanner.addCustomProtocol(.{ .cwd_relative = "${wlr-protocols}/share/wlr-protocols/unstable/wlr-layer-shell-unstable-v1.xml" });' + + substituteInPlace build.zig.zon \ + --replace-fail \ + '.url = "https://github.com/ifreund/zig-wayland/archive/refs/tags/v0.4.0.zip",' \ + '.path = "./zig-wayland",' \ + --replace-fail \ + '.hash = "wayland-0.4.0-lQa1khbMAQAsLS2eBR7M5lofyEGPIbu2iFDmoz8lPC27",' \ + "" + ''; + + # no tests + dontUseZigCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "XSnow for Wayland"; + homepage = "https://github.com/DarkVanityOfLight/ZSnoW"; + license = lib.licenses.cc-by-nc-sa-40; + maintainers = [ lib.maintainers.adamperkowski ]; + platforms = lib.platforms.linux; + mainProgram = "zsnow"; + }; +}) diff --git a/pkgs/desktops/mate/mate-menus/default.nix b/pkgs/desktops/mate/mate-menus/default.nix index 9a8a2c1ddcf5..4ae59c13f4d0 100644 --- a/pkgs/desktops/mate/mate-menus/default.nix +++ b/pkgs/desktops/mate/mate-menus/default.nix @@ -1,28 +1,35 @@ { lib, stdenv, - fetchurl, + fetchFromGitHub, + autoconf-archive, + autoreconfHook, pkg-config, gettext, glib, gobject-introspection, + mate-common, python3, mateUpdateScript, }: stdenv.mkDerivation rec { pname = "mate-menus"; - version = "1.28.0"; + version = "1.28.1"; - src = fetchurl { - url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "z0DHXH1vCq0dSWmCj8YgJcYiK8aoTwu51urX5FlwUI0="; + src = fetchFromGitHub { + owner = "mate-desktop"; + repo = "mate-menus"; + tag = "v${version}"; + hash = "sha256-GAc9DPsXdswmyNKlbY6cyHBWO2OSKCBygtzttNHN/p4="; }; - nativeBuildInputs = [ + autoconf-archive + autoreconfHook pkg-config gettext gobject-introspection + mate-common # mate-common.m4 macros ]; buildInputs = [ diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix index 4415907483df..3e1a38195ac4 100644 --- a/pkgs/development/libraries/webkitgtk/default.nix +++ b/pkgs/development/libraries/webkitgtk/default.nix @@ -86,7 +86,7 @@ in # https://webkitgtk.org/2024/10/04/webkitgtk-2.46.html recommends building with clang. clangStdenv.mkDerivation (finalAttrs: { pname = "webkitgtk"; - version = "2.50.3"; + version = "2.50.4"; name = "webkitgtk-${finalAttrs.version}+abi=${abiVersion}"; outputs = [ @@ -101,7 +101,7 @@ clangStdenv.mkDerivation (finalAttrs: { src = fetchurl { url = "https://webkitgtk.org/releases/webkitgtk-${finalAttrs.version}.tar.xz"; - hash = "sha256-cKAGtGlbtrLhV+gB9aDQKfQRDwUMbwiC3s2KO/WU1U8="; + hash = "sha256-07+kc4Raz6tyY1utpeDRNP2meSxblcXFzRQbRhJb2OQ="; }; patches = lib.optionals clangStdenv.hostPlatform.isLinux [ diff --git a/pkgs/development/python-modules/hatch-build-scripts/default.nix b/pkgs/development/python-modules/hatch-build-scripts/default.nix new file mode 100644 index 000000000000..79b3b5650d8d --- /dev/null +++ b/pkgs/development/python-modules/hatch-build-scripts/default.nix @@ -0,0 +1,36 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + hatchling, + hatch-vcs, +}: + +let + version = "1.0.0"; +in +buildPythonPackage { + pname = "hatch-build-scripts"; + inherit version; + pyproject = true; + + src = fetchFromGitHub { + owner = "rmorshea"; + repo = "hatch-build-scripts"; + tag = "v${version}"; + hash = "sha256-umqtfUGmmZ/j/E8JY+s6REmDeTYwbcE1jZ7w4nczazs="; + }; + + build-system = [ hatchling ]; + + dependencies = [ hatch-vcs ]; + + pythonImportsCheck = [ "hatch_build_scripts" ]; + + meta = { + description = "Plugin for Hatch that runs build scripts and saves their artifacts"; + homepage = "https://github.com/rmorshea/hatch-build-scripts"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ kyehn ]; + }; +} diff --git a/pkgs/development/python-modules/mitmproxy/default.nix b/pkgs/development/python-modules/mitmproxy/default.nix index ac8c44685f6c..018ac6209de4 100644 --- a/pkgs/development/python-modules/mitmproxy/default.nix +++ b/pkgs/development/python-modules/mitmproxy/default.nix @@ -155,5 +155,6 @@ buildPythonPackage rec { changelog = "https://github.com/mitmproxy/mitmproxy/blob/${src.tag}/CHANGELOG.md"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ SuperSandro2000 ]; + mainProgram = "mitmproxy"; }; } diff --git a/pkgs/development/python-modules/sasdata/default.nix b/pkgs/development/python-modules/sasdata/default.nix new file mode 100644 index 000000000000..1a358248db4e --- /dev/null +++ b/pkgs/development/python-modules/sasdata/default.nix @@ -0,0 +1,57 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + hatchling, + hatch-requirements-txt, + hatch-sphinx, + hatch-vcs, + h5py, + lxml, + numpy, + columnize, + pytestCheckHook, +}: + +let + pname = "sasdata"; + version = "0.11.0"; +in +buildPythonPackage { + inherit pname version; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-HIqEFN0Y+A4C6oF8NcI1puBt4SmyoNoAFobHQcYepnI="; + }; + + build-system = [ + hatchling + hatch-requirements-txt + hatch-sphinx + hatch-vcs + h5py + lxml + numpy + ]; + + dependencies = [ columnize ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + # need network + disabledTestPaths = [ + "test/sasdataloader/utest_extension_registry.py::ExtensionRegistryTests::test_compare_remote_file_to_local" + "test/sasdataloader/utest_sesans.py::sesans_reader::test_full_load" + ]; + + pythonImportsCheck = [ "sasdata" ]; + + meta = { + description = "Package for loading and handling SAS data"; + homepage = "https://github.com/SasView/sasdata"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ kyehn ]; + }; +} diff --git a/pkgs/development/python-modules/tccbox/default.nix b/pkgs/development/python-modules/tccbox/default.nix new file mode 100644 index 000000000000..30d8bff69bd8 --- /dev/null +++ b/pkgs/development/python-modules/tccbox/default.nix @@ -0,0 +1,43 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + tinycc, + setuptools, + pytestCheckHook, +}: + +buildPythonPackage { + pname = "tccbox"; + version = "0-unstable-2025-08-26"; + pyproject = true; + + src = fetchFromGitHub { + owner = "metab0t"; + repo = "tccbox"; + rev = "c46dd0587b70fae9b0be2bf76a2ba13e3f293d3a"; + hash = "sha256-cCaDbFDiQmmKY+MhALT5FY7e5929qzyvVJhhnmo6BIY="; + }; + + postPatch = '' + mkdir tinycc + cp --recursive ${tinycc.out} tinycc/tcc_dist + sed -i '/^[[:space:]]*build_tinycc()[[:space:]]*$/d' setup.py + ''; + + build-system = [ setuptools ]; + + postCheck = '' + tinycc/tcc_dist/bin/tcc test/fib.c -o test/fib + test/fib + ''; + + pythonImportsCheck = [ "tccbox" ]; + + meta = { + description = "PyPI package of tiny c compiler"; + homepage = "https://github.com/metab0t/tccbox"; + license = lib.licenses.lgpl2Only; + maintainers = with lib.maintainers; [ kyehn ]; + }; +} diff --git a/pkgs/os-specific/bsd/freebsd/pkgs/libbsddialog.nix b/pkgs/os-specific/bsd/freebsd/pkgs/libbsddialog.nix new file mode 100644 index 000000000000..fede91206f34 --- /dev/null +++ b/pkgs/os-specific/bsd/freebsd/pkgs/libbsddialog.nix @@ -0,0 +1,26 @@ +{ + mkDerivation, + libncurses, + libncurses-form, + libncurses-tinfo, +}: +mkDerivation { + path = "lib/libbsddialog"; + extraPaths = [ + "contrib/bsddialog" + ]; + outputs = [ + "out" + "man" + "debug" + ]; + buildInputs = [ + libncurses + libncurses-form + libncurses-tinfo + ]; + postFixup = '' + mv $out/include/private/bsddialog/* $out/include + rm -rf $out/include/private + ''; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 19131e8c0e99..191c3822ba19 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -913,7 +913,7 @@ with pkgs; }; wrapGAppsNoGuiHook = callPackage ../build-support/setup-hooks/wrap-gapps-hook { - makeWrapper = makeBinaryWrapper; + makeWrapper = buildPackages.makeBinaryWrapper; }; separateDebugInfo = makeSetupHook { @@ -3733,7 +3733,7 @@ with pkgs; safety-cli = with python3.pkgs; toPythonApplication safety; - sasview = libsForQt5.callPackage ../applications/science/misc/sasview { }; + sasview = callPackage ../applications/science/misc/sasview { }; saunafs = callPackage ../by-name/sa/saunafs/package.nix { fmt = fmt_11; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f38adc235849..bc3a8fd41c2e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6729,6 +6729,8 @@ self: super: with self; { hatch-babel = callPackage ../development/python-modules/hatch-babel { }; + hatch-build-scripts = callPackage ../development/python-modules/hatch-build-scripts { }; + hatch-deps-selector = callPackage ../development/python-modules/hatch-deps-selector { }; hatch-docstring-description = @@ -16789,6 +16791,8 @@ self: super: with self; { sarif-tools = callPackage ../development/python-modules/sarif-tools { }; + sasdata = callPackage ../development/python-modules/sasdata { }; + sasmodels = callPackage ../development/python-modules/sasmodels { }; sat-tmp = callPackage ../development/python-modules/sat-tmp { }; @@ -18501,6 +18505,8 @@ self: super: with self; { tbm-utils = callPackage ../development/python-modules/tbm-utils { }; + tccbox = callPackage ../development/python-modules/tccbox { }; + tcolorpy = callPackage ../development/python-modules/tcolorpy { }; tcxfile = callPackage ../development/python-modules/tcxfile { };