diff --git a/nixos/doc/manual/release-notes/rl-2311.section.md b/nixos/doc/manual/release-notes/rl-2311.section.md index a8e9216bcbe8..ac1d3cfb55e7 100644 --- a/nixos/doc/manual/release-notes/rl-2311.section.md +++ b/nixos/doc/manual/release-notes/rl-2311.section.md @@ -333,6 +333,8 @@ The module update takes care of the new config syntax and the data itself (user - `programs.gnupg.agent.pinentryFlavor` is now set in `/etc/gnupg/gpg-agent.conf`, and will no longer take precedence over a `pinentry-program` set in `~/.gnupg/gpg-agent.conf`. +- `programs.gnupg` now has the option `agent.settings` to set verbatim config values in `/etc/gnupg/gpg-agent.conf`. + - `dockerTools.buildImage`, `dockerTools.buildLayeredImage` and `dockerTools.streamLayeredImage` now use `lib.makeOverridable` to allow `dockerTools`-based images to be customized more efficiently at the nix-level. - `services.influxdb2` now supports doing an automatic initial setup and provisioning of users, organizations, buckets and authentication tokens, see [#249502](https://github.com/NixOS/nixpkgs/pull/249502) for more details. diff --git a/nixos/modules/programs/gnupg.nix b/nixos/modules/programs/gnupg.nix index 12ef8671b740..aa1a536247ce 100644 --- a/nixos/modules/programs/gnupg.nix +++ b/nixos/modules/programs/gnupg.nix @@ -6,6 +6,10 @@ let cfg = config.programs.gnupg; + agentSettingsFormat = pkgs.formats.keyValue { + mkKeyValue = lib.generators.mkKeyValueDefault { } " "; + }; + xserverCfg = config.services.xserver; defaultPinentryFlavor = @@ -82,6 +86,18 @@ in ''; }; + agent.settings = mkOption { + type = agentSettingsFormat.type; + default = { }; + example = { + default-cache-ttl = 600; + }; + description = lib.mdDoc '' + Configuration for /etc/gnupg/gpg-agent.conf. + See {manpage}`gpg-agent(1)` for supported options. + ''; + }; + dirmngr.enable = mkOption { type = types.bool; default = false; @@ -92,10 +108,13 @@ in }; config = mkIf cfg.agent.enable { - environment.etc."gnupg/gpg-agent.conf".text = - lib.optionalString (cfg.agent.pinentryFlavor != null) '' - pinentry-program ${pkgs.pinentry.${cfg.agent.pinentryFlavor}}/bin/pinentry - ''; + programs.gnupg.agent.settings = { + pinentry-program = lib.mkIf (cfg.agent.pinentryFlavor != null) + "${pkgs.pinentry.${cfg.agent.pinentryFlavor}}/bin/pinentry"; + }; + + environment.etc."gnupg/gpg-agent.conf".source = + agentSettingsFormat.generate "gpg-agent.conf" cfg.agent.settings; # This overrides the systemd user unit shipped with the gnupg package systemd.user.services.gpg-agent = { diff --git a/pkgs/applications/editors/glow/default.nix b/pkgs/applications/editors/glow/default.nix index fde2bebe5e4e..79e871561c07 100644 --- a/pkgs/applications/editors/glow/default.nix +++ b/pkgs/applications/editors/glow/default.nix @@ -3,19 +3,28 @@ , fetchFromGitHub , installShellFiles , stdenv +, fetchpatch }: + buildGoModule rec { pname = "glow"; - version = "1.5.0"; + version = "1.5.1"; src = fetchFromGitHub { owner = "charmbracelet"; repo = "glow"; rev = "v${version}"; - sha256 = "sha256-CI0S9XJtJQClpQvI6iSb5rcHafEUwr2V6+Fq560lRfM="; + hash = "sha256-12UziCf3BO1z+W02slNCCvXhIkvZuVgXk++BdHG3gDI="; }; - vendorHash = "sha256-2QrHBbhJ04r/vPK2m8J2KZSFrREDCc18tlKd7evghBc="; + vendorHash = "sha256-xxFC87t12bZKea9Snscul+xx8IGFAcoIr9Z8wxHL7nM="; + + # Remove whenever a release with it is available + patches = [(fetchpatch { + url = "https://github.com/charmbracelet/glow/commit/f0734709f0be19a34e648caaf63340938a50caa2.patch"; + name = "go-1-17-patch"; + hash = "sha256-vpMiVb/7SFT9xcSpVGQriEjkexh1F/ljpfpIswdBx2Y="; + })]; doCheck = false; diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix index 42467e177ab2..99fc36783566 100644 --- a/pkgs/applications/misc/gpxsee/default.nix +++ b/pkgs/applications/misc/gpxsee/default.nix @@ -18,13 +18,13 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "gpxsee"; - version = "13.7"; + version = "13.9"; src = fetchFromGitHub { owner = "tumic0"; repo = "GPXSee"; rev = finalAttrs.version; - hash = "sha256-Y3JcWkg0K724i/5Leyi8r26uKpq/aDwghJBG8xfxpd4="; + hash = "sha256-vzbZN+0lDSmvZnQCuvNJCYHTYKqErFhW4RI5Mfbgr6o="; }; buildInputs = [ diff --git a/pkgs/applications/misc/xchm/default.nix b/pkgs/applications/misc/xchm/default.nix index 32b53a663d07..e5b3100dac37 100644 --- a/pkgs/applications/misc/xchm/default.nix +++ b/pkgs/applications/misc/xchm/default.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation rec { pname = "xchm"; - version = "1.35"; + version = "1.36"; src = fetchFromGitHub { owner = "rzvncj"; repo = "xCHM"; rev = version; - sha256 = "sha256-ZJvlllhF7KPz+v6KEVPyJjiz+4LHM2Br/oqI54a2Ews="; + sha256 = "sha256-+RbFE/jOD8sofHMCFgTIfgokrXYqDbCSSnN6SdEZ/b0="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/science/chemistry/cp2k/default.nix b/pkgs/applications/science/chemistry/cp2k/default.nix index e34810a3982b..052d791c0bb7 100644 --- a/pkgs/applications/science/chemistry/cp2k/default.nix +++ b/pkgs/applications/science/chemistry/cp2k/default.nix @@ -1,15 +1,57 @@ -{ lib, stdenv, fetchFromGitHub, mpiCheckPhaseHook, python3, gfortran, blas, lapack -, fftw, libint, libvori, libxc, mpi, gsl, scalapack, openssh, makeWrapper -, libxsmm, spglib, which, pkg-config, plumed, zlib +{ lib +, stdenv +, fetchFromGitHub +, mpiCheckPhaseHook +, python3 +, gfortran +, blas +, lapack +, fftw +, libint +, libvori +, libxc +, mpi +, gsl +, scalapack +, openssh +, makeWrapper +, libxsmm +, spglib +, which +, pkg-config +, plumed +, zlib +, hdf5-fortran +, sirius +, libvdwxc +, spla +, spfft , enableElpa ? false , elpa -} : +, gpuBackend ? "none" +, cudaPackages +# gpuVersion needs to be set for both CUDA as well as ROCM hardware. +# gpuArch is only required for the ROCM stack. +# Change to a value suitable for your target GPU. +# For AMD values see https://github.com/cp2k/cp2k/blob/master/INSTALL.md#2v-rocmhip-support-for-amd-gpu +# and for Nvidia see https://github.com/cp2k/cp2k/blob/master/INSTALL.md#2i-cuda-optional-improved-performance-on-gpu-systems +, gpuVersion ? "Mi100" +, gpuArch ? "gfx908" +, rocm-core +, hip +, hipblas +, hipfft +, rocblas +}: + +assert builtins.elem gpuBackend [ "none" "cuda" "rocm" ]; let cp2kVersion = "psmp"; arch = "Linux-x86-64-gfortran"; -in stdenv.mkDerivation rec { +in +stdenv.mkDerivation rec { pname = "cp2k"; version = "2023.2"; @@ -36,7 +78,16 @@ in stdenv.mkDerivation rec { lapack plumed zlib - ] ++ lib.optional enableElpa elpa; + hdf5-fortran + sirius + spla + spfft + libvdwxc + ] + ++ lib.optional enableElpa elpa + ++ lib.optional (gpuBackend == "cuda") cudaPackages.cudatoolkit + ++ lib.optional (gpuBackend == "rocm") [hip rocm-core hipblas hipfft rocblas] + ; propagatedBuildInputs = [ mpi ]; propagatedUserEnvPkgs = [ mpi ]; @@ -46,7 +97,7 @@ in stdenv.mkDerivation rec { "VERSION=${cp2kVersion}" ]; - doCheck = true; + doCheck = gpuBackend == "none"; enableParallelBuilding = true; @@ -64,25 +115,46 @@ in stdenv.mkDerivation rec { FC = mpif90 LD = mpif90 AR = ar -r + ${lib.strings.optionalString (gpuBackend == "cuda") '' + OFFLOAD_CC = nvcc + OFFLOAD_FLAGS = -O3 -g -w --std=c++11 + OFFLOAD_TARGET = cuda + GPUVER = ${gpuVersion} + CXX = mpicxx + CXXFLAGS = -std=c++11 -fopenmp + ''} + ${lib.strings.optionalString (gpuBackend == "rocm") '' + GPUVER = ${gpuVersion} + OFFLOAD_CC = hipcc + OFFLOAD_FLAGS = -fopenmp -m64 -pthread -fPIC -D__GRID_HIP -O2 --offload-arch=${gpuArch} --rocm-path=${rocm-core} + OFFLOAD_TARGET = hip + CXX = mpicxx + CXXFLAGS = -std=c++11 -fopenmp -D__HIP_PLATFORM_AMD__ + ''} DFLAGS = -D__FFTW3 -D__LIBXC -D__LIBINT -D__parallel -D__SCALAPACK \ -D__MPI_VERSION=3 -D__F2008 -D__LIBXSMM -D__SPGLIB \ -D__MAX_CONTR=4 -D__LIBVORI ${lib.optionalString enableElpa "-D__ELPA"} \ - -D__PLUMED2 - CFLAGS = -fopenmp + -D__PLUMED2 -D__HDF5 -D__GSL -D__SIRIUS -D__LIBVDWXC -D__SPFFT -D__SPLA \ + ${lib.strings.optionalString (gpuBackend == "cuda") "-D__OFFLOAD_CUDA -D__DBCSR_ACC"} \ + ${lib.strings.optionalString (gpuBackend == "rocm") "-D__OFFLOAD_HIP -D__DBCSR_ACC -D__NO_OFFLOAD_PW"} + CFLAGS = -fopenmp -I${lib.getDev hdf5-fortran}/include -I${lib.getDev gsl}/include FCFLAGS = \$(DFLAGS) -O2 -ffree-form -ffree-line-length-none \ -ftree-vectorize -funroll-loops -msse2 \ -std=f2008 \ -fopenmp -ftree-vectorize -funroll-loops \ - -I${lib.getDev libxc}/include -I${lib.getDev libxsmm}/include \ - -I${libint}/include ${lib.optionalString enableElpa "$(pkg-config --variable=fcflags elpa)"} + -I${lib.getDev libint}/include ${lib.optionalString enableElpa "$(pkg-config --variable=fcflags elpa)"} \ + -I${lib.getDev sirius}/include/sirius \ + -I${lib.getDev libxc}/include -I${lib.getDev libxsmm}/include LIBS = -lfftw3 -lfftw3_threads \ -lscalapack -lblas -llapack \ -lxcf03 -lxc -lxsmmf -lxsmm -lsymspg \ -lint2 -lstdc++ -lvori \ -lgomp -lpthread -lm \ -fopenmp ${lib.optionalString enableElpa "$(pkg-config --libs elpa)"} \ - -lz -ldl -lstdc++ ${lib.optionalString (mpi.pname == "openmpi") "$(mpicxx --showme:link)"} \ - -lplumed + -lz -ldl ${lib.optionalString (mpi.pname == "openmpi") "$(mpicxx --showme:link)"} \ + -lplumed -lhdf5_fortran -lhdf5_hl -lhdf5 -lgsl -lsirius -lspla -lspfft -lvdwxc \ + ${lib.strings.optionalString (gpuBackend == "cuda") "-lcudart -lnvrtc -lcuda -lcublas"} \ + ${lib.strings.optionalString (gpuBackend == "rocm") "-lamdhip64 -lhipfft -lhipblas -lrocblas"} LDFLAGS = \$(FCFLAGS) \$(LIBS) include ${plumed}/lib/plumed/src/lib/Plumed.inc EOF diff --git a/pkgs/by-name/co/costa/package.nix b/pkgs/by-name/co/costa/package.nix new file mode 100644 index 000000000000..3dacce655055 --- /dev/null +++ b/pkgs/by-name/co/costa/package.nix @@ -0,0 +1,40 @@ +{ stdenv +, lib +, fetchFromGitHub +, cmake +, mpi +, scalapack +, llvmPackages +}: + +stdenv.mkDerivation rec { + pname = "COSTA"; + version = "2.2.2"; + + src = fetchFromGitHub { + owner = "eth-cscs"; + repo = pname; + rev = "v${version}"; + hash = "sha256-jiAyZXC7wiuEnOLsQFFLxhN3AsGXN09q/gHC2Hrb2gg="; + }; + + nativeBuildInputs = [ cmake ]; + + buildInputs = [ scalapack ] ++ lib.optional stdenv.isDarwin llvmPackages.openmp; + + propagatedBuildInputs = [ mpi ]; + + cmakeFlags = [ + "-DCOSTA_SCALAPACK=CUSTOM" + "-DSCALAPACK_ROOT=${scalapack}" + ]; + + + meta = with lib; { + description = "Distributed Communication-Optimal Shuffle and Transpose Algorithm"; + homepage = "https://github.com/eth-cscs/COSTA"; + license = licenses.bsd3; + platforms = platforms.linux; + maintainers = [ maintainers.sheepforce ]; + }; +} diff --git a/pkgs/by-name/si/sirius/package.nix b/pkgs/by-name/si/sirius/package.nix new file mode 100644 index 000000000000..05d049a7d45b --- /dev/null +++ b/pkgs/by-name/si/sirius/package.nix @@ -0,0 +1,117 @@ +{ stdenv +, lib +, fetchFromGitHub +, cmake +, pkg-config +, mpi +, mpiCheckPhaseHook +, openssh +, gfortran +, blas +, lapack +, gsl +, libxc +, hdf5 +, spglib +, spfft +, spla +, costa +, scalapack +, boost +, eigen +, libvdwxc +, llvmPackages +, gpuBackend ? "none" +, cudaPackages +, hip +, rocblas +}: + +assert builtins.elem gpuBackend [ "none" "cuda" "rocm" ]; + +stdenv.mkDerivation rec { + pname = "SIRIUS"; + version = "7.4.3"; + + src = fetchFromGitHub { + owner = "electronic-structure"; + repo = pname; + rev = "v${version}"; + hash = "sha256-s4rO+dePvtvn41wxCvbqgQGrEckWmfng7sPX2M8OPB0="; + }; + + postPatch = '' + substituteInPlace src/gpu/acc_blas_api.hpp \ + --replace '#include ' '#include ' + ''; + + nativeBuildInputs = [ + cmake + gfortran + pkg-config + ]; + + buildInputs = [ + blas + lapack + gsl + libxc + hdf5 + spglib + spfft + spla + costa + scalapack + boost + eigen + libvdwxc + ] + ++ lib.optional (gpuBackend == "cuda") cudaPackages.cudatoolkit + ++ lib.optionals (gpuBackend == "rocm") [ hip rocblas ] + ++ lib.optional stdenv.isDarwin llvmPackages.openmp + ; + + propagatedBuildInputs = [ mpi ]; + + cmakeFlags = [ + "-DUSE_SCALAPACK=ON" + "-DBUILD_TESTING=ON" + "-DUSE_VDWXC=ON" + "-DCREATE_FORTRAN_BINDINGS=ON" + "-DUSE_OPENMP=ON" + "-DBUILD_TESTING=ON" + ] + ++ lib.optionals (gpuBackend == "cuda") [ + "-DUSE_CUDA=ON" + "-DCUDA_TOOLKIT_ROOT_DIR=${cudaPackages.cudatoolkit}" + ] + ++ lib.optionals (gpuBackend == "rocm") [ + "-DUSE_ROCM=ON" + "-DHIP_ROOT_DIR=${hip}" + ]; + + doCheck = true; + + # Can not run parallel checks generally as it requires exactly multiples of 4 MPI ranks + checkPhase = '' + runHook preCheck + + ctest --output-on-failure --label-exclude integration_test + ctest --output-on-failure -L cpu_serial + + runHook postCheck + ''; + + nativeCheckInputs = [ + mpiCheckPhaseHook + openssh + ]; + + meta = with lib; { + description = "Domain specific library for electronic structure calculations"; + homepage = "https://github.com/electronic-structure/SIRIUS"; + license = licenses.bsd2; + platforms = platforms.linux; + maintainers = [ maintainers.sheepforce ]; + }; +} diff --git a/pkgs/by-name/sp/spfft/package.nix b/pkgs/by-name/sp/spfft/package.nix new file mode 100644 index 000000000000..dcc43ccd2446 --- /dev/null +++ b/pkgs/by-name/sp/spfft/package.nix @@ -0,0 +1,67 @@ +{ stdenv +, lib +, fetchFromGitHub +, fftw +, cmake +, mpi +, gfortran +, llvmPackages +, gpuBackend ? "none" +, cudaPackages +, hip +, rocfft +, hipfft +}: + +assert builtins.elem gpuBackend [ "none" "cuda" "rocm" ]; + +stdenv.mkDerivation rec { + pname = "SpFFT"; + version = "1.0.6"; + + src = fetchFromGitHub { + owner = "eth-cscs"; + repo = pname; + rev = "v${version}"; + hash = "sha256-70fPbIYbW50CoMdRS93hZKSbMEIQvZGFNE+eiRvuw0o="; + }; + + nativeBuildInputs = [ + cmake + gfortran + ]; + + buildInputs = [ + fftw + ] + ++ lib.optional (gpuBackend == "cuda") cudaPackages.cudatoolkit + ++ lib.optionals (gpuBackend == "rocm") [ hip rocfft hipfft ] + ++ lib.optional stdenv.isDarwin llvmPackages.openmp + ; + + propagatedBuildInputs = [ mpi ]; + + cmakeFlags = [ + "-DSPFFT_OMP=ON" + "-DSPFFT_MPI=ON" + "-DSPFFT_SINGLE_PRECISION=OFF" + "-DSPFFT_FORTRAN=ON" + # Required due to broken CMake files + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optional (gpuBackend == "cuda") "-DSPFFT_GPU_BACKEND=CUDA" + ++ lib.optionals (gpuBackend == "rocm") [ + "-DSPFFT_GPU_BACKEND=ROCM" + "-DHIP_ROOT_DIR=${hip}" + ]; + + + meta = with lib; { + description = "Sparse 3D FFT library with MPI, OpenMP, CUDA and ROCm support"; + homepage = "https://github.com/eth-cscs/SpFFT"; + license = licenses.bsd3; + maintainers = [ maintainers.sheepforce ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/by-name/sp/spla/package.nix b/pkgs/by-name/sp/spla/package.nix new file mode 100644 index 000000000000..3143fbeb7316 --- /dev/null +++ b/pkgs/by-name/sp/spla/package.nix @@ -0,0 +1,66 @@ +{ stdenv +, lib +, fetchFromGitHub +, cmake +, mpi +, blas +, gfortran +, llvmPackages +, gpuBackend ? "none" +, cudaPackages +, hip +, rocblas +}: + +assert builtins.elem gpuBackend [ "none" "cuda" "rocm" ]; + +stdenv.mkDerivation rec { + pname = "spla"; + version = "1.5.5"; + + src = fetchFromGitHub { + owner = "eth-cscs"; + repo = pname; + rev = "v${version}"; + hash = "sha256-71QpwTsRogH+6Bik9DKwezl9SqwoLxQt4SZ7zw5X6DE="; + }; + + postPatch = '' + substituteInPlace src/gpu_util/gpu_blas_api.hpp \ + --replace '#include ' '#include ' + ''; + + nativeBuildInputs = [ + cmake + gfortran + ]; + + buildInputs = [ + blas + ] + ++ lib.optional (gpuBackend == "cuda") cudaPackages.cudatoolkit + ++ lib.optionals (gpuBackend == "rocm") [ hip rocblas rocblas ] + ++ lib.optional stdenv.isDarwin llvmPackages.openmp + ; + + propagatedBuildInputs = [ mpi ]; + + cmakeFlags = [ + "-DSPLA_OMP=ON" + "-DSPLA_FORTRAN=ON" + "-DSPLA_INSTALL=ON" + # Required due to broken CMake files + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] + ++ lib.optional (gpuBackend == "cuda") "-DSPLA_GPU_BACKEND=CUDA" + ++ lib.optional (gpuBackend == "rocm") [ "-DSPLA_GPU_BACKEND=ROCM" ] + ; + + meta = with lib; { + description = "Specialized Parallel Linear Algebra, providing distributed GEMM functionality for specific matrix distributions with optional GPU acceleration"; + homepage = "https://github.com/eth-cscs/spla"; + license = licenses.bsd3; + maintainers = [ maintainers.sheepforce ];# + }; +} diff --git a/pkgs/development/libraries/kde-frameworks/kio/default.nix b/pkgs/development/libraries/kde-frameworks/kio/default.nix index e0913a16a1f9..03e233c28799 100644 --- a/pkgs/development/libraries/kde-frameworks/kio/default.nix +++ b/pkgs/development/libraries/kde-frameworks/kio/default.nix @@ -26,6 +26,7 @@ mkDerivation { kded ]; outputs = [ "out" "dev" ]; + separateDebugInfo = true; patches = [ ./0001-Remove-impure-smbd-search-path.patch @@ -35,4 +36,7 @@ mkDerivation { hash = "sha256-4NxI2mD/TdthvrzgatCAlM6VN3N38i3IJUHh0Bs8Fjk="; }) ]; + meta = { + homepage = "https://api.kde.org/frameworks/kio/html/"; + }; } diff --git a/pkgs/development/libraries/science/chemistry/tblite/python.nix b/pkgs/development/libraries/science/chemistry/tblite/python.nix index f19c3377b178..8bf30f970056 100644 --- a/pkgs/development/libraries/science/chemistry/tblite/python.nix +++ b/pkgs/development/libraries/science/chemistry/tblite/python.nix @@ -47,12 +47,5 @@ buildPythonPackage { format = "other"; pythonImportsCheck = [ "tblite" "tblite.interface" ]; - configurePhase = '' - runHook preConfigure - - meson setup build -Dpython=true --prefix=$out - cd build - - runHook postConfigure - ''; + mesonFlags = [ "-Dpython=true" ]; } diff --git a/pkgs/development/python-modules/mando/default.nix b/pkgs/development/python-modules/mando/default.nix new file mode 100644 index 000000000000..dc48dd18ebe1 --- /dev/null +++ b/pkgs/development/python-modules/mando/default.nix @@ -0,0 +1,46 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +# Python deps +, six +, setuptools +}: + +buildPythonPackage rec { + pname = "mando"; + version = "0.7.1"; + + pyproject = true; + + src = fetchFromGitHub { + owner = "rubik"; + repo = "mando"; + rev = "v${version}"; + hash = "sha256-Ylrrfo57jqGuWEqCa5RyTT9AagBpUvAfviHkyJPFv08="; + }; + + nativeBuildInputs = [ + setuptools + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + propagatedBuildInputs = [ + six + ]; + + pythonImportsCheck = [ + "mando" + ]; + + meta = with lib; { + description = "Create Python CLI apps with little to no effort at all"; + homepage = "https://mando.readthedocs.org"; + changelog = "https://github.com/rubik/mando/blob/v${version}/CHANGELOG"; + license = licenses.mit; + maintainers = with maintainers; [ t4ccer ]; + }; +} diff --git a/pkgs/development/python-modules/radon/default.nix b/pkgs/development/python-modules/radon/default.nix new file mode 100644 index 000000000000..23f1a9427b56 --- /dev/null +++ b/pkgs/development/python-modules/radon/default.nix @@ -0,0 +1,67 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, fetchpatch +# Python deps +, mando +, colorama +, pytest-mock +, tomli +, poetry-core +}: + +buildPythonPackage rec { + pname = "radon"; + version = "6.0.1"; + + pyproject = true; + + src = fetchFromGitHub { + owner = "rubik"; + repo = "radon"; + rev = "v${version}"; + hash = "sha256-yY+j9kuX0ou/uDoVI/Qfqsmq0vNHv735k+vRl22LwwY="; + }; + + patches = [ + # NOTE: Remove after next release + (fetchpatch { + url = "https://github.com/rubik/radon/commit/ce5d2daa0a9e0e843059d6f57a8124c64a87a6dc.patch"; + hash = "sha256-WwcfR2ZEWeRiMKdMZAwtZRBcWOqoqpaVTmVo0k+Tn74="; + }) + ]; + + nativeBuildInputs = [ + poetry-core + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-mock + ]; + + propagatedBuildInputs = [ + mando + colorama + ]; + + passthru.optional-dependencies = { + toml = [ + tomli + ]; + }; + + pythonImportsCheck = [ + "radon" + ]; + + meta = with lib; { + description = "Various code metrics for Python code"; + homepage = "https://radon.readthedocs.org"; + changelog = "https://github.com/rubik/radon/blob/v${version}/CHANGELOG"; + license = licenses.mit; + maintainers = with maintainers; [ t4ccer ]; + mainProgram = "radon"; + }; +} diff --git a/pkgs/development/tools/build-managers/corrosion/default.nix b/pkgs/development/tools/build-managers/corrosion/default.nix index 97b967d4a2b3..b6bce326a37d 100644 --- a/pkgs/development/tools/build-managers/corrosion/default.nix +++ b/pkgs/development/tools/build-managers/corrosion/default.nix @@ -10,13 +10,13 @@ stdenv.mkDerivation rec { pname = "corrosion"; - version = "0.4.3"; + version = "0.4.4"; src = fetchFromGitHub { owner = "corrosion-rs"; repo = "corrosion"; rev = "v${version}"; - hash = "sha256-Bvx4Jvd/l1EHB3eoBEizuT4Lou4Ev+CPA7D7iWIe+No="; + hash = "sha256-4psd9dHqYDqexUYkib057YUEwSQssBz6HF5vv2NV2Fo="; }; cargoRoot = "generator"; @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { inherit src; sourceRoot = "${src.name}/${cargoRoot}"; name = "${pname}-${version}"; - hash = "sha256-0n45edWVSaYQS+S0H4p55d+ZgD6liHn6iBd3qCtjAh8="; + hash = "sha256-dpLENGY6PFV7WheVcEjuWPLLCMy+voSSCMOs9P9Jjpw="; }; buildInputs = lib.optional stdenv.isDarwin libiconv; diff --git a/pkgs/development/tools/google-java-format/default.nix b/pkgs/development/tools/google-java-format/default.nix index 285d181fe095..f61a318890f6 100644 --- a/pkgs/development/tools/google-java-format/default.nix +++ b/pkgs/development/tools/google-java-format/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "google-java-format"; - version = "1.17.0"; + version = "1.18.1"; src = fetchurl { url = "https://github.com/google/google-java-format/releases/download/v${version}/google-java-format-${version}-all-deps.jar"; - sha256 = "sha256-MwaLu9zhCZmC7BFx9eICiY6zXykZz0hhQeQ5/G46QgM="; + sha256 = "sha256-vtO61DP330J3AGSPJLeY2zwzjW3LLMXAi8VCtVYQ+RA="; }; dontUnpack = true; diff --git a/pkgs/development/tools/hclfmt/default.nix b/pkgs/development/tools/hclfmt/default.nix index c5737a099609..368a1a6e5c5a 100644 --- a/pkgs/development/tools/hclfmt/default.nix +++ b/pkgs/development/tools/hclfmt/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "hclfmt"; - version = "2.18.0"; + version = "2.18.1"; src = fetchFromGitHub { owner = "hashicorp"; repo = "hcl"; rev = "v${version}"; - hash = "sha256-X2XHsw30rWRUJCNRGc+UKqmZGtl3dx3TLFtjtr63uVM="; + hash = "sha256-31Xqgzd208ypK8u1JV5Rh5cCqGr1MJkLP490nIeovsE="; }; vendorHash = "sha256-DA1IKaC+YSBzCfEMqHsHfwu1o5qvYFaFgDoGG0RZnoo="; diff --git a/pkgs/development/tools/parsing/tree-sitter/default.nix b/pkgs/development/tools/parsing/tree-sitter/default.nix index 804f771cdca3..f5c20e128ddb 100644 --- a/pkgs/development/tools/parsing/tree-sitter/default.nix +++ b/pkgs/development/tools/parsing/tree-sitter/default.nix @@ -64,6 +64,7 @@ let { tree-sitter-org-nvim = grammars'.tree-sitter-org-nvim // { language = "org"; }; } // { tree-sitter-typescript = grammars'.tree-sitter-typescript // { location = "typescript"; }; } // { tree-sitter-tsx = grammars'.tree-sitter-typescript // { location = "tsx"; }; } // + { tree-sitter-typst = grammars'.tree-sitter-typst // { generate = true; }; } // { tree-sitter-markdown = grammars'.tree-sitter-markdown // { location = "tree-sitter-markdown"; }; } // { tree-sitter-markdown-inline = grammars'.tree-sitter-markdown // { language = "markdown_inline"; location = "tree-sitter-markdown-inline"; }; } // { tree-sitter-wing = grammars'.tree-sitter-wing // { location = "libs/tree-sitter-wing"; generate = true; }; }; diff --git a/pkgs/development/tools/rust/cargo-semver-checks/default.nix b/pkgs/development/tools/rust/cargo-semver-checks/default.nix index 5f7d213dc90d..3bf3add13e16 100644 --- a/pkgs/development/tools/rust/cargo-semver-checks/default.nix +++ b/pkgs/development/tools/rust/cargo-semver-checks/default.nix @@ -1,8 +1,7 @@ { lib , rustPlatform , fetchFromGitHub -, pkg-config -, libgit2_1_6 +, cmake , zlib , stdenv , darwin @@ -11,24 +10,25 @@ rustPlatform.buildRustPackage rec { pname = "cargo-semver-checks"; - version = "0.23.0"; + version = "0.24.0"; src = fetchFromGitHub { owner = "obi1kenobi"; repo = pname; rev = "v${version}"; - hash = "sha256-/yMZ7ZmvCPFkrnuobbNGmgGNw16J8yT0DEUza7PD/Ow="; + hash = "sha256-K6csc/jJ0iDegK9ZSOy1aNb0GSxSXHMSOVUtFEYUBhc="; }; - cargoHash = "sha256-u8hja6+T3NwcNub181TfuhI9+QFuIrgqIBlb1lm8+yk="; + cargoHash = "sha256-9tWzJ64UlMHQ61SRbEXACNDA+4hTPjQTBzSjEO+0rik="; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ + cmake + ]; buildInputs = [ - libgit2_1_6 zlib ] ++ lib.optionals stdenv.isDarwin [ - darwin.apple_sdk.frameworks.Security + darwin.apple_sdk.frameworks.SystemConfiguration ]; nativeCheckInputs = [ diff --git a/pkgs/games/theforceengine/default.nix b/pkgs/games/theforceengine/default.nix index 023acc0e06da..788fdc30794f 100644 --- a/pkgs/games/theforceengine/default.nix +++ b/pkgs/games/theforceengine/default.nix @@ -2,7 +2,7 @@ , stdenv , fetchFromGitHub , SDL2 -, libdevil +, SDL2_image , rtaudio , rtmidi , glew @@ -13,13 +13,13 @@ stdenv.mkDerivation rec { pname = "theforceengine"; - version = "1.09.300"; + version = "1.09.540"; src = fetchFromGitHub { owner = "luciusDXL"; repo = "TheForceEngine"; rev = "v${version}"; - sha256 = "sha256-nf5fhP68AgBESiJleeZOLXkAajS+JmHUqyj4vAt2wl4="; + sha256 = "sha256-s54X6LZdk7daIlQPHyRBxc8MLS6bzkkypi4m1m+xK80="; }; nativeBuildInputs = [ @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { buildInputs = [ SDL2 - libdevil + SDL2_image rtaudio rtmidi glew diff --git a/pkgs/servers/lidarr/default.nix b/pkgs/servers/lidarr/default.nix index 24c46d32253e..53050cfa7cc4 100644 --- a/pkgs/servers/lidarr/default.nix +++ b/pkgs/servers/lidarr/default.nix @@ -8,13 +8,13 @@ let x86_64-darwin = "x64"; }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); hash = { - x64-linux_hash = "sha256-Dpdsg952hw3ra24/REedfm/S3cOocfSrxjR5vGO/b5E="; - arm64-linux_hash = "sha256-xMRpbg37Q9VIRiioy3kUS00M0zxCT1G439pNWdgSe6A="; - x64-osx_hash = "sha256-rfG7pGUYpEHVpHu+tS0v+/CqF0v/TI0uy7faPoXU4oo="; + x64-linux_hash = "sha256-qiI6+uiDBwY+UkqWyYqySfdOilJ87GyAojY6a5NrHNY="; + arm64-linux_hash = "sha256-CXbZjVIF8JL+bOzUvnaDzpDn+DK9D1g6HnmdvEDR/S8="; + x64-osx_hash = "sha256-t58xYrootKjavdyZp37KByyQa0CwSkl+DLxZuGYV9qs="; }."${arch}-${os}_hash"; in stdenv.mkDerivation rec { pname = "lidarr"; - version = "1.3.5.3530"; + version = "1.4.5.3639"; src = fetchurl { url = "https://github.com/lidarr/Lidarr/releases/download/v${version}/Lidarr.master.${version}.${os}-core-${arch}.tar.gz"; diff --git a/pkgs/tools/misc/pv/default.nix b/pkgs/tools/misc/pv/default.nix index 236137ff7937..bd06fadee1ee 100644 --- a/pkgs/tools/misc/pv/default.nix +++ b/pkgs/tools/misc/pv/default.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { pname = "pv"; - version = "1.7.24"; + version = "1.8.0"; src = fetchurl { url = "https://www.ivarch.com/programs/sources/pv-${version}.tar.gz"; - sha256 = "sha256-O/Q8WAnI1QBm6urqWhFfZQPFejjBUZdbcQqivuhXtl4="; + sha256 = "sha256-XOxPc3gmoO3atHHdO3Wlh70poufPowBo1X8pQ5olH98="; }; meta = { diff --git a/pkgs/tools/text/txt2tags/default.nix b/pkgs/tools/text/txt2tags/default.nix index d15eff7f24b8..8ff39ac1ebfe 100644 --- a/pkgs/tools/text/txt2tags/default.nix +++ b/pkgs/tools/text/txt2tags/default.nix @@ -5,7 +5,7 @@ python3.pkgs.buildPythonApplication rec { pname = "txt2tags"; - version = "3.8"; + version = "3.9"; format = "setuptools"; @@ -13,7 +13,7 @@ python3.pkgs.buildPythonApplication rec { owner = "txt2tags"; repo = "txt2tags"; rev = "refs/tags/${version}"; - hash = "sha256-urLsA2oeQM0WcKNDgaxKJOgBPGohJT6Zq6y6bEYMTxk="; + hash = "sha256-PwPGJJg79ny13gEb1WmgIVHcXQppI/j5mhIyOZjR19k="; }; postPatch = '' diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 225979989af9..53fb5810a34a 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6483,6 +6483,8 @@ self: super: with self; { managesieve = callPackage ../development/python-modules/managesieve { }; + mando = callPackage ../development/python-modules/mando { }; + mandown = callPackage ../development/python-modules/mandown { }; manhole = callPackage ../development/python-modules/manhole { }; @@ -11926,6 +11928,8 @@ self: super: with self; { radish-bdd = callPackage ../development/python-modules/radish-bdd { }; + radon = callPackage ../development/python-modules/radon { }; + railroad-diagrams = callPackage ../development/python-modules/railroad-diagrams { }; rainbowstream = callPackage ../development/python-modules/rainbowstream { };