Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2021-10-13 00:06:56 +00:00 committed by GitHub
commit 3f52177cca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
156 changed files with 3250 additions and 990 deletions

View File

@ -70,6 +70,40 @@ The `dotnetCorePackages.sdk` contains both a runtime and the full sdk of a given
## Packaging a Dotnet Application {#packaging-a-dotnet-application} ## Packaging a Dotnet Application {#packaging-a-dotnet-application}
Ideally, we would like to build against the sdk, then only have the dotnet runtime available in the runtime closure. To package Dotnet applications, you can use `buildDotnetModule`. This has similar arguments to `stdenv.mkDerivation`, with the following additions:
TODO: Create closure-friendly way to package dotnet applications * `projectFile` has to be used for specifying the dotnet project file relative to the source root. These usually have `.sln` or `.csproj` file extensions.
* `nugetDeps` has to be used to specify the NuGet dependency file. Unfortunately, these cannot be deterministically fetched without a lockfile. This file should be generated using `nuget-to-nix` tool, which is available in nixpkgs.
* `executables` is used to specify which executables get wrapped to `$out/bin`, relative to `$out/lib/$pname`. If this is unset, all executables generated will get installed. If you do not want to install any, set this to `[]`.
* `runtimeDeps` is used to wrap libraries into `LD_LIBRARY_PATH`. This is how dotnet usually handles runtime dependencies.
* `buildType` is used to change the type of build. Possible values are `Release`, `Debug`, etc. By default, this is set to `Release`.
* `dotnet-sdk` is useful in cases where you need to change what dotnet SDK is being used.
* `dotnet-runtime` is useful in cases where you need to change what dotnet runtime is being used.
* `dotnetRestoreFlags` can be used to pass flags to `dotnet restore`.
* `dotnetBuildFlags` can be used to pass flags to `dotnet build`.
* `dotnetInstallFlags` can be used to pass flags to `dotnet install`.
* `dotnetFlags` can be used to pass flags to all of the above phases.
Here is an example `default.nix`, using some of the previously discussed arguments:
```nix
{ lib, buildDotnetModule, dotnetCorePackages, ffmpeg }:
buildDotnetModule rec {
pname = "someDotnetApplication";
version = "0.1";
src = ./.;
projectFile = "src/project.sln";
nugetDeps = ./deps.nix; # File generated with `nuget-to-nix path/to/src > deps.nix`.
dotnet-sdk = dotnetCorePackages.sdk_3_1;
dotnet-runtime = dotnetCorePackages.net_5_0;
dotnetFlags = [ "--runtime linux-x64" ];
executables = [ "foo" ]; # This wraps "$out/lib/$pname/foo" to `$out/bin/foo`.
executables = []; # Don't install any executables.
runtimeDeps = [ ffmpeg ]; # This will wrap ffmpeg's library path into `LD_LIBRARY_PATH`.
}
```

View File

@ -12,6 +12,7 @@
<xi:include href="coq.section.xml" /> <xi:include href="coq.section.xml" />
<xi:include href="crystal.section.xml" /> <xi:include href="crystal.section.xml" />
<xi:include href="dhall.section.xml" /> <xi:include href="dhall.section.xml" />
<xi:include href="dotnet.section.xml" />
<xi:include href="emscripten.section.xml" /> <xi:include href="emscripten.section.xml" />
<xi:include href="gnome.section.xml" /> <xi:include href="gnome.section.xml" />
<xi:include href="go.section.xml" /> <xi:include href="go.section.xml" />

View File

@ -896,6 +896,12 @@
githubId = 1296771; githubId = 1296771;
name = "Anders Riutta"; name = "Anders Riutta";
}; };
arkivm = {
email = "vikram186@gmail.com";
github = "arkivm";
githubId = 1118815;
name = "Vikram Narayanan";
};
armijnhemel = { armijnhemel = {
email = "armijn@tjaldur.nl"; email = "armijn@tjaldur.nl";
github = "armijnhemel"; github = "armijnhemel";
@ -1909,6 +1915,12 @@
email = "me@philscotted.com"; email = "me@philscotted.com";
name = "Phil Scott"; name = "Phil Scott";
}; };
chekoopa = {
email = "chekoopa@mail.ru";
github = "chekoopa";
githubId = 1689801;
name = "Mikhail Chekan";
};
ChengCat = { ChengCat = {
email = "yu@cheng.cat"; email = "yu@cheng.cat";
github = "ChengCat"; github = "ChengCat";

View File

@ -137,7 +137,7 @@ with lib.maintainers; {
cleverca22 cleverca22
disassembler disassembler
jonringer jonringer
maveru manveru
nrdxp nrdxp
]; ];
scope = "Input-Output Global employees, which maintain critical software"; scope = "Input-Output Global employees, which maintain critical software";

View File

@ -1499,6 +1499,13 @@ Superuser created successfully.
<literal>/etc/xdg/mimeapps.list</literal>. <literal>/etc/xdg/mimeapps.list</literal>.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Kopia was upgraded from 0.8.x to 0.9.x. Please read the
<link xlink:href="https://github.com/kopia/kopia/releases/tag/v0.9.0">upstream
release notes</link> for changes and upgrade instructions.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
</section> </section>

View File

@ -434,3 +434,5 @@ In addition to numerous new and upgraded packages, this release has the followin
directories, thus increasing the purity of the build. directories, thus increasing the purity of the build.
- Three new options, [xdg.mime.addedAssociations](#opt-xdg.mime.addedAssociations), [xdg.mime.defaultApplications](#opt-xdg.mime.defaultApplications), and [xdg.mime.removedAssociations](#opt-xdg.mime.removedAssociations) have been added to the [xdg.mime](#opt-xdg.mime.enable) module to allow the configuration of `/etc/xdg/mimeapps.list`. - Three new options, [xdg.mime.addedAssociations](#opt-xdg.mime.addedAssociations), [xdg.mime.defaultApplications](#opt-xdg.mime.defaultApplications), and [xdg.mime.removedAssociations](#opt-xdg.mime.removedAssociations) have been added to the [xdg.mime](#opt-xdg.mime.enable) module to allow the configuration of `/etc/xdg/mimeapps.list`.
- Kopia was upgraded from 0.8.x to 0.9.x. Please read the [upstream release notes](https://github.com/kopia/kopia/releases/tag/v0.9.0) for changes and upgrade instructions.

View File

@ -24,18 +24,21 @@ in
environment.systemPackages = [ pkgs.teamviewer ]; environment.systemPackages = [ pkgs.teamviewer ];
services.dbus.packages = [ pkgs.teamviewer ];
systemd.services.teamviewerd = { systemd.services.teamviewerd = {
description = "TeamViewer remote control daemon"; description = "TeamViewer remote control daemon";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "NetworkManager-wait-online.service" "network.target" ]; after = [ "NetworkManager-wait-online.service" "network.target" "dbus.service" ];
requires = [ "dbus.service" ];
preStart = "mkdir -pv /var/lib/teamviewer /var/log/teamviewer"; preStart = "mkdir -pv /var/lib/teamviewer /var/log/teamviewer";
startLimitIntervalSec = 60; startLimitIntervalSec = 60;
startLimitBurst = 10; startLimitBurst = 10;
serviceConfig = { serviceConfig = {
Type = "forking"; Type = "simple";
ExecStart = "${pkgs.teamviewer}/bin/teamviewerd -d"; ExecStart = "${pkgs.teamviewer}/bin/teamviewerd -f";
PIDFile = "/run/teamviewerd.pid"; PIDFile = "/run/teamviewerd.pid";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
Restart = "on-abort"; Restart = "on-abort";

View File

@ -439,7 +439,7 @@ in
mkdir -m 0755 -p /etc/ssh mkdir -m 0755 -p /etc/ssh
${flip concatMapStrings cfg.hostKeys (k: '' ${flip concatMapStrings cfg.hostKeys (k: ''
if ! [ -f "${k.path}" ]; then if ! [ -s "${k.path}" ]; then
ssh-keygen \ ssh-keygen \
-t "${k.type}" \ -t "${k.type}" \
${if k ? bits then "-b ${toString k.bits}" else ""} \ ${if k ? bits then "-b ${toString k.bits}" else ""} \

View File

@ -208,10 +208,15 @@ def main() -> None:
if os.path.exists("@efiSysMountPoint@/loader/loader.conf"): if os.path.exists("@efiSysMountPoint@/loader/loader.conf"):
os.unlink("@efiSysMountPoint@/loader/loader.conf") os.unlink("@efiSysMountPoint@/loader/loader.conf")
if "@canTouchEfiVariables@" == "1": flags = []
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "install"])
else: if "@canTouchEfiVariables@" != "1":
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "--no-variables", "install"]) flags.append("--no-variables")
if "@graceful@" == "1":
flags.append("--graceful")
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@"] + flags + ["install"])
else: else:
# Update bootloader to latest if needed # Update bootloader to latest if needed
systemd_version = subprocess.check_output(["@systemd@/bin/bootctl", "--version"], universal_newlines=True).split()[1] systemd_version = subprocess.check_output(["@systemd@/bin/bootctl", "--version"], universal_newlines=True).split()[1]

View File

@ -24,7 +24,7 @@ let
configurationLimit = if cfg.configurationLimit == null then 0 else cfg.configurationLimit; configurationLimit = if cfg.configurationLimit == null then 0 else cfg.configurationLimit;
inherit (cfg) consoleMode; inherit (cfg) consoleMode graceful;
inherit (efi) efiSysMountPoint canTouchEfiVariables; inherit (efi) efiSysMountPoint canTouchEfiVariables;
@ -126,6 +126,22 @@ in {
''; '';
}; };
}; };
graceful = mkOption {
default = false;
type = types.bool;
description = ''
Invoke <literal>bootctl install</literal> with the <literal>--graceful</literal> option,
which ignores errors when EFI variables cannot be written or when the EFI System Partition
cannot be found. Currently only applies to random seed operations.
Only enable this option if <literal>systemd-boot</literal> otherwise fails to install, as the
scope or implication of the <literal>--graceful</literal> option may change in the future.
'';
};
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {

View File

@ -5,16 +5,16 @@
buildGoModule rec { buildGoModule rec {
pname = "lightning-pool"; pname = "lightning-pool";
version = "0.5.0-alpha"; version = "0.5.1-alpha";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lightninglabs"; owner = "lightninglabs";
repo = "pool"; repo = "pool";
rev = "v${version}"; rev = "v${version}";
sha256 = "0i8qkxnrx3a89aw3v0mx7przlldl8kc0ng6g1m435366y6nzdarb"; sha256 = "147s0p4arfxl2akzm267p8zfy6hgssym5rwxv78kp8i39mfinpkn";
}; };
vendorSha256 = "04v2788w8l734n5xz6fwjbwkqlbk8q77nwncjpn7890mw75yd3rn"; vendorSha256 = "0zd3bwqi0hnk0562x9hd62cwjw1xj386m83jagg41kzz0cpcr7zl";
subPackages = [ "cmd/pool" "cmd/poold" ]; subPackages = [ "cmd/pool" "cmd/poold" ];

View File

@ -1,6 +1,6 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, libtool { lib, stdenv, fetchFromGitHub, pkg-config, libtool
, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre
, lcms2, openexr, libjxl, libpng, liblqr1, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif , lcms2, openexr, libjxl, libpng, liblqr1, libraw, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif
, ApplicationServices , ApplicationServices
, Foundation , Foundation
, testVersion, imagemagick , testVersion, imagemagick
@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
buildInputs = buildInputs =
[ zlib fontconfig freetype ghostscript [ zlib fontconfig freetype ghostscript
liblqr1 libpng libtiff libxml2 libheif djvulibre liblqr1 libpng libraw libtiff libxml2 libheif djvulibre
] ]
# libjxl is broken on aarch64 (see meta.broken in libjxl) for now, # libjxl is broken on aarch64 (see meta.broken in libjxl) for now,
# let's disable it for now to unbreak the imagemagick build. # let's disable it for now to unbreak the imagemagick build.

View File

@ -2,13 +2,13 @@
let let
pname = "anytype"; pname = "anytype";
version = "0.19.0"; version = "0.20.2";
name = "Anytype-${version}"; name = "Anytype-${version}";
nameExecutable = pname; nameExecutable = pname;
src = fetchurl { src = fetchurl {
url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage"; url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage";
name = "Anytype-${version}.AppImage"; name = "Anytype-${version}.AppImage";
sha256 = "sha256-sqCq9/QFygFcOUNCCBReD+eEk/8gvhMsuVD3g/ZPAFg="; sha256 = "sha256-jqRxNd6lx1hnOa4F3m3YOr8ZBnSKQBz0XVC5absf9mM=";
}; };
appimageContents = appimageTools.extractType2 { inherit name src; }; appimageContents = appimageTools.extractType2 { inherit name src; };
in in

View File

@ -1,14 +1,14 @@
{ lib, fetchFromGitHub, python3Packages }: { lib, fetchFromGitHub, python3Packages }:
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
version = "0.27.0"; pname = "toot";
name = "toot-${version}"; version = "0.28.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ihabunek"; owner = "ihabunek";
repo = "toot"; repo = "toot";
rev = version; rev = version;
sha256 = "197g9lvwg8qnsf18kifcqdj3cpfdnxz9vay766rn9bi4nfz0s6j2"; sha256 = "076r6l89gxjwxjpiklidcs8yajn5c2bnqjvbj4wc559iqdqj88lz";
}; };
checkInputs = with python3Packages; [ pytest ]; checkInputs = with python3Packages; [ pytest ];

View File

@ -1,24 +1,31 @@
{ lib, python3Packages, fetchFromGitHub }: { lib
, python3Packages
, fetchFromGitHub
}:
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "urlscan"; pname = "urlscan";
version = "0.9.6"; version = "0.9.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "firecat53"; owner = "firecat53";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "D+WJ1HG1gXIFtIpaqazFqC9Y4GBCUsz88U8q8W9tHFA="; sha256 = "sha256-Wg1QecSMyifID9uIvVWrmkHax4FbbwEcoXIZ8V8P3FU=";
}; };
propagatedBuildInputs = [ python3Packages.urwid ]; propagatedBuildInputs = [
python3Packages.urwid
];
doCheck = false; # No tests available doCheck = false; # No tests available
pythonImportsCheck = [ "urlscan" ];
meta = with lib; { meta = with lib; {
description = "Mutt and terminal url selector (similar to urlview)"; description = "Mutt and terminal url selector (similar to urlview)";
homepage = "https://github.com/firecat53/urlscan"; homepage = "https://github.com/firecat53/urlscan";
license = licenses.gpl2; license = licenses.gpl2Plus;
maintainers = with maintainers; [ dpaetzel jfrankenau ]; maintainers = with maintainers; [ dpaetzel jfrankenau ];
}; };
} }

