forked from mirrors/nixpkgs
Merge staging-next into staging
This commit is contained in:
commit
7b637df745
maintainers
nixos
doc/manual
administration
from_md/administration
modules
tests
pkgs
applications
graphics/f3d
version-management/git-and-tools/delta
virtualization
desktops
development
ocaml-modules
bin_prot
fieldslib
janestreet
async-rpc-kernel.nixbin_prot.nixbuildOcamlJane.nixcore_bench.nixfieldslib.nixjs-build-tools-darwin.patchjs-build-tools.nixppx-assert.nixppx-bench.nixppx-bin-prot.nixppx-compare.nixppx-custom-printf.nixppx-enumerate.nixppx-expect.nixppx-fields-conv.nixppx-here.nixppx-inline-test.nixppx-jane.nixppx-let.nixppx-optcomp.nixppx-pipebang.nixppx-sexp-conv.nixppx-sexp-message.nixppx-sexp-value.nixppx-typerep-conv.nixppx-variants-conv.nixsexplib.nixtyperep.nixvariantslib.nix
typerep
variantslib
python-modules
aionanoleaf
azure-mgmt-containerservice
bitlist
build
channels-redis
cloudsmith-api
datamodeldict
mediafile
myhome
parts
pkginfo
pkutils
pyfronius
pygogo
screeninfo
screenlogicpy
soco
sunpy
tools
servers
sabnzbd
sql/postgresql
web-apps/sogo
zigbee2mqtt
tools
admin
misc/cloc
security
typesetting/tex/blahtexml
top-level
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
```
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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}";
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
22
nixos/tests/sabnzbd.nix
Normal 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/"
|
||||
)
|
||||
'';
|
||||
})
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 [ ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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
|
||||
'';
|
||||
|
||||
})
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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")
|
||||
| _ ->
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
|
||||
}
|
|
@ -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 ];
|
||||
};
|
||||
}
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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 ];
|
||||
|
|
50
pkgs/development/python-modules/myhome/default.nix
Normal file
50
pkgs/development/python-modules/myhome/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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") [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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)" ];
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
9878
pkgs/servers/zigbee2mqtt/node-packages.nix
generated
9878
pkgs/servers/zigbee2mqtt/node-packages.nix
generated
File diff suppressed because it is too large
Load diff
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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"
|
||||
)
|
||||
|
|
|
@ -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=";
|
||||
|
|
|
@ -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=";
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -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 = ''
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 ];
|
||||
|
|
|
@ -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
|
||||
|
|
48
pkgs/tools/typesetting/tex/blahtexml/default.nix
Normal file
48
pkgs/tools/typesetting/tex/blahtexml/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 { };
|
||||
|
|
|
@ -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 { };
|
||||
|
|
Loading…
Reference in a new issue