Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-12-07 00:01:37 +00:00 committed by GitHub
commit 255d79d651
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
86 changed files with 5318 additions and 6383 deletions

View file

@ -4856,6 +4856,16 @@
githubId = 12491746;
name = "Masato Yonekawa";
};
hyshka = {
name = "Bryan Hyshka";
email = "bryan@hyshka.com";
github = "hyshka";
githubId = 2090758;
keys = [{
longkeyid = "rsa2048/0xDB2D93D1BFAAA6EA";
fingerprint = "24F4 1925 28C4 8797 E539 F247 DB2D 93D1 BFAA A6EA";
}];
};
hyzual = {
email = "hyzual@gmail.com";
github = "Hyzual";

View file

@ -9,7 +9,7 @@ containers.database =
{ config =
{ config, pkgs, ... }:
{ services.postgresql.enable = true;
services.postgresql.package = pkgs.postgresql_9_6;
services.postgresql.package = pkgs.postgresql_10;
};
};
```

View file

@ -11,7 +11,7 @@ containers.database =
{ config =
{ config, pkgs, ... }:
{ services.postgresql.enable = true;
services.postgresql.package = pkgs.postgresql_9_6;
services.postgresql.package = pkgs.postgresql_10;
};
};
</programlisting>

View file

@ -289,14 +289,16 @@ in
port = cfg.port;
};
services.postgresql.package =
services.postgresql.package = let
mkThrow = ver: throw "postgresql_${ver} was removed, please upgrade your postgresql version.";
in
# Note: when changing the default, make it conditional on
# system.stateVersion to maintain compatibility with existing
# systems!
mkDefault (if versionAtLeast config.system.stateVersion "21.11" then pkgs.postgresql_13
else if versionAtLeast config.system.stateVersion "20.03" then pkgs.postgresql_11
else if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql_9_6
else throw "postgresql_9_5 was removed, please upgrade your postgresql version.");
else if versionAtLeast config.system.stateVersion "17.09" then mkThrow "9_6"
else mkThrow "9_5");
services.postgresql.dataDir = mkDefault "/var/lib/postgresql/${cfg.package.psqlSchema}";

View file

@ -22,13 +22,9 @@ in
package = mkOption {
description = "Zigbee2mqtt package to use";
default = pkgs.zigbee2mqtt.override {
dataDir = cfg.dataDir;
};
default = pkgs.zigbee2mqtt;
defaultText = literalExpression ''
pkgs.zigbee2mqtt {
dataDir = services.zigbee2mqtt.dataDir
}
pkgs.zigbee2mqtt
'';
type = types.package;
};
@ -41,7 +37,7 @@ in
settings = mkOption {
type = format.type;
default = {};
default = { };
example = literalExpression ''
{
homeassistant = config.services.home-assistant.enable;
@ -83,6 +79,7 @@ in
serviceConfig = {
ExecStart = "${cfg.package}/bin/zigbee2mqtt";
User = "zigbee2mqtt";
Group = "zigbee2mqtt";
WorkingDirectory = cfg.dataDir;
Restart = "on-failure";

View file

@ -716,9 +716,9 @@ in
{ config =
{ config, pkgs, ... }:
{ services.postgresql.enable = true;
services.postgresql.package = pkgs.postgresql_9_6;
services.postgresql.package = pkgs.postgresql_10;
system.stateVersion = "17.03";
system.stateVersion = "21.05";
};
};
}

View file

@ -408,6 +408,7 @@ in
rss2email = handleTest ./rss2email.nix {};
rsyslogd = handleTest ./rsyslogd.nix {};
rxe = handleTest ./rxe.nix {};
sabnzbd = handleTest ./sabnzbd.nix {};
samba = handleTest ./samba.nix {};
samba-wsdd = handleTest ./samba-wsdd.nix {};
sanoid = handleTest ./sanoid.nix {};

22
nixos/tests/sabnzbd.nix Normal file
View file

@ -0,0 +1,22 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "sabnzbd";
meta = with pkgs.lib; {
maintainers = with maintainers; [ jojosch ];
};
machine = { pkgs, ... }: {
services.sabnzbd = {
enable = true;
};
# unrar is unfree
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "unrar" ];
};
testScript = ''
machine.wait_for_unit("sabnzbd.service")
machine.wait_until_succeeds(
"curl --fail -L http://localhost:8080/"
)
'';
})

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "f3d";
version = "1.1.1";
version = "1.2.0";
src = fetchFromGitHub {
owner = "f3d-app";
repo = "f3d";
rev = "v${version}";
sha256 = "sha256-ToFP2Q+Oi+MEU9FEe5CNp0pD0bQUBQh34B9guajnqgI=";
sha256 = "sha256-gIxtCwVbfbIh6OtibxEQRufrBOpXJzhslwhI0yt0XEY=";
};
nativeBuildInputs = [ cmake ];

View file

@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "delta";
version = "0.11.0";
version = "0.11.1";
src = fetchFromGitHub {
owner = "dandavison";
repo = pname;
rev = version;
sha256 = "sha256-gurF1vJwxmUi64Gf8m8W2cWyk/SmCNmaDo+jmYWu5fM=";
sha256 = "sha256-coxETvB/uKTgg5VFlvcFmbNj95paDWkpq0zUIeR9//8=";
};
cargoSha256 = "sha256-rMxIzh8dhzSF66feQSooodrxxiwEDjAT9Z35cFlA6XI=";
cargoSha256 = "sha256-V6px+OGe9vHg/OgiEbT+TG1PmUIgWPVuv+AD176W0Bo=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "conmon";
version = "2.0.30";
version = "2.0.31";
src = fetchFromGitHub {
owner = "containers";
repo = pname;
rev = "v${version}";
sha256 = "sha256-NZMuHhQyo+95QTJcR79cyZr86ytkbo4nmaqTF0Bdt+s=";
sha256 = "sha256-/IQS5L9Gqhft1eefkcNAPcQn7nSqOxAp9ySKBSOjs7M=";
};
nativeBuildInputs = [ pkg-config ];

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "docker-buildx";
version = "0.6.3";
version = "0.7.1";
src = fetchFromGitHub {
owner = "docker";
repo = "buildx";
rev = "v${version}";
sha256 = "sha256-UKIT3PfybuQjKxxFbRQSCA8G3R2xIySWEDUKg27u5Rk=";
sha256 = "sha256-5EV0Rw1+ufxQ1wmQ0EJXQ7HVtXVbB4do/tet0QFRi08=";
};
vendorSha256 = null;

View file

@ -26,13 +26,13 @@
stdenv.mkDerivation rec {
pname = "xreader";
version = "3.0.2";
version = "3.2.1";
src = fetchFromGitHub {
owner = "linuxmint";
repo = pname;
rev = version;
sha256 = "vyZhKsuASbkc6IBtfbhTIHOQ0XYNFaCVua+jS4B5LWk=";
sha256 = "sha256-Ghltzoq5m27LvAojV5/aLiJL3ZvIXSnRjYtdvfRM0a8=";
};
nativeBuildInputs = [

View file

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "evolution-data-server";
version = "3.42.1";
version = "3.42.2";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "5uZ/KnfQ/z5tpQsD3F+iZucWYmvNou9EFE4xfjXy9Sg=";
sha256 = "HBTYbnoNjm5PGpYTfjGmGdK8+/yArR8OrDje4sAkerw=";
};
patches = [

View file

@ -1,28 +0,0 @@
{ lib, buildOcaml, fetchurl, ocaml, type_conv }:
if lib.versionAtLeast ocaml.version "4.06"
then throw "bin_prot-112.24.00 is not available for OCaml ${ocaml.version}"
else
buildOcaml rec {
pname = "bin_prot";
version = "112.24.00";
minimumSupportedOcamlVersion = "4.00";
src = fetchurl {
url = "https://github.com/janestreet/bin_prot/archive/${version}.tar.gz";
sha256 = "dc0c978a825c7c123990af3317637c218f61079e6f35dc878260651084f1adb4";
};
propagatedBuildInputs = [ type_conv ];
hasSharedObjects = true;
meta = with lib; {
homepage = "https://github.com/janestreet/bin_prot";
description = "Binary protocol generator ";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -1,30 +0,0 @@
{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, type_conv, camlp4 }:
assert lib.versionOlder "4.00" (lib.getVersion ocaml);
if lib.versionAtLeast ocaml.version "4.06"
then throw "fieldslib-109.20.03 is not available for OCaml ${ocaml.version}"
else
stdenv.mkDerivation rec {
pname = "ocaml-fieldslib";
version = "109.20.03";
src = fetchurl {
url = "https://ocaml.janestreet.com/ocaml-core/${lib.versions.majorMinor version}.00/individual/fieldslib-${version}.tar.gz";
sha256 = "1dkzk0wf26rhvji80dz1r56dp6x9zqrnp87wldd4pj56jli94vir";
};
buildInputs = [ ocaml findlib ocamlbuild ];
propagatedBuildInputs = [ type_conv camlp4 ];
createFindlibDestdir = true;
meta = with lib; {
homepage = "https://ocaml.janestreet.com/";
description = "OCaml syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values";
license = licenses.asl20;
maintainers = [ maintainers.vbgl ];
platforms = ocaml.meta.platforms or [ ];
};
}

View file

@ -1,18 +0,0 @@
{lib, buildOcamlJane, async_kernel, bin_prot, core_kernel,
fieldslib, ppx_assert, ppx_bench, ppx_driver, ppx_expect, ppx_inline_test,
ppx_jane, sexplib, typerep, variantslib}:
buildOcamlJane {
pname = "async_rpc_kernel";
hash = "0pvys7giqix1nfidw1f4i3r94cf03ba1mvhadpm2zpdir3av91sw";
propagatedBuildInputs = [ async_kernel bin_prot core_kernel fieldslib
ppx_assert ppx_bench ppx_driver ppx_expect ppx_inline_test ppx_jane
sexplib typerep variantslib ];
meta = with lib; {
homepage = "https://github.com/janestreet/async_rpc_kernel";
description = "Platform-independent core of Async RPC library";
license = licenses.asl20;
maintainers = [ maintainers.maurer ];
};
}

View file

@ -1,17 +0,0 @@
{lib, buildOcamlJane, type_conv}:
buildOcamlJane {
pname = "bin_prot";
version = "113.33.03";
minimumSupportedOcamlVersion = "4.02";
hash = "0jlarpfby755j0kikz6vnl1l6q0ga09b9zrlw6i84r22zchnqdsh";
propagatedBuildInputs = [ type_conv ];
meta = with lib; {
homepage = "https://github.com/janestreet/bin_prot";
description = "Binary protocol generator ";
license = licenses.asl20;
maintainers = [ maintainers.maurer maintainers.ericbmerritt ];
};
}

View file

@ -1,35 +0,0 @@
{ buildOcaml, opaline, js_build_tools, ocaml_oasis, fetchurl } :
{ pname, version ? "113.33.03", buildInputs ? [],
hash ? "",
minimumSupportedOcamlVersion ? "4.02", ...
}@args:
buildOcaml (args // {
inherit pname version minimumSupportedOcamlVersion;
src = fetchurl {
url = "https://github.com/janestreet/${pname}/archive/${version}.tar.gz";
sha256 = hash;
};
hasSharedObjects = true;
buildInputs = [ ocaml_oasis js_build_tools opaline ] ++ buildInputs;
dontAddPrefix = true;
dontAddStaticConfigureFlags = true;
configurePlatforms = [];
configurePhase = ''
./configure --prefix $out
'';
buildPhase = ''
OCAML_TOPLEVEL_PATH=`ocamlfind query findlib`/.. make
'';
installPhase = ''
opaline -prefix $prefix -libdir $OCAMLFIND_DESTDIR ${pname}.install
'';
})

View file

@ -1,20 +0,0 @@
{ lib
, buildOcamlJane
, core
, core_extended
, textutils
}:
buildOcamlJane {
pname = "core_bench";
hash = "1d1ainpakgsf5rg8dvar12ksgilqcc4465jr8gf7fz5mmn0mlifj";
propagatedBuildInputs =
[ core core_extended textutils ];
meta = with lib; {
homepage = "https://github.com/janestreet/core_bench";
description = "Micro-benchmarking library for OCaml";
license = licenses.asl20;
maintainers = [ maintainers.pmahoney ];
};
}

View file

@ -1,19 +0,0 @@
{ lib, type_conv, buildOcamlJane }:
buildOcamlJane {
pname = "fieldslib";
version = "113.33.03";
minimumSupportedOcamlVersion = "4.02";
hash = "0mkbix32f8sq32q81hb10z2q31bw5f431jxv0jafbdrif0vr6xqd";
propagatedBuildInputs = [ type_conv ];
meta = with lib; {
homepage = "https://ocaml.janestreet.com/";
description = "OCaml syntax extension to define first class values representing record fields, to get and set record fields, iterate and fold over all fields of a record and create new record values";
license = licenses.asl20;
maintainers = [ maintainers.maurer maintainers.vbgl ];
};
}

View file

@ -1,11 +0,0 @@
--- a/ocamlbuild_goodies/jane_street_ocamlbuild_goodies.ml
+++ b/ocamlbuild_goodies/jane_street_ocamlbuild_goodies.ml
@@ -65,7 +65,7 @@ let track_external_deps = function
let stat, md5sum =
match run_and_read "uname" |> String.trim with
- | "Darwin" ->
+ | "FreeBSD" | "NetBSD" ->
(S [A "stat"; A "-f"; A "%d:%i:%m"],
A "md5")
| _ ->

View file

@ -1,31 +0,0 @@
{ lib, buildOcaml, fetchurl, ocaml_oasis, opaline }:
buildOcaml rec {
pname = "js-build-tools";
version = "113.33.06";
minimumSupportedOcamlVersion = "4.02";
src = fetchurl {
url = "https://github.com/janestreet/js-build-tools/archive/${version}.tar.gz";
sha256 = "1nvgyp4gsnlnpix3li6kr90b12iin5ihichv298p03i6h2809dia";
};
hasSharedObjects = true;
buildInputs = [ ocaml_oasis opaline ];
dontAddPrefix = true;
dontAddStaticConfigureFlags = true;
configurePlatforms = [];
configurePhase = "./configure --prefix $prefix";
installPhase = "opaline -prefix $prefix -libdir $OCAMLFIND_DESTDIR js-build-tools.install";
patches = [ ./js-build-tools-darwin.patch ];
meta = with lib; {
description = "Jane Street Build Tools";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,16 +0,0 @@
{lib, buildOcamlJane,
ppx_compare, ppx_core, ppx_driver, ppx_here, ppx_sexp_conv, ppx_tools, ppx_type_conv, sexplib}:
buildOcamlJane {
pname = "ppx_assert";
hash = "0n7fa1j79ykbkhp8xz0ksg5096asri5d0msshsaqhw5fz18chvz4";
propagatedBuildInputs =
[ ppx_compare ppx_core ppx_driver ppx_here ppx_sexp_conv ppx_tools
ppx_type_conv sexplib ];
meta = with lib; {
description = "Assert-like extension nodes that raise useful errors on failure";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,18 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_driver, ppx_inline_test, ppx_tools}:
buildOcamlJane {
pname = "ppx_bench";
minimumSupportedOcamlVersion = "4.02";
hash = "1l5jlwy1d1fqz70wa2fkf7izngp6nx3g4s9bmnd6ca4dx1x5bksk";
hasSharedObjects = true;
propagatedBuildInputs = [ ppx_core ppx_driver ppx_inline_test ppx_tools ];
meta = with lib; {
description = "Syntax extension for writing in-line benchmarks in ocaml code";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,14 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_tools, ppx_type_conv, bin_prot}:
buildOcamlJane {
pname = "ppx_bin_prot";
hash = "0kwmrrrybdkmphqczsr3lg3imsxcjb8iy41syvn44s3kcjfyyzbz";
propagatedBuildInputs = [ ppx_core ppx_tools ppx_type_conv bin_prot ];
meta = with lib; {
description = "Generation of bin_prot readers and writers from types";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,15 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_driver, ppx_tools, ppx_type_conv}:
buildOcamlJane {
pname = "ppx_compare";
hash = "05cnwxfxm8201lpfmcqkcqfy6plh5c2151jbj4qsnxhlvvjli459";
propagatedBuildInputs =
[ppx_core ppx_driver ppx_tools ppx_type_conv ];
meta = with lib; {
description = "Generation of fast comparison functions from type expressions and definitions";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,15 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_driver, ppx_sexp_conv, ppx_tools}:
buildOcamlJane {
pname = "ppx_custom_printf";
hash = "06y85m6ky376byja4w7gdwd339di5ag0xrf0czkylzjsnylhdr85";
propagatedBuildInputs = [ ppx_core ppx_driver ppx_sexp_conv ppx_tools ];
meta = with lib; {
description = "Extensions to printf-style format-strings for user-defined string conversion";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,14 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_tools, ppx_type_conv}:
buildOcamlJane {
pname = "ppx_enumerate";
hash = "0m11921q2pjzkwckf21fynd2qfy83n9jjsgks23yagdai8a7ym16";
propagatedBuildInputs = [ ppx_core ppx_tools ppx_type_conv ];
meta = with lib; {
description = "Generate a list containing all values of a finite type";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,19 +0,0 @@
{lib, buildOcamlJane,
ppx_assert, ppx_compare, ppx_core, ppx_custom_printf, ppx_driver,
ppx_fields_conv, ppx_here, ppx_inline_test, ppx_sexp_conv, ppx_tools,
ppx_variants_conv, re, sexplib, variantslib, fieldslib}:
buildOcamlJane {
pname = "ppx_expect";
hash = "0cwagb4cj3x1vsr19kyfa9pxlvaz9a5v863cahi5glinsh4mzgdx";
propagatedBuildInputs =
[ ppx_assert ppx_compare ppx_core ppx_custom_printf ppx_driver
ppx_fields_conv ppx_here ppx_inline_test ppx_sexp_conv ppx_tools
ppx_variants_conv re sexplib variantslib fieldslib ];
meta = with lib; {
description = "Cram-like framework for OCaml";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,14 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_tools, ppx_type_conv}:
buildOcamlJane {
pname = "ppx_fields_conv";
hash = "11w9wfjgkv7yxv3rwlwi6m193zan6rhmi45q7n3ddi2s8ls3gra7";
propagatedBuildInputs = [ ppx_core ppx_tools ppx_type_conv ];
meta = with lib; {
description = "Generation of accessor and iteration functions for ocaml records";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,14 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_driver}:
buildOcamlJane {
pname = "ppx_here";
hash = "1mzdgn8k171zkwmbizf1a48l525ny0w3363c7gknpnifcinxniiw";
propagatedBuildInputs = [ ppx_core ppx_driver ];
meta = with lib; {
description = "A ppx rewriter that defines an extension node whose value is its source position";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,14 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_driver, ppx_tools}:
buildOcamlJane {
pname = "ppx_inline_test";
hash = "0ygapa54i0wwcj3jcqwiimrc6z0b7aafgjhbk37h6vvclnm5n7f6";
propagatedBuildInputs = [ ppx_core ppx_driver ppx_tools ];
meta = with lib; {
description = "Syntax extension for writing in-line tests in ocaml code";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,22 +0,0 @@
{lib, buildOcamlJane,
ppx_assert,
ppx_bench, ppx_bin_prot, ppx_compare, ppx_custom_printf, ppx_driver,
ppx_enumerate, ppx_expect, ppx_fail, ppx_fields_conv, ppx_here,
ppx_inline_test, ppx_let, ppx_pipebang, ppx_sexp_conv, ppx_sexp_message,
ppx_sexp_value, ppx_typerep_conv, ppx_variants_conv}:
buildOcamlJane {
pname = "ppx_jane";
hash = "1la0rp8fhzfglwb15gqh1pl1ld8ls4cnidaw9mjc5q1hb0yj1qd9";
propagatedBuildInputs =
[ ppx_assert ppx_bench ppx_bin_prot ppx_compare ppx_custom_printf
ppx_driver ppx_enumerate ppx_expect ppx_fail ppx_fields_conv
ppx_here ppx_inline_test ppx_let ppx_pipebang ppx_sexp_conv
ppx_sexp_message ppx_sexp_value ppx_typerep_conv ppx_variants_conv ];
meta = with lib; {
description = "A ppx_driver including all standard ppx rewriters";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,14 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_driver}:
buildOcamlJane {
pname = "ppx_let";
hash = "0whnfq4rgkq4apfqnvc100wlk25pmqdyvy6s21dsn3fcm9hff467";
propagatedBuildInputs = [ ppx_core ppx_driver ];
meta = with lib; {
description = "A ppx rewriter for monadic and applicative let bindings and match statements";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,15 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_tools}:
buildOcamlJane {
pname = "ppx_optcomp";
hash = "09m2x2a5ics4bz1j29n5slhh1rlyhcwdfmf44v1jfxcby3f0riwd";
propagatedBuildInputs =
[ ppx_core ppx_tools ];
meta = with lib; {
description = "ppx_optcomp stands for Optional Compilation. It is a tool used to handle optional compilations of pieces of code depending of the word size, the version of the compiler, etc.";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,14 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_driver, ppx_tools}:
buildOcamlJane {
pname = "ppx_pipebang";
hash = "0k25bhj9ziiw89xvs4svz7cgazbbmprba9wbic2llffg55fp7acc";
propagatedBuildInputs = [ ppx_core ppx_driver ppx_tools ];
meta = with lib; {
description = "A ppx rewriter that inlines reverse application operators |> and |!";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,14 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_tools, ppx_type_conv, sexplib}:
buildOcamlJane {
pname = "ppx_sexp_conv";
hash = "1kgbmlc11w5jhbhmy5n0f734l44zwyry48342dm5qydi9sfzcgq2";
propagatedBuildInputs = [ ppx_core ppx_tools ppx_type_conv sexplib];
meta = with lib; {
description = "PPX syntax extension that generates code for converting OCaml types to and from s-expressions, as defined in the sexplib library";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,14 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_driver, ppx_here, ppx_sexp_conv, ppx_tools}:
buildOcamlJane {
pname = "ppx_sexp_message";
hash = "0inbff25qii868p141jb1y8n3vjfyz66jpnsl9nma6nkkyjkp05j";
propagatedBuildInputs = [ ppx_core ppx_driver ppx_here ppx_sexp_conv ppx_tools ];
meta = with lib; {
description = "Easy construction of S-Expressions";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,14 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_driver, ppx_here, ppx_sexp_conv, ppx_tools}:
buildOcamlJane {
pname = "ppx_sexp_value";
hash = "04602ppqfwx33ghjywam00hlqqzsz4d99r60k9q0v1mynk9pjhj0";
propagatedBuildInputs = [ ppx_core ppx_driver ppx_here ppx_sexp_conv ppx_tools ];
meta = with lib; {
description = "A ppx rewriter that simplifies building S-Expression from OCaml Values";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,14 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_tools, ppx_type_conv, typerep}:
buildOcamlJane {
pname = "ppx_typerep_conv";
hash = "0dldlx73r07j6w0i7h4hxly0v678naa79na5rafsk2974gs5ih9g";
propagatedBuildInputs = [ ppx_core ppx_tools ppx_type_conv typerep ];
meta = with lib; {
description = "Automatic generation of runtime types from type definitions";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,14 +0,0 @@
{lib, buildOcamlJane,
ppx_core, ppx_tools, ppx_type_conv, sexplib, variantslib}:
buildOcamlJane {
pname = "ppx_variants_conv";
hash = "0kgal8b9yh7wrd75hllb9fyl6zbksfnr9k7pykpzdm3js98dirhn";
propagatedBuildInputs = [ ppx_core ppx_tools ppx_type_conv sexplib variantslib ];
meta = with lib; {
description = "Generation of accessor and iteration functions for ocaml variant types";
maintainers = [ maintainers.maurer ];
license = licenses.asl20;
};
}

View file

@ -1,18 +0,0 @@
{lib, buildOcamlJane, type_conv}:
buildOcamlJane {
minimumSupportedOcamlVersion = "4.02";
pname = "sexplib";
version = "113.33.03";
hash = "1klar4qw4s7bj47ig7kxz2m4j1q3c60pfppis4vxrxv15r0kfh22";
propagatedBuildInputs = [ type_conv ];
meta = with lib; {
homepage = "https://ocaml.janestreet.com/";
description = "Library for serializing OCaml values to and from S-expressions";
license = licenses.asl20;
maintainers = [ maintainers.maurer maintainers.ericbmerritt ];
};
}

View file

@ -1,20 +0,0 @@
{lib, buildOcamlJane, type_conv}:
buildOcamlJane {
pname = "typerep";
version = "113.33.03";
minimumSupportedOcamlVersion = "4.00";
hash = "1ss34nq20vfgx8hwi5sswpmn3my9lvrpdy5dkng746xchwi33ar7";
propagatedBuildInputs = [ type_conv ];
meta = with lib; {
homepage = "https://github.com/janestreet/typerep";
description = "Runtime types for OCaml (beta version)";
license = licenses.asl20;
maintainers = [ maintainers.maurer maintainers.ericbmerritt ];
};
}

View file

@ -1,19 +0,0 @@
{lib, buildOcamlJane, type_conv}:
buildOcamlJane {
pname = "variantslib";
version = "113.33.03";
minimumSupportedOcamlVersion = "4.00";
hash = "1hv0f75msrryxsl6wfnbmhc0n8kf7qxs5f82ry3b8ldb44s3wigp";
propagatedBuildInputs = [ type_conv ];
meta = with lib; {
homepage = "https://github.com/janestreet/variantslib";
description = "OCaml variants as first class values";
license = licenses.asl20;
maintainers = [ maintainers.maurer maintainers.ericbmerritt ];
};
}

View file

@ -1,25 +0,0 @@
{ lib, buildOcaml, fetchFromGitHub, type_conv }:
buildOcaml rec {
pname = "typerep";
version = "112.24.00";
minimumSupportedOcamlVersion = "4.00";
src = fetchFromGitHub {
owner = "janestreet";
repo = "typerep";
rev = version;
sha256 = "sha256-XCdUZp9Buwmo6qPYAoPD2P/gUgyWHTR7boyecBPKlho=";
};
propagatedBuildInputs = [ type_conv ];
meta = with lib; {
homepage = "https://github.com/janestreet/typerep";
description = "Runtime types for OCaml (beta version)";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -1,28 +0,0 @@
{ lib, buildOcaml, ocaml, fetchFromGitHub, type_conv }:
if lib.versionAtLeast ocaml.version "4.06"
then throw "variantslib-109.15.03 is not available for OCaml ${ocaml.version}"
else
buildOcaml rec {
pname = "variantslib";
version = "109.15.03";
minimumSupportedOcamlVersion = "4.00";
src = fetchFromGitHub {
owner = "janestreet";
repo = "variantslib";
rev = version;
sha256 = "sha256-pz3i3od2CqKSrm7uTQ2jdidFFwx7m7g1QuG4UdLk01k=";
};
propagatedBuildInputs = [ type_conv ];
meta = with lib; {
homepage = "https://github.com/janestreet/variantslib";
description = "OCaml variants as first class values";
license = licenses.asl20;
maintainers = [ maintainers.ericbmerritt ];
};
}

View file

@ -7,7 +7,7 @@
buildPythonPackage rec {
pname = "aionanoleaf";
version = "0.0.4";
version = "0.1.1";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -16,7 +16,7 @@ buildPythonPackage rec {
owner = "milanmeu";
repo = pname;
rev = "v${version}";
sha256 = "sha256-Ys6zFfS0R3L504fkMVZvt1IjCzLoT1OEW/OOCaXp7dw=";
sha256 = "10gi8fpv3xkdjaqig84723m3j0kxgxvqwqvjxmysq2sw4cjmsvz6";
};
propagatedBuildInputs = [

View file

@ -11,12 +11,12 @@
buildPythonPackage rec {
pname = "azure-mgmt-containerservice";
version = "16.3.0";
version = "16.4.0";
src = fetchPypi {
inherit pname version;
extension = "zip";
sha256 = "87f06525c6cc47de86d7886ed35f04140ddaf1b0c59482ba578fdb3f5d143b1c";
sha256 = "23a8047668ebd1fa7c3c2445eba4e69c07675306e2a94ae6a3e455df162bd008";
};
propagatedBuildInputs = [

View file

@ -8,12 +8,12 @@
buildPythonPackage rec {
pname = "bitlist";
version = "0.6.1";
version = "0.6.2";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-PL1ZT1LJCTtUILwenfA6Xk59/LjFISPaCw3IhXFe72o=";
sha256 = "69cf632ca61b5fb5d2fd7587ddf023bcab8f327302f15070ec9079b68df9082a";
};
propagatedBuildInputs = [

View file

@ -5,7 +5,6 @@
, filelock
, flit-core
, importlib-metadata
, isPy3k
, packaging
, pep517
, pytest-mock
@ -14,19 +13,21 @@
, pytestCheckHook
, pythonOlder
, toml
, typing ? null
, tomli
}:
buildPythonPackage rec {
pname = "build";
version = "0.5.1";
version = "0.7.0";
format = "pyproject";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "pypa";
repo = pname;
rev = version;
sha256 = "15hc9mbxsngfc9n805x8rk7yqbxnw12mpk6hfwcsldnfii1vg2ph";
sha256 = "sha256-kT3Gax/ZCeV8Kb7CBArGWn/qzVSVdMRUoid/8cAovnE=";
};
nativeBuildInputs = [
@ -34,35 +35,44 @@ buildPythonPackage rec {
];
propagatedBuildInputs = [
toml
pep517
packaging
] ++ lib.optionals (!isPy3k) [
typing
pep517
tomli
] ++ lib.optionals (pythonOlder "3.8") [
importlib-metadata
];
checkInputs = [
filelock
toml
pytest-mock
pytest-rerunfailures
pytest-xdist
pytestCheckHook
];
pytestFlagsArray = [
"-n"
"$NIX_BUILD_CORES"
];
disabledTests = [
"test_isolation"
"test_isolated_environment_install"
# Tests often fail with StopIteration
"test_isolat"
"test_default_pip_is_never_too_old"
"test_build"
"test_with_get_requires"
"test_init"
"test_output"
"test_wheel_metadata"
] ++ lib.optionals stdenv.isDarwin [
# expects Apple's python and its quirks
# Expects Apple's Python and its quirks
"test_can_get_venv_paths_with_conflicting_default_scheme"
];
pythonImportsCheck = [ "build" ];
pythonImportsCheck = [
"build"
];
meta = with lib; {
description = "Simple, correct PEP517 package builder";
@ -71,7 +81,7 @@ buildPythonPackage rec {
is a simple build tool and does not perform any dependency management.
'';
homepage = "https://github.com/pypa/build";
maintainers = with maintainers; [ fab ];
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "channels-redis";
version = "3.2.0";
version = "3.3.1";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit version;
pname = "channels_redis";
sha256 = "1rjs9irnq59yr6zwc9k6nnw6xrmr48dakrm25m0gcwskn1iimcrg";
sha256 = "899dc6433f5416cf8ad74505baaf2acb5461efac3cad40751a41119e3f68421b";
};
buildInputs = [ redis hiredis ];

View file

@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "cloudsmith-api";
version = "0.54.15";
version = "0.57.1";
format = "wheel";
src = fetchPypi {
pname = "cloudsmith_api";
inherit format version;
sha256 = "X72xReosUnUlj69Gq+i+izhaKZuakM9mUrRHZI5L9h0=";
sha256 = "6e7b4baacdc93df93c93d83db7628854adadc63915515022ed44cde06e13c986";
};
propagatedBuildInputs = [

View file

@ -5,12 +5,12 @@
}:
buildPythonPackage rec {
version = "0.9.7";
version = "0.9.8";
pname = "DataModelDict";
src = fetchPypi {
inherit pname version;
sha256 = "b1be7573cb4401aa250fd00f2e6392543f6f2498f8e02f6313595aa220e5c99e";
sha256 = "65c36954efa17449c69a4d8cb11c9273593ef01428cd77a609ee134eba771550";
};
propagatedBuildInputs = [ xmltodict ];

View file

@ -1,23 +1,46 @@
{ buildPythonPackage
, fetchPypi
, lib
{ lib
, buildPythonPackage
, fetchFromGitHub
, flit-core
, mutagen
, pytestCheckHook
, pythonOlder
, six
}:
buildPythonPackage rec {
pname = "mediafile";
version = "0.8.1";
version = "0.9.0";
format = "flit";
src = fetchPypi {
inherit pname version;
sha256 = "878ccc378b77f2d6c175abea135ea25631f28c722e01e1a051924d962ebea165";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "beetbox";
repo = pname;
rev = "v${version}";
sha256 = "sha256-S90BgjKXpE4kAR0mPXgacmr2A+0hrkGpHRMeuvyFNCg=";
};
propagatedBuildInputs = [ mutagen six ];
nativeBuildInputs = [
flit-core
];
propagatedBuildInputs = [
mutagen
six
];
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"mediafile"
];
meta = with lib; {
description = "MediaFile is a simple interface to the metadata tags for many audio file formats.";
description = "Python interface to the metadata tags for many audio file formats";
homepage = "https://github.com/beetbox/mediafile";
license = licenses.mit;
maintainers = with maintainers; [ lovesegfault ];

View file

@ -0,0 +1,50 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pytestCheckHook
, python-dateutil
, pythonOlder
, urllib3
}:
buildPythonPackage rec {
pname = "myhome";
version = "0.2.1";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "speijnik";
repo = pname;
rev = "v${version}";
sha256 = "sha256-DJzwvgvSA9Q0kpueUoQV64pdDDNA7WzGu7r+g5aqutk=";
};
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
python-dateutil
urllib3
];
checkInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"myhome"
];
meta = with lib; {
description = "Python library for interacting with MyHomeSERVER1";
homepage = "https://github.com/speijnik/myhome";
license = licenses.bsd3;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -5,12 +5,12 @@
buildPythonPackage rec {
pname = "parts";
version = "1.2.0";
version = "1.2.2";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-sfeh6KdprW40ZgfItm9oojDlrI4X29+O7pzfafIawB0=";
sha256 = "6463d5c49142d14029196a6a781b57bc98ba5b3d93244f4ed637f534d08129c1";
};
# Project has no tests

View file

@ -6,12 +6,12 @@
buildPythonPackage rec {
pname = "pkginfo";
version = "1.8.1";
version = "1.8.2";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-ZRdf+iyAciBnOkHDcVc6yaHqGxn/1e75FiePQoMZk08=";
sha256 = "sha256-VC4NC2dQ4uIcIBeYA+QKtQWY2AZtUQl6Djgsup6wK/8=";
};
checkInputs = [

View file

@ -1,35 +1,48 @@
{ lib
, buildPythonPackage
, isPy3k
, fetchFromGitHub
, semver
# Check Inputs
, nose
, pythonOlder
, semver
}:
buildPythonPackage rec {
pname = "pkutils";
version = "1.1.1";
disabled = !isPy3k; # some tests using semver fail due to unicode errors on Py2.7
version = "2.0.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "reubano";
repo = "pkutils";
rev = "v${version}";
sha256 = "01yaq9sz6vyxk8yiss6hsmy70qj642cr2ifk0sx1mlh488flcm62";
sha256 = "sha256-jvRUjuxlcfmJOX50bnZR/pP2Axe1KDy9/KGXTL4yPxA=";
};
propagatedBuildInputs = [ semver ];
propagatedBuildInputs = [
semver
];
checkInputs = [
nose
];
# Remove when https://github.com/reubano/pkutils/pull/4 merged
postPatch = ''
substituteInPlace requirements.txt --replace "semver>=2.2.1,<2.7.3" "semver"
# Remove when https://github.com/reubano/pkutils/pull/4 merged
substituteInPlace requirements.txt \
--replace "semver>=2.2.1,<2.7.3" "semver"
'';
checkInputs = [ nose ];
pythonImportsCheck = [ "pkutils" ];
checkPhase = ''
runHook preCheck
nosetests
runHook postCheck
'';
checkPhase = "nosetests";
pythonImportsCheck = [
"pkutils"
];
meta = with lib; {
description = "A Python packaging utility library";

View file

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "pyfronius";
version = "0.7.0";
version = "0.7.1";
disabled = pythonOlder "3.6";
@ -16,7 +16,7 @@ buildPythonPackage rec {
owner = "nielstron";
repo = pname;
rev = "release-${version}";
sha256 = "1jp9vsllvzfnrkzmln2sp1ggr4pwaj47744n2ijz1wsf8v38nw2j";
sha256 = "1xwx0c1dp2374bwigzwhvcj4577vrxyhn6i5zv73k9ydc7w1xgyz";
};
propagatedBuildInputs = [

View file

@ -10,6 +10,7 @@
buildPythonPackage rec {
pname = "pygogo";
version = "0.13.2";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -20,14 +21,31 @@ buildPythonPackage rec {
sha256 = "19rdf4sjrm5lp1vq1bki21a9lrkzz8sgrfwgjdkq4sgy90hn1jn9";
};
nativeBuildInputs = [ pkutils ];
nativeBuildInputs = [
pkutils
];
checkInputs = [ nose ];
checkPhase = "nosetests";
pythonImportsCheck = [ "pygogo" ];
checkInputs = [
nose
];
postPatch = ''
substituteInPlace dev-requirements.txt \
--replace "pkutils>=1.0.0,<2.0.0" "pkutils>=1.0.0"
'';
checkPhase = ''
runHook preCheck
nosetests
runHook postCheck
'';
pythonImportsCheck = [
"pygogo"
];
meta = with lib; {
description = "A Python logging library with super powers";
description = "Python logging library";
homepage = "https://github.com/reubano/pygogo/";
license = licenses.mit;
maintainers = with maintainers; [ drewrisinger ];

View file

@ -11,13 +11,13 @@
buildPythonApplication rec {
pname = "screeninfo";
version = "0.7";
version = "0.8";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "12a97c3527e3544ac5dbd7c1204283e2653d655cbd15844c990a83b1b13ef500";
sha256 = "9501bf8b8458c7d1be4cb0ac9abddddfa80b932fb3f65bfcb54f5586434b1dc5";
};
propagatedBuildInputs = lib.optionals (pythonOlder "3.7") [

View file

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "screenlogicpy";
version = "0.5.0";
version = "0.5.3";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "dieselrabbit";
repo = pname;
rev = "v${version}";
sha256 = "sha256-ApT89JcXrRKr+YnyEPAG3enwrfgYn7LeUmBbbmh/DPI=";
sha256 = "1ic19l0xr2wlnc8q6nhvv747k0f4j9k94ix14zkrwpp9nl09sm8j";
};
checkInputs = [

View file

@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "soco";
version = "0.24.1";
version = "0.25.0";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "SoCo";
repo = "SoCo";
rev = "v${version}";
sha256 = "sha256-78JYetA6msGiLMHNTdTN2b5lOiXaY+TQA9ID8qtPmM0=";
sha256 = "sha256-tp8tc8Ob5luxf0ASpSICy5T2XGGIALWqY7L9S6PM/xw=";
};
propagatedBuildInputs = [

View file

@ -31,12 +31,12 @@
buildPythonPackage rec {
pname = "sunpy";
version = "3.1.1";
version = "3.1.2";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
sha256 = "c8fcd3700d8f4b7880a669f28c44f784422da1dbfe59fb175f155703817695ed";
sha256 = "5eeb479c3f2424bf46355165249a1caa849872f8bee525349c4dca4d15b271fd";
};
nativeBuildInputs = [

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-expand";
version = "1.0.9";
version = "1.0.10";
src = fetchFromGitHub {
owner = "dtolnay";
repo = pname;
rev = version;
sha256 = "sha256-wDuCmiQzyY/Ydr67fYb0yZaSWvuYwW91j0CoqbUFFpg=";
sha256 = "sha256-9Zov1XTU02TjQ707Z/Muv70AGtQL03V1G3suabY3D48=";
};
cargoSha256 = "sha256-5KCGXJzk5VStby/JzjXJvDSrhFlB8YJHMcQNL8GxkLI=";
cargoSha256 = "sha256-toWzjfHU5ce/50kCbuxj6sIG2R3i8q9HBcIzlwW0C9A=";
buildInputs = lib.optional stdenv.isDarwin libiconv;

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "stagit";
version = "0.9.6";
version = "1.0";
src = fetchgit {
url = "git://git.codemadness.org/stagit";
rev = version;
sha256 = "sha256-0vkdxtKZv7LyEHKGPrB4uOI2lD74+haelEanq2sOjkE=";
sha256 = "sha256-4QSKW89RyK/PpGE+lOHFiMTI82pdspfObnzd0rcgQkg=";
};
makeFlags = [ "PREFIX=$(out)" ];

View file

@ -6,6 +6,7 @@
, unrar
, p7zip
, makeWrapper
, nixosTests
}:
let
@ -17,17 +18,19 @@ let
configobj
feedparser
sabyenc3
puremagic
guessit
]);
path = lib.makeBinPath [ par2cmdline unrar unzip p7zip ];
in stdenv.mkDerivation rec {
version = "3.4.0";
version = "3.4.2";
pname = "sabnzbd";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "sha256-zax+PuvCmYOlEhRmiCp7UOd9VI0i8dbgTPyTtqLuGUM=";
sha256 = "sha256-Pl2i/k5tilPvMWLRtzZ2imOJQdZYKDAz8bt847ZAXF8=";
};
nativeBuildInputs = [ makeWrapper ];
@ -46,11 +49,15 @@ in stdenv.mkDerivation rec {
runHook postInstall
'';
passthru.tests = {
smoke-test = nixosTests.sabnzbd;
};
meta = with lib; {
description = "Usenet NZB downloader, par2 repairer and auto extracting server";
homepage = "https://sabnzbd.org";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with lib.maintainers; [ fridh ];
maintainers = with lib.maintainers; [ fridh jojosch ];
};
}

View file

@ -201,15 +201,6 @@ let
in self: {
postgresql_9_6 = self.callPackage generic {
version = "9.6.24";
psqlSchema = "9.6";
sha256 = "sha256-rrehlr4+vtGnR271ZfOXIhh8EI3UfadIm+nE/K6YKs4=";
this = self.postgresql_9_6;
thisAttr = "postgresql_9_6";
inherit self;
};
postgresql_10 = self.callPackage generic {
version = "10.19";
psqlSchema = "10.0"; # should be 10, but changing it is invasive

View file

@ -1,5 +1,6 @@
{ gnustep, lib, fetchFromGitHub, fetchpatch, makeWrapper, python3, lndir
, openssl, openldap, sope, libmemcached, curl, libsodium, libytnef, libzip, pkg-config, nixosTests }:
, openssl, openldap, sope, libmemcached, curl, libsodium, libytnef, libzip, pkg-config, nixosTests
, oathToolkit }:
gnustep.stdenv.mkDerivation rec {
pname = "SOGo";
version = "5.3.0";
@ -12,8 +13,7 @@ gnustep.stdenv.mkDerivation rec {
};
nativeBuildInputs = [ gnustep.make makeWrapper python3 ];
buildInputs = [ gnustep.base sope openssl libmemcached curl libsodium libytnef libzip pkg-config ]
++ lib.optional (openldap != null) openldap;
buildInputs = [ gnustep.base sope openssl libmemcached curl libsodium libytnef libzip pkg-config openldap oathToolkit ];
patches = [
# TODO: take a closer look at other patches in https://sources.debian.org/patches/sogo/ and https://github.com/Skrupellos/sogo-patches
@ -41,7 +41,11 @@ gnustep.stdenv.mkDerivation rec {
find . -type f -name GNUmakefile -exec sed -i "s:\\$.GNUSTEP_MAKEFILES.:$PWD/makefiles:g" {} +
'';
configureFlags = [ "--disable-debug" "--with-ssl=ssl" ];
configureFlags = [
"--disable-debug"
"--with-ssl=ssl"
"--enable-mfa"
];
preFixup = ''
# Create gnustep.conf

View file

@ -1,22 +1,24 @@
{ pkgs, stdenv, dataDir ? "/opt/zigbee2mqtt/data", nixosTests }:
{ pkgs, stdenv, nixosTests }:
let
package = (import ./node.nix { inherit pkgs; inherit (stdenv.hostPlatform) system; }).package;
in
package.override rec {
# don't upgrade! Newer versions cause stack overflows and fail trunk-combined
# see https://github.com/NixOS/nixpkgs/pull/118400
version = "1.16.2";
version = "1.22.1";
reconstructLock = true;
src = pkgs.fetchFromGitHub {
owner = "Koenkk";
repo = "zigbee2mqtt";
rev = version;
sha256 = "0rpmm4pwm8s4i9fl26ql0czg5kijv42k9wwik7jb3ppi5jzxrakd";
sha256 = "HoheB+/K4THFqgcC79QZM71rDPv2JB+S6y4K1+sdASo=";
};
passthru.tests.zigbee2mqtt = nixosTests.zigbee2mqtt;
postInstall = ''
npm run build
'';
meta = with pkgs.lib; {
description = "Zigbee to MQTT bridge using zigbee-shepherd";
license = licenses.gpl3;

View file

@ -1,548 +0,0 @@
# This file originates from node2nix
{lib, stdenv, nodejs, python2, util-linux, libtool, runCommand, writeTextFile}:
let
python = if nodejs ? python then nodejs.python else python2;
# Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
tarWrapper = runCommand "tarWrapper" {} ''
mkdir -p $out/bin
cat > $out/bin/tar <<EOF
#! ${stdenv.shell} -e
$(type -p tar) "\$@" --warning=no-unknown-keyword --delay-directory-restore
EOF
chmod +x $out/bin/tar
'';
# Function that generates a TGZ file from a NPM project
buildNodeSourceDist =
{ name, version, src, ... }:
stdenv.mkDerivation {
name = "node-tarball-${name}-${version}";
inherit src;
buildInputs = [ nodejs ];
buildPhase = ''
export HOME=$TMPDIR
tgzFile=$(npm pack | tail -n 1) # Hooks to the pack command will add output (https://docs.npmjs.com/misc/scripts)
'';
installPhase = ''
mkdir -p $out/tarballs
mv $tgzFile $out/tarballs
mkdir -p $out/nix-support
echo "file source-dist $out/tarballs/$tgzFile" >> $out/nix-support/hydra-build-products
'';
};
includeDependencies = {dependencies}:
lib.optionalString (dependencies != [])
(lib.concatMapStrings (dependency:
''
# Bundle the dependencies of the package
mkdir -p node_modules
cd node_modules
# Only include dependencies if they don't exist. They may also be bundled in the package.
if [ ! -e "${dependency.name}" ]
then
${composePackage dependency}
fi
cd ..
''
) dependencies);
# Recursively composes the dependencies of a package
composePackage = { name, packageName, src, dependencies ? [], ... }@args:
builtins.addErrorContext "while evaluating node package '${packageName}'" ''
DIR=$(pwd)
cd $TMPDIR
unpackFile ${src}
# Make the base dir in which the target dependency resides first
mkdir -p "$(dirname "$DIR/${packageName}")"
if [ -f "${src}" ]
then
# Figure out what directory has been unpacked
packageDir="$(find . -maxdepth 1 -type d | tail -1)"
# Restore write permissions to make building work
find "$packageDir" -type d -exec chmod u+x {} \;
chmod -R u+w "$packageDir"
# Move the extracted tarball into the output folder
mv "$packageDir" "$DIR/${packageName}"
elif [ -d "${src}" ]
then
# Get a stripped name (without hash) of the source directory.
# On old nixpkgs it's already set internally.
if [ -z "$strippedName" ]
then
strippedName="$(stripHash ${src})"
fi
# Restore write permissions to make building work
chmod -R u+w "$strippedName"
# Move the extracted directory into the output folder
mv "$strippedName" "$DIR/${packageName}"
fi
# Unset the stripped name to not confuse the next unpack step
unset strippedName
# Include the dependencies of the package
cd "$DIR/${packageName}"
${includeDependencies { inherit dependencies; }}
cd ..
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
'';
pinpointDependencies = {dependencies, production}:
let
pinpointDependenciesFromPackageJSON = writeTextFile {
name = "pinpointDependencies.js";
text = ''
var fs = require('fs');
var path = require('path');
function resolveDependencyVersion(location, name) {
if(location == process.env['NIX_STORE']) {
return null;
} else {
var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
if(fs.existsSync(dependencyPackageJSON)) {
var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
if(dependencyPackageObj.name == name) {
return dependencyPackageObj.version;
}
} else {
return resolveDependencyVersion(path.resolve(location, ".."), name);
}
}
}
function replaceDependencies(dependencies) {
if(typeof dependencies == "object" && dependencies !== null) {
for(var dependency in dependencies) {
var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
if(resolvedVersion === null) {
process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
} else {
dependencies[dependency] = resolvedVersion;
}
}
}
}
/* Read the package.json configuration */
var packageObj = JSON.parse(fs.readFileSync('./package.json'));
/* Pinpoint all dependencies */
replaceDependencies(packageObj.dependencies);
if(process.argv[2] == "development") {
replaceDependencies(packageObj.devDependencies);
}
replaceDependencies(packageObj.optionalDependencies);
/* Write the fixed package.json file */
fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
'';
};
in
''
node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
${lib.optionalString (dependencies != [])
''
if [ -d node_modules ]
then
cd node_modules
${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
cd ..
fi
''}
'';
# Recursively traverses all dependencies of a package and pinpoints all
# dependencies in the package.json file to the versions that are actually
# being used.
pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
''
if [ -d "${packageName}" ]
then
cd "${packageName}"
${pinpointDependencies { inherit dependencies production; }}
cd ..
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
fi
'';
# Extract the Node.js source code which is used to compile packages with
# native bindings
nodeSources = runCommand "node-sources" {} ''
tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
mv node-* $out
'';
# Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty)
addIntegrityFieldsScript = writeTextFile {
name = "addintegrityfields.js";
text = ''
var fs = require('fs');
var path = require('path');
function augmentDependencies(baseDir, dependencies) {
for(var dependencyName in dependencies) {
var dependency = dependencies[dependencyName];
// Open package.json and augment metadata fields
var packageJSONDir = path.join(baseDir, "node_modules", dependencyName);
var packageJSONPath = path.join(packageJSONDir, "package.json");
if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored
console.log("Adding metadata fields to: "+packageJSONPath);
var packageObj = JSON.parse(fs.readFileSync(packageJSONPath));
if(dependency.integrity) {
packageObj["_integrity"] = dependency.integrity;
} else {
packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads.
}
if(dependency.resolved) {
packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided
} else {
packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories.
}
if(dependency.from !== undefined) { // Adopt from property if one has been provided
packageObj["_from"] = dependency.from;
}
fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2));
}
// Augment transitive dependencies
if(dependency.dependencies !== undefined) {
augmentDependencies(packageJSONDir, dependency.dependencies);
}
}
}
if(fs.existsSync("./package-lock.json")) {
var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
if(packageLock.lockfileVersion !== 1) {
process.stderr.write("Sorry, I only understand lock file version 1!\n");
process.exit(1);
}
if(packageLock.dependencies !== undefined) {
augmentDependencies(".", packageLock.dependencies);
}
}
'';
};
# Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes
reconstructPackageLock = writeTextFile {
name = "addintegrityfields.js";
text = ''
var fs = require('fs');
var path = require('path');
var packageObj = JSON.parse(fs.readFileSync("package.json"));
var lockObj = {
name: packageObj.name,
version: packageObj.version,
lockfileVersion: 1,
requires: true,
dependencies: {}
};
function augmentPackageJSON(filePath, dependencies) {
var packageJSON = path.join(filePath, "package.json");
if(fs.existsSync(packageJSON)) {
var packageObj = JSON.parse(fs.readFileSync(packageJSON));
dependencies[packageObj.name] = {
version: packageObj.version,
integrity: "sha1-000000000000000000000000000=",
dependencies: {}
};
processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies);
}
}
function processDependencies(dir, dependencies) {
if(fs.existsSync(dir)) {
var files = fs.readdirSync(dir);
files.forEach(function(entry) {
var filePath = path.join(dir, entry);
var stats = fs.statSync(filePath);
if(stats.isDirectory()) {
if(entry.substr(0, 1) == "@") {
// When we encounter a namespace folder, augment all packages belonging to the scope
var pkgFiles = fs.readdirSync(filePath);
pkgFiles.forEach(function(entry) {
if(stats.isDirectory()) {
var pkgFilePath = path.join(filePath, entry);
augmentPackageJSON(pkgFilePath, dependencies);
}
});
} else {
augmentPackageJSON(filePath, dependencies);
}
}
});
}
}
processDependencies("node_modules", lockObj.dependencies);
fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2));
'';
};
prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}:
let
forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
in
''
# Pinpoint the versions of all dependencies to the ones that are actually being used
echo "pinpointing versions of dependencies..."
source $pinpointDependenciesScriptPath
# Patch the shebangs of the bundled modules to prevent them from
# calling executables outside the Nix store as much as possible
patchShebangs .
# Deploy the Node.js package by running npm install. Since the
# dependencies have been provided already by ourselves, it should not
# attempt to install them again, which is good, because we want to make
# it Nix's responsibility. If it needs to install any dependencies
# anyway (e.g. because the dependency parameters are
# incomplete/incorrect), it fails.
#
# The other responsibilities of NPM are kept -- version checks, build
# steps, postprocessing etc.
export HOME=$TMPDIR
cd "${packageName}"
runHook preRebuild
${lib.optionalString bypassCache ''
${lib.optionalString reconstructLock ''
if [ -f package-lock.json ]
then
echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
rm package-lock.json
else
echo "No package-lock.json file found, reconstructing..."
fi
node ${reconstructPackageLock}
''}
node ${addIntegrityFieldsScript}
''}
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild
if [ "''${dontNpmInstall-}" != "1" ]
then
# NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
rm -f npm-shrinkwrap.json
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} install
fi
'';
# Builds and composes an NPM package including all its dependencies
buildNodePackage =
{ name
, packageName
, version
, dependencies ? []
, buildInputs ? []
, production ? true
, npmFlags ? ""
, dontNpmInstall ? false
, bypassCache ? false
, reconstructLock ? false
, preRebuild ? ""
, dontStrip ? true
, unpackPhase ? "true"
, buildPhase ? "true"
, meta ? {}
, ... }@args:
let
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
in
stdenv.mkDerivation ({
name = "node_${name}-${version}";
buildInputs = [ tarWrapper python nodejs ]
++ lib.optional (stdenv.isLinux) util-linux
++ lib.optional (stdenv.isDarwin) libtool
++ buildInputs;
inherit nodejs;
inherit dontStrip; # Stripping may fail a build for some package deployments
inherit dontNpmInstall preRebuild unpackPhase buildPhase;
compositionScript = composePackage args;
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
installPhase = ''
# Create and enter a root node_modules/ folder
mkdir -p $out/lib/node_modules
cd $out/lib/node_modules
# Compose the package and all its dependencies
source $compositionScriptPath
${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
# Create symlink to the deployed executable folder, if applicable
if [ -d "$out/lib/node_modules/.bin" ]
then
ln -s $out/lib/node_modules/.bin $out/bin
fi
# Create symlinks to the deployed manual page folders, if applicable
if [ -d "$out/lib/node_modules/${packageName}/man" ]
then
mkdir -p $out/share
for dir in "$out/lib/node_modules/${packageName}/man/"*
do
mkdir -p $out/share/man/$(basename "$dir")
for page in "$dir"/*
do
ln -s $page $out/share/man/$(basename "$dir")
done
done
fi
# Run post install hook, if provided
runHook postInstall
'';
meta = {
# default to Node.js' platforms
platforms = nodejs.meta.platforms;
} // meta;
} // extraArgs);
# Builds a development shell
buildNodeShell =
{ name
, packageName
, version
, src
, dependencies ? []
, buildInputs ? []
, production ? true
, npmFlags ? ""
, dontNpmInstall ? false
, bypassCache ? false
, reconstructLock ? false
, dontStrip ? true
, unpackPhase ? "true"
, buildPhase ? "true"
, ... }@args:
let
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
nodeDependencies = stdenv.mkDerivation ({
name = "node-dependencies-${name}-${version}";
buildInputs = [ tarWrapper python nodejs ]
++ lib.optional (stdenv.isLinux) util-linux
++ lib.optional (stdenv.isDarwin) libtool
++ buildInputs;
inherit dontStrip; # Stripping may fail a build for some package deployments
inherit dontNpmInstall unpackPhase buildPhase;
includeScript = includeDependencies { inherit dependencies; };
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
installPhase = ''
mkdir -p $out/${packageName}
cd $out/${packageName}
source $includeScriptPath
# Create fake package.json to make the npm commands work properly
cp ${src}/package.json .
chmod 644 package.json
${lib.optionalString bypassCache ''
if [ -f ${src}/package-lock.json ]
then
cp ${src}/package-lock.json .
fi
''}
# Go to the parent folder to make sure that all packages are pinpointed
cd ..
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
# Expose the executables that were installed
cd ..
${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
mv ${packageName} lib
ln -s $out/lib/node_modules/.bin $out/bin
'';
} // extraArgs);
in
stdenv.mkDerivation {
name = "node-shell-${name}-${version}";
buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) util-linux ++ buildInputs;
buildCommand = ''
mkdir -p $out/bin
cat > $out/bin/shell <<EOF
#! ${stdenv.shell} -e
$shellHook
exec ${stdenv.shell}
EOF
chmod +x $out/bin/shell
'';
# Provide the dependencies in a development shell through the NODE_PATH environment variable
inherit nodeDependencies;
shellHook = lib.optionalString (dependencies != []) ''
export NODE_PATH=${nodeDependencies}/lib/node_modules
export PATH="${nodeDependencies}/bin:$PATH"
'';
};
in
{
buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
buildNodePackage = lib.makeOverridable buildNodePackage;
buildNodeShell = lib.makeOverridable buildNodeShell;
}

File diff suppressed because it is too large Load diff

View file

@ -1,17 +1,17 @@
# This file has been generated by node2nix 1.8.0. Do not edit!
# This file has been generated by node2nix 1.9.0. Do not edit!
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
let
nodeEnv = import ./node-env.nix {
inherit (pkgs) lib stdenv python2 util-linux runCommand writeTextFile;
inherit nodejs;
nodeEnv = import ../../development/node-packages/node-env.nix {
inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript;
inherit pkgs nodejs;
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
};
in
import ./node-packages.nix {
inherit (pkgs) fetchurl fetchgit;
inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
inherit nodeEnv;
}

View file

@ -1,30 +1,32 @@
#!/usr/bin/env nix-shell
#! nix-shell -i bash -p nodePackages.node2nix nodejs-12_x curl jq nix-update
#! nix-shell -I nixpkgs=../../.. -i bash -p nodePackages.node2nix curl jq nix-update common-updater-scripts
CURRENT_VERSION=$(nix eval --raw '(with import ../../.. {}; zigbee2mqtt.version)')
TARGET_VERSION=$(curl https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | jq -r ".tag_name")
ZIGBEE2MQTT=https://github.com/Koenkk/zigbee2mqtt/raw/$TARGET_VERSION
set -euo pipefail
CURRENT_VERSION=$(nix eval -f ../../.. --raw zigbee2mqtt.version)
TARGET_VERSION="$(curl https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | jq -r ".tag_name")"
if [[ "$CURRENT_VERSION" == "$TARGET_VERSION" ]]; then
echo "zigbee2mqtt is up-to-date: ${CURRENT_VERSION}"
exit 0
fi
ZIGBEE2MQTT=https://github.com/Koenkk/zigbee2mqtt/raw/$TARGET_VERSION
curl -LO $ZIGBEE2MQTT/package.json
curl -LO $ZIGBEE2MQTT/npm-shrinkwrap.json
node2nix --nodejs-12 \
-l npm-shrinkwrap.json \
-c node.nix \
--bypass-cache \
node2nix \
--composition node.nix \
--lock npm-shrinkwrap.json \
--development \
--no-copy-node-env \
--node-env ../../development/node-packages/node-env.nix
--node-env ../../development/node-packages/node-env.nix \
--nodejs-14 \
--output node-packages.nix
rm package.json npm-shrinkwrap.json
{
cd ../../..
nix-update --version "$TARGET_VERSION" --build zigbee2mqtt
}
git add ./default.nix ./node-packages.nix ./node.nix
git commit -m "zigbee2mqtt: ${CURRENT_VERSION} -> ${TARGET_VERSION}"
(
cd ../../../
update-source-version zigbee2mqtt "$TARGET_VERSION"
)

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "fioctl";
version = "0.20";
version = "0.22";
src = fetchFromGitHub {
owner = "foundriesio";
repo = "fioctl";
rev = "v${version}";
sha256 = "sha256-vc+V69cyJZSJa6GXUUNYeXdKvmUrVIQhsBykptcl85s=";
sha256 = "sha256-8YIboaLFc1nliNQJPyTd/JseTbvk2aBTjVEpW3mTkZg=";
};
vendorSha256 = "sha256-SuUY4xwinky5QO+GxyotrFiYX1LnWQNjwWXIUpfVHUE=";

View file

@ -12,14 +12,14 @@
with lib;
stdenv.mkDerivation rec {
version = "1.11.0";
version = "1.12.0";
pname = "tigervnc";
src = fetchFromGitHub {
owner = "TigerVNC";
repo = "tigervnc";
rev = "v${version}";
sha256 = "sha256-IX39oEhTyk7NV+9dD9mFtes22fBdMTAVIv5XkqFK560=";
sha256 = "sha256-77X+AvHFWfYYIio3c+EYf11jg/1IbYhNUweRIDHMOZw=";
};

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "cloc";
version = "1.90";
version = "1.92";
src = fetchFromGitHub {
owner = "AlDanial";
repo = "cloc";
rev = "v${version}";
sha256 = "0ic9q6qqw5f1wafp9lpmhr0miasbdb9zr59c0jlymnzffdmnliyc";
sha256 = "sha256-tFARxNGXzWw+EN2qwBOhJEj7zwYfC9tVP0sAHqeGwcM=";
};
setSourceRoot = ''

View file

@ -5,16 +5,16 @@
buildGoModule rec {
pname = "dalfox";
version = "2.5.4";
version = "2.6.1";
src = fetchFromGitHub {
owner = "hahwul";
repo = pname;
rev = "v${version}";
sha256 = "sha256-zwDdOj6/YcZQZW5WWMZztTVl5QsYMCcqtaAFsM+1bn0=";
sha256 = "sha256-4jqlMZ6/5m12+ZT0HCtskXq6jlcsQq05Vem+jw82RFs=";
};
vendorSha256 = "sha256-AZbzcGqje2u9waH2NGWITXpax2GCFqbIEd4uNiDmcIY=";
vendorSha256 = "sha256-MoOnRsL8DO7Mx7JzvpnEOiqoLEyBPi2cRiQ2m+460V4=";
meta = with lib; {
description = "Tool for analysing parameter and XSS scanning";

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "exploitdb";
version = "2021-12-02";
version = "2021-12-04";
src = fetchFromGitHub {
owner = "offensive-security";
repo = pname;
rev = version;
sha256 = "sha256-xVEDbc+Kvp9gCV2n6KyQCLif231pannIxDzEE0dwmmY=";
sha256 = "sha256-3MP6lmh/eQ1cIxiCw0Y2TtCXXQTUij5Q8FDFVWOG/IM=";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "sn0int";
version = "0.23.0";
version = "0.24.1";
src = fetchFromGitHub {
owner = "kpcyrd";
repo = pname;
rev = "v${version}";
sha256 = "sha256-DsDSGF43yEyYYduRHu4+VRrPZ89Ce1fwtDxit0x8Apo=";
sha256 = "sha256-AP/3QCol2qOvRqNW9F/m9JpiZrqtfXvr//Ku2XE3vqY=";
};
cargoSha256 = "sha256-dXNIbngfwMVvLx4uSO6MWpSrZfUGhlggGvXHysYAJIE=";
cargoSha256 = "sha256-gdDQjYU8hJdkQCh1Iswn5KlPW2BT/J5vCSOS/KHvbH4=";
nativeBuildInputs = [
pkg-config

View file

@ -0,0 +1,48 @@
{ fetchFromGitHub, lib, stdenv, libiconv, texlive, xercesc }:
stdenv.mkDerivation {
pname = "blahtexml";
version = "0.9+date=2020-05-16";
src = fetchFromGitHub {
owner = "gvanas";
repo = "blahtexml";
rev = "92f2c5ff1f2b00a541b2222facc51ec72e5f6559";
hash = "sha256-ts+2gWsp7+rQu1US2/qEdbttB2Ps12efTSrcioZYsmE=";
};
outputs = [ "out" "doc" ];
nativeBuildInputs = [ texlive.combined.scheme-full ];
buildInputs = [ xercesc ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
buildFlags =
[ "doc" ] ++
(if stdenv.isDarwin
then [ "blahtex-mac" "blahtexml-mac" ]
else [ "blahtex-linux" "blahtexml-linux" ]);
installPhase = ''
install -D -t "$out/bin" blahtex blahtexml
install -m644 -D -t "$doc/share/doc/blahtexml" Documentation/manual.pdf
'';
meta = with lib; {
homepage = "http://gva.noekeon.org/blahtexml/";
description = "A TeX to MathML converter";
longDescription = ''
Blahtex is a program written in C++, which converts an equation given in
a syntax close to TeX into MathML. It is designed by David Harvey and is
aimed at supporting equations in MediaWiki.
Blahtexml is a simple extension of blahtex, written by Gilles Van Assche.
In addition to the functionality of blahtex, blahtexml has XML processing
in mind and is able to process a whole XML document into another XML
document. Instead of converting only one formula at a time, blahtexml can
convert all the formulas of the given XML file into MathML.
'';
license = licenses.bsd3;
maintainers = [ maintainers.xworld21 ];
platforms = platforms.all;
};
}

View file

@ -721,6 +721,7 @@ mapAliases ({
polarssl = mbedtls; # added 2018-04-25
poppler_qt5 = libsForQt5.poppler; # added 2015-12-19
postgresql96 = postgresql_9_6;
postgresql_9_6 = throw "postgresql_9_6 has been removed from nixpkgs, as this version is no longer supported by upstream"; # added 2021-12-03
# postgresql plugins
pgjwt = postgresqlPackages.pgjwt;
pg_repack = postgresqlPackages.pg_repack;

View file

@ -3865,6 +3865,8 @@ with pkgs;
blastem = callPackage ../misc/emulators/blastem { };
blahtexml = callPackage ../tools/typesetting/tex/blahtexml { };
blueberry = callPackage ../tools/bluetooth/blueberry { };
blueman = callPackage ../tools/bluetooth/blueman { };
@ -21365,7 +21367,6 @@ with pkgs;
timescaledb-tune = callPackage ../development/tools/database/timescaledb-tune { };
inherit (import ../servers/sql/postgresql pkgs)
postgresql_9_6
postgresql_10
postgresql_11
postgresql_12

View file

@ -135,8 +135,6 @@ let
then callPackage ../development/ocaml-modules/biniou { }
else callPackage ../development/ocaml-modules/biniou/1.0.nix { };
bin_prot_p4 = callPackage ../development/ocaml-modules/bin_prot { };
bisect_ppx = callPackage ../development/ocaml-modules/bisect_ppx { };
ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { };
@ -391,8 +389,6 @@ let
fiat-p256 = callPackage ../development/ocaml-modules/fiat-p256 { };
fieldslib_p4 = callPackage ../development/ocaml-modules/fieldslib { };
fileutils = callPackage ../development/ocaml-modules/fileutils { };
findlib = callPackage ../development/tools/ocaml/findlib { };
@ -1351,8 +1347,6 @@ let
twt = callPackage ../development/ocaml-modules/twt { };
typerep_p4 = callPackage ../development/ocaml-modules/typerep { };
uchar = callPackage ../development/ocaml-modules/uchar { };
uecc = callPackage ../development/ocaml-modules/uecc { };
@ -1380,8 +1374,6 @@ let
uuuu = callPackage ../development/ocaml-modules/uuuu { };
variantslib_p4 = callPackage ../development/ocaml-modules/variantslib { };
vchan = callPackage ../development/ocaml-modules/vchan { };
vg = callPackage ../development/ocaml-modules/vg { };
@ -1483,152 +1475,6 @@ let
inherit (pkgs) stdenv lib openssl;
};
js_build_tools = callPackage ../development/ocaml-modules/janestreet/js-build-tools.nix {};
buildOcamlJane = callPackage ../development/ocaml-modules/janestreet/buildOcamlJane.nix {};
ppx_optcomp =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_optcomp
else callPackage ../development/ocaml-modules/janestreet/ppx-optcomp.nix {};
ppx_compare =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_compare
else callPackage ../development/ocaml-modules/janestreet/ppx-compare.nix {};
ppx_here =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_here
else callPackage ../development/ocaml-modules/janestreet/ppx-here.nix {};
ppx_sexp_conv =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_sexp_conv
else callPackage ../development/ocaml-modules/janestreet/ppx-sexp-conv.nix {};
ppx_assert =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_assert
else callPackage ../development/ocaml-modules/janestreet/ppx-assert.nix {};
ppx_inline_test =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_inline_test
else callPackage ../development/ocaml-modules/janestreet/ppx-inline-test.nix {};
ppx_bench =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_bench
else callPackage ../development/ocaml-modules/janestreet/ppx-bench.nix {};
ppx_bin_prot =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_bin_prot
else callPackage ../development/ocaml-modules/janestreet/ppx-bin-prot.nix {};
ppx_custom_printf =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_custom_printf
else callPackage ../development/ocaml-modules/janestreet/ppx-custom-printf.nix {};
ppx_enumerate =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_enumerate
else callPackage ../development/ocaml-modules/janestreet/ppx-enumerate.nix {};
ppx_fields_conv =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_fields_conv
else callPackage ../development/ocaml-modules/janestreet/ppx-fields-conv.nix {};
ppx_let =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_let
else callPackage ../development/ocaml-modules/janestreet/ppx-let.nix {};
ppx_pipebang =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_pipebang
else callPackage ../development/ocaml-modules/janestreet/ppx-pipebang.nix {};
ppx_sexp_message =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_sexp_message
else callPackage ../development/ocaml-modules/janestreet/ppx-sexp-message.nix {};
ppx_sexp_value =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_sexp_value
else callPackage ../development/ocaml-modules/janestreet/ppx-sexp-value.nix {};
ppx_typerep_conv =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_typerep_conv
else callPackage ../development/ocaml-modules/janestreet/ppx-typerep-conv.nix {};
ppx_variants_conv =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_variants_conv
else callPackage ../development/ocaml-modules/janestreet/ppx-variants-conv.nix {};
ppx_expect =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_expect
else callPackage ../development/ocaml-modules/janestreet/ppx-expect.nix {};
ppx_jane =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.ppx_jane
else callPackage ../development/ocaml-modules/janestreet/ppx-jane.nix {};
# Core sublibs
typerep =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.typerep
else if lib.versionOlder "4.02" ocaml.version
then callPackage ../development/ocaml-modules/janestreet/typerep.nix {}
else typerep_p4;
fieldslib =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.fieldslib
else if lib.versionOlder "4.02" ocaml.version
then callPackage ../development/ocaml-modules/janestreet/fieldslib.nix {}
else fieldslib_p4;
sexplib =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.sexplib
else if lib.versionOlder "4.02" ocaml.version
then callPackage ../development/ocaml-modules/janestreet/sexplib.nix {}
else null;
variantslib =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.variantslib
else if lib.versionOlder "4.02" ocaml.version
then callPackage ../development/ocaml-modules/janestreet/variantslib.nix {}
else variantslib_p4;
bin_prot =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.bin_prot
else if lib.versionOlder "4.02" ocaml.version
then callPackage ../development/ocaml-modules/janestreet/bin_prot.nix {}
else bin_prot_p4;
core_bench =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.core_bench else
callPackage ../development/ocaml-modules/janestreet/core_bench.nix {};
async_rpc_kernel =
if lib.versionOlder "4.03" ocaml.version
then janeStreet.async_rpc_kernel
else callPackage ../development/ocaml-modules/janestreet/async-rpc-kernel.nix {};
# Apps / from all-packages
ocamlnat = callPackage ../development/ocaml-modules/ocamlnat { };

View file

@ -5059,6 +5059,8 @@ in {
mygpoclient = callPackage ../development/python-modules/mygpoclient { };
myhome = callPackage ../development/python-modules/myhome { };
myjwt = callPackage ../development/python-modules/myjwt { };
mypy = callPackage ../development/python-modules/mypy { };