View File

@ -18,13 +18,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "lagrange"; pname = "lagrange";
version = "1.7.1"; version = "1.7.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "skyjake"; owner = "skyjake";
repo = "lagrange"; repo = "lagrange";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-I3U2Jh+PSF+j8Kuv5RejYwiMC1JYBpkYQGsgIFi7LL0="; sha256 = "sha256-iJ6+tc5nls8E/9/Jp5OS9gfJo8SJ5bN+Im/JzEYEAfI=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@ -61,8 +61,5 @@ stdenv.mkDerivation rec {
license = licenses.bsd2; license = licenses.bsd2;
maintainers = with maintainers; [ sikmir ]; maintainers = with maintainers; [ sikmir ];
platforms = platforms.unix; platforms = platforms.unix;
# macOS SDK 10.13 or later required
# See https://github.com/NixOS/nixpkgs/issues/101229
broken = stdenv.isDarwin && stdenv.isx86_64;
}; };
} }

View File

@ -2,7 +2,7 @@
"name": "element-desktop", "name": "element-desktop",
"productName": "Element", "productName": "Element",
"main": "lib/electron-main.js", "main": "lib/electron-main.js",
"version": "1.9.0", "version": "1.9.2",
"description": "A feature-rich client for Matrix.org", "description": "A feature-rich client for Matrix.org",
"author": "Element", "author": "Element",
"repository": { "repository": {
@ -57,7 +57,7 @@
"allchange": "^1.0.2", "allchange": "^1.0.2",
"asar": "^2.0.1", "asar": "^2.0.1",
"chokidar": "^3.5.2", "chokidar": "^3.5.2",
"electron": "13", "electron": "13.5",
"electron-builder": "22.11.4", "electron-builder": "22.11.4",
"electron-builder-squirrel-windows": "22.11.4", "electron-builder-squirrel-windows": "22.11.4",
"electron-devtools-installer": "^3.1.1", "electron-devtools-installer": "^3.1.1",
@ -83,7 +83,7 @@
}, },
"build": { "build": {
"appId": "im.riot.app", "appId": "im.riot.app",
"electronVersion": "13.4.0", "electronVersion": "13.5.1",
"files": [ "files": [
"package.json", "package.json",
{ {

View File

@ -729,6 +729,14 @@
sha1 = "2b9252bd4fdf0393696190cd9550901dd967c777"; sha1 = "2b9252bd4fdf0393696190cd9550901dd967c777";
}; };
} }
{
name = "_types_node___node_14.17.21.tgz";
path = fetchurl {
name = "_types_node___node_14.17.21.tgz";
url = "https://registry.yarnpkg.com/@types/node/-/node-14.17.21.tgz";
sha1 = "6359d8cf73481e312a43886fa50afc70ce5592c6";
};
}
{ {
name = "_types_plist___plist_3.0.2.tgz"; name = "_types_plist___plist_3.0.2.tgz";
path = fetchurl { path = fetchurl {
@ -1626,11 +1634,11 @@
}; };
} }
{ {
name = "core_js___core_js_3.17.3.tgz"; name = "core_js___core_js_3.18.2.tgz";
path = fetchurl { path = fetchurl {
name = "core_js___core_js_3.17.3.tgz"; name = "core_js___core_js_3.18.2.tgz";
url = "https://registry.yarnpkg.com/core-js/-/core-js-3.17.3.tgz"; url = "https://registry.yarnpkg.com/core-js/-/core-js-3.18.2.tgz";
sha1 = "8e8bd20e91df9951e903cabe91f9af4a0895bc1e"; sha1 = "63a551e8a29f305cd4123754846e65896619ba5b";
}; };
} }
{ {
@ -2002,11 +2010,11 @@
}; };
} }
{ {
name = "electron___electron_13.4.0.tgz"; name = "electron___electron_13.5.1.tgz";
path = fetchurl { path = fetchurl {
name = "electron___electron_13.4.0.tgz"; name = "electron___electron_13.5.1.tgz";
url = "https://registry.yarnpkg.com/electron/-/electron-13.4.0.tgz"; url = "https://registry.yarnpkg.com/electron/-/electron-13.5.1.tgz";
sha1 = "f9f9e518d8c6bf23bfa8b69580447eea3ca0f880"; sha1 = "76c02c39be228532f886a170b472cbd3d93f0d0f";
}; };
} }
{ {
@ -2154,13 +2162,21 @@
}; };
} }
{ {
name = "2306b3d4da4eba908b256014b979f1d3d43d2945"; name = "2306b3d4da4eba908b256014b979f1d3d43d2945";
path = fetchurl { path =
name = "2306b3d4da4eba908b256014b979f1d3d43d2945"; let
url = "https://codeload.github.com/matrix-org/eslint-plugin-matrix-org/tar.gz/2306b3d4da4eba908b256014b979f1d3d43d2945"; repo = fetchgit {
sha1 = "e82e07e6163d15ee5243d8df073947540bf0efc9"; url = "https://github.com/matrix-org/eslint-plugin-matrix-org.git";
}; rev = "2306b3d4da4eba908b256014b979f1d3d43d2945";
} sha256 = "0ywgrls2phviz47kzsjrxijkdbs1ky77471fbq9cnpj0fs3si81c";
};
in
runCommand "2306b3d4da4eba908b256014b979f1d3d43d2945" { buildInputs = [gnutar]; } ''
# Set u+w because tar-fs can't unpack archives with read-only dirs
# https://github.com/mafintosh/tar-fs/issues/79
tar cf $out --mode u+w -C ${repo} .
'';
}
{ {
name = "eslint_scope___eslint_scope_5.1.1.tgz"; name = "eslint_scope___eslint_scope_5.1.1.tgz";
path = fetchurl { path = fetchurl {
@ -3506,13 +3522,21 @@
}; };
} }
{ {
name = "e5c7071e0cdf715de87ef39dc8260e11d7add2f8"; name = "e5c7071e0cdf715de87ef39dc8260e11d7add2f8";
path = fetchurl { path =
name = "e5c7071e0cdf715de87ef39dc8260e11d7add2f8"; let
url = "https://codeload.github.com/matrix-org/matrix-web-i18n/tar.gz/e5c7071e0cdf715de87ef39dc8260e11d7add2f8"; repo = fetchgit {
sha1 = "efbc392e3523669d20b812a6dae2f6efb49b888d"; url = "https://github.com/matrix-org/matrix-web-i18n.git";
}; rev = "e5c7071e0cdf715de87ef39dc8260e11d7add2f8";
} sha256 = "0whjmf23m3204ifgx3spfnlg9pwm956fc16gjxgp9ia0d93xrpn6";
};
in
runCommand "e5c7071e0cdf715de87ef39dc8260e11d7add2f8" { buildInputs = [gnutar]; } ''
# Set u+w because tar-fs can't unpack archives with read-only dirs
# https://github.com/mafintosh/tar-fs/issues/79
tar cf $out --mode u+w -C ${repo} .
'';
}
{ {
name = "memoizee___memoizee_0.4.15.tgz"; name = "memoizee___memoizee_0.4.15.tgz";
path = fetchurl { path = fetchurl {

View File

@ -19,12 +19,12 @@
let let
executableName = "element-desktop"; executableName = "element-desktop";
version = "1.9.0"; version = "1.9.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vector-im"; owner = "vector-im";
repo = "element-desktop"; repo = "element-desktop";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-vsLu41n3oCSyyPLgASs7jZViu6DPkWmMfSO7414VPO4="; sha256 = "sha256-F1uyyBbs+U7tQzRtn+p923Z/BY8Nwxr/JTMYwsak8W8=";
}; };
electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron"; electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron";
in in

View File

@ -12,11 +12,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "element-web"; pname = "element-web";
version = "1.9.0"; version = "1.9.2";
src = fetchurl { src = fetchurl {
url = "https://github.com/vector-im/element-web/releases/download/v${version}/element-v${version}.tar.gz"; url = "https://github.com/vector-im/element-web/releases/download/v${version}/element-v${version}.tar.gz";
sha256 = "sha256-QMLa1Bgz9feAAR9PKVXAzlRDztJBZnGIG+SsPgwvYRw="; sha256 = "sha256-Qkn0vyZGvBAeOfTzxydWzjFQJwY39INAhwZNX4xsM7U=";
}; };
installPhase = '' installPhase = ''

View File

@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell #!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix #!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix nix-prefetch-git
set -euo pipefail set -euo pipefail
@ -13,5 +13,5 @@ RIOT_WEB_SRC="https://raw.githubusercontent.com/vector-im/element-desktop/$1"
wget "$RIOT_WEB_SRC/package.json" -O element-desktop-package.json wget "$RIOT_WEB_SRC/package.json" -O element-desktop-package.json
wget "$RIOT_WEB_SRC/yarn.lock" -O element-desktop-yarndeps.lock wget "$RIOT_WEB_SRC/yarn.lock" -O element-desktop-yarndeps.lock
yarn2nix --lockfile=element-desktop-yarndeps.lock > element-desktop-yarndeps.nix yarn2nix --no-patch --lockfile=element-desktop-yarndeps.lock > element-desktop-yarndeps.nix
rm element-desktop-yarndeps.lock rm element-desktop-yarndeps.lock

View File

@ -27,11 +27,11 @@ with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mutt"; pname = "mutt";
version = "2.1.2"; version = "2.1.3";
src = fetchurl { src = fetchurl {
url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz"; url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
sha256 = "0s9wkygjd7xhvd1zdaidbvszq4abb0iv5830ir65glcfzbdbfak9"; sha256 = "0z74slnq3y9wr1xr07jigz4n8dgxhk9qb0787sd0j6wj9g4rqxgg";
}; };
patches = optional smimeSupport (fetchpatch { patches = optional smimeSupport (fetchpatch {

View File

@ -1,26 +1,42 @@
{ lib, stdenv, fetchurl, pkg-config, gnutls, gsasl, libidn, Security }: { lib
, stdenv
with lib; , fetchurl
, gnutls
, gsasl
, libidn
, pkg-config
, Security
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "mpop"; pname = "mpop";
version = "1.4.14"; version = "1.4.15";
src = fetchurl { src = fetchurl {
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz"; url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
sha256 = "046wbglvry54id9wik6c020fs09piv3gig3z0nh5nmyhsxjw4i18"; sha256 = "sha256-P1KytdS8WO2TzwsRRs7k903oHCwHol7gMu+mWUZaAnA=";
}; };
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [
buildInputs = [ gnutls gsasl libidn ] pkg-config
++ optional stdenv.isDarwin Security; ];
configureFlags = optional stdenv.isDarwin [ "--with-macosx-keyring" ]; buildInputs = [
gnutls
gsasl
libidn
] ++ lib.optional stdenv.isDarwin [
Security
];
meta = { configureFlags = lib.optional stdenv.isDarwin [
description = "POP3 mail retrieval agent"; "--with-macosx-keyring"
homepage = "https://marlam.de/mpop"; ];
license = licenses.gpl3Plus;
platforms = platforms.unix; meta = with lib;{
}; description = "POP3 mail retrieval agent";
homepage = "https://marlam.de/mpop";
license = licenses.gpl3Plus;
platforms = platforms.unix;
};
} }

View File

@ -15,7 +15,7 @@ let
url = "https://downloads.freenetproject.org/alpha/opennet/seednodes.fref"; url = "https://downloads.freenetproject.org/alpha/opennet/seednodes.fref";
sha256 = "08awwr8n80b4cdzzb3y8hf2fzkr1f2ly4nlq779d6pvi5jymqdvv"; sha256 = "08awwr8n80b4cdzzb3y8hf2fzkr1f2ly4nlq779d6pvi5jymqdvv";
}; };
version = "build01475"; version = "build01480";
freenet-jars = stdenv.mkDerivation { freenet-jars = stdenv.mkDerivation {
pname = "freenet-jars"; pname = "freenet-jars";
@ -25,7 +25,7 @@ let
owner = "freenet"; owner = "freenet";
repo = "fred"; repo = "fred";
rev = version; rev = version;
sha256 = "0k02fna9x219j7dhginbnf27i36bibb0rmm4qdwr5xm28hy1nd08"; sha256 = "0wddkfyhsgs7bcq9svicz6l0a35yv82yqzmji3c345hg4hbch3kb";
}; };
patchPhase = '' patchPhase = ''

View File

@ -1,16 +1,16 @@
{ mkDerivation, lib, fetchurl, autoPatchelfHook, makeWrapper, xdg-utils, dbus { mkDerivation, lib, fetchurl, autoPatchelfHook, makeWrapper, xdg-utils, dbus
, qtbase, qtwebkit, qtx11extras, qtquickcontrols, glibc , qtbase, qtwebkit, qtwebengine, qtx11extras, qtquickcontrols, getconf, glibc
, libXrandr, libX11, libXext, libXdamage, libXtst, libSM, libXfixes , libXrandr, libX11, libXext, libXdamage, libXtst, libSM, libXfixes, coreutils
, wrapQtAppsHook , wrapQtAppsHook
}: }:
mkDerivation rec { mkDerivation rec {
pname = "teamviewer"; pname = "teamviewer";
version = "15.15.5"; version = "15.22.3";
src = fetchurl { src = fetchurl {
url = "https://dl.tvcdn.de/download/linux/version_15x/teamviewer_${version}_amd64.deb"; url = "https://dl.tvcdn.de/download/linux/version_15x/teamviewer_${version}_amd64.deb";
sha256 = "sha256-H/CSc2RcjI+Fm8awYcXm3ioAJpbSNEMwGVrTozMux3A="; sha256 = "15fvzhdq7mnx2l2w4byvij8ww16qwdlkbadal60rm66yzv79mv9w";
}; };
unpackPhase = '' unpackPhase = ''
@ -19,7 +19,7 @@ mkDerivation rec {
''; '';
nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapQtAppsHook ]; nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapQtAppsHook ];
buildInputs = [ dbus qtbase qtwebkit qtx11extras libX11 ]; buildInputs = [ dbus getconf qtbase qtwebkit qtwebengine qtx11extras libX11 ];
propagatedBuildInputs = [ qtquickcontrols ]; propagatedBuildInputs = [ qtquickcontrols ];
installPhase = '' installPhase = ''
@ -28,6 +28,7 @@ mkDerivation rec {
rm -R \ rm -R \
$out/share/teamviewer/logfiles \ $out/share/teamviewer/logfiles \
$out/share/teamviewer/config \ $out/share/teamviewer/config \
$out/share/teamviewer/tv_bin/RTlib \
$out/share/teamviewer/tv_bin/xdg-utils \ $out/share/teamviewer/tv_bin/xdg-utils \
$out/share/teamviewer/tv_bin/script/{teamviewer_setup,teamviewerd.sysv,teamviewerd.service,teamviewerd.*.conf,libdepend,tv-delayed-start.sh} $out/share/teamviewer/tv_bin/script/{teamviewer_setup,teamviewerd.sysv,teamviewerd.service,teamviewerd.*.conf,libdepend,tv-delayed-start.sh}
@ -38,6 +39,27 @@ mkDerivation rec {
ln -s /var/log/teamviewer $out/share/teamviewer/logfiles ln -s /var/log/teamviewer $out/share/teamviewer/logfiles
ln -s ${xdg-utils}/bin $out/share/teamviewer/tv_bin/xdg-utils ln -s ${xdg-utils}/bin $out/share/teamviewer/tv_bin/xdg-utils
declare in_script_dir="./opt/teamviewer/tv_bin/script"
install -d "$out/share/dbus-1/services"
install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.service" "$out/share/dbus-1/services"
substituteInPlace "$out/share/dbus-1/services/com.teamviewer.TeamViewer.service" \
--replace '/opt/teamviewer/tv_bin/TeamViewer' \
"$out/share/teamviewer/tv_bin/TeamViewer"
install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.Desktop.service" "$out/share/dbus-1/services"
substituteInPlace "$out/share/dbus-1/services/com.teamviewer.TeamViewer.Desktop.service" \
--replace '/opt/teamviewer/tv_bin/TeamViewer_Desktop' \
"$out/share/teamviewer/tv_bin/TeamViewer_Desktop"
install -d "$out/share/dbus-1/system.d"
install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.Daemon.conf" "$out/share/dbus-1/system.d"
install -d "$out/share/polkit-1/actions"
install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.policy" "$out/share/polkit-1/actions"
substituteInPlace "$out/share/polkit-1/actions/com.teamviewer.TeamViewer.policy" \
--replace '/opt/teamviewer/tv_bin/script/execscript' \
"$out/share/teamviewer/tv_bin/script/execscript"
for i in 16 20 24 32 48 256; do for i in 16 20 24 32 48 256; do
size=$i"x"$i size=$i"x"$i
@ -51,17 +73,23 @@ mkDerivation rec {
--replace '/lib64/ld-linux-x86-64.so.2' '${glibc.out}/lib/ld-linux-x86-64.so.2' --replace '/lib64/ld-linux-x86-64.so.2' '${glibc.out}/lib/ld-linux-x86-64.so.2'
substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_config \ substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_config \
--replace '/var/run/' '/run/' --replace '/var/run/' '/run/'
'';
wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}" makeWrapperArgs = [
wrapProgram $out/share/teamviewer/tv_bin/teamviewerd --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}" "--prefix PATH : ${lib.makeBinPath [ getconf coreutils ]}"
wrapProgram $out/share/teamviewer/tv_bin/TeamViewer --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}" "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libXrandr libX11 libXext libXdamage libXtst libSM libXfixes dbus ]}"
wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [libXrandr libX11 libXext libXdamage libXtst libSM libXfixes ]}" ];
wrapQtApp $out/share/teamviewer/tv_bin/script/teamviewer postFixup = ''
wrapQtApp $out/bin/teamviewer wrapProgram $out/share/teamviewer/tv_bin/teamviewerd ''${makeWrapperArgs[@]}
# tv_bin/script/teamviewer runs tvw_main which runs tv_bin/TeamViewer
wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]}
wrapProgram $out/share/teamviewer/tv_bin/teamviewer-config ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]}
wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]}
''; '';
dontStrip = true; dontStrip = true;
dontWrapQtApps = true;
preferLocalBuild = true; preferLocalBuild = true;
meta = with lib; { meta = with lib; {
@ -69,6 +97,6 @@ mkDerivation rec {
license = licenses.unfree; license = licenses.unfree;
description = "Desktop sharing application, providing remote support and online meetings"; description = "Desktop sharing application, providing remote support and online meetings";
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ jagajaga dasuxullebt ]; maintainers = with maintainers; [ jagajaga dasuxullebt jraygauthier ];
}; };
} }

