diff options
25 files changed, 442 insertions, 101 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix index e45ccbe8f5d..8404886533d 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -739,6 +739,7 @@ xvapx = "Marti Serra <marti.serra.coscollano@gmail.com>"; xwvvvvwx = "David Terry <davidterry@posteo.de>"; xzfc = "Albert Safin <xzfcpw@gmail.com>"; + y0no = "Yoann Ono <y0no@y0no.fr>"; yarr = "Dmitry V. <savraz@gmail.com>"; yegortimoshenko = "Yegor Timoshenko <yegortimoshenko@gmail.com>"; ylwghst = "Burim Augustin Berisa <ylwghst@onionmail.info>"; diff --git a/nixos/modules/services/networking/openvpn.nix b/nixos/modules/services/networking/openvpn.nix index 3fbf5a9f022..7a96b673c51 100644 --- a/nixos/modules/services/networking/openvpn.nix +++ b/nixos/modules/services/networking/openvpn.nix @@ -50,6 +50,11 @@ let "up ${pkgs.writeScript "openvpn-${name}-up" upScript}"} ${optionalString (cfg.down != "" || cfg.updateResolvConf) "down ${pkgs.writeScript "openvpn-${name}-down" downScript}"} + ${optionalString (cfg.authUserPass != null) + "auth-user-pass ${pkgs.writeText "openvpn-credentials-${name}" '' + ${cfg.authUserPass.username} + ${cfg.authUserPass.password} + ''}"} ''; in { @@ -161,6 +166,29 @@ in ''; }; + authUserPass = mkOption { + default = null; + description = '' + This option can be used to store the username / password credentials + with the "auth-user-pass" authentication method. + + WARNING: Using this option will put the credentials WORLD-READABLE in the Nix store! + ''; + type = types.nullOr (types.submodule { + + options = { + username = mkOption { + description = "The username to store inside the credentials file."; + type = types.string; + }; + + password = mkOption { + description = "The password to store inside the credentials file."; + type = types.string; + }; + }; + }); + }; }; }); diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix index 2acba83d00b..e2218473d72 100644 --- a/pkgs/applications/editors/neovim/wrapper.nix +++ b/pkgs/applications/editors/neovim/wrapper.nix @@ -68,7 +68,9 @@ let --unset PYTHONPATH \ ${optionalString withRuby '' --suffix PATH : ${rubyEnv}/bin --set GEM_HOME ${rubyEnv}/${rubyEnv.ruby.gemPath}'' } - # copy and patch the original neovim.destkop file + '' + + optionalString (!stdenv.isDarwin) '' + # copy and patch the original neovim.desktop file mkdir -p $out/share/applications substitute ${neovim}/share/applications/nvim.desktop $out/share/applications/nvim.desktop \ --replace 'TryExec=nvim' "TryExec=$out/bin/nvim" \ diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix index 05965fc3717..0b86c0283e0 100644 --- a/pkgs/applications/window-managers/i3/status-rust.nix +++ b/pkgs/applications/window-managers/i3/status-rust.nix @@ -2,13 +2,13 @@ rustPlatform.buildRustPackage rec { name = "i3status-rust-${version}"; - version = "0.9.0.2017-11-09"; + version = "0.9.0.2018-01-15"; src = fetchFromGitHub { owner = "greshake"; repo = "i3status-rust"; - rev = "5daf2cdd611bed3db804d011d5d5af34b558e615"; - sha256 = "0j6h7x5mm3m7wq0if20qxc9z3qw29xgf5qb3sqwdbdpz8ykpqdgk"; + rev = "aa7bc98d945ba63358cd48c66e0261c201b999e4"; + sha256 = "1q2p53nl499yxsw0i81ryyc2ln80p8i3iii5hx7aiwfi4ybm55b1"; }; cargoSha256 = "1197hp6d4z14j0r22bvw9ly294li0ivg6yfql4lgi27hbvzag71h"; diff --git a/pkgs/development/libraries/kde-frameworks/kimageformats.nix b/pkgs/development/libraries/kde-frameworks/kimageformats.nix index 26a8637bafc..29748a5f7f4 100644 --- a/pkgs/development/libraries/kde-frameworks/kimageformats.nix +++ b/pkgs/development/libraries/kde-frameworks/kimageformats.nix @@ -12,5 +12,5 @@ mkDerivation { nativeBuildInputs = [ extra-cmake-modules ]; buildInputs = [ karchive openexr qtbase ]; outputs = [ "out" ]; # plugins only - NIX_CFLAGS_COMPILE = "-I${getDev ilmbase}/include/OpenEXR"; + CXXFLAGS = "-I${getDev ilmbase}/include/OpenEXR"; } diff --git a/pkgs/development/ocaml-modules/uri/default.nix b/pkgs/development/ocaml-modules/uri/default.nix index f08ee7fc2fc..5059ef24aa3 100644 --- a/pkgs/development/ocaml-modules/uri/default.nix +++ b/pkgs/development/ocaml-modules/uri/default.nix @@ -1,51 +1,33 @@ -{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, re, stringext, ounit -, sexplib, ppx_sexp_conv -, legacyVersion ? false -, sexplib_p4 +{ stdenv, fetchurl, ocaml, findlib, jbuilder, ppx_sexp_conv, ounit +, ppx_deriving, re, sexplib, stringext }: -if !stdenv.lib.versionAtLeast ocaml.version "4" -|| legacyVersion && stdenv.lib.versionAtLeast ocaml.version "4.03" -then throw "uri${stdenv.lib.optionalString legacyVersion "_p4"} is not available for OCaml ${ocaml.version}" else - -with - if legacyVersion - then { - version = "1.9.1"; - sha256 = "0v3jxqgyi4kj92r3x83rszfpnvvzy9lyb913basch4q64yka3w85"; - } else { - version = "1.9.2"; - sha256 = "137pg8j654x7r0d1664iy2zp3l82nki1kkh921lwdrwc5qqdl6jx"; - }; - -stdenv.mkDerivation { +stdenv.mkDerivation rec { + version = "1.9.6"; name = "ocaml${ocaml.version}-uri-${version}"; - src = fetchzip { - url = "https://github.com/mirage/ocaml-uri/archive/v${version}.tar.gz"; - inherit sha256; + src = fetchurl { + url = "https://github.com/mirage/ocaml-uri/releases/download/v${version}/uri-${version}.tbz"; + sha256 = "1m845rwd70wi4iijkrigyz939m1x84ba70hvv0d9sgk6971w4kz0"; }; - buildInputs = [ ocaml findlib ocamlbuild ounit ] - ++ stdenv.lib.optional (!legacyVersion) ppx_sexp_conv; - propagatedBuildInputs = [ re (if legacyVersion then sexplib_p4 else sexplib) stringext ]; + unpackCmd = "tar -xjf $curSrc"; + + buildInputs = [ ocaml findlib jbuilder ppx_sexp_conv ounit ]; + propagatedBuildInputs = [ ppx_deriving re sexplib stringext ]; + + buildPhase = "jbuilder build"; - configurePhase = "ocaml setup.ml -configure --prefix $out --enable-tests"; - buildPhase = '' - ocaml setup.ml -build - ocaml setup.ml -doc - ''; doCheck = true; - checkPhase = "ocaml setup.ml -test"; - installPhase = "ocaml setup.ml -install"; + checkPhase = "jbuilder runtest"; - createFindlibDestdir = true; + inherit (jbuilder) installPhase; meta = { - homepage = https://github.com/mirage/ocaml-uri; - platforms = ocaml.meta.platforms or []; + homepage = "https://github.com/mirage/ocaml-uri"; description = "RFC3986 URI parsing library for OCaml"; license = stdenv.lib.licenses.isc; - maintainers = with stdenv.lib.maintainers; [ vbgl ]; + maintainers = [ stdenv.lib.maintainers.vbgl ]; + inherit (ocaml.meta) platforms; }; } diff --git a/pkgs/development/ocaml-modules/uri/legacy.nix b/pkgs/development/ocaml-modules/uri/legacy.nix new file mode 100644 index 00000000000..f08ee7fc2fc --- /dev/null +++ b/pkgs/development/ocaml-modules/uri/legacy.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, re, stringext, ounit +, sexplib, ppx_sexp_conv +, legacyVersion ? false +, sexplib_p4 +}: + +if !stdenv.lib.versionAtLeast ocaml.version "4" +|| legacyVersion && stdenv.lib.versionAtLeast ocaml.version "4.03" +then throw "uri${stdenv.lib.optionalString legacyVersion "_p4"} is not available for OCaml ${ocaml.version}" else + +with + if legacyVersion + then { + version = "1.9.1"; + sha256 = "0v3jxqgyi4kj92r3x83rszfpnvvzy9lyb913basch4q64yka3w85"; + } else { + version = "1.9.2"; + sha256 = "137pg8j654x7r0d1664iy2zp3l82nki1kkh921lwdrwc5qqdl6jx"; + }; + +stdenv.mkDerivation { + name = "ocaml${ocaml.version}-uri-${version}"; + + src = fetchzip { + url = "https://github.com/mirage/ocaml-uri/archive/v${version}.tar.gz"; + inherit sha256; + }; + + buildInputs = [ ocaml findlib ocamlbuild ounit ] + ++ stdenv.lib.optional (!legacyVersion) ppx_sexp_conv; + propagatedBuildInputs = [ re (if legacyVersion then sexplib_p4 else sexplib) stringext ]; + + configurePhase = "ocaml setup.ml -configure --prefix $out --enable-tests"; + buildPhase = '' + ocaml setup.ml -build + ocaml setup.ml -doc + ''; + doCheck = true; + checkPhase = "ocaml setup.ml -test"; + installPhase = "ocaml setup.ml -install"; + + createFindlibDestdir = true; + + meta = { + homepage = https://github.com/mirage/ocaml-uri; + platforms = ocaml.meta.platforms or []; + description = "RFC3986 URI parsing library for OCaml"; + license = stdenv.lib.licenses.isc; + maintainers = with stdenv.lib.maintainers; [ vbgl ]; + }; +} diff --git a/pkgs/development/python-modules/aenum/default.nix b/pkgs/development/python-modules/aenum/default.nix index 45e7f8915ac..466c20e19ca 100644 --- a/pkgs/development/python-modules/aenum/default.nix +++ b/pkgs/development/python-modules/aenum/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchPypi, buildPythonPackage, isPy3k }: +{ stdenv, fetchPypi, buildPythonPackage, python, isPy3k, glibcLocales }: buildPythonPackage rec { pname = "aenum"; @@ -10,12 +10,17 @@ buildPythonPackage rec { sha256 = "d98bc55136d696fcf323760c3db0de489da9e41fd51283fa6f90205deb85bf6a"; }; - doCheck = !isPy3k; - # The following tests fail (only in python3 - # test_convert (aenum.test.TestIntEnumConvert) - # test_convert_value_lookup_priority (aenum.test.TestIntEnumConvert) - # test_convert (aenum.test.TestIntEnumConvert) - # test_convert_value_lookup_priority (aenum.test.TestIntEnumConvert) + # For Python 3, locale has to be set to en_US.UTF-8 for + # tests to pass + checkInputs = if isPy3k then [ glibcLocales ] else []; + + checkPhase = '' + runHook preCheck + ${if isPy3k then "export LC_ALL=en_US.UTF-8" else ""} + PYTHONPATH=`pwd` ${python.interpreter} aenum/test.py + runHook postCheck + ''; + meta = { description = "Advanced Enumerations (compatible with Python's stdlib Enum), NamedTuples, and NamedConstants"; diff --git a/pkgs/development/python-modules/nose-parameterized/default.nix b/pkgs/development/python-modules/nose-parameterized/default.nix new file mode 100644 index 00000000000..3c7cd077cdc --- /dev/null +++ b/pkgs/development/python-modules/nose-parameterized/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchPypi, buildPythonPackage, nose, six, glibcLocales, isPy3k }: + +buildPythonPackage rec { + pname = "nose-parameterized"; + version = "0.6.0"; + + src = fetchPypi { + inherit pname version; + sha256 = "1khlabgib4161vn6alxsjaa8javriywgx9vydddi659gp9x6fpnk"; + }; + + # Tests require some python3-isms but code works without. + doCheck = isPy3k; + + buildInputs = [ nose glibcLocales ]; + propagatedBuildInputs = [ six ]; + + checkPhase = '' + LC_ALL="en_US.UTF-8" nosetests -v + ''; + + meta = with stdenv.lib; { + description = "Parameterized testing with any Python test framework"; + homepage = https://pypi.python.org/pypi/nose-parameterized; + license = licenses.bsd3; + }; +} diff --git a/pkgs/development/tools/go-protobuf/default.nix b/pkgs/development/tools/go-protobuf/default.nix new file mode 100644 index 00000000000..361fc74c729 --- /dev/null +++ b/pkgs/development/tools/go-protobuf/default.nix @@ -0,0 +1,24 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "go-protobuf-${version}"; + version = "2018-01-04"; + rev = "1e59b77b52bf8e4b449a57e6f79f21226d571845"; + + goPackagePath = "github.com/golang/protobuf"; + + src = fetchFromGitHub { + inherit rev; + owner = "golang"; + repo = "protobuf"; + sha256 = "19bkh81wnp6njg3931wky6hsnnl2d1ig20vfjxpv450sd3k6yys8"; + }; + + meta = with stdenv.lib; { + homepage = "https://github.com/golang/protobuf"; + description = " Go bindings for protocol buffer"; + maintainers = with maintainers; [ lewo ]; + license = licenses.bsd3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix index 11d0a461da0..5db64e15e04 100644 --- a/pkgs/os-specific/linux/evdi/default.nix +++ b/pkgs/os-specific/linux/evdi/default.nix @@ -2,15 +2,17 @@ stdenv.mkDerivation rec { name = "evdi-${version}"; - version = "1.4.1+git2017-06-12"; + version = "unstable-2018-01-12"; src = fetchFromGitHub { owner = "DisplayLink"; repo = "evdi"; - rev = "ee1c578774e62fe4b08d92750620ed3094642160"; - sha256 = "1m3wkmw4hjpjax7rvhmpicz09d7vxcxklq797ddjg6ljvf12671b"; + rev = "e7a08d08e3876efba8007e91df1b296f2447b8de"; + sha256 = "01z7bx5rgpb5lc4c6dxfiv52ni25564djxmvmgy3d7r1x1mqhxgs"; }; + nativeBuildInputs = kernel.moduleBuildDependencies; + buildInputs = [ kernel libdrm ]; makeFlags = [ "KVER=${kernel.modDirVersion}" "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" ]; @@ -27,6 +29,6 @@ stdenv.mkDerivation rec { platforms = platforms.linux; license = licenses.gpl2; homepage = http://www.displaylink.com/; - broken = versionOlder kernel.version "4.9" || !stdenv.lib.versionOlder kernel.version "4.13"; + broken = versionOlder kernel.version "4.9"; }; } diff --git a/pkgs/servers/freeradius/default.nix b/pkgs/servers/freeradius/default.nix index bf74ca81ced..c6ec3d46dda 100644 --- a/pkgs/servers/freeradius/default.nix +++ b/pkgs/servers/freeradius/default.nix @@ -40,11 +40,11 @@ assert withCollectd -> collectd != null; with stdenv.lib; stdenv.mkDerivation rec { name = "freeradius-${version}"; - version = "3.0.15"; + version = "3.0.16"; src = fetchurl { url = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${version}.tar.gz"; - sha256 = "1qygf5if2xjzl7kfzwl428ydz5q1m0j5sx077n12v7znlgnwaagx"; + sha256 = "062dw4ckaa7k2br16l3naz9dr7hvzqhpxdwam3klq1i44v4hvl1b"; }; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/tools/misc/parallel-rust/default.nix b/pkgs/tools/misc/parallel-rust/default.nix new file mode 100644 index 00000000000..699fe4cf971 --- /dev/null +++ b/pkgs/tools/misc/parallel-rust/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchFromGitHub, rustPlatform }: + +rustPlatform.buildRustPackage rec { + name = "parallel-rust-${version}"; + version = "0.11.3"; + + src = fetchFromGitHub { + owner = "mmstick"; + repo = "parallel"; + rev = version; + sha256 = "1bb1m3ckkrxlnw9w24ig70bd1zwyrbaw914q3xz5yv43c0l6pn9c"; + }; + + cargoSha256 = "0p3wpjz3jrqjasi39zq6q54dhpymc5jp0mfsnzbq6dvz18s8m588"; + + patches = [ ./fix_cargo_lock_version.patch ]; + + meta = with stdenv.lib; { + description = "A command-line CPU load balancer written in Rust"; + homepage = https://github.com/mmstick/parallel; + license = licenses.mit; + maintainers = []; + platforms = platforms.all; + }; +} diff --git a/pkgs/tools/misc/parallel-rust/fix_cargo_lock_version.patch b/pkgs/tools/misc/parallel-rust/fix_cargo_lock_version.patch new file mode 100644 index 00000000000..75a1ba35e12 --- /dev/null +++ b/pkgs/tools/misc/parallel-rust/fix_cargo_lock_version.patch @@ -0,0 +1,12 @@ +diff --git a/Cargo.lock b/Cargo.lock +index c01308d..dba3927 100644 +--- a/Cargo.lock ++++ b/Cargo.lock +@@ -1,6 +1,6 @@ + [root] + name = "parallel" +-version = "0.11.2" ++version = "0.11.3" + dependencies = [ + "arrayvec 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)", + "itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/pkgs/tools/networking/miniupnpc/default.nix b/pkgs/tools/networking/miniupnpc/default.nix index 2cca57121e9..fe3568c3a83 100644 --- a/pkgs/tools/networking/miniupnpc/default.nix +++ b/pkgs/tools/networking/miniupnpc/default.nix @@ -27,8 +27,8 @@ let }; in { miniupnpc_2 = generic { - version = "2.0.20170509"; - sha256 = "0spi75q6nafxp3ndnrhrlqagzmjlp8wwlr5x7rnvdpswgxi6ihyk"; + version = "2.0.20171212"; + sha256 = "0za7pr6hrr3ajkifirhhxfn3hlhl06f622g8hnj5h8y18sp3bwff"; }; miniupnpc_1 = generic { version = "1.9.20160209"; diff --git a/pkgs/tools/networking/miniupnpd/default.nix b/pkgs/tools/networking/miniupnpd/default.nix index 6003471bed9..3e3b4ec34a3 100644 --- a/pkgs/tools/networking/miniupnpd/default.nix +++ b/pkgs/tools/networking/miniupnpd/default.nix @@ -3,11 +3,11 @@ assert stdenv.isLinux; stdenv.mkDerivation rec { - name = "miniupnpd-2.0"; + name = "miniupnpd-2.0.20171212"; src = fetchurl { url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz"; - sha256 = "1dxzhvkylrnbkd5srb9rb2g4f9ydd1zbjg5sdf190m0g1sha6snr"; + sha256 = "0jdcll1nd8jf356fpl0n2yw8sww58nfz6hkx052d77l34afq6sn7"; name = "${name}.tar.gz"; }; diff --git a/pkgs/tools/networking/netsniff-ng/default.nix b/pkgs/tools/networking/netsniff-ng/default.nix index b0921375849..6619d0a0f69 100644 --- a/pkgs/tools/networking/netsniff-ng/default.nix +++ b/pkgs/tools/networking/netsniff-ng/default.nix @@ -1,24 +1,24 @@ -{ stdenv, fetchFromGitHub, bison, flex, geoip, geolite-legacy, libcli, libnet -, libnetfilter_conntrack, libnl, libpcap, libsodium, liburcu, ncurses, perl -, pkgconfig, zlib }: +{ stdenv, fetchFromGitHub, makeWrapper, bison, flex, geoip, geolite-legacy +, libcli, libnet, libnetfilter_conntrack, libnl, libpcap, libsodium +, liburcu, ncurses, perl, pkgconfig, zlib }: stdenv.mkDerivation rec { name = "netsniff-ng-${version}"; - version = "0.6.2"; + version = "0.6.3"; # Upstream recommends and supports git src = fetchFromGitHub rec { repo = "netsniff-ng"; owner = repo; rev = "v${version}"; - sha256 = "1lz4hwgwdq3znlqjmvl7cw3g3ilbayn608h0hwqdf7v2jq6n67kg"; + sha256 = "0g3105c5ha897bpwsnrp72gx4n61gspxmld594i37g8k7vwzny4l"; }; patches = [ ./glibc-2.26.patch ]; buildInputs = [ bison flex geoip geolite-legacy libcli libnet libnl libnetfilter_conntrack libpcap libsodium liburcu ncurses perl - pkgconfig zlib ]; + pkgconfig zlib makeWrapper ]; # ./configure is not autoGNU but some home-brewn magic configurePhase = '' @@ -33,6 +33,10 @@ stdenv.mkDerivation rec { makeFlags = [ "PREFIX=$(out)" "ETCDIR=$(out)/etc" ]; postInstall = '' + # trafgen and bpfc can call out to cpp to process config files. + wrapProgram "$out/sbin/trafgen" --prefix PATH ":" "${stdenv.cc}/bin" + wrapProgram "$out/sbin/bpfc" --prefix PATH ":" "${stdenv.cc}/bin" + ln -sv ${geolite-legacy}/share/GeoIP/GeoIP.dat $out/etc/netsniff-ng/country4.dat ln -sv ${geolite-legacy}/share/GeoIP/GeoIPv6.dat $out/etc/netsniff-ng/country6.dat ln -sv ${geolite-legacy}/share/GeoIP/GeoIPCity.dat $out/etc/netsniff-ng/city4.dat diff --git a/pkgs/tools/security/bettercap/Gemfile b/pkgs/tools/security/bettercap/Gemfile new file mode 100644 index 00000000000..8fb2a1c300a --- /dev/null +++ b/pkgs/tools/security/bettercap/Gemfile @@ -0,0 +1,2 @@ +source 'https://rubygems.org' +gem 'bettercap' diff --git a/pkgs/tools/security/bettercap/Gemfile.lock b/pkgs/tools/security/bettercap/Gemfile.lock new file mode 100644 index 00000000000..9260d1fd5ab --- /dev/null +++ b/pkgs/tools/security/bettercap/Gemfile.lock @@ -0,0 +1,42 @@ +GEM + remote: https://rubygems.org/ + specs: + bettercap (1.6.2) + colorize (~> 0.8.0) + em-proxy (~> 0.1, >= 0.1.8) + net-dns (~> 0.8, >= 0.8.0) + network_interface (~> 0.0, >= 0.0.1) + packetfu (~> 1.1, >= 1.1.10) + pcaprub (~> 0.12, >= 0.12.0, <= 1.1.11) + rubydns (~> 1.0, >= 1.0.3) + celluloid (0.16.0) + timers (~> 4.0.0) + celluloid-io (0.16.2) + celluloid (>= 0.16.0) + nio4r (>= 1.1.0) + colorize (0.8.1) + em-proxy (0.1.9) + eventmachine + eventmachine (1.2.5) + hitimes (1.2.6) + net-dns (0.8.0) + network_interface (0.0.2) + nio4r (2.2.0) + packetfu (1.1.13) + pcaprub + pcaprub (0.12.4) + rubydns (1.0.3) + celluloid (= 0.16.0) + celluloid-io (= 0.16.2) + timers (~> 4.0.1) + timers (4.0.4) + hitimes + +PLATFORMS + ruby + +DEPENDENCIES + bettercap + +BUNDLED WITH + 1.14.6 diff --git a/pkgs/tools/security/bettercap/default.nix b/pkgs/tools/security/bettercap/default.nix new file mode 100644 index 00000000000..46832e83ac9 --- /dev/null +++ b/pkgs/tools/security/bettercap/default.nix @@ -0,0 +1,23 @@ +{ lib, bundlerEnv, ruby, libpcap}: + +bundlerEnv rec { + name = "bettercap-${version}"; + + version = (import gemset).bettercap.version; + inherit ruby; + gemdir = ./.; + gemset = ./gemset.nix; + + buildInputs = [ libpcap ruby ]; + + meta = with lib; { + description = "A man in the middle tool"; + longDescription = '' + BetterCAP is a powerful, flexible and portable tool created to perform various types of MITM attacks against a network, manipulate HTTP, HTTPS and TCP traffic in realtime, sniff for credentials and much more. + '' ; + homepage = https://www.bettercap.org/; + license = with licenses; gpl3; + maintainers = with maintainers; [ y0no ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/tools/security/bettercap/gemset.nix b/pkgs/tools/security/bettercap/gemset.nix new file mode 100644 index 00000000000..bd5c33ba22c --- /dev/null +++ b/pkgs/tools/security/bettercap/gemset.nix @@ -0,0 +1,121 @@ +{ + bettercap = { + dependencies = ["colorize" "em-proxy" "net-dns" "network_interface" "packetfu" "pcaprub" "rubydns"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1mns96yfyfnksk720p8k83qkwwsid4sicwgrzxaa9gbc53aalll0"; + type = "gem"; + }; + version = "1.6.2"; + }; + celluloid = { + dependencies = ["timers"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "044xk0y7i1xjafzv7blzj5r56s7zr8nzb619arkrl390mf19jxv3"; + type = "gem"; + }; + version = "0.16.0"; + }; + celluloid-io = { + dependencies = ["celluloid" "nio4r"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1l1x0p6daa5vskywrvaxdlanwib3k5pps16axwyy4p8d49pn9rnx"; + type = "gem"; + }; + version = "0.16.2"; + }; + colorize = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "133rqj85n400qk6g3dhf2bmfws34mak1wqihvh3bgy9jhajw580b"; + type = "gem"; + }; + version = "0.8.1"; + }; + em-proxy = { + dependencies = ["eventmachine"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1yzkg6jkmcg859b5mf13igpf8q2bjhsmqjsva05948fi733w5n2j"; + type = "gem"; + }; + version = "0.1.9"; + }; + eventmachine = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "075hdw0fgzldgss3xaqm2dk545736khcvv1fmzbf1sgdlkyh1v8z"; + type = "gem"; + }; + version = "1.2.5"; + }; + hitimes = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "06222h9236jw9jgmdlpi0q7psac1shvxqxqx905qkvabmxdxlfar"; + type = "gem"; + }; + version = "1.2.6"; + }; + net-dns = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "12nal6vhdyg0pbcqpsxqr59h7mbgdhcqp3v0xnzvy167n40gabf9"; + type = "gem"; + }; + version = "0.8.0"; + }; + network_interface = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1xh4knfq77ii4pjzsd2z1p3nd6nrcdjhb2vi5gw36jqj43ffw0zp"; + type = "gem"; + }; + version = "0.0.2"; + }; + nio4r = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0jjrj7vs29w6dfgsxq08226jfbi2j0x62lf4p9zmvyp19dj4z00a"; + type = "gem"; + }; + version = "2.2.0"; + }; + packetfu = { + dependencies = ["pcaprub"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "16ppq9wfxq4x2hss61l5brs3s6fmi8gb50mnp1nnnzb1asq4g8ll"; + type = "gem"; + }; + version = "1.1.13"; + }; + pcaprub = { + source = { + remotes = ["https://rubygems.org"]; + sha256 = "0pl4lqy7308185pfv0197n8b4v20fhd0zb3wlpz284rk8ssclkvz"; + type = "gem"; + }; + version = "0.12.4"; + }; + rubydns = { + dependencies = ["celluloid" "celluloid-io" "timers"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1cvj8li8shz7zn1rc5hdrkqmvr9j187g4y28mvkfvmv1j9hdln62"; + type = "gem"; + }; + version = "1.0.3"; + }; + timers = { + dependencies = ["hitimes"]; + source = { + remotes = ["https://rubygems.org"]; + sha256 = "1jx4wb0x182gmbcs90vz0wzfyp8afi1mpl9w5ippfncyk4kffvrz"; + type = "gem"; + }; + version = "4.0.4"; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index a93350f52f4..f0054b9841b 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -121,7 +121,13 @@ mapAliases (rec { owncloudclient = owncloud-client; # added 2016-08 pgp-tools = signing-party; # added 2017-03-26 pidgin-with-plugins = pidgin; # added 2016-06 - pidginlatexSF = pidginlatex; # added 2014-11-02 + pidginlatexSF = pidgin-latex; # added 2014-11-02 + pidginlatex = pidgin-latex; # added 2018-01-08 + pidginmsnpecan = pidgin-msn-pecan; # added 2018-01-08 + pidginotr = pidgin-otr; # added 2018-01-08 + pidginosd = pidgin-osd; # added 2018-01-08 + pidginsipe = pidgin-sipe; # added 2018-01-08 + pidginwindowmerge = pidgin-window-merge; # added 2018-01-08 postage = pgmanage; # added 2017-11-03 poppler_qt5 = libsForQt5.poppler; # added 2015-12-19 PPSSPP = ppsspp; # added 2017-10-01 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index eceb8e1b44b..915c66b4a0c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1253,6 +1253,8 @@ with pkgs; ps_mem = callPackage ../tools/system/ps_mem { }; + parallel-rust = callPackage ../tools/misc/parallel-rust { }; + socklog = callPackage ../tools/system/socklog { }; staccato = callPackage ../tools/text/staccato { }; @@ -1372,6 +1374,8 @@ with pkgs; bepasty = callPackage ../tools/misc/bepasty { }; + bettercap = callPackage ../tools/security/bettercap { }; + bfg-repo-cleaner = gitAndTools.bfg-repo-cleaner; bgs = callPackage ../tools/X11/bgs { }; @@ -13200,6 +13204,8 @@ with pkgs; go-bindata-assetfs = callPackage ../development/tools/go-bindata-assetfs { }; + go-protobuf = callPackage ../development/tools/go-protobuf { }; + gocode = callPackage ../development/tools/gocode { }; goconvey = callPackage ../development/tools/goconvey { }; @@ -16522,11 +16528,11 @@ with pkgs; plugins = []; }; - pidginlatex = callPackage ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex { + pidgin-latex = callPackage ../applications/networking/instant-messengers/pidgin-plugins/pidgin-latex { texLive = texlive.combined.scheme-basic; }; - pidginmsnpecan = callPackage ../applications/networking/instant-messengers/pidgin-plugins/msn-pecan { }; + pidgin-msn-pecan = callPackage ../applications/networking/instant-messengers/pidgin-plugins/msn-pecan { }; pidgin-mra = callPackage ../applications/networking/instant-messengers/pidgin-plugins/pidgin-mra { }; @@ -16536,13 +16542,13 @@ with pkgs; pidgin-xmpp-receipts = callPackage ../applications/networking/instant-messengers/pidgin-plugins/pidgin-xmpp-receipts { }; - pidginotr = callPackage ../applications/networking/instant-messengers/pidgin-plugins/otr { }; + pidgin-otr = callPackage ../applications/networking/instant-messengers/pidgin-plugins/otr { }; - pidginosd = callPackage ../applications/networking/instant-messengers/pidgin-plugins/pidgin-osd { }; + pidgin-osd = callPackage ../applications/networking/instant-messengers/pidgin-plugins/pidgin-osd { }; - pidginsipe = callPackage ../applications/networking/instant-messengers/pidgin-plugins/sipe { }; + pidgin-sipe = callPackage ../applications/networking/instant-messengers/pidgin-plugins/sipe { }; - pidginwindowmerge = callPackage ../applications/networking/instant-messengers/pidgin-plugins/window-merge { }; + pidgin-window-merge = callPackage ../applications/networking/instant-messengers/pidgin-plugins/window-merge { }; purple-hangouts = callPackage ../applications/networking/instant-messengers/pidgin-plugins/purple-hangouts { }; diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix index 4a7c77172cc..c44124c3fff 100644 --- a/pkgs/top-level/ocaml-packages.nix +++ b/pkgs/top-level/ocaml-packages.nix @@ -667,8 +667,12 @@ let uucp = callPackage ../development/ocaml-modules/uucp { }; uunf = callPackage ../development/ocaml-modules/uunf { }; - uri = callPackage ../development/ocaml-modules/uri { }; - uri_p4 = callPackage ../development/ocaml-modules/uri { + uri = + if lib.versionAtLeast ocaml.version "4.3" + then callPackage ../development/ocaml-modules/uri { } + else callPackage ../development/ocaml-modules/uri/legacy.nix { }; + + uri_p4 = callPackage ../development/ocaml-modules/uri/legacy.nix { legacyVersion = true; }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 10705d02d6b..4e4c3b9c12e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -3947,33 +3947,7 @@ in { }; }); - nose-parameterized = buildPythonPackage (rec { - name = "nose-parameterized-${version}"; - version = "0.5.0"; - - src = pkgs.fetchurl { - url = "mirror://pypi/n/nose-parameterized/${name}.tar.gz"; - sha256 = "a11c41b0cf8218e7cdc19ab7a1bdf5c141d161cd2350daee819473cc63cd0685"; - }; - - # Tests require some python3-isms but code works without. - doCheck = isPy3k; - - LC_ALL = "en_US.UTF-8"; - buildInputs = with self; [ nose pkgs.glibcLocales ]; - propagatedBuildInputs = with self; [ self.six ]; - - checkPhase = '' - nosetests -v - ''; - - - meta = { - description = "Parameterized testing with any Python test framework"; - homepage = https://pypi.python.org/pypi/nose-parameterized; - license = licenses.bsd3; - }; - }); + nose-parameterized = callPackage ../development/python-modules/nose-parameterized {}; neurotools = buildPythonPackage (rec { name = "NeuroTools-${version}"; @@ -17752,7 +17726,7 @@ in { tiros = callPackage ../development/python-modules/tiros { }; tifffile = callPackage ../development/python-modules/tifffile { }; - + # Tkinter/tkinter is part of the Python standard library. # The Python interpreters in Nixpkgs come without tkinter by default. # To make the module available, we make it available as any other |