1{
2 lib,
3 stdenv,
4 fetchurl,
5 bash,
6 bison,
7 flex,
8 gperf,
9 ncurses,
10 pkg-config,
11 python3,
12}:
13
14stdenv.mkDerivation (finalAttrs: {
15 pname = "kconfig-frontends";
16 version = "4.11.0.1";
17
18 src = fetchurl {
19 url = "https://bitbucket.org/nuttx/tools/downloads/kconfig-frontends-${finalAttrs.version}.tar.bz2";
20 hash = "sha256-yxg4z+Lwl7oJyt4n1HUncg1bKeK3FcCpbDPQtqELqxM=";
21 };
22
23 patches = [
24 # This patch is a fixed file, there is no need to normalize it
25 (fetchurl {
26 url = "https://bitbucket.org/nuttx/tools/downloads/gperf3.1_kconfig_id_lookup.patch";
27 hash = "sha256-cqAWjRnMA/fJ8wnEfUxoPEW0hIJY/mprE6/TQMY6NPI=";
28 })
29 ];
30
31 outputs = [
32 "out"
33 "lib"
34 "dev"
35 "doc"
36 ];
37
38 nativeBuildInputs = [
39 bison
40 flex
41 gperf
42 pkg-config
43 ];
44
45 buildInputs = [
46 bash
47 ncurses
48 python3
49 ];
50
51 strictDeps = true;
52
53 configureFlags = [
54 "--enable-frontends=conf,mconf,nconf"
55 ];
56
57 env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-error=format-security";
58
59 meta = {
60 description = "Out of Linux tree packaging of the kconfig infrastructure";
61 longDescription = ''
62 Configuration language and system for the Linux kernel and other
63 projects. Features simple syntax and grammar, limited yet adequate option
64 types, simple organization of options, and direct and reverse
65 dependencies.
66 '';
67 homepage = "https://bitbucket.org/nuttx/tools/";
68 license = lib.licenses.gpl2Plus;
69 maintainers = with lib.maintainers; [ ];
70 platforms = lib.platforms.unix;
71 };
72})