View File

@ -1,4 +1,4 @@
{ mkDerivation, lib, fetchurl, extra-cmake-modules, kdoctools { mkDerivation, lib, fetchpatch, fetchurl, extra-cmake-modules, kdoctools
, boost, qtwebkit, qtx11extras, shared-mime-info , boost, qtwebkit, qtx11extras, shared-mime-info
, breeze-icons, kactivities, karchive, kcodecs, kcompletion, kconfig, kconfigwidgets , breeze-icons, kactivities, karchive, kcodecs, kcompletion, kconfig, kconfigwidgets
, kcoreaddons, kdbusaddons, kdiagram, kguiaddons, khtml, ki18n , kcoreaddons, kdbusaddons, kdiagram, kguiaddons, khtml, ki18n
@ -21,6 +21,17 @@ mkDerivation rec {
sha256 = "0iqi6z6gkck2afgy200dacgcspq7i7887alcj0pklm08hbmsdy5i"; sha256 = "0iqi6z6gkck2afgy200dacgcspq7i7887alcj0pklm08hbmsdy5i";
}; };
patches = [
# Fix fontconfig underlinking: https://github.com/NixOS/nixpkgs/issues/137794
# Can be dropped on next release.
(fetchpatch {
name = "fix-fontconfig-linking.patch";
url = "https://github.com/KDE/calligra/commit/62f510702ef9c34ac50f8d8601a4290ab558464c.patch";
sha256 = "11dzrp9q05dmvnwp4vk4ihcibqcf4xyr0ijscpi716cyy730flma";
excludes = [ "CMakeLists.txt" ];
})
];
nativeBuildInputs = [ extra-cmake-modules kdoctools ]; nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [ buildInputs = [

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "samtools"; pname = "samtools";
version = "1.11"; version = "1.13";
src = fetchurl { src = fetchurl {
url = "https://github.com/samtools/samtools/releases/download/${version}/${pname}-${version}.tar.bz2"; url = "https://github.com/samtools/samtools/releases/download/${version}/${pname}-${version}.tar.bz2";
sha256 = "1dp5wknak4arnw5ghhif9mmljlfnw5bgm91wib7z0j8wdjywx0z2"; sha256 = "sha256-YWyi4FHMgAmh6cAc/Yx8r4twkW3f9m87dpFAeUZfjGA=";
}; };
nativeBuildInputs = [ perl ]; nativeBuildInputs = [ perl ];

View File

@ -1,16 +1,29 @@
{ lib, stdenv, fetchurl, glib, gtk3, gperf, pkg-config, bzip2, tcl, tk, wrapGAppsHook, judy, xz }: { bzip2
, fetchurl
, glib
, gperf
, gtk3
, judy
, lib
, pkg-config
, stdenv
, tcl
, tk
, wrapGAppsHook
, xz
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gtkwave"; pname = "gtkwave";
version = "3.3.110"; version = "3.3.111";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz"; url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
sha256 = "sha256-Ku25IVa8ot3SWxODeMrOaxBY5X022TnvD3l2kAa3Wao="; sha256 = "0cv222qhgldfniz6zys52zhrynfsp5v0h8ia857lng7v33vw5qdl";
}; };
nativeBuildInputs = [ pkg-config wrapGAppsHook ]; nativeBuildInputs = [ pkg-config wrapGAppsHook ];
buildInputs = [ glib gtk3 gperf bzip2 tcl tk judy xz ]; buildInputs = [ bzip2 glib gperf gtk3 judy tcl tk xz ];
configureFlags = [ configureFlags = [
"--with-tcl=${tcl}/lib" "--with-tcl=${tcl}/lib"
@ -21,9 +34,9 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "VCD/Waveform viewer for Unix and Win32"; description = "VCD/Waveform viewer for Unix and Win32";
homepage = "http://gtkwave.sourceforge.net"; homepage = "http://gtkwave.sourceforge.net";
license = lib.licenses.gpl2Plus; license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ thoughtpolice ]; maintainers = with lib.maintainers; [ thoughtpolice ];
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
}; };
} }

View File

@ -2,13 +2,13 @@
let let
pname = "alt-ergo"; pname = "alt-ergo";
version = "2.4.0"; version = "2.4.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "OCamlPro"; owner = "OCamlPro";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1jm1yrvsg8iyfp9bb728zdx2i7yb6z7minjrfs27k5ncjqkjm65g"; sha256 = "0hglj1p0753w2isds01h90knraxa42d2jghr35dpwf9g8a1sm9d3";
}; };
useDune2 = true; useDune2 = true;

View File

@ -1,18 +1,18 @@
{ lib, stdenv, fetchFromGitHub, gmp-static, gperf, autoreconfHook, libpoly }: { lib, stdenv, fetchFromGitHub, cudd, gmp-static, gperf, autoreconfHook, libpoly }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "yices"; pname = "yices";
version = "2.6.1"; version = "2.6.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "SRI-CSL"; owner = "SRI-CSL";
repo = "yices2"; repo = "yices2";
rev = "Yices-${version}"; rev = "Yices-${version}";
sha256 = "04vf468spsh00jh7gj94cjnq8kjyfwy9l6r4z7l2pm0zgwkqgyhm"; sha256 = "01fi818lbkwilfcf1dz2dpxkcc1kh8ls0sl5aynyx9pwfn2v03zl";
}; };
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ gmp-static gperf libpoly ]; buildInputs = [ cudd gmp-static gperf libpoly ];
configureFlags = configureFlags =
[ "--with-static-gmp=${gmp-static.out}/lib/libgmp.a" [ "--with-static-gmp=${gmp-static.out}/lib/libgmp.a"
"--with-static-gmp-include-dir=${gmp-static.dev}/include" "--with-static-gmp-include-dir=${gmp-static.dev}/include"

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "git-repo"; pname = "git-repo";
version = "2.17"; version = "2.17.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "android"; owner = "android";
repo = "tools_repo"; repo = "tools_repo";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-/6BAGZo8GwsmXXGLJ2oTxIbgOCwP5p6Vh4wABSvAGZM="; sha256 = "sha256-ZVwMfjlKga47oXf6g/P2IAMu6Fcuj8BbRahniTZXmTg=";
}; };
# Fix 'NameError: name 'ssl' is not defined' # Fix 'NameError: name 'ssl' is not defined'

