1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 fetchpatch,
6 autoreconfHook,
7 pkg-config,
8 libnfc,
9}:
10
11stdenv.mkDerivation rec {
12 pname = "mfoc";
13 version = "0.10.7";
14
15 src = fetchFromGitHub {
16 owner = "nfc-tools";
17 repo = "mfoc";
18 rev = "mfoc-${version}";
19 sha256 = "0hbg1fn4000qdg1cfc7y8l0vh1mxlxcz7gapkcq54xp2l6kk1z65";
20 };
21
22 patches = [
23 (fetchpatch {
24 url = "https://github.com/nfc-tools/mfoc/commit/f13efb0a6deb1d97ba945d555a6a5d6be89b593f.patch";
25 sha256 = "109gqzp8rdsjvj0nra686vy0dpd2bl6q5v9m4v98cpxkbz496450";
26 })
27 (fetchpatch {
28 url = "https://github.com/nfc-tools/mfoc/commit/00eae36f891bc4580103e3b54f0bb5228af2cdef.patch";
29 sha256 = "1w56aj96g776f37j53jmf3hk21x4mqik3l2bmghrdp8drixc8bzk";
30 })
31 ];
32
33 nativeBuildInputs = [
34 autoreconfHook
35 pkg-config
36 ];
37 buildInputs = [ libnfc ];
38
39 meta = with lib; {
40 description = "Mifare Classic Offline Cracker";
41 mainProgram = "mfoc";
42 license = licenses.gpl2Plus;
43 homepage = "https://github.com/nfc-tools/mfoc";
44 maintainers = with maintainers; [ offline ];
45 platforms = platforms.unix;
46 };
47}