diff options
Diffstat (limited to 'pkgs')
12 files changed, 259 insertions, 34 deletions
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix index 7e59c5f067f2..ccde3ca0303b 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix @@ -65,6 +65,8 @@ in mu4e = callPackage ./manual-packages/mu4e { }; + notdeft = callPackage ./manual-packages/notdeft { }; + ott-mode = callPackage ./manual-packages/ott-mode { }; perl-completion = callPackage ./manual-packages/perl-completion { }; diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/notdeft/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/notdeft/default.nix new file mode 100644 index 000000000000..f9af8c465b93 --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/notdeft/default.nix @@ -0,0 +1,75 @@ +{ lib +, stdenv +, trivialBuild +, fetchFromGitHub +, emacs +, hydra +, ivy +, pkg-config +, tclap +, xapian + # Include pre-configured hydras +, withHydra ? false + # Include Ivy integration +, withIvy ? false +}: + +let + pname = "notdeft"; + version = "20211204.0846"; + + src = fetchFromGitHub { + owner = "hasu"; + repo = "notdeft"; + rev = "1b7054dcfc3547a7cafeb621552cec01d0540478"; + hash = "sha256-LMMLJFVpmoE/y3MqrgY2fmsehmzk6TkLsVoHmFUxiSw="; + }; + + # Xapian bindings for NotDeft + notdeft-xapian = stdenv.mkDerivation { + pname = "notdeft-xapian"; + inherit version src; + + sourceRoot = "${src.name}/xapian"; + + nativeBuildInputs = [ pkg-config tclap xapian ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + cp notdeft-xapian $out/bin + + runHook postInstall + ''; + }; +in +trivialBuild { + inherit pname version src; + packageRequires = lib.optional withHydra hydra + ++ lib.optional withIvy ivy; + buildInputs = [ xapian ]; + + postPatch = '' + substituteInPlace notdeft-xapian.el \ + --replace 'defcustom notdeft-xapian-program nil' \ + "defcustom notdeft-xapian-program \"${notdeft-xapian}/bin/notdeft-xapian\"" + ''; + + # Extra modules are contained in the extras/ directory + preBuild = lib.optionalString withHydra '' + mv extras/notdeft-{mode-hydra,global-hydra}.el ./ + '' + + lib.optionalString withIvy '' + mv extras/notdeft-ivy.el ./ + '' + '' + rm -r extras/ + ''; + + meta = with lib; { + homepage = "https://tero.hasu.is/notdeft/"; + description = "Fork of Deft that uses Xapian as a search engine"; + maintainers = [ maintainers.nessdoor ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix index 8d01ce5f7a52..3faf4d304a5f 100644 --- a/pkgs/applications/gis/qgis/unwrapped.nix +++ b/pkgs/applications/gis/qgis/unwrapped.nix @@ -1,6 +1,5 @@ { lib , fetchFromGitHub -, fetchpatch , makeWrapper , mkDerivation , substituteAll @@ -12,6 +11,7 @@ , bison , cmake +, draco , exiv2 , fcgi , flex @@ -64,8 +64,8 @@ let owslib psycopg2 pygments - pyqt-builder pyqt5 + pyqt-builder python-dateutil pytz pyyaml @@ -77,14 +77,14 @@ let urllib3 ]; in mkDerivation rec { - version = "3.32.3"; + version = "3.34.0"; pname = "qgis-unwrapped"; src = fetchFromGitHub { owner = "qgis"; repo = "QGIS"; rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}"; - hash = "sha256-ge5ne22sDLKbrJk2vYQxpu3iRXSoOk9924c/RdtD3Nc="; + hash = "sha256-+Yzp8kfd7cfxTwsrxRo+6uS+2Aj4HfKA2E8hSf7htsU="; }; passthru = { @@ -104,6 +104,7 @@ in mkDerivation rec { ]; buildInputs = [ + draco exiv2 fcgi geos @@ -142,11 +143,6 @@ in mkDerivation rec { pyQt5PackageDir = "${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}"; qsciPackageDir = "${py.pkgs.qscintilla-qt5}/${py.pkgs.python.sitePackages}"; }) - (fetchpatch { - name = "exiv2-0.28.patch"; - url = "https://github.com/qgis/QGIS/commit/32f5418fc4f7bb2ee986dee1824ff2989c113a94.patch"; - hash = "sha256-zWyf+kLro4ZyUJLX/nDjY0nLneTaI1DxHvRsvwoWq14="; - }) ]; # Add path to Qt platform plugins @@ -156,8 +152,9 @@ in mkDerivation rec { ''; cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" "-DWITH_3D=True" - "-DWITH_PDAL=TRUE" + "-DWITH_PDAL=True" "-DENABLE_TESTS=False" ] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF" ++ lib.optional withGrass (let diff --git a/pkgs/applications/version-management/josh/default.nix b/pkgs/applications/version-management/josh/default.nix index a9929cca64e4..5acd1a634344 100644 --- a/pkgs/applications/version-management/josh/default.nix +++ b/pkgs/applications/version-management/josh/default.nix @@ -30,6 +30,14 @@ rustPlatform.buildRustPackage rec { url = "https://github.com/josh-project/josh/commit/13e7565ab029206598881391db4ddc6dface692b.patch"; sha256 = "1l5syqj51sn7kcqvffwl6ggn5sq8wfkpviga860agghnw5dpf7ns"; }) + + # Merged upstream, fixes builds with newer rustc + (fetchpatch { + name = "josh-fix-builds-with-rust-173.patch"; + url = "https://github.com/josh-project/josh/commit/7b8259b81a9acabb528ddebc4ab30fc712f756fb.patch"; + sha256 = "sha256-YfrVlH6Ox05ZbmB/15HVaFlOyRTOFbYflq0edi6/X9k="; + includes = [ "josh-proxy/src/bin/josh-proxy.rs" ]; + }) ]; cargoSha256 = "0f6cvz2s8qs53b2g6xja38m24hafqla61s4r5za0a1dyndgms7sl"; diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index 6f03b139cf1b..ecb5093f4be1 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -114,6 +114,7 @@ let description = "A version control system intended to be a compelling replacement for CVS in the open source community"; license = licenses.asl20; homepage = "https://subversion.apache.org/"; + mainProgram = "svn"; maintainers = with maintainers; [ eelco lovek323 ]; platforms = platforms.linux ++ platforms.darwin; }; diff --git a/pkgs/by-name/am/amazon-ssm-agent/package.nix b/pkgs/by-name/am/amazon-ssm-agent/package.nix index 4816ac1bdc73..7a0efbdab623 100644 --- a/pkgs/by-name/am/amazon-ssm-agent/package.nix +++ b/pkgs/by-name/am/amazon-ssm-agent/package.nix @@ -131,6 +131,11 @@ buildGoModule rec { runHook postInstall ''; + checkFlags = [ + # Skip time dependent/flaky test + "-skip=TestSendStreamDataMessageWithStreamDataSequenceNumberMutexLocked" + ]; + postFixup = '' wrapProgram $out/bin/amazon-ssm-agent --prefix PATH : ${bashInteractive}/bin ''; diff --git a/pkgs/by-name/ns/nsf-ordlista/package.nix b/pkgs/by-name/ns/nsf-ordlista/package.nix new file mode 100644 index 000000000000..d3ec535c44e8 --- /dev/null +++ b/pkgs/by-name/ns/nsf-ordlista/package.nix @@ -0,0 +1,27 @@ +{ lib +, stdenvNoCC +, fetchzip +}: +stdenvNoCC.mkDerivation { + pname = "nsf-ordlista"; + version = "unstable-2023-08-20"; + src = fetchzip { + url = "http://www2.scrabbleforbundet.no/wp-content/uploads/2023/08/nsf2023.zip"; + hash = "sha256-bcVqZ2yPHurl6sRNgeLNAyyR8WR9ewmtn85Xuw/rZ3s="; + }; + + installPhase = '' + runHook preInstall + install -Dm444 nsf2023.txt $out/share/wordlists/nsf.txt + runHook postInstall + ''; + + meta = with lib; { + description = "Wordlist from the Norwegian Scrabble Federation"; + homepage = "https://www2.scrabbleforbundet.no/"; + downloadPage = "https://www2.scrabbleforbundet.no/?p=4881#more-4881"; + license = licenses.unfree; + maintainers = with maintainers; [ h7x4 ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/development/libraries/vxl/default.nix b/pkgs/development/libraries/vxl/default.nix index 098dc64cf154..941e07a27e3a 100644 --- a/pkgs/development/libraries/vxl/default.nix +++ b/pkgs/development/libraries/vxl/default.nix @@ -16,7 +16,9 @@ stdenv.mkDerivation rec { meta = { description = "C++ Libraries for Computer Vision Research and Implementation"; homepage = "https://vxl.sourceforge.net/"; - license = "VXL License"; + # license appears contradictory; see https://github.com/vxl/vxl/issues/752 + # (and see https://github.com/InsightSoftwareConsortium/ITK/pull/1920/files for potential patch) + license = [ lib.licenses.unfree ]; maintainers = with lib.maintainers; [viric]; platforms = with lib.platforms; linux; }; diff --git a/pkgs/development/python-modules/farm-haystack/default.nix b/pkgs/development/python-modules/farm-haystack/default.nix index de87016f36fc..afee9c60f894 100644 --- a/pkgs/development/python-modules/farm-haystack/default.nix +++ b/pkgs/development/python-modules/farm-haystack/default.nix @@ -91,14 +91,14 @@ buildPythonPackage rec { pname = "farm-haystack"; - version = "1.21.2"; + version = "1.22.0"; pyproject = true; src = fetchFromGitHub { owner = "deepset-ai"; repo = "haystack"; - rev = "v${version}"; - hash = "sha256-h+8F1e6fFoxT4Cu0DxtXTyDd+OFXpX1+uk21/k9qcxw="; + rev = "refs/tags/v${version}"; + hash = "sha256-0tRgZqySM9vPhs5lar89Gz/G7/YgRuFZosgTdKuGBH0="; }; nativeBuildInputs = [ diff --git a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix index a6f287c37b3f..59a1303764ba 100644 --- a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix +++ b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix @@ -1,10 +1,77 @@ { lib , stdenv -, supportedGhcVersions ? [ "94" ] -, dynamic ? true , haskellPackages , haskell + +# Which GHC versions this hls can support. +# These are looked up in nixpkgs as `pkgs.haskell.packages."ghc${version}`. +# Run +# $ nix-instantiate --eval -E 'with import <nixpkgs> {}; builtins.attrNames pkgs.haskell.packages' +# to list for your nixpkgs version. +, supportedGhcVersions ? [ "94" ] + +# Whether to build hls with the dynamic run-time system. +# See https://haskell-language-server.readthedocs.io/en/latest/troubleshooting.html#static-binaries for more information. +, dynamic ? true + +# Which formatters are supported. Pass `[]` to remove all formatters. +# +# Maintainers: if a new formatter is added, add it here and down in knownFormatters +, supportedFormatters ? [ "ormolu" "fourmolu" "floskell" "stylish-haskell" ] }: + +# make sure the user only sets GHC versions that actually exist +assert supportedGhcVersions != []; +assert + lib.asserts.assertEachOneOf + "supportedGhcVersions" + supportedGhcVersions + (lib.pipe haskell.packages [ + lib.attrNames + (lib.filter (lib.hasPrefix "ghc")) + (map (lib.removePrefix "ghc")) + ]); + +let + # A mapping from formatter name to + # - cabal flag to disable + # - formatter-specific packages that can be stripped from the build of hls if it is disabled + knownFormatters = { + ormolu = { + cabalFlag = "ormolu"; + packages = [ + "hls-ormolu-plugin" + ]; + }; + fourmolu = { + cabalFlag = "fourmolu"; + packages = [ + "hls-fourmolu-plugin" + ]; + }; + floskell = { + cabalFlag = "floskell"; + packages = [ + "hls-floskell-plugin" + ]; + }; + stylish-haskell = { + cabalFlag = "stylishhaskell"; + packages = [ + "hls-stylish-haskell-plugin" + ]; + }; + }; + +in + +# make sure any formatter that is set is actually supported by us +assert + lib.asserts.assertEachOneOf + "supportedFormatters" + supportedFormatters + (lib.attrNames knownFormatters); + # # The recommended way to override this package is # @@ -13,9 +80,43 @@ # for example. Read more about this in the haskell-language-server section of the nixpkgs manual. # let - inherit (lib) concatStringsSep concatMapStringsSep take splitString pipe optionals; - inherit (haskell.lib.compose) justStaticExecutables overrideCabal enableCabalFlag disableCabalFlag; + inherit (haskell.lib.compose) + justStaticExecutables + overrideCabal + enableCabalFlag + disableCabalFlag + ; + getPackages = version: haskell.packages."ghc${version}"; + + # Given the list of `supportedFormatters`, remove every formatter that we know of (knownFormatters) + # by disabling the cabal flag and also removing the formatter libraries. + removeUnnecessaryFormatters = + let + # only formatters that were not requested + unwanted = lib.pipe knownFormatters [ + (lib.filterAttrs (fmt: _: ! (lib.elem fmt supportedFormatters))) + lib.attrsToList + ]; + # all flags to disable + flags = map (fmt: fmt.value.cabalFlag) unwanted; + # all dependencies to remove from hls + deps = lib.concatMap (fmt: fmt.value.packages) unwanted; + + # remove nulls from a list + stripNulls = lib.filter (x: x != null); + + # remove all unwanted dependencies of formatters we don’t want + stripDeps = overrideCabal (drv: { + libraryHaskellDepends = lib.pipe (drv.libraryHaskellDepends or []) [ + # the existing list may contain nulls, so let’s strip them first + stripNulls + (lib.filter (dep: ! (lib.elem dep.pname deps))) + ]; + }); + + in drv: lib.pipe drv ([stripDeps] ++ map disableCabalFlag flags); + tunedHls = hsPkgs: lib.pipe hsPkgs.haskell-language-server ([ (haskell.lib.compose.overrideCabal (old: { @@ -27,32 +128,39 @@ let ''; })) ((if dynamic then enableCabalFlag else disableCabalFlag) "dynamic") - ] ++ optionals (!dynamic) [ + removeUnnecessaryFormatters + ] + ++ lib.optionals (!dynamic) [ justStaticExecutables ]); + targets = version: let packages = getPackages version; - in [ - "haskell-language-server-${packages.ghc.version}" - ]; + in [ "haskell-language-server-${packages.ghc.version}" ]; + makeSymlinks = version: - concatMapStringsSep "\n" (x: - "ln -s ${ - tunedHls (getPackages version) - }/bin/haskell-language-server $out/bin/${x}") (targets version); -in assert supportedGhcVersions != []; stdenv.mkDerivation { + lib.concatMapStringsSep "\n" + (x: + "ln -s ${ + tunedHls (getPackages version) + }/bin/haskell-language-server $out/bin/${x}") + (targets version); + +in stdenv.mkDerivation { pname = "haskell-language-server"; version = haskellPackages.haskell-language-server.version; + buildCommand = '' mkdir -p $out/bin ln -s ${tunedHls (getPackages (builtins.head supportedGhcVersions))}/bin/haskell-language-server-wrapper $out/bin/haskell-language-server-wrapper - ${concatMapStringsSep "\n" makeSymlinks supportedGhcVersions} + ${lib.concatMapStringsSep "\n" makeSymlinks supportedGhcVersions} ''; + meta = haskellPackages.haskell-language-server.meta // { maintainers = [ lib.maintainers.maralorn ]; longDescription = '' This package provides the executables ${ - concatMapStringsSep ", " (x: concatStringsSep ", " (targets x)) + lib.concatMapStringsSep ", " (x: lib.concatStringsSep ", " (targets x)) supportedGhcVersions } and haskell-language-server-wrapper. You can choose for which ghc versions to install hls with pkgs.haskell-language-server.override { supportedGhcVersions = [ "90" "92" ]; }. diff --git a/pkgs/development/tools/wgo/default.nix b/pkgs/development/tools/wgo/default.nix index 0213dfcf7795..51ecc3804a05 100644 --- a/pkgs/development/tools/wgo/default.nix +++ b/pkgs/development/tools/wgo/default.nix @@ -5,7 +5,7 @@ let pname = "wgo"; - version = "0.5.3"; + version = "0.5.4"; in buildGoModule { inherit pname version; @@ -14,7 +14,7 @@ buildGoModule { owner = "bokwoon95"; repo = "wgo"; rev = "v${version}"; - hash = "sha256-Uny5FiMox0oIaJ+WE7p3kw4guSzktEF+WzuxjgFXh2I="; + hash = "sha256-MPmB6G5JCIEfFYchVmV8sS5Zfzfui9tClDI6RlLdP6U="; }; vendorHash = "sha256-w6UJxZToHbbQmuXkyqFzyssFcE+7uVNqOuIF/XKdEsU="; diff --git a/pkgs/tools/misc/aichat/default.nix b/pkgs/tools/misc/aichat/default.nix index 945abf1f23b9..6ec48a78fcf9 100644 --- a/pkgs/tools/misc/aichat/default.nix +++ b/pkgs/tools/misc/aichat/default.nix @@ -8,16 +8,16 @@ rustPlatform.buildRustPackage rec { pname = "aichat"; - version = "0.8.0"; + version = "0.9.0"; src = fetchFromGitHub { owner = "sigoden"; repo = "aichat"; rev = "v${version}"; - hash = "sha256-E/QslRDeifFHlHUELv9rYHjfCAB1yXXiXlWOyPNkfps="; + hash = "sha256-KY8GUUPZyb89b9mGd+EuYP8M7bKxt7oKQfaaX1R4BTE="; }; - cargoHash = "sha256-7TTHBeZ68G6k5eHBL1zDGsYiTyx27fBbN7Rl9AiZTng="; + cargoHash = "sha256-YTLiJ8/aTN3d2xkEqtiyP47KeDK88I2Raix8kmddDNE="; nativeBuildInputs = [ pkg-config |