View File

@ -1,9 +1,10 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, cairo , cairo
, fontconfig , fontconfig
, libevdev
, libinput
, libxkbcommon , libxkbcommon
, makeWrapper , makeWrapper
, mesa , mesa
@ -23,24 +24,15 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cagebreak"; pname = "cagebreak";
version = "1.7.1"; version = "1.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "project-repo"; owner = "project-repo";
repo = pname; repo = pname;
rev = version; rev = version;
hash = "sha256-1IztedN5/I/4TDKHLJ26fSrDsvJ5QAr+cbzS2PQITDE="; hash = "sha256-tWfHJajAOYZJ73GckZWWTdVz75YmHA7t/qDhM7+tJgk=";
}; };
patches = [
# To fix the build with wlroots 0.14.0:
(fetchpatch {
# Add fixes for wlroots 0.14.0
url = "https://github.com/project-repo/cagebreak/commit/d57869d43add58331386fc8e89c14bb2b74afe17.patch";
sha256 = "0g6sl8y4kk0bm5x6pxqbxw2j0gyg3ybr2v9m70q2pxp70kms4lqg";
})
];
nativeBuildInputs = [ nativeBuildInputs = [
makeWrapper makeWrapper
meson meson
@ -53,6 +45,8 @@ stdenv.mkDerivation rec {
buildInputs = [ buildInputs = [
cairo cairo
fontconfig fontconfig
libevdev
libinput
libxkbcommon libxkbcommon
mesa # for libEGL headers mesa # for libEGL headers
pango pango

View File

@ -1,7 +1,9 @@
{ fetchurl, lib, stdenv, pkg-config, makeWrapper, meson, ninja, installShellFiles, libxcb, xcbutilkeysyms { fetchurl, lib, stdenv, pkg-config, makeWrapper, meson, ninja, installShellFiles, libxcb, xcbutilkeysyms
, xcbutil, xcbutilwm, xcbutilxrm, libstartup_notification, libX11, pcre, libev , xcbutil, xcbutilwm, xcbutilxrm, libstartup_notification, libX11, pcre, libev
, yajl, xcb-util-cursor, perl, pango, perlPackages, libxkbcommon , yajl, xcb-util-cursor, perl, pango, perlPackages, libxkbcommon
, xorgserver, xvfb-run }: , xorgserver, xvfb-run
, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "i3"; pname = "i3";
@ -12,7 +14,15 @@ stdenv.mkDerivation rec {
sha256 = "sha256-im7hd2idzyKWTSC2CTAU7k+gQZNF0/1RXVUS2ZgLsnk="; sha256 = "sha256-im7hd2idzyKWTSC2CTAU7k+gQZNF0/1RXVUS2ZgLsnk=";
}; };
nativeBuildInputs = [ pkg-config makeWrapper meson ninja installShellFiles ]; nativeBuildInputs = [
pkg-config makeWrapper meson ninja installShellFiles
asciidoc xmlto docbook_xml_dtd_45 docbook_xsl findXMLCatalogs
];
mesonFlags = [
"-Ddocs=true"
"-Dmans=true"
];
buildInputs = [ buildInputs = [
libxcb xcbutilkeysyms xcbutil xcbutilwm xcbutilxrm libxkbcommon libxcb xcbutilkeysyms xcbutil xcbutilwm xcbutilxrm libxkbcommon

View File

@ -0,0 +1,144 @@
{ lib, stdenv, makeWrapper, dotnetCorePackages, dotnetPackages, cacert, linkFarmFromDrvs, fetchurl }:
{ name ? "${args.pname}-${args.version}"
, enableParallelBuilding ? true
# Flags to pass to `makeWrapper`. This is done to avoid double wrapping.
, makeWrapperArgs ? []
# Flags to pass to `dotnet restore`.
, dotnetRestoreFlags ? []
# Flags to pass to `dotnet build`.
, dotnetBuildFlags ? []
# Flags to pass to `dotnet install`.
, dotnetInstallFlags ? []
# Flags to pass to dotnet in all phases.
, dotnetFlags ? []
# The binaries that should get installed to `$out/bin`, relative to `$out/lib/$pname/`. These get wrapped accordingly.
# Unfortunately, dotnet has no method for doing this automatically.
# If unset, all executables in the projects root will get installed. This may cause bloat!
, executables ? null
# The packages project file, which contains instructions on how to compile it.
, projectFile ? null
# The NuGet dependency file. This locks all NuGet dependency versions, as otherwise they cannot be deterministically fetched.
# This can be generated using the `nuget-to-nix` tool.
, nugetDeps ? null
# Libraries that need to be available at runtime should be passed through this.
# These get wrapped into `LD_LIBRARY_PATH`.
, runtimeDeps ? []
# The type of build to perform. This is passed to `dotnet` with the `--configuration` flag. Possible values are `Release`, `Debug`, etc.
, buildType ? "Release"
# The dotnet SDK to use.
, dotnet-sdk ? dotnetCorePackages.sdk_5_0
# The dotnet runtime to use.
, dotnet-runtime ? dotnetCorePackages.net_5_0
, ... } @ args:
assert projectFile == null -> throw "Defining the `projectFile` attribute is required. This is usually an `.csproj`, or `.sln` file.";
# TODO: Automatically generate a dependency file when a lockfile is present.
# This file is unfortunately almost never present, as Microsoft recommands not to push this in upstream repositories.
assert nugetDeps == null -> throw "Defining the `nugetDeps` attribute is required, as to lock the NuGet dependencies. This file can be generated using the `nuget-to-nix` tool.";
let
_nugetDeps = linkFarmFromDrvs "${name}-nuget-deps" (import nugetDeps {
fetchNuGet = { name, version, sha256 }: fetchurl {
name = "nuget-${name}-${version}.nupkg";
url = "https://www.nuget.org/api/v2/package/${name}/${version}";
inherit sha256;
};
});
package = stdenv.mkDerivation (args // {
nativeBuildInputs = args.nativeBuildInputs or [] ++ [ dotnet-sdk dotnetPackages.Nuget cacert makeWrapper ];
# Stripping breaks the executable
dontStrip = true;
DOTNET_NOLOGO = true; # This disables the welcome message.
DOTNET_CLI_TELEMETRY_OPTOUT = true;
configurePhase = args.configurePhase or ''
runHook preConfigure
export HOME=$(mktemp -d)
nuget sources Add -Name nixos -Source "$PWD/nixos"
nuget init "${_nugetDeps}" "$PWD/nixos"
# This is required due to https://github.com/NuGet/Home/issues/4413.
mkdir -p $HOME/.nuget/NuGet
cp $HOME/.config/NuGet/NuGet.Config $HOME/.nuget/NuGet
dotnet restore ${lib.escapeShellArg projectFile} \
${lib.optionalString (!enableParallelBuilding) "--disable-parallel"} \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
--source "$PWD/nixos" \
"''${dotnetRestoreFlags[@]}" \
"''${dotnetFlags[@]}"
runHook postConfigure
'';
buildPhase = args.buildPhase or ''
runHook preBuild
dotnet build ${lib.escapeShellArg projectFile} \
-maxcpucount:${if enableParallelBuilding then "$NIX_BUILD_CORES" else "1"} \
-p:BuildInParallel=${if enableParallelBuilding then "true" else "false"} \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
-p:Version=${args.version} \
--configuration ${buildType} \
--no-restore \
"''${dotnetBuildFlags[@]}" \
"''${dotnetFlags[@]}"
runHook postBuild
'';
installPhase = args.installPhase or ''
runHook preInstall
dotnet publish ${lib.escapeShellArg projectFile} \
-p:ContinuousIntegrationBuild=true \
-p:Deterministic=true \
--output $out/lib/${args.pname} \
--configuration ${buildType} \
--no-build \
--no-self-contained \
"''${dotnetInstallFlags[@]}" \
"''${dotnetFlags[@]}"
'' + (if executables != null then ''
for executable in ''${executables}; do
execPath="$out/lib/${args.pname}/$executable"
if [[ -f "$execPath" && -x "$execPath" ]]; then
makeWrapper "$execPath" "$out/bin/$(basename "$executable")" \
--set DOTNET_ROOT "${dotnet-runtime}" \
--suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}" \
"''${gappsWrapperArgs[@]}" \
''${makeWrapperArgs}
else
echo "Specified binary \"$executable\" is either not an executable, or does not exist!"
exit 1
fi
done
'' else ''
for executable in $out/lib/${args.pname}/*; do
if [[ -f "$executable" && -x "$executable" && "$executable" != *"dll"* ]]; then
makeWrapper "$executable" "$out/bin/$(basename "$executable")" \
--set DOTNET_ROOT "${dotnet-runtime}" \
--suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}" \
"''${gappsWrapperArgs[@]}" \
''${makeWrapperArgs}
fi
done
'') + ''
runHook postInstall
'';
});
in
package

View File

@ -9,13 +9,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "luna-icons"; pname = "luna-icons";
version = "1.4"; version = "1.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "darkomarko42"; owner = "darkomarko42";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-qYFyZT1mLNHBRrX/NX2pmt9P5n8urEK/msQMctSckzE="; sha256 = "1iw9wqfs8s3l5k5ngyjmvvxbsxcsya3a6h1xwl6d603swv7h1s02";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -5,11 +5,11 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "catfish"; pname = "catfish";
version = "4.16.2"; version = "4.16.3";
src = fetchurl { src = fetchurl {
url = "https://archive.xfce.org/src/apps/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2"; url = "https://archive.xfce.org/src/apps/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
sha256 = "sha256-shouFRlD8LGU04sX/qrzghh5R+0SoCw9ZJKvt0gBKms="; sha256 = "sha256-6amaYtEJgTkVCN1D88v6LVCmm9a30e7vfTC6TGc9z9o=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -3,10 +3,10 @@
mkXfceDerivation { mkXfceDerivation {
category = "apps"; category = "apps";
pname = "mousepad"; pname = "mousepad";
version = "0.5.6"; version = "0.5.7";
odd-unstable = false; odd-unstable = false;
sha256 = "sha256-cdM2NHUnN2FITITb4077Je5Z8xwZAJfjmwXfV+WE6jk="; sha256 = "sha256-VLPzzM9dl+HAPI+Qn2QTjrKfRgngsExlPFRsdmsNcSM=";
nativeBuildInputs = [ gobject-introspection ]; nativeBuildInputs = [ gobject-introspection ];

View File

@ -4,9 +4,9 @@
mkXfceDerivation { mkXfceDerivation {
category = "xfce"; category = "xfce";
pname = "libxfce4ui"; pname = "libxfce4ui";
version = "4.16.0"; version = "4.16.1";
sha256 = "sha256-YmawNgkCM2xwoMKZrY9SxRhm2t0tsmk2j2+grW9zPCk="; sha256 = "sha256-5mwyC3YA1LvdVSvaHN7CXDJh+IXjmdHGLKzhpjtUZkw=";
nativeBuildInputs = [ gobject-introspection vala ]; nativeBuildInputs = [ gobject-introspection vala ];
buildInputs = [ gtk3 libstartup_notification libgtop epoxy xfconf ]; buildInputs = [ gtk3 libstartup_notification libgtop epoxy xfconf ];

View File

@ -3,10 +3,10 @@
mkXfceDerivation { mkXfceDerivation {
category = "panel-plugins"; category = "panel-plugins";
pname = "xfce4-whiskermenu-plugin"; pname = "xfce4-whiskermenu-plugin";
version = "2.5.3"; version = "2.6.0";
rev-prefix = "v"; rev-prefix = "v";
odd-unstable = false; odd-unstable = false;
sha256 = "sha256-Hw4vdFChKOqllsxMS2Bi7UL48a3Z6oB8oCPKWwa8bJY="; sha256 = "sha256-VTv4nOL1ltHrewf3q4Uz4e2QjV+Jf7YZTNqILjuAEpM=";
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View File

@ -51,11 +51,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "go"; pname = "go";
version = "1.16.8"; version = "1.16.9";
src = fetchurl { src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz"; url = "https://dl.google.com/go/go${version}.src.tar.gz";
sha256 = "sha256-jyqMJLeTN1syQ9+C/bDIOHSG3MioksocmRqpms4Ia5g="; sha256 = "sha256-ChzH/XvSBEj3Hr7WTYRhOIUNUJmxjPXMEKT8RRYNjD0=";
}; };
# perl is used for testing go vet # perl is used for testing go vet

View File

@ -50,11 +50,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "go"; pname = "go";
version = "1.17.1"; version = "1.17.2";
src = fetchurl { src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz"; url = "https://dl.google.com/go/go${version}.src.tar.gz";
sha256 = "sha256-SdwIM5dwrNVhMxLbjBQer2F3mZVXe4nZO1Qe+DBn5bE="; sha256 = "sha256-IlXrPk6CTdfV/Nwuf4RTQ3HBhjEuVG+xCGo0wXdS9DE=";
}; };
# perl is used for testing go vet # perl is used for testing go vet

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchzip, libGLU, libGL, libXrandr, libX11, libXxf86vm }: { lib, stdenv, fetchzip, libGLU, libGL, libXrandr, libX11, libXxf86vm, zlib }:
let let
common = import ./common.nix { inherit fetchzip; }; common = import ./common.nix { inherit fetchzip; };
@ -12,22 +12,29 @@ stdenv.mkDerivation rec {
postPatch = '' postPatch = ''
sed -ie '/sys\/sysctl.h/d' source/Irrlicht/COSOperator.cpp sed -ie '/sys\/sysctl.h/d' source/Irrlicht/COSOperator.cpp
'' + lib.optionalString stdenv.isAarch64 ''
substituteInPlace source/Irrlicht/Makefile \
--replace "-DIRRLICHT_EXPORTS=1" "-DIRRLICHT_EXPORTS=1 -DPNG_ARM_NEON_OPT=0"
''; '';
preConfigure = '' preConfigure = ''
cd source/Irrlicht cd source/Irrlicht
''; '';
buildPhase = '' preBuild = ''
make sharedlib NDEBUG=1 "LDFLAGS=-lX11 -lGL -lXxf86vm" makeFlagsArray+=(sharedlib NDEBUG=1 LDFLAGS="-lX11 -lGL -lXxf86vm")
''; '';
enableParallelBuilding = true;
preInstall = '' preInstall = ''
sed -i s,/usr/local/lib,$out/lib, Makefile sed -i s,/usr/local/lib,$out/lib, Makefile
mkdir -p $out/lib mkdir -p $out/lib
''; '';
buildInputs = [ libGLU libGL libXrandr libX11 libXxf86vm ]; buildInputs = [
libGLU libGL libXrandr libX11 libXxf86vm
] ++ lib.optional stdenv.isAarch64 zlib;
meta = { meta = {
homepage = "http://irrlicht.sourceforge.net/"; homepage = "http://irrlicht.sourceforge.net/";

View File

@ -5,6 +5,7 @@
, protobuf , protobuf
, python3 , python3
, stdenv , stdenv
, buildPackages
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -25,7 +26,7 @@ stdenv.mkDerivation rec {
cmakeFlags = [ cmakeFlags = [
"-DBUILD_SHARED_LIBS=ON" # generate $out/lib/libprotobuf-nanopb.so{.0,} "-DBUILD_SHARED_LIBS=ON" # generate $out/lib/libprotobuf-nanopb.so{.0,}
"-DBUILD_STATIC_LIBS=ON" # generate $out/lib/libprotobuf-nanopb.a "-DBUILD_STATIC_LIBS=ON" # generate $out/lib/libprotobuf-nanopb.a
"-Dnanopb_PROTOC_PATH=${protobuf}/bin/protoc" "-Dnanopb_PROTOC_PATH=${buildPackages.protobuf}/bin/protoc"
]; ];
postInstall = '' postInstall = ''

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "openfst"; pname = "openfst";
version = "1.7.9"; version = "1.8.1";
src = fetchurl { src = fetchurl {
url = "http://www.openfst.org/twiki/pub/FST/FstDownload/${pname}-${version}.tar.gz"; url = "http://www.openfst.org/twiki/pub/FST/FstDownload/${pname}-${version}.tar.gz";
sha256 = "1pmx1yhn2gknj0an0zwqmzgwjaycapi896244np50a8y3nrsw6ck"; sha256 = "sha256-JPtTtyu2h+P6julscqMf8pINmbmAoKj2HdpCb8pnE/A=";
}; };
configureFlags = [ configureFlags = [

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "opengrm-ngram"; pname = "opengrm-ngram";
version = "1.3.11"; version = "1.3.13";
src = fetchurl { src = fetchurl {
url = "http://www.openfst.org/twiki/pub/GRM/NGramDownload/ngram-${version}.tar.gz"; url = "http://www.openfst.org/twiki/pub/GRM/NGramDownload/ngram-${version}.tar.gz";
sha256 = "0wwpcj8qncdr9f2pmi0vhlw277dyxr85ygdi8g57xp2ifysigm05"; sha256 = "sha256-5CXf6OXs7owny3yZQrWYA6yhIyN0dgA2B8TSDEUTF1Q=";
}; };
nativeBuildInputs = [ autoreconfHook ]; nativeBuildInputs = [ autoreconfHook ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "htslib"; pname = "htslib";
version = "1.11"; version = "1.13";
src = fetchurl { src = fetchurl {
url = "https://github.com/samtools/htslib/releases/download/${version}/${pname}-${version}.tar.bz2"; url = "https://github.com/samtools/htslib/releases/download/${version}/${pname}-${version}.tar.bz2";
sha256 = "1mrq4mihzx37yqhj3sfz6da6mw49niia808bzsw2gkkgmadxvyng"; sha256 = "sha256-8kB9+fl/C7awdlZXnkGhylEARkBntrIb+WKi6ksO/WU=";
}; };
# perl is only used during the check phase. # perl is only used during the check phase.

View File

@ -7,14 +7,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "ailment"; pname = "ailment";
version = "9.0.10072"; version = "9.0.10159";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "angr"; owner = "angr";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-sUyR9X/+JedJGsiQQuwgJQB5e1+S1I516P5jDCQRzAw="; sha256 = "sha256-45wdHlAkuzLqwy3B7bEm2fhHD8iT5xSVmeRGOa2SNnI=";
}; };
propagatedBuildInputs = [ pyvex ]; propagatedBuildInputs = [ pyvex ];

View File

@ -8,7 +8,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aiomusiccast"; pname = "aiomusiccast";
version = "0.9.2"; version = "0.10.0";
format = "pyproject"; format = "pyproject";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "vigonotion"; owner = "vigonotion";
repo = "aiomusiccast"; repo = "aiomusiccast";
rev = version; rev = version;
sha256 = "sha256-xZPNEynj0kbeika15ZDEIRUe519V6Asaw+CEiBu7VL4="; sha256 = "sha256-UdWZLthpCuKLjASVwi4GTkrHY+K9c1xrNYVLezC/NGM=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -43,14 +43,14 @@ in
buildPythonPackage rec { buildPythonPackage rec {
pname = "angr"; pname = "angr";
version = "9.0.10072"; version = "9.0.10159";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-mdGcEeuWXo0Qyi8+mU8RSpUoTbUkVBmduTz3B4TW2zg="; sha256 = "sha256-j3SbKBoREeB4IJmXVm27K4C1FLcZwqFMFXQwWnMtE0g=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -9,14 +9,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "angrop"; pname = "angrop";
version = "9.0.10072"; version = "9.0.10159";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "angr"; owner = "angr";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-FTKvGhONDUifwZhoKBXTZQFNbC/vTcHdLIge3j6U8uo="; sha256 = "sha256-gVYriEt0/DPB0lDK9hGSnipGLCZtSOf27gtF8KwCMDA=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -7,13 +7,13 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "archinfo"; pname = "archinfo";
version = "9.0.10072"; version = "9.0.10159";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "angr"; owner = "angr";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-Nwt2QD+A67Lbgzg/HSR+yaNWk9+EsUWA5nxm4JTikS8="; sha256 = "sha256-WkA4vSXzndd7ldNBVagEEodj+2GuYg9OURnMLhRq8W8=";
}; };
checkInputs = [ checkInputs = [

View File

@ -11,7 +11,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "asyncwhois"; pname = "asyncwhois";
version = "0.4.0"; version = "0.4.1";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "pogzyb"; owner = "pogzyb";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-yJ+AHUyzAl8lRcKcLfMJ8InhV0LVUK+Neb5ngQOwFTM="; sha256 = "sha256-mKKN2IuveOE+3mZGS5LFa15lJPA9y7KgLd0FoRuEMH0=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -10,14 +10,14 @@
}: }:
buildPythonPackage rec { buildPythonPackage rec {
version = "19.0.0"; version = "19.1.0";
pname = "azure-mgmt-network"; pname = "azure-mgmt-network";
disabled = !isPy3k; disabled = !isPy3k;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
extension = "zip"; extension = "zip";
sha256 = "5e39a26ae81fa58c13c02029700f8c7b22c3fd832a294c543e3156a91b9459e8"; sha256 = "62ef7fe8ba98e56412b434c9c35dc755b3c5e469f2c01bbed2ce0d12973a044b";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -11,12 +11,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "azure-mgmt-rdbms"; pname = "azure-mgmt-rdbms";
version = "9.1.0"; version = "10.0.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
extension = "zip"; extension = "zip";
sha256 = "f738d9e6db8f6da6bb4e84e59dd0548c8adef948357a447337e78d1035ac960a"; sha256 = "bdc479b3bbcac423943d63e746a81dd5fc80b46a4dbb4393e760016e3fa4f74a";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -7,13 +7,13 @@
}: }:
buildPythonPackage rec { buildPythonPackage rec {
version = "0.6.2"; version = "0.7.0";
pname = "azure-multiapi-storage"; pname = "azure-multiapi-storage";
disabled = isPy27; disabled = isPy27;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "74061f99730fa82c54d9b8ab3c7d6e219da3f30912740ecf0456b20cb3555ebc"; sha256 = "cd4f184be8c9ca8aca969f93ed50dc7fe556d28ca11520440fc182cf876abdf9";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -1,24 +1,26 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, isPy27
, fetchFromGitHub , fetchFromGitHub
, pytestCheckHook , pytestCheckHook
, pythonOlder
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "cachetools"; pname = "cachetools";
version = "4.2.2"; version = "4.2.3";
disabled = isPy27; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tkem"; owner = "tkem";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-JTm8ht2Ubn34uQLR0yjUjXSdDQggWfYUlS0T628OUoI="; sha256 = "sha256-9CHXvb+Nn3N2oWHwNbqKguzDO/q+4EnMZ50+E+MWS/A=";
}; };
checkInputs = [ pytestCheckHook ]; checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [ "cachetools" ]; pythonImportsCheck = [ "cachetools" ];

View File

@ -13,14 +13,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "claripy"; pname = "claripy";
version = "9.0.10072"; version = "9.0.10159";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "angr"; owner = "angr";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-bsFfp1ocgHhe0/1wWwgnXDQm37gmWQylZvy6HiyQGSw="; sha256 = "sha256-0I3ITMCOuYm5fmmnQN+zy9lunvfsLb1qlUzSOnPGwlQ=";
}; };
# Use upstream z3 implementation # Use upstream z3 implementation

View File

@ -15,7 +15,7 @@
let let
# The binaries are following the argr projects release cycle # The binaries are following the argr projects release cycle
version = "9.0.10072"; version = "9.0.10159";
# Binary files from https://github.com/angr/binaries (only used for testing and only here) # Binary files from https://github.com/angr/binaries (only used for testing and only here)
binaries = fetchFromGitHub { binaries = fetchFromGitHub {
@ -35,7 +35,7 @@ buildPythonPackage rec {
owner = "angr"; owner = "angr";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-uY0Pp+BssnkQvF8fsVlRW2Wj/JmMBSBudDf9AHekBtw="; sha256 = "sha256-DkddaVmSIQToF5b7uj+96vCSZU0cJdfqIDSwDIFEEyI=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -18,6 +18,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "cloudsplaining"; pname = "cloudsplaining";
version = "0.4.5"; version = "0.4.5";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
@ -44,7 +45,19 @@ buildPythonPackage rec {
pytestCheckHook pytestCheckHook
]; ];
pythonImportsCheck = [ "cloudsplaining" ]; postPatch = ''
# Ignore pinned versions
sed -i "s/'\(.*\)\(==\|>=\).*'/'\1'/g" requirements.txt
'';
disabledTests = [
"test_policy_expansion"
"test_statement_details_for_allow_not_action"
];
pythonImportsCheck = [
"cloudsplaining"
];
meta = with lib; { meta = with lib; {
description = "Python module for AWS IAM security assessment"; description = "Python module for AWS IAM security assessment";

View File

@ -0,0 +1,50 @@
{ lib
, aiohttp
, asynctest
, buildPythonPackage
, fetchFromGitHub
, certifi
, pythonOlder
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "crownstone-cloud";
version = "1.4.5";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "crownstone";
repo = "crownstone-lib-python-cloud";
rev = "v${version}";
sha256 = "1a8bkqkrc7iyggr5rr20qdqg67sycdx2d94dd1ylkmr7627r34ys";
};
propagatedBuildInputs = [
aiohttp
asynctest
certifi
];
checkInputs = [
pytestCheckHook
];
postPatch = ''
substituteInPlace requirements.txt \
--replace "codecov>=2.1.10" ""
'';
pythonImportsCheck = [
"crownstone_cloud"
];
meta = with lib; {
description = "Python module for communicating with Crownstone Cloud and devices";
homepage = "https://github.com/crownstone/crownstone-lib-python-cloud";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,41 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pyaes
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "crownstone-core";
version = "3.0.1";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "crownstone";
repo = "crownstone-lib-python-core";
rev = version;
sha256 = "138lignv7c8kkqbqfkdcfpg39gm9x44h7r2j403m4ib7gq420hsn";
};
propagatedBuildInputs = [
pyaes
];
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"crownstone_core"
];
meta = with lib; {
description = "Python module with shared classes, util functions and definition of Crownstone";
homepage = "https://github.com/crownstone/crownstone-lib-python-core";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,44 @@
{ lib
, aiohttp
, asynctest
, buildPythonPackage
, certifi
, fetchFromGitHub
, pythonOlder
, coverage
}:
buildPythonPackage rec {
pname = "crownstone-sse";
version = "2.0.2";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "crownstone";
repo = "crownstone-lib-python-sse";
rev = version;
sha256 = "0rrr92j8pi5annrfa22k1hggsyyacl9asi9i8yrj4jqdjvwjn2gc";
};
propagatedBuildInputs = [
aiohttp
asynctest
certifi
];
# Tests are only providing coverage
doCheck = false;
pythonImportsCheck = [
"crownstone_sse"
];
meta = with lib; {
description = "Python module for listening to Crownstone SSE events";
homepage = "https://github.com/crownstone/crownstone-lib-python-sse";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -0,0 +1,41 @@
{ lib
, crownstone-core
, buildPythonPackage
, pyserial
, fetchFromGitHub
, pythonOlder
}:
buildPythonPackage rec {
pname = "crownstone-uart";
version = "2.1.0";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "crownstone";
repo = "crownstone-lib-python-uart";
rev = version;
sha256 = "0sdz131vmrfp6hrm9iwqw8mj9qazsxg7b85yadib1122w9f3b1zc";
};
propagatedBuildInputs = [
crownstone-core
pyserial
];
# Project has no tests
doCheck = false;
pythonImportsCheck = [
"crownstone_uart"
];
meta = with lib; {
description = "Python module for communicating with Crownstone USB dongles";
homepage = "https://github.com/crownstone/crownstone-lib-python-uart";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -14,11 +14,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-automl"; pname = "google-cloud-automl";
version = "2.4.2"; version = "2.5.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-c3zlpCejXB/RO8RnyFUpDknefpoMZWXWgaS7ACpqdAw="; sha256 = "c360f40f4c63e16ae6dfe701892bb74a1055169e58f1ef39136809eecf73264e";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -12,11 +12,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-container"; pname = "google-cloud-container";
version = "2.8.1"; version = "2.9.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "dc0302b1fa4a435ffd97c13d669ed5b1a60c5a0a21d5528418466ca54d0cd4d5"; sha256 = "2454e8dd93093fe6f6ec8e6771f8a7dab19f1d02c629dbbe8972e84b5d9c01e0";
}; };
propagatedBuildInputs = [ google-api-core grpc-google-iam-v1 libcst proto-plus ]; propagatedBuildInputs = [ google-api-core grpc-google-iam-v1 libcst proto-plus ];

View File

@ -2,11 +2,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-datacatalog"; pname = "google-cloud-datacatalog";
version = "3.4.2"; version = "3.4.3";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "f16ff1bb49ff760cdc0ff30bbc352f0c27b8bdd2ba76d8bf22e0fd9af3a2ca16"; sha256 = "1b0f7bb8aaf8a3e0f4b4509808ee9e1de77b5f076214b0b3e52e0ce86734fd84";
}; };
propagatedBuildInputs = [ libcst google-api-core grpc-google-iam-v1 proto-plus ]; propagatedBuildInputs = [ libcst google-api-core grpc-google-iam-v1 proto-plus ];

View File

@ -12,11 +12,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-error-reporting"; pname = "google-cloud-error-reporting";
version = "1.2.3"; version = "1.3.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "5a7d742ab1c94525a68c75c94ccb7af3f19759627ebe7869fe16db158f0eba4e"; sha256 = "a5482a7b05ac3be13a3d96db32d158cb4cebf0ac35c82c3a27ee2fd9aa0dcc25";
}; };
postPatch = '' postPatch = ''

View File

@ -13,11 +13,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-monitoring"; pname = "google-cloud-monitoring";
version = "2.5.1"; version = "2.6.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "f8b3842fd11965a3872622988359a21bff62bd1b7b9be3ccf095b7ae2f4c796f"; sha256 = "47feb2e635ef79af98696eb22a5af1db8a78b3a2919e39bdec65ba45659b59ac";
}; };
propagatedBuildInputs = [ libcst google-api-core proto-plus ]; propagatedBuildInputs = [ libcst google-api-core proto-plus ];

View File

@ -9,11 +9,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-runtimeconfig"; pname = "google-cloud-runtimeconfig";
version = "0.32.6"; version = "0.33.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "3f333aa1f6a47cb5a38f3416c4ac9a4bbeaceeb1f3f2381fef9553c9fb665cc7"; sha256 = "cc85e5de7cdb58a27561885021ee6fcf1d9f89e0f0db7c371bdca9c54788dd15";
}; };
propagatedBuildInputs = [ google-api-core google-cloud-core ]; propagatedBuildInputs = [ google-api-core google-cloud-core ];

View File

@ -12,11 +12,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-securitycenter"; pname = "google-cloud-securitycenter";
version = "1.6.0"; version = "1.7.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "5ac6bad2506d21e9176dcc1afd74cd9c87209c40e85cd2a03bb0421f76b7fa77"; sha256 = "7321a88191d61ca0cc720b7ad07d9693e07726728492739930562bcd33ec1494";
}; };
propagatedBuildInputs = [ grpc-google-iam-v1 google-api-core libcst proto-plus ]; propagatedBuildInputs = [ grpc-google-iam-v1 google-api-core libcst proto-plus ];

View File

@ -11,11 +11,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-speech"; pname = "google-cloud-speech";
version = "2.9.3"; version = "2.10.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "52b8a056f26e9ed082576b7b173c9a86f286a12c2883ec7cf5a0e8be68020bac"; sha256 = "bc85ae6694c9a1e02046364776b9f2401a3826ddc7b532b32c316559ff4f1afa";
}; };
propagatedBuildInputs = [ libcst google-api-core proto-plus ]; propagatedBuildInputs = [ libcst google-api-core proto-plus ];

View File

@ -12,11 +12,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-tasks"; pname = "google-cloud-tasks";
version = "2.5.2"; version = "2.6.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "af870971187b3d58fc87a81323cabec1628fac910c6af82076dd6270b111f17e"; sha256 = "fd9fe318063ec0f7e4e1780aca81a798d3e90e8def1c24b6f450ea1a8c131c0a";
}; };
propagatedBuildInputs = [ google-api-core grpc-google-iam-v1 libcst proto-plus ]; propagatedBuildInputs = [ google-api-core grpc-google-iam-v1 libcst proto-plus ];

View File

@ -11,11 +11,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-texttospeech"; pname = "google-cloud-texttospeech";
version = "2.5.3"; version = "2.6.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "2672f5caf518105fe9389269efd59a0761ad48b8140e68bac3f6a5062be9d8a4"; sha256 = "d24dec1ee71bb63a7f6805b2d78923b2325de59407b4688978b7769bbafc3eb8";
}; };
propagatedBuildInputs = [ libcst google-api-core proto-plus ]; propagatedBuildInputs = [ libcst google-api-core proto-plus ];

View File

@ -11,11 +11,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-cloud-videointelligence"; pname = "google-cloud-videointelligence";
version = "2.3.3"; version = "2.4.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "bb3a98b5b8044be80c5fdbd76e7acd9b9bdd6026729a53eae9692a9a6c6683ef"; sha256 = "92dd4f1e87b02ab414ad744eefa321e079358527cb8c352e1054ae1dab5f1055";
}; };
propagatedBuildInputs = [ google-api-core proto-plus ]; propagatedBuildInputs = [ google-api-core proto-plus ];

View File

@ -43,7 +43,14 @@ buildPythonPackage rec {
}) })
]; ];
pythonImportsCheck = [ "gvmtools" ]; disabledTests = [
# Don't test sending
"SendTargetTestCase"
];
pythonImportsCheck = [
"gvmtools"
];
meta = with lib; { meta = with lib; {
description = "Collection of APIs that help with remote controlling a Greenbone Security Manager"; description = "Collection of APIs that help with remote controlling a Greenbone Security Manager";

View File

@ -16,11 +16,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "holoviews"; pname = "holoviews";
version = "1.14.5"; version = "1.14.6";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "268e07c09012d24233d8957f0207b9aec33000b639e661ca50e68458d735e6be"; sha256 = "3a25c4fe3195fdc4639461abbfa5a8bebce8ab737674b6673da2236a901cfefd";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -1,4 +1,10 @@
{ buildPythonPackage, lib, fetchFromGitHub, isPy27, nixosTests, fetchpatch, fetchPypi { buildPythonPackage
, lib
, fetchFromGitHub
, isPy27
, nixosTests
, fetchpatch
, fetchPypi
, alembic , alembic
, aniso8601 , aniso8601
, Babel , Babel
@ -12,7 +18,6 @@
, flask_mail , flask_mail
, flask_migrate , flask_migrate
, flask-restful , flask-restful
, flask_script
, flask_sqlalchemy , flask_sqlalchemy
, flask_wtf , flask_wtf
, debts , debts
@ -25,7 +30,9 @@
, pytz , pytz
, six , six
, sqlalchemy , sqlalchemy
, sqlalchemy-utils
, sqlalchemy-continuum , sqlalchemy-continuum
, sqlalchemy-i18n
, werkzeug , werkzeug
, wtforms , wtforms
, psycopg2 # optional, for postgresql support , psycopg2 # optional, for postgresql support
@ -36,6 +43,7 @@
# ihatemoney is not really a library. It will only ever be imported # ihatemoney is not really a library. It will only ever be imported
# by the interpreter of uwsgi. So overrides for its depencies are fine. # by the interpreter of uwsgi. So overrides for its depencies are fine.
let let
# fixed in next release, but patches don't apply
# https://github.com/spiral-project/ihatemoney/issues/567 # https://github.com/spiral-project/ihatemoney/issues/567
pinned_wtforms = wtforms.overridePythonAttrs (old: rec { pinned_wtforms = wtforms.overridePythonAttrs (old: rec {
pname = "WTForms"; pname = "WTForms";
@ -45,7 +53,19 @@ let
sha256 = "0q9vkcq6jnnn618h27lx9sas6s9qlg2mv8ja6dn0hy38gwzarnqc"; sha256 = "0q9vkcq6jnnn618h27lx9sas6s9qlg2mv8ja6dn0hy38gwzarnqc";
}; };
}); });
pinned_flask_wtf = flask_wtf.override { wtforms = pinned_wtforms; };
# sqlalchemy-continuum requires sqlalchemy < 1.4
pinned_sqlalchemy = sqlalchemy.overridePythonAttrs (
old: rec {
pname = "SQLAlchemy";
version = "1.3.24";
src = fetchPypi {
inherit pname version;
sha256 = "06bmxzssc66cblk1hamskyv5q3xf1nh1py3vi6dka4lkpxy7gfzb";
};
}
);
in in
buildPythonPackage rec { buildPythonPackage rec {
@ -73,6 +93,9 @@ buildPythonPackage rec {
url = "https://github.com/spiral-project/ihatemoney/commit/8d77cf5d5646e1d2d8ded13f0660638f57e98471.patch"; url = "https://github.com/spiral-project/ihatemoney/commit/8d77cf5d5646e1d2d8ded13f0660638f57e98471.patch";
sha256 = "0y855sk3qsbpq7slj876k2ifa1lccc2dccag98pkyaadpz5gbabv"; sha256 = "0y855sk3qsbpq7slj876k2ifa1lccc2dccag98pkyaadpz5gbabv";
}) })
# backported from current master
# remove dependency on flask-script, which removed support on some features ihm used to need
./remove_flask_script.patch
]; ];
postPatch = '' postPatch = ''
@ -81,7 +104,6 @@ buildPythonPackage rec {
''; '';
propagatedBuildInputs = [ propagatedBuildInputs = [
alembic
aniso8601 aniso8601
Babel Babel
blinker blinker
@ -92,11 +114,18 @@ buildPythonPackage rec {
flask-babel flask-babel
flask-cors flask-cors
flask_mail flask_mail
flask_migrate (
flask_migrate.override {
flask_sqlalchemy = flask_sqlalchemy.override {
sqlalchemy = pinned_sqlalchemy;
};
alembic = alembic.override {
sqlalchemy = pinned_sqlalchemy;
};
}
)
flask-restful flask-restful
flask_script (flask_wtf.override { wtforms = pinned_wtforms; })
flask_sqlalchemy
pinned_flask_wtf
idna idna
itsdangerous itsdangerous
jinja2 jinja2
@ -105,8 +134,29 @@ buildPythonPackage rec {
python-dateutil python-dateutil
pytz pytz
six six
sqlalchemy (
sqlalchemy-continuum (
sqlalchemy-continuum.override {
sqlalchemy = pinned_sqlalchemy;
sqlalchemy-utils = sqlalchemy-utils.override {
sqlalchemy = pinned_sqlalchemy;
};
sqlalchemy-i18n = sqlalchemy-i18n.override {
sqlalchemy = pinned_sqlalchemy;
sqlalchemy-utils = sqlalchemy-utils.override {
sqlalchemy = pinned_sqlalchemy;
};
};
flask_sqlalchemy = flask_sqlalchemy.override {
sqlalchemy = pinned_sqlalchemy;
};
}
).overridePythonAttrs (
old: {
doCheck = false;
}
)
)
werkzeug werkzeug
pinned_wtforms pinned_wtforms
psycopg2 psycopg2
@ -114,7 +164,8 @@ buildPythonPackage rec {
]; ];
checkInputs = [ checkInputs = [
flask_testing pytestCheckHook flask_testing
pytestCheckHook
]; ];
pytestFlagsArray = [ "--pyargs ihatemoney.tests.tests" ]; pytestFlagsArray = [ "--pyargs ihatemoney.tests.tests" ];
@ -134,5 +185,3 @@ buildPythonPackage rec {
maintainers = [ maintainers.symphorien ]; maintainers = [ maintainers.symphorien ];
}; };
} }

View File

@ -0,0 +1,284 @@
commit 4d831ba2316d54f4916fb9d1160ec7a3856b47d4
Author: Glandos <bugs-github@antipoul.fr>
Date: Sun Jun 6 14:30:52 2021 +0200
remove usage of Flask-Script
Use flask.cli instead with compatibility layer for existing commands,
such as "runserver".
cherry-pick from 74e222f1a1cbfc2fac102fefc1115e9d0a6586dc
diff --git a/Makefile b/Makefile
index a681709..90ab1bb 100644
--- a/Makefile
+++ b/Makefile
@@ -38,7 +38,7 @@ update: remove-install-stamp install ## Update the dependencies
.PHONY: serve
serve: install ## Run the ihatemoney server
@echo 'Running ihatemoney on http://localhost:5000'
- $(PYTHON) -m ihatemoney.manage runserver
+ $(PYTHON) -m ihatemoney.manage run
.PHONY: test
test: install-dev ## Run the tests
diff --git a/docs/installation.rst b/docs/installation.rst
index 4994499..4df70a2 100644
--- a/docs/installation.rst
+++ b/docs/installation.rst
@@ -59,7 +59,7 @@ Test it
Once installed, you can start a test server::
- ihatemoney runserver
+ ihatemoney run
And point your browser at `http://localhost:5000 <http://localhost:5000>`_.
diff --git a/ihatemoney/manage.py b/ihatemoney/manage.py
index a192844..805a07f 100755
--- a/ihatemoney/manage.py
+++ b/ihatemoney/manage.py
@@ -5,8 +5,8 @@ import os
import random
import sys
-from flask_migrate import Migrate, MigrateCommand
-from flask_script import Command, Manager, Option
+import click
+from flask.cli import FlaskGroup
from werkzeug.security import generate_password_hash
from ihatemoney.models import Project, db
@@ -14,31 +14,48 @@ from ihatemoney.run import create_app
from ihatemoney.utils import create_jinja_env
-class GeneratePasswordHash(Command):
+@click.group(cls=FlaskGroup, create_app=create_app)
+def cli():
+ """IHateMoney Management script"""
- """Get password from user and hash it without printing it in clear text."""
- def run(self):
- password = getpass.getpass(prompt="Password: ")
- print(generate_password_hash(password))
-
-
-class GenerateConfig(Command):
- def get_options(self):
- return [
- Option(
- "config_file",
- choices=[
- "ihatemoney.cfg",
- "apache-vhost.conf",
- "gunicorn.conf.py",
- "supervisord.conf",
- "nginx.conf",
- ],
- )
+@cli.command(
+ context_settings={"ignore_unknown_options": True, "allow_extra_args": True}
+)
+@click.pass_context
+def runserver(ctx):
+ """Deprecated, use the "run" command instead"""
+ click.secho(
+ '"runserver" is deprecated, please use the standard "run" flask command',
+ fg="red",
+ )
+ run = cli.get_command(ctx, "run")
+ ctx.forward(run)
+
+
+@click.command(name="generate_password_hash")
+def password_hash():
+ """Get password from user and hash it without printing it in clear text."""
+ password = getpass.getpass(prompt="Password: ")
+ print(generate_password_hash(password))
+
+
+@click.command()
+@click.argument(
+ "config_file",
+ type=click.Choice(
+ [
+ "ihatemoney.cfg",
+ "apache-vhost.conf",
+ "gunicorn.conf.py",
+ "supervisord.conf",
+ "nginx.conf",
]
+ ),
+)
+def generate_config(config_file):
+ """Generate front-end server configuration"""
- @staticmethod
def gen_secret_key():
return "".join(
[
@@ -49,59 +66,33 @@ class GenerateConfig(Command):
]
)
- def run(self, config_file):
- env = create_jinja_env("conf-templates", strict_rendering=True)
- template = env.get_template("%s.j2" % config_file)
+ env = create_jinja_env("conf-templates", strict_rendering=True)
+ template = env.get_template(f"{config_file}.j2")
- bin_path = os.path.dirname(sys.executable)
- pkg_path = os.path.abspath(os.path.dirname(__file__))
+ bin_path = os.path.dirname(sys.executable)
+ pkg_path = os.path.abspath(os.path.dirname(__file__))
- print(
- template.render(
- pkg_path=pkg_path,
- bin_path=bin_path,
- sys_prefix=sys.prefix,
- secret_key=self.gen_secret_key(),
- )
+ print(
+ template.render(
+ pkg_path=pkg_path,
+ bin_path=bin_path,
+ sys_prefix=sys.prefix,
+ secret_key=gen_secret_key(),
)
-
-
-class DeleteProject(Command):
- def run(self, project_name):
- demo_project = Project.query.get(project_name)
- db.session.delete(demo_project)
+ )
+
+
+@cli.command()
+@click.argument("project_name")
+def delete_project(project_name):
+ """Delete a project"""
+ project = Project.query.get(project_name)
+ if project is None:
+ click.secho(f'Project "{project_name}" not found', fg="red")
+ else:
+ db.session.delete(project)
db.session.commit()
-def main():
- QUIET_COMMANDS = ("generate_password_hash", "generate-config")
-
- exception = None
- backup_stderr = sys.stderr
- # Hack to divert stderr for commands generating content to stdout
- # to avoid confusing the user
- if len(sys.argv) > 1 and sys.argv[1] in QUIET_COMMANDS:
- sys.stderr = open(os.devnull, "w")
-
- try:
- app = create_app()
- Migrate(app, db)
- except Exception as e:
- exception = e
-
- # Restore stderr
- sys.stderr = backup_stderr
-
- if exception:
- raise exception
-
- manager = Manager(app)
- manager.add_command("db", MigrateCommand)
- manager.add_command("generate_password_hash", GeneratePasswordHash)
- manager.add_command("generate-config", GenerateConfig)
- manager.add_command("delete-project", DeleteProject)
- manager.run()
-
-
if __name__ == "__main__":
- main()
+ cli()
diff --git a/ihatemoney/tests/tests.py b/ihatemoney/tests/tests.py
index b27fafc..23f19a6 100644
--- a/ihatemoney/tests/tests.py
+++ b/ihatemoney/tests/tests.py
@@ -15,7 +15,7 @@ from sqlalchemy import orm
from werkzeug.security import check_password_hash, generate_password_hash
from ihatemoney import history, models, utils
-from ihatemoney.manage import DeleteProject, GenerateConfig, GeneratePasswordHash
+from ihatemoney.manage import delete_project, generate_config, password_hash
from ihatemoney.run import create_app, db, load_configuration
from ihatemoney.versioning import LoggingMode
@@ -2157,28 +2157,24 @@ class CommandTestCase(BaseTestCase):
- raise no exception
- produce something non-empty
"""
- cmd = GenerateConfig()
- for config_file in cmd.get_options()[0].kwargs["choices"]:
- with patch("sys.stdout", new=io.StringIO()) as stdout:
- cmd.run(config_file)
- print(stdout.getvalue())
- self.assertNotEqual(len(stdout.getvalue().strip()), 0)
+ runner = self.app.test_cli_runner()
+ for config_file in generate_config.params[0].type.choices:
+ result = runner.invoke(generate_config, config_file)
+ self.assertNotEqual(len(result.output.strip()), 0)
def test_generate_password_hash(self):
- cmd = GeneratePasswordHash()
- with patch("sys.stdout", new=io.StringIO()) as stdout, patch(
- "getpass.getpass", new=lambda prompt: "secret"
- ): # NOQA
- cmd.run()
- print(stdout.getvalue())
- self.assertEqual(len(stdout.getvalue().strip()), 189)
+ runner = self.app.test_cli_runner()
+ with patch("getpass.getpass", new=lambda prompt: "secret"):
+ result = runner.invoke(password_hash)
+ print(result.output.strip())
+ self.assertEqual(len(result.output.strip()), 102)
def test_demo_project_deletion(self):
self.create_project("demo")
self.assertEquals(models.Project.query.get("demo").name, "demo")
- cmd = DeleteProject()
- cmd.run("demo")
+ runner = self.app.test_cli_runner()
+ runner.invoke(delete_project, "demo")
self.assertEqual(len(models.Project.query.all()), 0)
diff --git a/setup.cfg b/setup.cfg
index d493717..48e447c 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -31,7 +31,6 @@ install_requires =
Flask-Mail==0.9.1
Flask-Migrate==2.5.3
Flask-RESTful==0.3.8
- Flask-Script==2.0.6
Flask-SQLAlchemy==2.4.1
Flask-WTF==0.14.3
WTForms==2.2.1
@@ -51,8 +50,12 @@ dev =
zest.releaser==6.20.1
[options.entry_points]
+flask.commands =
+ generate_password_hash = ihatemoney.manage:password_hash
+ generate-config = ihatemoney.manage:generate_config
+
console_scripts =
- ihatemoney = ihatemoney.manage:main
+ ihatemoney = ihatemoney.manage:cli
paste.app_factory =
main = ihatemoney.run:main

View File

@ -2,12 +2,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "img2pdf"; pname = "img2pdf";
version = "0.4.1"; version = "0.4.2";
disabled = isPy27; disabled = isPy27;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-OKEinKhLIR13gtHWWtclGpeBvyT29kl8c4x1X8/tVVI="; sha256 = "sha256-qs9YZQPWET5Tv7A8hcheVGw4RBOlbBXd0I7lHIZEeaI=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -7,14 +7,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "immutabledict"; pname = "immutabledict";
version = "2.2.0"; version = "2.2.1";
format = "pyproject"; format = "pyproject";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "corenting"; owner = "corenting";
repo = "immutabledict"; repo = "immutabledict";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-Jf7ad3ImPfEvCBrUZ1NVXMCBqwLmd0hwpKfe9rVsehc="; sha256 = "sha256-z04xxoCw0eBtkt++y/1yUsAPaLlAGUtWBdRBM74ul1c=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -4,28 +4,33 @@
, impacket , impacket
, netaddr , netaddr
, pypykatz , pypykatz
, rich
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "lsassy"; pname = "lsassy";
version = "2.1.5"; version = "3.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Hackndo"; owner = "Hackndo";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "15w12asy797dxsz57avbxy6dbi7va9p5jx6i3gm9df9mbj0j3lcc"; sha256 = "sha256-75gs08QGjN5iUT4HQZZTSKi3vzNNKQvZR2JTObYNb7w=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
impacket impacket
netaddr netaddr
pypykatz pypykatz
rich
]; ];
# Tests require an active domain controller # Tests require an active domain controller
doCheck = false; doCheck = false;
pythonImportsCheck = [ "lsassy" ];
pythonImportsCheck = [
"lsassy"
];
meta = with lib; { meta = with lib; {
description = "Python module to extract data from Local Security Authority Subsystem Service (LSASS)"; description = "Python module to extract data from Local Security Authority Subsystem Service (LSASS)";

View File

@ -10,14 +10,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "millheater"; pname = "millheater";
version = "0.6.1"; version = "0.6.2";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Danielhiversen"; owner = "Danielhiversen";
repo = "pymill"; repo = "pymill";
rev = version; rev = version;
sha256 = "sha256-cDj6lrGPeSWwuvVd00z12+EWaqDZOHpoRZSloalhni8="; sha256 = "sha256-CG0hQN4m8EE+j5yUqODJX8/DLTVWS9tSPADSDHl6K9o=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -8,12 +8,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "mypy-boto3-s3"; pname = "mypy-boto3-s3";
version = "1.18.58"; version = "1.18.59";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "3e96a40314cd8c61b833f2f198179fb1056935c5349c5b4369432788a30ed098"; sha256 = "900615dd82ba9267ccf531734a1422272ac7b53d3256c17acea6c620fbe8ca1e";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -6,7 +6,6 @@
, fetchFromGitHub , fetchFromGitHub
, lxml , lxml
, paramiko , paramiko
, poetry
, psutil , psutil
, pytestCheckHook , pytestCheckHook
, pythonOlder , pythonOlder
@ -14,8 +13,8 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "ospd"; pname = "ospd";
version = "21.4.3"; version = "21.4.4";
format = "pyproject"; format = "setuptools";
disabled = pythonOlder "3.7" || stdenv.isDarwin; disabled = pythonOlder "3.7" || stdenv.isDarwin;
@ -23,13 +22,9 @@ buildPythonPackage rec {
owner = "greenbone"; owner = "greenbone";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1i4nfvxgxibqmqb6jwih951960sm2zy00i1wnjfnwb6za1xkpbkp"; sha256 = "sha256-dZgs+G2vJQIKnN9xHcNeNViG7mOIdKb+Ms2AKE+FC4M=";
}; };
nativeBuildInputs = [
poetry
];
propagatedBuildInputs = [ propagatedBuildInputs = [
defusedxml defusedxml
deprecated deprecated
@ -42,7 +37,9 @@ buildPythonPackage rec {
pytestCheckHook pytestCheckHook
]; ];
pythonImportsCheck = [ "ospd" ]; pythonImportsCheck = [
"ospd"
];
meta = with lib; { meta = with lib; {
description = "Framework for vulnerability scanners which support OSP"; description = "Framework for vulnerability scanners which support OSP";

View File

@ -12,14 +12,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "policy-sentry"; pname = "policy-sentry";
version = "0.11.16"; version = "0.11.18";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "salesforce"; owner = "salesforce";
repo = "policy_sentry"; repo = "policy_sentry";
rev = version; rev = version;
sha256 = "0m3sr1mhnmm22xgd3h9dgkrq20pdghwx505xld4pahj686z4bva2"; sha256 = "sha256-1wpy4WofqrPusOI2BHRqSHfXlRpbuLOx97egzSAbB8E=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -11,12 +11,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pooch"; pname = "pooch";
version = "1.5.1"; version = "1.5.2";
disabled = isPy27; disabled = isPy27;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "57ab0c43e9c5bd81227b08b9931435d71c118cd53339cc5925123a740f40b312"; sha256 = "5969b2f1defbdc405df932767e05e0b536e2771c27f1f95d7f260bc99bf13581";
}; };
nativeBuildInputs = [ setuptools-scm ]; nativeBuildInputs = [ setuptools-scm ];

View File

@ -12,7 +12,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pyhaversion"; pname = "pyhaversion";
version = "21.10.1"; version = "21.10.0";
# Only 3.8.0 and beyond are supported # Only 3.8.0 and beyond are supported
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "ludeeus"; owner = "ludeeus";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-7J7zzJlevNQb7TpFYuGvsk3EWBgwhmV32xPNSLA/LS4="; sha256 = "sha256-EvVkewFgkfYL6BjmJ/IWeuCyR+0R0ZxI35i9sxKcqxo=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -15,7 +15,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pysam"; pname = "pysam";
version = "0.16.0.1"; version = "0.17.0";
# Fetching from GitHub instead of PyPi cause the 0.13 src release on PyPi is # Fetching from GitHub instead of PyPi cause the 0.13 src release on PyPi is
# missing some files which cause test failures. # missing some files which cause test failures.
@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "pysam-developers"; owner = "pysam-developers";
repo = "pysam"; repo = "pysam";
rev = "v${version}"; rev = "v${version}";
sha256 = "168bwwm8c2k22m7paip8q0yajyl7xdxgnik0bgjl7rhqg0majz0f"; sha256 = "sha256-RDeBq6pwBGCBNIn8YOPQr96GuL6FKEYeLAPQD6XN0iE=";
}; };
nativeBuildInputs = [ samtools ]; nativeBuildInputs = [ samtools ];

View File

@ -0,0 +1,52 @@
{ lib
, aiohttp
, aresponses
, async-timeout
, buildPythonPackage
, fetchFromGitHub
, pytest-asyncio
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "pytautulli";
version = "21.10.0";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "ludeeus";
repo = pname;
rev = version;
sha256 = "1gi1jalwzf1aykvdmdbvr7hvfch9wbbjra87f1vzdmkb5iiirw01";
};
postPatch = ''
# Upstream is releasing with the help of a CI to PyPI, GitHub releases
# are not in their focus
substituteInPlace setup.py \
--replace 'version="main",' 'version="${version}",'
'';
propagatedBuildInputs = [
aiohttp
async-timeout
];
checkInputs = [
aresponses
pytest-asyncio
pytestCheckHook
];
pythonImportsCheck = [ "pytautulli" ];
meta = with lib; {
description = "Python module to get information from Tautulli";
homepage = "https://github.com/ludeeus/pytautulli";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View File

@ -1,19 +1,18 @@
{ lib { lib
, stdenv , stdenv
, buildPythonPackage , buildPythonPackage
, defusedxml
, fetchFromGitHub , fetchFromGitHub
, fetchpatch , lxml
, paramiko
, poetry-core , poetry-core
, pytestCheckHook , pytestCheckHook
, pythonOlder , pythonOlder
, paramiko
, lxml
, defusedxml
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "python-gvm"; pname = "python-gvm";
version = "21.6.0"; version = "21.10.0";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -22,7 +21,7 @@ buildPythonPackage rec {
owner = "greenbone"; owner = "greenbone";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "070qpj2y7834i50lhkkbv93s77j91js06zs1bpbmplppiraxqmyz"; sha256 = "sha256-6cNoeuB9449HB2/41VjazpSAGvaHmBjG/hqmBKX5FEA=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -30,24 +29,15 @@ buildPythonPackage rec {
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
paramiko
lxml
defusedxml defusedxml
lxml
paramiko
]; ];
checkInputs = [ checkInputs = [
pytestCheckHook pytestCheckHook
]; ];
patches = [
# Switch to poetry-core, https://github.com/greenbone/python-gvm/pull/552
(fetchpatch {
name = "switch-to-poetry-core.patch";
url = "https://github.com/greenbone/python-gvm/commit/e48afa614ba9cf69d9b22ce1a4642c625acbaa06.patch";
sha256 = "0f5wfdymp5dcjk1xb7ynsf0g6idjg2ifwgggp4agic5nkh1k1inl";
})
];
disabledTests = [ disabledTests = [
# No running SSH available # No running SSH available
"test_connect_error" "test_connect_error"
@ -55,7 +45,9 @@ buildPythonPackage rec {
"test_feed_xml_error" "test_feed_xml_error"
]; ];
pythonImportsCheck = [ "gvm" ]; pythonImportsCheck = [
"gvm"
];
meta = with lib; { meta = with lib; {
description = "Collection of APIs that help with remote controlling a Greenbone Security Manager"; description = "Collection of APIs that help with remote controlling a Greenbone Security Manager";

View File

@ -35,14 +35,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "python-lsp-server"; pname = "python-lsp-server";
version = "1.2.3"; version = "1.2.4";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "python-lsp"; owner = "python-lsp";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-zoKJ9g7cXcQhickkhRjYwl6SqOar2Kautg5dHf3PqGk="; sha256 = "0c1g46hpzjhqbjcmv6xm3by3jprcjhzjslqzrp95hdkbykvrgs5x";
}; };
postPatch = '' postPatch = ''

View File

@ -36,13 +36,15 @@ buildPythonPackage rec {
rm -r telegram/vendor rm -r telegram/vendor
substituteInPlace requirements.txt \ substituteInPlace requirements.txt \
--replace 'APScheduler==3.6.3' 'APScheduler' --replace "APScheduler==3.6.3" "APScheduler" \
--replace "cachetools==4.2.2" "cachetools"
''; '';
setupPyGlobalFlags = "--with-upstream-urllib3"; setupPyGlobalFlags = "--with-upstream-urllib3";
# tests not included with release # tests not included with release
doCheck = false; doCheck = false;
pythonImportsCheck = [ "telegram" ]; pythonImportsCheck = [ "telegram" ];
meta = with lib; { meta = with lib; {

View File

@ -9,7 +9,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pytradfri"; pname = "pytradfri";
version = "7.0.6"; version = "7.0.7";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "home-assistant-libs"; owner = "home-assistant-libs";
repo = "pytradfri"; repo = "pytradfri";
rev = version; rev = version;
sha256 = "0ckh2waz3xpz51pmigg1q336igqvvkl2pzncszvblkwv38a0rj3a"; sha256 = "sha256-gUaDPm1hq4SZm9beSbfdX0qGEGWGiq13UjchdN1+Kfc=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -11,11 +11,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pyvex"; pname = "pyvex";
version = "9.0.10072"; version = "9.0.10159";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-F6NUvcGYshPbfcfhkfbnzIxkXmfpAc/kfHFk5fuaICA="; sha256 = "sha256-9I9gAPbazuPdZDyoXpjw0IrTu+97dwznoOnyBzkNNCw=";
}; };
postPatch = lib.optionalString stdenv.isDarwin '' postPatch = lib.optionalString stdenv.isDarwin ''

View File

@ -0,0 +1,55 @@
{ lib
, buildPythonPackage
, certifi
, charset-normalizer
, fetchFromGitHub
, idna
, lxml
, pytest-mock
, pytestCheckHook
, pythonOlder
, requests
, responses
, urllib3
}:
buildPythonPackage rec {
pname = "qualysclient";
version = "0.0.4.8.1";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "woodtechie1428";
repo = pname;
rev = "v${version}";
sha256 = "1fdcmspjm1cy53x9gm7frfq175saskcwn565zqprgxzfcigip1n3";
};
propagatedBuildInputs = [
certifi
charset-normalizer
idna
lxml
requests
urllib3
];
checkInputs = [
pytest-mock
pytestCheckHook
responses
];
pythonImportsCheck = [
"qualysclient"
];
meta = with lib; {
description = "Python SDK for interacting with the Qualys API";
homepage = "https://qualysclient.readthedocs.io/";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -9,7 +9,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "r2pipe"; pname = "r2pipe";
version = "1.6.2"; version = "1.6.4";
postPatch = let postPatch = let
r2lib = "${lib.getOutput "lib" radare2}/lib"; r2lib = "${lib.getOutput "lib" radare2}/lib";
@ -27,7 +27,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "088e1a0778f8021af90b9458c9b706ae3d303a3e6a5064e1ca25d4fd737dc3c7"; sha256 = "a79877781b8e8e9bd5612faebd3991d75d7189f2941021d2adea9b4b4c5b9b7b";
}; };
# Tiny sanity check to make sure r2pipe finds radare2 (since r2pipe doesn't # Tiny sanity check to make sure r2pipe finds radare2 (since r2pipe doesn't

View File

@ -0,0 +1,41 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, nose
, requests
}:
buildPythonPackage rec {
pname = "rangehttpserver";
version = "1.2.0";
format = "pyproject";
src = fetchFromGitHub {
owner = "danvk";
repo = "RangeHTTPServer";
rev = version;
sha256 = "1sy9j6y8kp5jiwv2vd652v94kspp1yd4dwxrfqfn6zwnfyv2mzv5";
};
checkInputs = [
nose
requests
];
checkPhase = ''
runHook preCheck
nosetests
runHook postCheck
'';
pythonImportsCheck = [
"RangeHTTPServer"
];
meta = with lib; {
description = "SimpleHTTPServer with support for Range requests";
homepage = "https://github.com/danvk/RangeHTTPServer";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
}

View File

@ -1,40 +1,51 @@
{ lib { lib
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub
, defusedxml , defusedxml
, requests , fetchFromGitHub
, pytest
, requests-mock
, mock , mock
, pytest-cov , pytest-asyncio
, pytest-timeout , pytest-timeout
, testtools , pytest-vcr
, pytestCheckHook
, pythonOlder
, requests
, requests-mock
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "rxv"; pname = "rxv";
version = "0.6.0"; version = "0.7.0";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wuub"; owner = "wuub";
repo = pname; repo = pname;
# Releases are not tagged rev = "v${version}";
rev = "9b586203665031f93960543a272bb1a8f541ed37"; sha256 = "0jldnlzbfg5jm1nbgv91mlvcqkswd9f2n3qj9aqlbmj1cxq19yz8";
sha256 = "1dw3ayrzknai2279bhkgzcapzw06rhijlny33rymlbp7irp0gvnj";
}; };
propagatedBuildInputs = [ defusedxml requests ]; propagatedBuildInputs = [
defusedxml
requests
];
checkInputs = [ pytest requests-mock mock pytest-cov pytest-timeout testtools ]; checkInputs = [
checkPhase = '' mock
pytest pytest-asyncio
''; pytest-timeout
pytest-vcr
pytestCheckHook
requests-mock
];
pythonImportsCheck = [ "rxv" ];
meta = with lib; { meta = with lib; {
description = "Automation Library for Yamaha RX-V473, RX-V573, RX-V673, RX-V773 receivers"; description = "Python library for communicate with Yamaha RX-Vxxx receivers";
homepage = "https://github.com/wuub/rxv"; homepage = "https://github.com/wuub/rxv";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ flyfloh ]; maintainers = with maintainers; [ flyfloh ];
}; };
} }

View File

@ -16,11 +16,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "sagemaker"; pname = "sagemaker";
version = "2.59.8"; version = "2.60.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "655cf9b86fdba71f505e809b97a63c5cd5973158578a141748db83c469e87d87"; sha256 = "0fbd43343918137460eb1b563a81fe6de9b51c2ae4be0b844cf198c5567cd82e";
}; };
pythonImportsCheck = [ pythonImportsCheck = [

View File

@ -12,14 +12,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "scikit-optimize"; pname = "scikit-optimize";
version = "0.8.1"; version = "0.9.0";
disabled = isPy27; disabled = isPy27;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "scikit-optimize"; owner = "scikit-optimize";
repo = "scikit-optimize"; repo = "scikit-optimize";
rev = "v${version}"; rev = "v${version}";
sha256 = "1bz8gxccx8n99abw49j8h5zf3i568g5hcf8nz1yinma8jqhxjkjh"; sha256 = "0hsq6pmryimxc275yrcy4bv217bx7ma6rz0q6m4138bv4zgq18d1";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

Some files were not shown because too many files have changed in this diff Show More