tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
lol
0
fork
atom
overview
issues
pulls
pipelines
openvswitch: generalize builder
Martin Weinelt
3 years ago
217cf995
92097927
+127
-227
3 changed files
expand all
collapse all
unified
split
pkgs
os-specific
linux
openvswitch
default.nix
generic.nix
lts.nix
+2
-111
pkgs/os-specific/linux/openvswitch/default.nix
···
1
1
-
{ lib
2
2
-
, stdenv
3
3
-
, fetchurl
4
4
-
, installShellFiles
5
5
-
, iproute2
6
6
-
, kernel ? null
7
7
-
, libcap_ng
8
8
-
, openssl
9
9
-
, perl
10
10
-
, pkg-config
11
11
-
, procps
12
12
-
, python3
13
13
-
, sphinxHook
14
14
-
, util-linux
15
15
-
, which
16
16
-
}:
17
17
-
18
18
-
let
19
19
-
_kernel = kernel;
20
20
-
in stdenv.mkDerivation rec {
1
1
+
import ./generic.nix {
21
2
version = "3.0.1";
22
22
-
pname = "openvswitch";
23
23
-
24
24
-
kernel = lib.optional (_kernel != null) _kernel.dev;
25
25
-
26
26
-
src = fetchurl {
27
27
-
url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
28
28
-
hash = "sha256-5KEXFtCRn1syOSKLMrrcEJtWGl/maLlUfhQ7CxlbvWg=";
29
29
-
};
30
30
-
31
31
-
outputs = [
32
32
-
"out"
33
33
-
"man"
34
34
-
];
35
35
-
36
36
-
patches = [
37
37
-
# 8: vsctl-bashcomp - argument completion FAILED (completion.at:664)
38
38
-
./patches/disable-bash-arg-completion-test.patch
39
39
-
];
40
40
-
41
41
-
nativeBuildInputs = [
42
42
-
installShellFiles
43
43
-
pkg-config
44
44
-
sphinxHook
45
45
-
];
46
46
-
47
47
-
sphinxBuilders = [
48
48
-
"man"
49
49
-
];
50
50
-
51
51
-
sphinxRoot = "./Documentation";
52
52
-
53
53
-
buildInputs = [
54
54
-
libcap_ng
55
55
-
openssl
56
56
-
perl
57
57
-
procps
58
58
-
python3
59
59
-
util-linux
60
60
-
which
61
61
-
];
62
62
-
63
63
-
preConfigure = "./boot.sh";
64
64
-
65
65
-
configureFlags = [
66
66
-
"--localstatedir=/var"
67
67
-
"--sharedstatedir=/var"
68
68
-
"--sbindir=$(out)/bin"
69
69
-
] ++ (lib.optionals (_kernel != null) ["--with-linux"]);
70
70
-
71
71
-
# Leave /var out of this!
72
72
-
installFlags = [
73
73
-
"LOGDIR=$(TMPDIR)/dummy"
74
74
-
"RUNDIR=$(TMPDIR)/dummy"
75
75
-
"PKIDIR=$(TMPDIR)/dummy"
76
76
-
];
77
77
-
78
78
-
enableParallelBuilding = true;
79
79
-
80
80
-
postInstall = ''
81
81
-
installShellCompletion --bash utilities/ovs-appctl-bashcomp.bash
82
82
-
installShellCompletion --bash utilities/ovs-vsctl-bashcomp.bash
83
83
-
'';
84
84
-
85
85
-
doCheck = true;
86
86
-
87
87
-
checkInputs = [
88
88
-
iproute2
89
89
-
] ++ (with python3.pkgs; [
90
90
-
netaddr
91
91
-
pyparsing
92
92
-
pytest
93
93
-
]);
94
94
-
95
95
-
meta = with lib; {
96
96
-
changelog = "https://www.openvswitch.org/releases/NEWS-${version}.txt";
97
97
-
description = "A multilayer virtual switch";
98
98
-
longDescription = ''
99
99
-
Open vSwitch is a production quality, multilayer virtual switch
100
100
-
licensed under the open source Apache 2.0 license. It is
101
101
-
designed to enable massive network automation through
102
102
-
programmatic extension, while still supporting standard
103
103
-
management interfaces and protocols (e.g. NetFlow, sFlow, SPAN,
104
104
-
RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to
105
105
-
support distribution across multiple physical servers similar
106
106
-
to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
107
107
-
'';
108
108
-
homepage = "https://www.openvswitch.org/";
109
109
-
license = licenses.asl20;
110
110
-
maintainers = with maintainers; [ netixx kmcopper ];
111
111
-
platforms = platforms.linux;
112
112
-
};
3
3
+
hash = "sha256-5KEXFtCRn1syOSKLMrrcEJtWGl/maLlUfhQ7CxlbvWg=";
113
4
}
+123
pkgs/os-specific/linux/openvswitch/generic.nix
···
1
1
+
{ version
2
2
+
, hash
3
3
+
}:
4
4
+
5
5
+
{ lib
6
6
+
, stdenv
7
7
+
, fetchurl
8
8
+
, autoconf
9
9
+
, automake
10
10
+
, installShellFiles
11
11
+
, iproute2
12
12
+
, kernel ? null
13
13
+
, libcap_ng
14
14
+
, libtool
15
15
+
, openssl
16
16
+
, perl
17
17
+
, pkg-config
18
18
+
, procps
19
19
+
, python3
20
20
+
, sphinxHook
21
21
+
, util-linux
22
22
+
, which
23
23
+
}:
24
24
+
25
25
+
let
26
26
+
_kernel = kernel;
27
27
+
in stdenv.mkDerivation rec {
28
28
+
pname = "openvswitch";
29
29
+
inherit version;
30
30
+
31
31
+
kernel = lib.optional (_kernel != null) _kernel.dev;
32
32
+
33
33
+
src = fetchurl {
34
34
+
url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
35
35
+
inherit hash;
36
36
+
};
37
37
+
38
38
+
outputs = [
39
39
+
"out"
40
40
+
"man"
41
41
+
];
42
42
+
43
43
+
patches = [
44
44
+
# 8: vsctl-bashcomp - argument completion FAILED (completion.at:664)
45
45
+
./patches/disable-bash-arg-completion-test.patch
46
46
+
];
47
47
+
48
48
+
nativeBuildInputs = [
49
49
+
autoconf
50
50
+
automake
51
51
+
installShellFiles
52
52
+
libtool
53
53
+
pkg-config
54
54
+
sphinxHook
55
55
+
];
56
56
+
57
57
+
sphinxBuilders = [
58
58
+
"man"
59
59
+
];
60
60
+
61
61
+
sphinxRoot = "./Documentation";
62
62
+
63
63
+
buildInputs = [
64
64
+
libcap_ng
65
65
+
openssl
66
66
+
perl
67
67
+
procps
68
68
+
python3
69
69
+
util-linux
70
70
+
which
71
71
+
];
72
72
+
73
73
+
preConfigure = "./boot.sh";
74
74
+
75
75
+
configureFlags = [
76
76
+
"--localstatedir=/var"
77
77
+
"--sharedstatedir=/var"
78
78
+
"--sbindir=$(out)/bin"
79
79
+
] ++ (lib.optionals (_kernel != null) ["--with-linux"]);
80
80
+
81
81
+
# Leave /var out of this!
82
82
+
installFlags = [
83
83
+
"LOGDIR=$(TMPDIR)/dummy"
84
84
+
"RUNDIR=$(TMPDIR)/dummy"
85
85
+
"PKIDIR=$(TMPDIR)/dummy"
86
86
+
];
87
87
+
88
88
+
enableParallelBuilding = true;
89
89
+
90
90
+
postInstall = ''
91
91
+
installShellCompletion --bash utilities/ovs-appctl-bashcomp.bash
92
92
+
installShellCompletion --bash utilities/ovs-vsctl-bashcomp.bash
93
93
+
'';
94
94
+
95
95
+
doCheck = true;
96
96
+
97
97
+
checkInputs = [
98
98
+
iproute2
99
99
+
] ++ (with python3.pkgs; [
100
100
+
netaddr
101
101
+
pyparsing
102
102
+
pytest
103
103
+
]);
104
104
+
105
105
+
meta = with lib; {
106
106
+
changelog = "https://www.openvswitch.org/releases/NEWS-${version}.txt";
107
107
+
description = "A multilayer virtual switch";
108
108
+
longDescription = ''
109
109
+
Open vSwitch is a production quality, multilayer virtual switch
110
110
+
licensed under the open source Apache 2.0 license. It is
111
111
+
designed to enable massive network automation through
112
112
+
programmatic extension, while still supporting standard
113
113
+
management interfaces and protocols (e.g. NetFlow, sFlow, SPAN,
114
114
+
RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to
115
115
+
support distribution across multiple physical servers similar
116
116
+
to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
117
117
+
'';
118
118
+
homepage = "https://www.openvswitch.org/";
119
119
+
license = licenses.asl20;
120
120
+
maintainers = with maintainers; [ netixx kmcopper ];
121
121
+
platforms = platforms.linux;
122
122
+
};
123
123
+
}
+2
-116
pkgs/os-specific/linux/openvswitch/lts.nix
···
1
1
-
{ lib
2
2
-
, stdenv
3
3
-
, fetchurl
4
4
-
, autoconf
5
5
-
, automake
6
6
-
, installShellFiles
7
7
-
, iproute2
8
8
-
, kernel ? null
9
9
-
, libcap_ng
10
10
-
, libtool
11
11
-
, openssl
12
12
-
, perl
13
13
-
, pkg-config
14
14
-
, procps
15
15
-
, python3
16
16
-
, sphinxHook
17
17
-
, util-linux
18
18
-
, which
19
19
-
}:
20
20
-
21
21
-
let
22
22
-
_kernel = kernel;
23
23
-
in stdenv.mkDerivation rec {
1
1
+
import ./generic.nix {
24
2
version = "2.17.3";
25
25
-
pname = "openvswitch";
26
26
-
27
27
-
kernel = lib.optional (_kernel != null) _kernel.dev;
28
28
-
29
29
-
src = fetchurl {
30
30
-
url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
31
31
-
hash = "sha256-RGgR/JGuJFzDGQSmk3H7C/BEb3sk6yOaA320ADUwEcA=";
32
32
-
};
33
33
-
34
34
-
outputs = [
35
35
-
"out"
36
36
-
"man"
37
37
-
];
38
38
-
39
39
-
patches = [
40
40
-
# 8: vsctl-bashcomp - argument completion FAILED (completion.at:664)
41
41
-
./patches/disable-bash-arg-completion-test.patch
42
42
-
];
43
43
-
44
44
-
nativeBuildInputs = [
45
45
-
autoconf
46
46
-
automake
47
47
-
installShellFiles
48
48
-
libtool
49
49
-
pkg-config
50
50
-
sphinxHook
51
51
-
];
52
52
-
53
53
-
sphinxBuilders = [
54
54
-
"man"
55
55
-
];
56
56
-
57
57
-
sphinxRoot = "./Documentation";
58
58
-
59
59
-
buildInputs = [
60
60
-
libcap_ng
61
61
-
openssl
62
62
-
perl
63
63
-
procps
64
64
-
python3
65
65
-
util-linux
66
66
-
which
67
67
-
];
68
68
-
69
69
-
preConfigure = "./boot.sh";
70
70
-
71
71
-
configureFlags = [
72
72
-
"--localstatedir=/var"
73
73
-
"--sharedstatedir=/var"
74
74
-
"--sbindir=$(out)/bin"
75
75
-
] ++ (lib.optionals (_kernel != null) ["--with-linux"]);
76
76
-
77
77
-
# Leave /var out of this!
78
78
-
installFlags = [
79
79
-
"LOGDIR=$(TMPDIR)/dummy"
80
80
-
"RUNDIR=$(TMPDIR)/dummy"
81
81
-
"PKIDIR=$(TMPDIR)/dummy"
82
82
-
];
83
83
-
84
84
-
enableParallelBuilding = true;
85
85
-
86
86
-
postInstall = ''
87
87
-
installShellCompletion --bash utilities/ovs-appctl-bashcomp.bash
88
88
-
installShellCompletion --bash utilities/ovs-vsctl-bashcomp.bash
89
89
-
'';
90
90
-
91
91
-
doCheck = true;
92
92
-
checkInputs = [
93
93
-
iproute2
94
94
-
] ++ (with python3.pkgs; [
95
95
-
netaddr
96
96
-
pyparsing
97
97
-
pytest
98
98
-
]);
99
99
-
100
100
-
meta = with lib; {
101
101
-
changelog = "https://www.openvswitch.org/releases/NEWS-${version}.txt";
102
102
-
description = "A multilayer virtual switch";
103
103
-
longDescription = ''
104
104
-
Open vSwitch is a production quality, multilayer virtual switch
105
105
-
licensed under the open source Apache 2.0 license. It is
106
106
-
designed to enable massive network automation through
107
107
-
programmatic extension, while still supporting standard
108
108
-
management interfaces and protocols (e.g. NetFlow, sFlow, SPAN,
109
109
-
RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to
110
110
-
support distribution across multiple physical servers similar
111
111
-
to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.
112
112
-
'';
113
113
-
homepage = "https://www.openvswitch.org/";
114
114
-
license = licenses.asl20;
115
115
-
maintainers = with maintainers; [ netixx kmcopper ];
116
116
-
platforms = platforms.linux;
117
117
-
};
3
3
+
hash = "sha256-RGgR/JGuJFzDGQSmk3H7C/BEb3sk6yOaA320ADUwEcA=";
118
4
}