diff --git a/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix b/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix index 4aed493c0fb0..24884655c660 100644 --- a/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix +++ b/nixos/modules/services/continuous-integration/hercules-ci-agent/common.nix @@ -9,7 +9,15 @@ Platform-specific code is in the respective default.nix files. { config, lib, options, pkgs, ... }: let - inherit (lib) mkOption mkIf types filterAttrs literalExample mkRenamedOptionModule; + inherit (lib) + filterAttrs + literalExample + mkIf + mkOption + mkRemovedOptionModule + mkRenamedOptionModule + types + ; cfg = config.services.hercules-ci-agent; @@ -77,10 +85,11 @@ let }; }; + # TODO (2022) remove checkNix = if !cfg.checkNix then "" - else if lib.versionAtLeast config.nix.package.version "2.4.0" + else if lib.versionAtLeast config.nix.package.version "2.3.10" then "" else pkgs.stdenv.mkDerivation { name = "hercules-ci-check-system-nix-src"; @@ -88,23 +97,12 @@ let configurePhase = ":"; buildPhase = '' echo "Checking in-memory pathInfoCache expiry" - if ! grep 'struct PathInfoCacheValue' src/libstore/store-api.hh >/dev/null; then + if ! grep 'PathInfoCacheValue' src/libstore/store-api.hh >/dev/null; then cat 1>&2 <help@hercules-ci.com. ''; }; - patchNix = mkOption { - type = types.bool; - default = false; - description = '' - Fix Nix 2.3 cache path metadata caching behavior. Has the effect of nix.package = patch pkgs.nix; - - This option will be removed when Hercules CI Agent moves to Nix 2.4 (upcoming Nix release). - ''; - }; checkNix = mkOption { type = types.bool; default = true; @@ -206,7 +182,6 @@ in # even shortly after the previous lookup. This *also* applies to the daemon. narinfo-cache-negative-ttl = 0 ''; - nix.package = mkIf cfg.patchNix patchedNix; services.hercules-ci-agent.tomlFile = format.generate "hercules-ci-agent.toml" cfg.settings; }; diff --git a/nixos/modules/services/networking/dnscrypt-proxy2.nix b/nixos/modules/services/networking/dnscrypt-proxy2.nix index ff8a2ab30774..afc2a6d1c757 100644 --- a/nixos/modules/services/networking/dnscrypt-proxy2.nix +++ b/nixos/modules/services/networking/dnscrypt-proxy2.nix @@ -87,6 +87,7 @@ in NoNewPrivileges = true; NonBlocking = true; PrivateDevices = true; + ProtectClock = true; ProtectControlGroups = true; ProtectHome = true; ProtectHostname = true; @@ -107,8 +108,13 @@ in SystemCallFilter = [ "@system-service" "@chown" + "~@aio" + "~@keyring" + "~@memlock" "~@resources" - "@privileged" + "~@setuid" + "~@sync" + "~@timer" ]; }; }; diff --git a/pkgs/applications/misc/clipcat/default.nix b/pkgs/applications/misc/clipcat/default.nix index 80e4982fc8a0..497e5616e805 100644 --- a/pkgs/applications/misc/clipcat/default.nix +++ b/pkgs/applications/misc/clipcat/default.nix @@ -3,16 +3,16 @@ rustPlatform.buildRustPackage rec { pname = "clipcat"; - version = "0.4.19"; + version = "0.5.0"; src = fetchFromGitHub { owner = "xrelkd"; repo = pname; rev = "v${version}"; - sha256 = "1lhnm521qqy3aw2iyk1dv4yc5ms0c5x5iipx96bz6v6y0cnmf4kw"; + sha256 = "0rxl3ksjinw07q3p2vjqg80k3c6wx2q7pzpf2344zyfb4gkqzx1c"; }; - cargoSha256 = "04iflyvz8g53z658rkxafiyi2m9kzxwl3p1xgkjq7vacmz5jk15c"; + cargoSha256 = "1ffgvhkdj8wkhlgi0cj0njdm9ycxq2qda4b5qn8bmaygzr2zkwpd"; LIBCLANG_PATH = "${llvmPackages.libclang}/lib"; @@ -38,26 +38,15 @@ rustPlatform.buildRustPackage rec { cargoBuildFlags = [ "--features=all" ]; postInstall = '' - installShellCompletion --bash --name clipcatd completions/bash-completion/completions/clipcatd - installShellCompletion --fish --name clipcatd.fish completions/fish/completions/clipcatd.fish - installShellCompletion --zsh --name _clipcatd completions/zsh/site-functions/_clipcatd - - installShellCompletion --bash --name clipcatctl completions/bash-completion/completions/clipcatctl - installShellCompletion --fish --name clipcatctl.fish completions/fish/completions/clipcatctl.fish - installShellCompletion --zsh --name _clipcatctl completions/zsh/site-functions/_clipcatctl - - installShellCompletion --bash --name clipcat-menu completions/bash-completion/completions/clipcat-menu - installShellCompletion --fish --name clipcat-menu.fish completions/fish/completions/clipcat-menu.fish - installShellCompletion --zsh --name _clipcat-menu completions/zsh/site-functions/_clipcat-menu - - installShellCompletion --bash --name clipcat-notify completions/bash-completion/completions/clipcat-notify - installShellCompletion --fish --name clipcat-notify.fish completions/fish/completions/clipcat-notify.fish - installShellCompletion --zsh --name _clipcat-notify completions/zsh/site-functions/_clipcat-notify + installShellCompletion --bash completions/bash-completion/completions/* + installShellCompletion --fish completions/fish/completions/* + installShellCompletion --zsh completions/zsh/site-functions/* ''; meta = with lib; { description = "Clipboard Manager written in Rust Programming Language"; - license = licenses.gpl3; + homepage = "https://github.com/xrelkd/clipcat"; + license = licenses.gpl3Only; platforms = platforms.linux; maintainers = with maintainers; [ xrelkd ]; }; diff --git a/pkgs/applications/office/trilium/default.nix b/pkgs/applications/office/trilium/default.nix index 499aa1e5faf5..cb0781f74e19 100644 --- a/pkgs/applications/office/trilium/default.nix +++ b/pkgs/applications/office/trilium/default.nix @@ -19,16 +19,16 @@ let maintainers = with maintainers; [ emmanuelrosa dtzWill ]; }; - version = "0.43.3"; + version = "0.43.4"; desktopSource = { url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz"; - sha256 = "1k9vcs7pwa89bzivqp0gfs45jzqw216fpypg3ja4n2dzn4qkv2as"; + sha256 = "0kjysam5alsmnj93fcqq1ivawnra42gn7dch99rrfmvbkxp7hhr8"; }; serverSource = { url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz"; - sha256 = "1n3v7wdav6mvgcy72mmfhncsa74i0ax1ij5rjczgfjjyiyc5y0rk"; + sha256 = "128mvmp15mjpb5ipkmr0yn7ahby26shbix3f8q094f4zpxjp83zx"; }; in { diff --git a/pkgs/build-support/fetchcvs/builder.sh b/pkgs/build-support/fetchcvs/builder.sh index 0975c3478820..fe1019aafc2f 100644 --- a/pkgs/build-support/fetchcvs/builder.sh +++ b/pkgs/build-support/fetchcvs/builder.sh @@ -1,6 +1,6 @@ source $stdenv/setup -(echo '#!/usr/bin/env sh'; \ +(echo "#!$SHELL"; \ echo 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "$@"') > ssh chmod +x ssh export CVS_RSH=$PWD/ssh diff --git a/pkgs/build-support/setup-hooks/patch-shebangs.sh b/pkgs/build-support/setup-hooks/patch-shebangs.sh index d0efe039ced8..bd254be24f96 100644 --- a/pkgs/build-support/setup-hooks/patch-shebangs.sh +++ b/pkgs/build-support/setup-hooks/patch-shebangs.sh @@ -88,15 +88,17 @@ patchShebangs() { newInterpreterLine=${newInterpreterLine%${newInterpreterLine##*[![:space:]]}} if [[ -n "$oldPath" && "${oldPath:0:${#NIX_STORE}}" != "$NIX_STORE" ]]; then - if [[ -n "$newPath" && "$newPath" != "$oldPath" ]]; then + if [[ -n "$newPath" ]] && [[ "$newPath" != "$oldPath" ]]; then echo "$f: interpreter directive changed from \"$oldInterpreterLine\" to \"$newInterpreterLine\"" # escape the escape chars so that sed doesn't interpret them escapedInterpreterLine=${newInterpreterLine//\\/\\\\} # Preserve times, see: https://github.com/NixOS/nixpkgs/pull/33281 - timestamp=$(stat --printf "%y" "$f") + timestamp=$(mktemp) + touch -r "$f" "$timestamp" sed -i -e "1 s|.*|#\!$escapedInterpreterLine|" "$f" - touch --date "$timestamp" "$f" + touch -r "$timestamp" "$f" + rm "$timestamp" fi fi done < <(find "$@" -type f -perm -0100 -print0) diff --git a/pkgs/development/libraries/libhugetlbfs/default.nix b/pkgs/development/libraries/libhugetlbfs/default.nix index ed5f67d43709..061fe51ed5ba 100644 --- a/pkgs/development/libraries/libhugetlbfs/default.nix +++ b/pkgs/development/libraries/libhugetlbfs/default.nix @@ -1,26 +1,16 @@ -{ stdenv, lib, fetchurl, fetchpatch }: +{ stdenv, lib, fetchurl }: stdenv.mkDerivation rec { pname = "libhugetlbfs"; - version = "2.22"; + version = "2.23"; src = fetchurl { url = "https://github.com/libhugetlbfs/libhugetlbfs/releases/download/${version}/libhugetlbfs-${version}.tar.gz"; - sha256 = "11b7k8xvgx68rjzidm12a6l6b23hwi7hj149y9xxfz2j5kmakp4l"; + sha256 = "0ya4q001g111d3pqlzrf3yaifadl0ccirx5dndz1pih7x3qp41mp"; }; outputs = [ "bin" "dev" "man" "doc" "lib" "out" ]; - patches = [ - # Don't check that 32-bit and 64-bit libraries don't get installed - # to the same place if only one platform is being built for. - # Can be removed if build succeeds without it. - (fetchpatch { - url = "https://groups.google.com/forum/message/raw?msg=libhugetlbfs/IswjDAygfwA/PKy7MZbVAAAJ"; - sha256 = "00fyrhn380d6swil8pcf4x0krl1113ghswrvjn3m9czc3h4p385a"; - }) - ]; - postConfigure = '' patchShebangs ld.hugetlbfs ''; @@ -34,8 +24,8 @@ stdenv.mkDerivation rec { "LIBDIR64=$(lib)/$(LIB64)" "EXEDIR=$(bin)/bin" "DOCDIR=$(doc)/share/doc/libhugetlbfs" - ] ++ map (n: "MANDIR${n}=$(man)/share/man/man${n}") - (lib.genList (n: toString (n + 1)) 8); + "MANDIR=$(man)/share/man" + ]; # Default target builds tests as well, and the tests want a static # libc. diff --git a/pkgs/development/libraries/openxr-loader/default.nix b/pkgs/development/libraries/openxr-loader/default.nix index 2f901f0e4128..452f72146d95 100644 --- a/pkgs/development/libraries/openxr-loader/default.nix +++ b/pkgs/development/libraries/openxr-loader/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "openxr-loader"; - version = "1.0.13"; + version = "1.0.14"; src = fetchFromGitHub { owner = "KhronosGroup"; repo = "OpenXR-SDK-Source"; rev = "release-${version}"; - sha256 = "0znhv7x81bvqijk5xhc5w760d5yy6vr5c2y271wpk9lkmxbbcpl1"; + sha256 = "sha256-ZmaxHm4MPd2q83PLduoavoynqRPEI79IpMfW32gkV14="; }; nativeBuildInputs = [ cmake python3 ]; diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix new file mode 100644 index 000000000000..e23db23d151e --- /dev/null +++ b/pkgs/development/python-modules/ailment/default.nix @@ -0,0 +1,32 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, pyvex +}: + +buildPythonPackage rec { + pname = "ailment"; + version = "9.0.5739"; + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "angr"; + repo = pname; + rev = "v${version}"; + sha256 = "1fjwksia6h7w7m5zhys65yr4zxvyfgp9hr1k5dn802p9kvz34bpc"; + }; + + propagatedBuildInputs = [ pyvex ]; + + # Tests depend on angr (possibly a circular dependency) + doCheck = false; + #pythonImportsCheck = [ "ailment" ]; + + meta = with lib; { + description = "The angr Intermediate Language"; + homepage = "https://github.com/angr/ailment"; + license = with licenses; [ bsd2 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix index 8cd0f20a7f26..79f21a2762c5 100644 --- a/pkgs/development/python-modules/archinfo/default.nix +++ b/pkgs/development/python-modules/archinfo/default.nix @@ -7,13 +7,13 @@ buildPythonPackage rec { pname = "archinfo"; - version = "9.0.5610"; + version = "9.0.5739"; src = fetchFromGitHub { owner = "angr"; repo = pname; rev = "v${version}"; - sha256 = "sha256-YlqCRLx8mqHXMKPCWqcGvHxRBGOxbwMZWPEDX/jEDdI="; + sha256 = "sha256-6qjX0r2vLYgJdrKBVKedplfa1yhWv9tBvTu5BsViXBc="; }; checkInputs = [ diff --git a/pkgs/development/python-modules/h3/default.nix b/pkgs/development/python-modules/h3/default.nix index 46b774a25c1e..e66a3f5e9fcb 100644 --- a/pkgs/development/python-modules/h3/default.nix +++ b/pkgs/development/python-modules/h3/default.nix @@ -1,35 +1,69 @@ -{ lib, stdenv +{ autoPatchelfHook , buildPythonPackage , cmake -, fetchPypi +, cython +, fetchFromGitHub , h3 -, python +, lib +, numpy +, pytestCheckHook +, scikit-build +, stdenv }: buildPythonPackage rec { pname = "h3"; - version = "3.7.0"; + version = "3.7.1"; - src = fetchPypi { - inherit pname version; - sha256 = "cd27fc8ecd9183f93934079b7c986401f499030ff2e2171eace9de462fab561d"; + # pypi version does not include tests + src = fetchFromGitHub { + owner = "uber"; + repo = "h3-py"; + rev = "v${version}"; + sha256 = "sha256-MIVV3kZGsIsaJ/ccJOK3+j1VwkUsZGHS5d1sGOBa1Ec="; }; - patches = [ - ./disable-custom-install.patch - ./hardcode-h3-path.patch + dontConfigure = true; + + checkInputs = [ pytestCheckHook ]; + + nativeBuildInputs = [ + scikit-build cmake cython + ] ++ lib.optionals stdenv.hostPlatform.isLinux [ + # On Linux the .so files ends up referring to libh3.so instead of the full + # Nix store path. I'm not sure why this is happening! On Darwin it works + # fine. + autoPatchelfHook ]; - preBuild = '' - substituteInPlace h3/h3.py \ - --subst-var-by libh3_path ${h3}/lib/libh3${stdenv.hostPlatform.extensions.sharedLibrary} - ''; + # This is not needed per-se, it's only added for autoPatchelfHook to work + # correctly. See the note above ^^ + buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ h3 ]; + + propagatedBuildInputs = [ numpy ]; + + # The following prePatch replaces the h3lib compilation with using the h3 packaged in nixpkgs. + # + # - Remove the h3lib submodule. + # - Patch CMakeLists to avoid building h3lib, and use h3 instead. + prePatch = + let + cmakeCommands = '' + include_directories(${h3}/include/h3) + link_directories(${h3}/lib) + ''; + in '' + rm -r src/h3lib + substituteInPlace CMakeLists.txt --replace "add_subdirectory(src/h3lib)" "${cmakeCommands}" + ''; + + # Extra check to make sure we can import it from Python + pythonImportsCheck = [ "h3" ]; meta = with lib; { homepage = "https://github.com/uber/h3-py"; - description = "This library provides Python bindings for the H3 Core Library."; + description = "Hierarchical hexagonal geospatial indexing system"; license = licenses.asl20; - platforms = platforms.unix ++ platforms.darwin; maintainers = [ maintainers.kalbasit ]; }; } diff --git a/pkgs/development/python-modules/h3/disable-custom-install.patch b/pkgs/development/python-modules/h3/disable-custom-install.patch deleted file mode 100644 index 981e3b6e2fc6..000000000000 --- a/pkgs/development/python-modules/h3/disable-custom-install.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/setup.py b/setup.py -index 8e1c220..45297b6 100644 ---- a/setup.py -+++ b/setup.py -@@ -25,20 +25,6 @@ class CustomBuildExtCommand(build_ext): - install_h3(h3_version) - - --# Tested with wheel v0.29.0 --class BinaryDistribution(Distribution): -- def __init__(self, attrs=None): -- Distribution.__init__(self, attrs) -- # The values used for the name and sources in the Extension below are -- # not important, because we override the build_ext command above. -- # The normal C extension building logic is never invoked, and is -- # replaced with our own custom logic. However, ext_modules cannot be -- # empty, because this signals to other parts of distutils that our -- # package contains C extensions and thus needs to be built for -- # different platforms separately. -- self.ext_modules = [Extension('h3c', [])] -- -- - long_description = open('README.rst').read() - - setup( -@@ -52,14 +38,10 @@ setup( - url='https://github.com/uber/h3-py.git', - packages=find_packages(exclude=['tests', 'tests.*']), - install_requires=[], -- cmdclass={ -- 'build_ext': CustomBuildExtCommand, -- }, - package_data={ - 'h-py': - ['out/*.dylib' if platform.system() == 'Darwin' else ( - 'out/*.dll' if platform.system() == 'Windows' else - 'out/*.so.*')] - }, -- license='Apache License 2.0', -- distclass=BinaryDistribution) -+ license='Apache License 2.0') diff --git a/pkgs/development/python-modules/h3/hardcode-h3-path.patch b/pkgs/development/python-modules/h3/hardcode-h3-path.patch deleted file mode 100644 index 87549f298d74..000000000000 --- a/pkgs/development/python-modules/h3/hardcode-h3-path.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/h3/h3.py b/h3/h3.py -index 18cf168..2cc7812 100644 ---- a/h3/h3.py -+++ b/h3/h3.py -@@ -34,13 +34,7 @@ from ctypes import ( - POINTER, - ) - --_dirname = os.path.dirname(__file__) --libh3_path = ('{}/{}'.format(_dirname, 'out/libh3.1.dylib') -- if platform.system() == 'Darwin' else ( -- '{}/{}'.format(_dirname, 'out/h3.dll') if platform.system() == 'Windows' else -- '{}/{}'.format(_dirname, 'out/libh3.so.1'))) -- --libh3 = cdll.LoadLibrary(libh3_path) -+libh3 = cdll.LoadLibrary('@libh3_path@') - - # Type of an H3 index - H3Index = c_ulonglong diff --git a/pkgs/development/python-modules/libpurecool/default.nix b/pkgs/development/python-modules/libpurecool/default.nix new file mode 100644 index 000000000000..aa523d9a98bf --- /dev/null +++ b/pkgs/development/python-modules/libpurecool/default.nix @@ -0,0 +1,47 @@ +{ lib +, buildPythonPackage +, fetchPypi +, netifaces +, paho-mqtt +, pycryptodome +, requests +, six +, zeroconf +}: + +buildPythonPackage rec { + pname = "libpurecool"; + version = "0.6.4"; + + src = fetchPypi { + inherit pname version; + sha256 = "1kwbinbg0i4fca1bpx6jwa1fiw71vg0xa89jhq4pmnl5cn9c8kqx"; + }; + + # Remove vendorized zeroconf, https://github.com/etheralm/libpurecool/issues/33 + postPatch = '' + rm libpurecool/zeroconf.py + substituteInPlace libpurecool/dyson_pure_cool_link.py \ + --replace "from .zeroconf import ServiceBrowser, Zeroconf" "from zeroconf import ServiceBrowser, Zeroconf" + ''; + + propagatedBuildInputs = [ + netifaces + paho-mqtt + pycryptodome + requests + six + zeroconf + ]; + + # Tests are only present in repo, https://github.com/etheralm/libpurecool/issues/36 + doCheck = false; + pythonImportsCheck = [ "libpurecool" ]; + + meta = with lib; { + description = "Python library for Dyson devices"; + homepage = "http://libpurecool.readthedocs.io"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/py-multihash/default.nix b/pkgs/development/python-modules/py-multihash/default.nix index 1f8ecad00135..1b49ffa15399 100644 --- a/pkgs/development/python-modules/py-multihash/default.nix +++ b/pkgs/development/python-modules/py-multihash/default.nix @@ -49,6 +49,5 @@ buildPythonPackage rec { homepage = "https://github.com/multiformats/py-multihash"; license = licenses.mit; maintainers = with maintainers; [ rakesh4g ]; - broken = true; # no longer compatible with base58, no updates in 5 years. Added 2020-11-05 }; } diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix new file mode 100644 index 000000000000..ddec4f0f2397 --- /dev/null +++ b/pkgs/development/python-modules/pyvex/default.nix @@ -0,0 +1,39 @@ +{ lib +, archinfo +, bitstring +, fetchPypi +, cffi +, buildPythonPackage +, future +, pycparser +}: + +buildPythonPackage rec { + pname = "pyvex"; + version = "9.0.5739"; + + src = fetchPypi { + inherit pname version; + sha256 = "1jwxxw2kw7wkz7kh8m8vbavzw6m5k6xph7mazfn3k2qbsshh3lk3"; + }; + + propagatedBuildInputs = [ + archinfo + bitstring + cffi + future + pycparser + ]; + + # No tests are available on PyPI, GitHub release has tests + # Switch to GitHub release after all angr parts are present + doCheck = false; + pythonImportsCheck = [ "pyvex" ]; + + meta = with lib; { + description = "Python interface to libVEX and VEX IR"; + homepage = "https://github.com/angr/pyvex"; + license = with licenses; [ bsd2 gpl3Plus lgpl3Plus ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/sqlite-utils/default.nix b/pkgs/development/python-modules/sqlite-utils/default.nix index 2bb700f67557..1c49e1f4a026 100644 --- a/pkgs/development/python-modules/sqlite-utils/default.nix +++ b/pkgs/development/python-modules/sqlite-utils/default.nix @@ -15,12 +15,12 @@ buildPythonPackage rec { pname = "sqlite-utils"; - version = "3.3"; + version = "3.4.1"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; - sha256 = "1linla3za1gb3w0n0k6h3q8in62qhipizff259p14gzmyr95rjjv"; + sha256 = "sha256-LJuvUTbsL2anQENEuW1oaSUsMEiXnSgLEAhZ6EP5bNs="; }; propagatedBuildInputs = [ diff --git a/pkgs/development/tools/misc/bonnmotion/default.nix b/pkgs/development/tools/misc/bonnmotion/default.nix new file mode 100644 index 000000000000..7ec9f3e1400a --- /dev/null +++ b/pkgs/development/tools/misc/bonnmotion/default.nix @@ -0,0 +1,50 @@ +{ stdenv, lib, fetchzip, substituteAll, bash, jre }: + +stdenv.mkDerivation rec { + pname = "bonnmotion"; + version = "3.0.1"; + + src = fetchzip { + url = "https://sys.cs.uos.de/bonnmotion/src/bonnmotion-${version}.zip"; + sha256 = "16bjgr0hy6an892m5r3x9yq6rqrl11n91f9rambq5ik1cxjqarxw"; + }; + + patches = [ + # The software has a non-standard install bash script which kind of works. + # However, to make it fully functional, the automatically detection of the + # program paths must be substituted with full paths. + (substituteAll { + src = ./install.patch; + inherit bash jre; + }) + ]; + + installPhase = '' + runHook preInstall + + ./install + + mkdir -p $out/bin $out/share/bonnmotion + cp -r ./classes ./lib $out/share/bonnmotion/ + cp ./bin/bm $out/bin/ + + substituteInPlace $out/bin/bm \ + --replace /build/source $out/share/bonnmotion + + runHook postInstall + ''; + + meta = with lib; { + description = "A mobility scenario generation and analysis tool"; + longDescription = '' + BonnMotion is a Java software which creates and analyzes mobility + scenarios and is most commonly used as a tool for the investigation of + mobile ad hoc network characteristics. The scenarios can also be exported + for several network simulators, such as ns-2, ns-3, GloMoSim/QualNet, + COOJA, MiXiM, and ONE. + ''; + homepage = "https://sys.cs.uos.de/bonnmotion/"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ oxzi ]; + }; +} diff --git a/pkgs/development/tools/misc/bonnmotion/install.patch b/pkgs/development/tools/misc/bonnmotion/install.patch new file mode 100644 index 000000000000..86be99b3dd5e --- /dev/null +++ b/pkgs/development/tools/misc/bonnmotion/install.patch @@ -0,0 +1,75 @@ +diff --git a/install b/install +index 95afa2c..70c5fca 100755 +--- a/install ++++ b/install +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!@bash@/bin/bash + + echo "BonnMotion - a mobility scenario generation and analysis tool" + echo "Copyright (C) 2002-2012 University of Bonn" +@@ -19,28 +19,11 @@ echo "along with this program; if not, write to the Free Software" + echo "Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA" + echo + +-OS=`uname -s | tr A-Z a-z | sed -e s/_.\*//` +- + PACKAGE=edu.bonn.cs.iv.bonnmotion +-JAVAPATH=`which java 2> /dev/null` +-if [ ! "$JAVAPATH" = "" ] +-then +- JAVAPATH=`dirname ${JAVAPATH}` +-fi +-echo -n Please enter your Java binary path \[$JAVAPATH\]:\ +-read KBDENTRY +-if [ ! "$KBDENTRY" = "" ] +-then +- JAVAPATH=$KBDENTRY +-fi ++JAVAPATH="@jre@/bin" + if [ -x "${JAVAPATH}/java" ] + then +- cd `dirname $0` +- BONNMOTION=`pwd` +- +- cd "${JAVAPATH}" +- JAVAPATH=`pwd` +- cd "${BONNMOTION}" ++ BONNMOTION="$(realpath .)" + + CLASSPATH="${BONNMOTION}/classes" + DOCPATH="${BONNMOTION}/javadoc" +@@ -52,14 +35,7 @@ then + then + mkdir "${DOCPATH}" + fi +- if [ $OS = "cygwin" ] +- then +- cd "${CLASSPATH}" +- CLASSPATH=`cmd.exe /c cd` +- cd "${DOCPATH}" +- DOCPATH=`cmd.exe /c cd` +- fi +- ++ + for l in $BONNMOTION/lib/*.jar + do + LIBRARYPATH=$LIBRARYPATH:$l +@@ -69,7 +45,7 @@ then + APPS=`ls` + cd "${BONNMOTION}/bin" + +- echo \#\!/bin/bash > .head ++ echo \#\!@bash@/bin/bash > .head + echo >> .head + echo BONNMOTION=\"$BONNMOTION\" >> .head + echo PACKAGE=\"$PACKAGE\" >> .head +@@ -103,8 +79,6 @@ then + fi + echo "done." + echo +- echo "$ ./bin/bm -h" +- ./bm + else + echo No executable \"$JAVAPATH/java\", aborting. + fi diff --git a/pkgs/misc/emulators/ppsspp/default.nix b/pkgs/misc/emulators/ppsspp/default.nix index 87dacd46d576..a50bc3eb3ec8 100644 --- a/pkgs/misc/emulators/ppsspp/default.nix +++ b/pkgs/misc/emulators/ppsspp/default.nix @@ -16,14 +16,14 @@ mkDerivation rec { pname = "ppsspp"; - version = "1.10.3"; + version = "1.11"; src = fetchFromGitHub { owner = "hrydgard"; repo = pname; rev = "v${version}"; fetchSubmodules = true; - sha256 = "sha256-W41Poq5S+opkasIGYo13SQZWQF1HjfFnH7u9DW5HNA0="; + sha256 = "19948jzqpclf8zfzp3k7s580xfjgqcyfwlcp7x7xj8h8lyypzymx"; }; postPatch = '' diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix index 4fd1cf7ef1ad..6801256c7d36 100644 --- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix +++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix @@ -2,12 +2,12 @@ stdenvNoCC.mkDerivation rec { pname = "firmware-linux-nonfree"; - version = "2020-12-18"; + version = "2021-02-08"; src = fetchgit { url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"; rev = lib.replaceStrings ["-"] [""] version; - sha256 = "1rb5b3fzxk5bi6kfqp76q1qszivi0v1kdz1cwj2llp5sd9ns03b5"; + sha256 = "0c85cd659312isfz1r87qswsgfhy0rljagcwspnvjljqrh9bsgzq"; }; installFlags = [ "DESTDIR=$(out)" ]; @@ -17,7 +17,7 @@ stdenvNoCC.mkDerivation rec { outputHashMode = "recursive"; outputHashAlgo = "sha256"; - outputHash = "1p7vn2hfwca6w69jhw5zq70w44ji8mdnibm1z959aalax6ndy146"; + outputHash = "0l4xsgxdvjffad7a98n42nyqy3ihs6m6hy3qsfkqin9z10413x5n"; meta = with lib; { description = "Binary firmware collection packaged by kernel.org"; diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json index 9c0f261d0c9a..030e367348c5 100644 --- a/pkgs/os-specific/linux/kernel/hardened/patches.json +++ b/pkgs/os-specific/linux/kernel/hardened/patches.json @@ -1,26 +1,26 @@ { "4.14": { "extra": "-hardened1", - "name": "linux-hardened-4.14.219-hardened1.patch", - "sha256": "0pgpb7phjgil01xbpwqdwyk8k3pv5qlikw4721cmy10aj97plpqw", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.219-hardened1/linux-hardened-4.14.219-hardened1.patch" + "name": "linux-hardened-4.14.220-hardened1.patch", + "sha256": "083jc9lwr8lwxyfk4r39jcncf2g89srd50crj17jw9ysrp1jpyks", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.220-hardened1/linux-hardened-4.14.220-hardened1.patch" }, "4.19": { "extra": "-hardened1", - "name": "linux-hardened-4.19.173-hardened1.patch", - "sha256": "19ikdwvp3mjh6cl2anhlpzmk1ha4lw1lf9rmvls7pzc7d1bmlwi0", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.173-hardened1/linux-hardened-4.19.173-hardened1.patch" + "name": "linux-hardened-4.19.174-hardened1.patch", + "sha256": "1ggh7rjqm68gih41a9z2pzm1wm483165lvmigdp604p152157974", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.174-hardened1/linux-hardened-4.19.174-hardened1.patch" }, "5.10": { "extra": "-hardened1", - "name": "linux-hardened-5.10.13-hardened1.patch", - "sha256": "1pn6ddkpairsij8p5130h8iwqq65v6ngn0c3pf6rlavy4az1sw82", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.13-hardened1/linux-hardened-5.10.13-hardened1.patch" + "name": "linux-hardened-5.10.14-hardened1.patch", + "sha256": "1l84hmwdkyd1nkby0w7vy9j0jhg866bpiw6hriav208dw2r0binx", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.14-hardened1/linux-hardened-5.10.14-hardened1.patch" }, "5.4": { "extra": "-hardened1", - "name": "linux-hardened-5.4.95-hardened1.patch", - "sha256": "04c54xk75gb4p4yfrmjam25jafqz47cqapr38jw2v1plwc98ng4m", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.95-hardened1/linux-hardened-5.4.95-hardened1.patch" + "name": "linux-hardened-5.4.96-hardened1.patch", + "sha256": "05cb303llr2m5ik5f4v5ykr8ycldkrdb8gvjdr02zm8g0as7agil", + "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.96-hardened1/linux-hardened-5.4.96-hardened1.patch" } } diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index d387e2fd03db..dd1692c0331b 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "4.14.219"; + version = "4.14.220"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1p81p2g1dax225mbc704g1yl96i93nq19j9fpkrzr4f066kwmvkm"; + sha256 = "1qip0c8nvfximgg4fj9xai741cgvi9f141bsps3zmrryjd796i6h"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix index f0d84e36fa84..8110c107054b 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.19.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "4.19.173"; + version = "4.19.174"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0pqr8k0kfnaklb31y29xvqdmgn0pak4qd9pl77lsh6pkwqvd5zfj"; + sha256 = "1rcy0hfbc3ny52mfrfysknm1q2scqz0g8l28j0qlyw8cx41wgxhg"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix index 3b8cea54f34d..44614f47dfc6 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix @@ -1,11 +1,11 @@ { buildPackages, fetchurl, perl, buildLinux, ... } @ args: buildLinux (args // rec { - version = "4.4.255"; + version = "4.4.256"; extraMeta.branch = "4.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0l45csywd30qrs8gwzjjijr5hwpd5s05rbyrxb37vck78znk0f1g"; + sha256 = "1z7vfy4h0mjvv0rcvvpb55x5fl16c6cgpcafz5gpjp0pw1p2lva8"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index 4591018ee94b..c03cfaabb309 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix @@ -1,11 +1,11 @@ { buildPackages, fetchurl, perl, buildLinux, ... } @ args: buildLinux (args // rec { - version = "4.9.255"; + version = "4.9.256"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "066101fzq5lr1pznw1hwlvsdgqpv8n7b2yi09qpv3xi0r41jvpxg"; + sha256 = "15qlv4m56dzv195xjy4yp8qsrkbmv51vwfg0qcm664hkrb4i32y4"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix index 719f9ee40f15..cceb8eeafa6e 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "5.10.13"; + version = "5.10.14"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "1wp1vy9y50ncwlx5yqgya5gy0vdqgzn0icffg6dzmvjwwc68qs86"; + sha256 = "0ahxga1jdgn8kxln0pn8j42qxx0dhrhm9vcpwilyjnwb36gvf9zs"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix index b5564815436c..ba6e1bbd2b25 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.4.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix @@ -3,7 +3,7 @@ with lib; buildLinux (args // rec { - version = "5.4.95"; + version = "5.4.96"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "0jfl2jwq9z6iymn6sfrdcf9w63nijdzf3ncxc77a5gs6yd2fa2h3"; + sha256 = "1q7mz69wzk1ps5770l9bj556qyndiz2frjjsl7pigsy5brlxwa7p"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix index a84828aa0c1a..057027d3c887 100644 --- a/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -1,8 +1,8 @@ { stdenv, lib, fetchsvn, linux , scripts ? fetchsvn { url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/"; - rev = "17812"; - sha256 = "150rh6qakyfzr6afzchf7c05z0dvc39gj0rpfb4ggr7xqpzhxrcc"; + rev = "17873"; + sha256 = "1r1c8wagbq3cgxys7ylvsg6bnxiky66xgx9l0282zsmnn3gh83l7"; } , ... }: diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 7bf7be63d668..95506e378f28 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -195,7 +195,7 @@ "dwd_weather_warnings" = ps: with ps; [ ]; # missing inputs: dwdwfsapi "dweet" = ps: with ps; [ ]; # missing inputs: dweepy "dynalite" = ps: with ps; [ ]; # missing inputs: dynalite_devices - "dyson" = ps: with ps; [ aiohttp-cors zeroconf ]; # missing inputs: libpurecool + "dyson" = ps: with ps; [ aiohttp-cors libpurecool zeroconf ]; "eafm" = ps: with ps; [ aioeafm ]; "ebox" = ps: with ps; [ ]; # missing inputs: pyebox "ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix index 732f8e47c508..0725b674a391 100644 --- a/pkgs/servers/http/nginx/modules.nix +++ b/pkgs/servers/http/nginx/modules.nix @@ -22,6 +22,17 @@ in fastcgi-cache-purge = throw "fastcgi-cache-purge was renamed to cache-purge"; ngx_aws_auth = throw "ngx_aws_auth was renamed to aws-auth"; + akamai-token-validate = { + src = fetchFromGitHub { + name = "akamai-token-validate"; + owner = "kaltura"; + repo = "nginx-akamai-token-validate-module"; + rev = "34fd0c94d2c43c642f323491c4f4a226cd83b962"; + sha256 = "0yf34s11vgkcl03wbl6gjngm3p9hs8vvm7hkjkwhjh39vkk2a7cy"; + }; + inputs = [ pkgs.openssl ]; + }; + aws-auth = { src = fetchFromGitHub { name = "aws-auth"; @@ -320,6 +331,17 @@ in }; }; + secure-token = { + src = fetchFromGitHub { + name = "secure-token"; + owner = "kaltura"; + repo = "nginx-secure-token-module"; + rev = "95bdc0d1aca06ea7fe42555f71e65910bd74914d"; + sha256 = "19wzck1xzq4kz7nyabcwzlank1k7wi7w2wn2c1mwz374c79g8ggp"; + }; + inputs = [ pkgs.openssl ]; + }; + set-misc = { src = fetchFromGitHub { name = "set-misc"; @@ -472,6 +494,17 @@ in inputs = [ pkgs.ffmpeg_3 ]; }; + vod = { + src = fetchFromGitHub { + name = "vod"; + owner = "kaltura"; + repo = "nginx-vod-module"; + rev = "e46079f51282d5a378e6911714b5f3a533bb7700"; + sha256 = "0pzzq4xcq7jg8mxwnz7srj1nczg9ajd1b8q58qlm03lny8nd2hr5"; + }; + inputs = [ pkgs.ffmpeg_3 pkgs.fdk_aac pkgs.openssl pkgs.libxml2 pkgs.libiconv ]; + }; + vts = { src = fetchFromGitHub { name = "vts"; diff --git a/pkgs/servers/monitoring/prometheus/promscale.nix b/pkgs/servers/monitoring/prometheus/promscale.nix index a4ba3cee620d..965b33aa337c 100644 --- a/pkgs/servers/monitoring/prometheus/promscale.nix +++ b/pkgs/servers/monitoring/prometheus/promscale.nix @@ -5,20 +5,29 @@ buildGoModule rec { pname = "promscale"; - version = "0.1.4"; + version = "0.2.0"; src = fetchFromGitHub { owner = "timescale"; repo = pname; rev = version; - sha256 = "0179sw5zx552y14lr56adxcgas642xvxpqly6y4m9pi33r1gs8lj"; + sha256 = "sha256-rXOAAd08NTWFRGnJoAY9xllw6dAA7Xu3qcImIVq9ewE="; }; - vendorSha256 = "sha256:04gzf0siz96ar4qdkcw6daswy14i1zvl7ir200adhw1c5phppab6"; + vendorSha256 = "sha256-/woSbtrOI3BVBhh+A2kO1CB1BLzBciwOqvSbGkFeMEU="; buildFlagsArray = [ "-ldflags=-s -w -X github.com/timescale/promscale/pkg/version.Version=${version} -X github.com/timescale/promscale/pkg/version.CommitHash=${src.rev}" ]; doCheck = false; # Requires access to a docker daemon + doInstallCheck = true; + installCheckPhase = '' + if [[ "$("$out/bin/${pname}" -version)" == "${version}" ]]; then + echo '${pname} smoke check passed' + else + echo '${pname} smoke check failed' + exit 1 + fi + ''; meta = with lib; { description = "An open-source analytical platform for Prometheus metrics"; diff --git a/pkgs/servers/roundcube/default.nix b/pkgs/servers/roundcube/default.nix index ce62b7d1fdcc..75afedaa2ddc 100644 --- a/pkgs/servers/roundcube/default.nix +++ b/pkgs/servers/roundcube/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "roundcube"; - version = "1.4.10"; + version = "1.4.11"; src = fetchurl { url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz"; - sha256 = "03sjvmnrspkiq0w73xvp1w61pcxhv0djrdm3mvs8h0dp9pfc1n53"; + sha256 = "sha256-rHMZBwwwX8LIjHcjYFVi2GBwMHMr7ukxzbQJHPBeabc="; }; patches = [ ./0001-Don-t-resolve-symlinks-when-trying-to-find-INSTALL_P.patch ]; diff --git a/pkgs/tools/graphics/scrot/default.nix b/pkgs/tools/graphics/scrot/default.nix index 2fd56d0737d4..aa525abacb07 100644 --- a/pkgs/tools/graphics/scrot/default.nix +++ b/pkgs/tools/graphics/scrot/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { pname = "scrot"; - version = "1.4"; + version = "1.5"; src = fetchFromGitHub { owner = "resurrecting-open-source-projects"; repo = pname; rev = version; - sha256 = "12xq6glg70icwsvbnfw9gm4dahlbnrc7b6adpd0mpf89h4sj2gds"; + sha256 = "sha256-4vguodLnCj0sOBLM4oJXTfX1p8hIo3WTwIuViPtZxHQ="; }; nativeBuildInputs = [ autoreconfHook autoconf-archive ]; diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix index 5e09ddd430b4..6ff8ba096b44 100644 --- a/pkgs/tools/networking/haproxy/default.nix +++ b/pkgs/tools/networking/haproxy/default.nix @@ -11,11 +11,11 @@ assert usePcre -> pcre != null; stdenv.mkDerivation rec { pname = "haproxy"; - version = "2.3.4"; + version = "2.3.5"; src = fetchurl { url = "https://www.haproxy.org/download/${lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz"; - sha256 = "sha256-YBSM3+3WsZxAHbzXXM12pTwgvHbEkDK6Mq+YoKXEle0="; + sha256 = "sha256-eSRTlTC79VWCnH9Yhr4Lf8+NnI/+CGe3AQvrZwq/vks="; }; buildInputs = [ openssl zlib ] diff --git a/pkgs/tools/networking/httpie/default.nix b/pkgs/tools/networking/httpie/default.nix index c5e12317fd7d..a323087575bf 100644 --- a/pkgs/tools/networking/httpie/default.nix +++ b/pkgs/tools/networking/httpie/default.nix @@ -1,30 +1,23 @@ -{ lib, fetchFromGitHub, python3Packages, docutils, fetchpatch }: +{ lib, fetchFromGitHub, python3Packages, docutils }: python3Packages.buildPythonApplication rec { pname = "httpie"; - version = "2.2.0"; + version = "2.4.0"; src = fetchFromGitHub { - owner = "jakubroztocil"; + owner = "httpie"; repo = "httpie"; rev = version; - sha256 = "0caazv24jr0844c4mdx77vzwwi5m869n10wa42cydb08ppx1xxj6"; + sha256 = "00lafjqg9nfnak0nhcr2l2hzzkwn2y6qv0wdkm6r6f69snizy3hf"; }; + patches = [ + ./strip-venv.patch + ]; + outputs = [ "out" "doc" "man" ]; - propagatedBuildInputs = with python3Packages; [ pygments requests setuptools ]; - dontUseSetuptoolsCheck = true; - patches = [ - ./strip-venv.patch - - # Fix `test_ciphers_none_can_be_selected` - # TODO: remove on next release - (fetchpatch { - url = "https://github.com/jakubroztocil/httpie/commit/49e71d252f54871a6bc49cb1cba103d385a543b8.patch"; - sha256 = "13b2faf50gimj7f17dlx4gmd8ph8ipgihpzfqbvmfjlbf1v95fsj"; - }) - ]; + propagatedBuildInputs = with python3Packages; [ pygments requests requests-toolbelt setuptools ]; checkInputs = with python3Packages; [ mock @@ -70,15 +63,6 @@ python3Packages.buildPythonApplication rec { toHtml CHANGELOG.rst $docdir/html/CHANGELOG.html toHtml CONTRIBUTING.rst $docdir/html/CONTRIBUTING.html - # change a few links to the local files - substituteInPlace $docdir/html/index.html \ - --replace \ - 'https://github.com/jakubroztocil/httpie/blob/master/CHANGELOG.rst' \ - "CHANGELOG.html" \ - --replace \ - 'https://github.com/jakubroztocil/httpie/blob/master/CONTRIBUTING.rst' \ - "CONTRIBUTING.html" - ${docutils}/bin/rst2man \ --strip-elements-with-class=no-web \ --title=http \ @@ -94,10 +78,14 @@ python3Packages.buildPythonApplication rec { export PATH=${docutils}/bin:$PATH ''; - meta = { + checkPhase = '' + py.test ./httpie ./tests --doctest-modules --verbose ./httpie ./tests -k 'not test_chunked and not test_verbose_chunked and not test_multipart_chunked and not test_request_body_from_file_by_path_chunked' + ''; + + meta = with lib; { description = "A command line HTTP client whose goal is to make CLI human-friendly"; homepage = "https://httpie.org/"; - license = lib.licenses.bsd3; - maintainers = with lib.maintainers; [ antono relrod schneefux ]; + license = licenses.bsd3; + maintainers = with maintainers; [ antono relrod schneefux SuperSandro2000 ]; }; } diff --git a/pkgs/tools/networking/httpie/strip-venv.patch b/pkgs/tools/networking/httpie/strip-venv.patch index 99ea80a3f566..9cfddbfdf78f 100644 --- a/pkgs/tools/networking/httpie/strip-venv.patch +++ b/pkgs/tools/networking/httpie/strip-venv.patch @@ -1,11 +1,11 @@ diff --git a/tests/test_docs.py b/tests/test_docs.py -index 7a41822..720ecf6 100644 +index 340e64d..a6b4dc9 100644 --- a/tests/test_docs.py +++ b/tests/test_docs.py -@@ -41,12 +41,10 @@ assert filenames - +@@ -42,15 +42,10 @@ assert filenames # HACK: hardcoded paths, venv should be irrelevant, etc. - # TODO: replaces the process with Python code + # TODO: simplify by using the Python API instead of a subprocess + # then we wont’t need the paths. -VENV_BIN = Path(__file__).parent.parent / 'venv/bin' -VENV_PYTHON = VENV_BIN / 'python' -VENV_RST2PSEUDOXML = VENV_BIN / 'rst2pseudoxml.py' @@ -13,7 +13,10 @@ index 7a41822..720ecf6 100644 +VENV_RST2PSEUDOXML = 'rst2pseudoxml.py' --@pytest.mark.skipif(not os.path.exists(VENV_RST2PSEUDOXML), reason='docutils not installed') +-@pytest.mark.skipif( +- not VENV_RST2PSEUDOXML.exists(), +- reason='docutils not installed', +-) @pytest.mark.parametrize('filename', filenames) def test_rst_file_syntax(filename): p = subprocess.Popen( diff --git a/pkgs/tools/text/ocrmypdf/0001-Make-compatible-with-pdfminer.six-version-20200720.patch b/pkgs/tools/text/ocrmypdf/0001-Make-compatible-with-pdfminer.six-version-20200720.patch deleted file mode 100644 index 967bcd3948c2..000000000000 --- a/pkgs/tools/text/ocrmypdf/0001-Make-compatible-with-pdfminer.six-version-20200720.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 4315b58e0bffedd145cec61f96062292cd98278e Mon Sep 17 00:00:00 2001 -From: Pascal Bach -Date: Thu, 23 Jul 2020 21:37:33 +0200 -Subject: [PATCH] Make compatible with pdfminer.six version 20200720 - ---- - setup.py | 2 +- - src/ocrmypdf/pdfinfo/layout.py | 8 ++++++-- - 2 files changed, 7 insertions(+), 3 deletions(-) - -diff --git a/setup.py b/setup.py -index bd95ed9..d1f4ab1 100644 ---- a/setup.py -+++ b/setup.py -@@ -83,7 +83,7 @@ setup( - 'cffi >= 1.9.1', # must be a setup and install requirement - 'coloredlogs >= 14.0', # strictly optional - 'img2pdf >= 0.3.0, < 0.4', # pure Python, so track HEAD closely -- 'pdfminer.six >= 20191110, <= 20200517', -+ 'pdfminer.six >= 20191110, <= 20200720', - 'pikepdf >= 1.14.0, < 2', - 'Pillow >= 7.0.0', - 'pluggy >= 0.13.0', -diff --git a/src/ocrmypdf/pdfinfo/layout.py b/src/ocrmypdf/pdfinfo/layout.py -index 98bd82e..8b41e14 100644 ---- a/src/ocrmypdf/pdfinfo/layout.py -+++ b/src/ocrmypdf/pdfinfo/layout.py -@@ -26,7 +26,11 @@ import pdfminer.pdfdevice - import pdfminer.pdfinterp - from pdfminer.converter import PDFLayoutAnalyzer - from pdfminer.layout import LAParams, LTChar, LTPage, LTTextBox --from pdfminer.pdfdocument import PDFTextExtractionNotAllowed -+try: -+ from pdfminer.pdfdocument import PDFTextExtractionNotAllowedError -+except ImportError: -+ # Fallback for pdfminer < 20200720 -+ from pdfminer.pdfdocument import PDFTextExtractionNotAllowed as PDFTextExtractionNotAllowedError - from pdfminer.pdffont import PDFSimpleFont, PDFUnicodeNotDefined - from pdfminer.pdfpage import PDFPage - from pdfminer.utils import bbox2str, matrix2str -@@ -239,7 +243,7 @@ def get_page_analysis(infile, pageno, pscript5_mode): - with Path(infile).open('rb') as f: - page = PDFPage.get_pages(f, pagenos=[pageno], maxpages=0) - interp.process_page(next(page)) -- except PDFTextExtractionNotAllowed: -+ except PDFTextExtractionNotAllowedError: - raise EncryptedPdfError() - finally: - if pscript5_mode: --- -2.27.0 - diff --git a/pkgs/tools/text/ocrmypdf/default.nix b/pkgs/tools/text/ocrmypdf/default.nix index f68e15581398..6843e945fd90 100644 --- a/pkgs/tools/text/ocrmypdf/default.nix +++ b/pkgs/tools/text/ocrmypdf/default.nix @@ -7,7 +7,8 @@ , python3 , python3Packages , qpdf -, lib, stdenv +, lib +, stdenv , tesseract4 , unpaper , substituteAll @@ -29,18 +30,17 @@ let in buildPythonApplication rec { pname = "ocrmypdf"; - version = "11.3.3"; + version = "11.6.0"; disabled = ! python3Packages.isPy3k; src = fetchFromGitHub { owner = "jbarlow83"; repo = "OCRmyPDF"; rev = "v${version}"; - sha256 = "0qv34clid65p11dgqalyk7b7myn5ibiz8i9xxhxkmjblw297p6ak"; + sha256 = "0inmmpam0vcm5n4sm6lh9p5swk44clknvm1cdwk9cax01mdqljza"; }; nativeBuildInputs = with python3Packages; [ - pytestrunner setuptools setuptools-scm-git-archive setuptools_scm @@ -65,8 +65,7 @@ buildPythonApplication rec { pytest pytest-helpers-namespace pytest_xdist - pytestcov - pytestrunner + pytest-cov python-xmp-toolkit pytestCheckHook ] ++ runtimeDeps; @@ -83,7 +82,7 @@ buildPythonApplication rec { meta = with lib; { homepage = "https://github.com/jbarlow83/OCRmyPDF"; description = "Adds an OCR text layer to scanned PDF files, allowing them to be searched"; - license = licenses.gpl3; + license = with licenses; [ mpl20 mit ]; platforms = platforms.linux; maintainers = [ maintainers.kiwi ]; }; diff --git a/pkgs/tools/text/robodoc/default.nix b/pkgs/tools/text/robodoc/default.nix new file mode 100644 index 000000000000..e30e8739797a --- /dev/null +++ b/pkgs/tools/text/robodoc/default.nix @@ -0,0 +1,48 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +}: + +stdenv.mkDerivation rec { + pname = "robodoc"; + version = "4.99.44"; + + src = fetchFromGitHub { + owner = "gumpu"; + repo = "ROBODoc"; + rev = "v${version}"; + sha256 = "l3prSdaGhOvXmZfCPbsZJNocO7y20zJjLQpajRTJOqE="; + }; + + nativeBuildInputs = [ autoreconfHook ]; + + hardeningDisable = [ "format" ]; + + meta = with lib; { + homepage = "https://github.com/gumpu/ROBODoc"; + description = "Documentation Extraction Tool"; + longDescription = '' + ROBODoc is program documentation tool. The idea is to include for every + function or procedure a standard header containing all sorts of + information about the procedure or function. ROBODoc extracts these + headers from the source file and puts them in a separate + autodocs-file. ROBODoc thus allows you to include the program + documentation in the source code and avoid having to maintain two separate + documents. Or as Petteri puts it: "robodoc is very useful - especially for + programmers who don't like writing documents with Word or some other + strange tool." + + ROBODoc can format the headers in a number of different formats: HTML, + RTF, LaTeX, or XML DocBook. In HTML mode it can generate cross links + between headers. You can even include parts of your source code. + + ROBODoc works with many programming languages: For instance C, Pascal, + Shell Scripts, Assembler, COBOL, Occam, Postscript, Forth, Tcl/Tk, C++, + Java -- basically any program in which you can use remarks/comments. + ''; + license = with licenses; gpl3Plus; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = with platforms; all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6e4059d55294..a5b76618dd36 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1114,6 +1114,8 @@ in bmap-tools = callPackage ../tools/misc/bmap-tools { }; + bonnmotion = callPackage ../development/tools/misc/bonnmotion { }; + bonnie = callPackage ../tools/filesystems/bonnie { }; bonfire = callPackage ../tools/misc/bonfire { }; @@ -4830,6 +4832,8 @@ in inherit (darwin.apple_sdk.frameworks) Security; }; + robodoc = callPackage ../tools/text/robodoc { }; + ucg = callPackage ../tools/text/ucg { }; grive2 = callPackage ../tools/filesystems/grive2 { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index fc4dbdb5be46..fd83e3f5ac9e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -204,6 +204,8 @@ in { aioamqp = callPackage ../development/python-modules/aioamqp { }; + ailment = callPackage ../development/python-modules/ailment { }; + aiocoap = callPackage ../development/python-modules/aiocoap { }; aioconsole = callPackage ../development/python-modules/aioconsole { }; @@ -3660,6 +3662,8 @@ in { inherit python; })).py; + libpurecool = callPackage ../development/python-modules/libpurecool { }; + libredwg = toPythonModule (pkgs.libredwg.override { enablePython = true; inherit (self) python libxml2; @@ -6523,6 +6527,8 @@ in { pyvera = callPackage ../development/python-modules/pyvera { }; + pyvex = callPackage ../development/python-modules/pyvex { }; + pyviz-comms = callPackage ../development/python-modules/pyviz-comms { }; pyvips = callPackage ../development/python-modules/pyvips {