aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Garrelou <simon.garrelou@airbus.com>2023-10-16 13:07:38 +0200
committerSimon Garrelou <simon.garrelou@airbus.com>2023-10-16 13:07:38 +0200
commit509c699cdf9bc661cd84f9a761932e0ee1002fdd (patch)
treee151feef51faf91e3266811ad928c91b81b58a6b
parentff8752302f06cc3b6889970dfb28113460102c35 (diff)
downloadnixpkgs-509c699cdf9bc661cd84f9a761932e0ee1002fdd.tar.gz
nixpkgs-509c699cdf9bc661cd84f9a761932e0ee1002fdd.zip
Add miasm, msynth, passwdqc
-rw-r--r--default.nix24
-rw-r--r--pkgs/miasm/package.nix53
-rw-r--r--pkgs/msynth/package.nix37
-rw-r--r--pkgs/passwdqc/package.nix34
4 files changed, 148 insertions, 0 deletions
diff --git a/default.nix b/default.nix
new file mode 100644
index 0000000..1a2f679
--- /dev/null
+++ b/default.nix
@@ -0,0 +1,24 @@
1{ pkgs ? import <nixpkgs> {} }:
2let
3 setupPkg = { name, extraArgs ? {} }: pkgs.callPackage ./pkgs/${name}/package.nix extraArgs;
4in
5rec {
6 miasm = setupPkg {
7 name = "miasm";
8 extraArgs = {
9 inherit (pkgs.python3.pkgs) buildPythonPackage;
10 inherit (pkgs.python3Packages) future pyparsing;
11 };
12 };
13
14 msynth = setupPkg {
15 name = "msynth";
16 extraArgs = {
17 inherit (pkgs.python3.pkgs) buildPythonPackage;
18 inherit (pkgs.python3Packages) z3 future;
19 inherit miasm;
20 };
21 };
22
23 passwdqc = setupPkg { name = "passwdqc"; };
24}
diff --git a/pkgs/miasm/package.nix b/pkgs/miasm/package.nix
new file mode 100644
index 0000000..9f653a8
--- /dev/null
+++ b/pkgs/miasm/package.nix
@@ -0,0 +1,53 @@
1{ lib
2, buildPythonPackage
3, fetchPypi
4, fetchFromGitHub
5
6, pyparsing
7, future
8}:
9let
10 oldPyparsing = pyparsing.overridePythonAttrs(old: rec {
11 version = "2.4.7";
12 format = "setuptools";
13 src = fetchPypi {
14 pname = "pyparsing";
15 inherit version;
16 hash = "sha256-wgPsh4O/dxoVWyByebm8y43qAtjwyeX46tUHvDJG7ME=";
17 };
18 });
19in
20buildPythonPackage rec {
21 pname = "miasm";
22 version = "0.1.5";
23 format = "setuptools";
24
25 #disabled = pythonOlder "3.6";
26
27 src = fetchFromGitHub {
28 owner = "cea-sec";
29 repo = "miasm";
30 rev = "v${version}";
31 hash = "sha256-/yaMYYFSF7PT9pmbz71nF2Cq4ACiOuvlyKAU3WgQZrU=";
32 name = "${pname}-${version}";
33 };
34
35 patchPhase = ''
36 sed -i 's/^VERSION =.*/VERSION = "'"${version}"'"/' miasm/__init__.py
37 '';
38
39 propagatedBuildInputs = [
40 future
41 oldPyparsing
42 ];
43
44 doCheck = false;
45
46 pythonImportsCheck = [ "miasm" ];
47
48 meta = with lib; {
49 description = "Reverse engineering framework in Python";
50 license = licenses.gpl2;
51 homepage = "https://miasm.re/";
52 };
53}
diff --git a/pkgs/msynth/package.nix b/pkgs/msynth/package.nix
new file mode 100644
index 0000000..cf44368
--- /dev/null
+++ b/pkgs/msynth/package.nix
@@ -0,0 +1,37 @@
1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4
5, future
6, z3
7, miasm
8}:
9buildPythonPackage rec {
10 pname = "msynth";
11 version = "d072f07ed82c74e3a1846b963b037e0f8df96d29";
12 format = "setuptools";
13
14 #disabled = pythonOlder "3.6";
15
16 src = fetchFromGitHub {
17 owner = "mrphrazer";
18 repo = "msynth";
19 rev = "${version}";
20 hash = "sha256-HJLR8b2n1nQ8BKz0vX+41Yt0/g8IL27IVBvt4pnLI/0=";
21 name = "${pname}-${version}";
22 };
23
24 propagatedBuildInputs = [
25 future
26 miasm
27 z3
28 ];
29
30 doCheck = false;
31
32 pythonImportsCheck = [ "msynth" ];
33
34 meta = with lib; {
35 license = licenses.gpl2;
36 };
37}
diff --git a/pkgs/passwdqc/package.nix b/pkgs/passwdqc/package.nix
new file mode 100644
index 0000000..c8393bc
--- /dev/null
+++ b/pkgs/passwdqc/package.nix
@@ -0,0 +1,34 @@
1{ lib
2, fetchzip
3, libxcrypt
4, linux-pam
5, stdenv
6}:
7stdenv.mkDerivation rec {
8 pname = "passwdqc";
9 version = "2.0.3";
10
11 src = fetchzip {
12 url = "https://www.openwall.com/passwdqc/passwdqc-${version}.tar.gz";
13 hash = "sha256-EgPeccqS+DDDMBVMc4bd70EMnXFuyglftxuqoaYHwNY=";
14 };
15
16 propagatedBuildInputs = [
17 linux-pam
18 libxcrypt
19 ];
20
21 makeFlags = [
22 "DESTDIR=$(out)"
23 "BINDIR=/bin"
24 "DEVEL_LIBDIR=/lib"
25 "INCLUDEDIR=/include"
26 ];
27
28 meta = with lib; {
29 description = "password/passphrase strength checking and enforcement";
30 homepage = "https://www.openwall.com/passwdqc/";
31 license = licenses.bsd0;
32 maintainers = [ maintainers.simsor ];
33 };
34}