selinux: 2.9 -> 3.0 (#104087)
Notably, Python 2 code is not be supported in this project anymore and new Python code should be written only for Python 3, which is no longer restricted to Python 3.7 (see780fb563c7
,5dfd3c4975
) https://github.com/SELinuxProject/selinux/releases/tag/20191204
This commit is contained in:
parent
cbb4e4733b
commit
70ecb218f1
4 changed files with 18 additions and 16 deletions
|
@ -1,26 +1,26 @@
|
||||||
{ stdenv, fetchurl, pcre, pkgconfig, libsepol
|
{ stdenv, fetchurl, pcre, pkgconfig, libsepol
|
||||||
, enablePython ? true, swig ? null, python ? null
|
, enablePython ? true, swig ? null, python3 ? null
|
||||||
, fts
|
, fts
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert enablePython -> swig != null && python != null;
|
assert enablePython -> swig != null && python3 != null;
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libselinux";
|
pname = "libselinux";
|
||||||
version = "2.9";
|
version = "3.0";
|
||||||
inherit (libsepol) se_release se_url;
|
inherit (libsepol) se_release se_url;
|
||||||
|
|
||||||
outputs = [ "bin" "out" "dev" "man" ] ++ optional enablePython "py";
|
outputs = [ "bin" "out" "dev" "man" ] ++ optional enablePython "py";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "${se_url}/${se_release}/libselinux-${version}.tar.gz";
|
url = "${se_url}/${se_release}/libselinux-${version}.tar.gz";
|
||||||
sha256 = "14r69mgmz7najf9wbizvp68q56mqx4yjbkxjlbcqg5a47s3wik0v";
|
sha256 = "0cr4p0qkr4qd5z1x677vwhz6mlz55kxyijwi2dmrvbhxcw7v78if";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ] ++ optionals enablePython [ swig python ];
|
nativeBuildInputs = [ pkgconfig ] ++ optionals enablePython [ swig python3 ];
|
||||||
buildInputs = [ libsepol pcre fts ] ++ optionals enablePython [ python ];
|
buildInputs = [ libsepol pcre fts ] ++ optionals enablePython [ python3 ];
|
||||||
|
|
||||||
# drop fortify here since package uses it by default, leading to compile error:
|
# drop fortify here since package uses it by default, leading to compile error:
|
||||||
# command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
|
# command-line>:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror]
|
||||||
|
@ -35,14 +35,18 @@ stdenv.mkDerivation rec {
|
||||||
"MAN3DIR=$(man)/share/man/man3"
|
"MAN3DIR=$(man)/share/man/man3"
|
||||||
"MAN5DIR=$(man)/share/man/man5"
|
"MAN5DIR=$(man)/share/man/man5"
|
||||||
"MAN8DIR=$(man)/share/man/man8"
|
"MAN8DIR=$(man)/share/man/man8"
|
||||||
"PYTHON=${python.pythonForBuild}/bin/python"
|
"PYTHON=${python3.pythonForBuild}/bin/python"
|
||||||
"PYTHONLIBDIR=$(py)/${python.sitePackages}"
|
"PYTHONLIBDIR=$(py)/${python3.sitePackages}"
|
||||||
"SBINDIR=$(bin)/sbin"
|
"SBINDIR=$(bin)/sbin"
|
||||||
"SHLIBDIR=$(out)/lib"
|
"SHLIBDIR=$(out)/lib"
|
||||||
|
|
||||||
"LIBSEPOLA=${stdenv.lib.getLib libsepol}/lib/libsepol.a"
|
"LIBSEPOLA=${stdenv.lib.getLib libsepol}/lib/libsepol.a"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
preInstall = ''
|
||||||
|
mkdir -p $py/${python3.sitePackages}/selinux
|
||||||
|
'';
|
||||||
|
|
||||||
installTargets = [ "install" ] ++ optional enablePython "install-pywrap";
|
installTargets = [ "install" ] ++ optional enablePython "install-pywrap";
|
||||||
|
|
||||||
meta = removeAttrs libsepol.meta ["outputsToInstall"] // {
|
meta = removeAttrs libsepol.meta ["outputsToInstall"] // {
|
||||||
|
|
|
@ -2,15 +2,15 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libsepol";
|
pname = "libsepol";
|
||||||
version = "2.9";
|
version = "3.0";
|
||||||
se_release = "20190315";
|
se_release = "20191204";
|
||||||
se_url = "https://github.com/SELinuxProject/selinux/releases/download";
|
se_url = "https://github.com/SELinuxProject/selinux/releases/download";
|
||||||
|
|
||||||
outputs = [ "bin" "out" "dev" "man" ];
|
outputs = [ "bin" "out" "dev" "man" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "${se_url}/${se_release}/libsepol-${version}.tar.gz";
|
url = "${se_url}/${se_release}/libsepol-${version}.tar.gz";
|
||||||
sha256 = "0p8x7w73jn1nysx1d7416wqrhbi0r6isrjxib7jf68fi72q14jx3";
|
sha256 = "0ygb6dh5lng91xs6xiqf5v0nxa68qmjc787p0s5h9w89364f2yjv";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ flex ];
|
nativeBuildInputs = [ flex ];
|
||||||
|
|
|
@ -18505,9 +18505,7 @@ in
|
||||||
|
|
||||||
keyutils = callPackage ../os-specific/linux/keyutils { };
|
keyutils = callPackage ../os-specific/linux/keyutils { };
|
||||||
|
|
||||||
libselinux = callPackage ../os-specific/linux/libselinux {
|
libselinux = callPackage ../os-specific/linux/libselinux { };
|
||||||
python = python37;
|
|
||||||
};
|
|
||||||
|
|
||||||
libsemanage = callPackage ../os-specific/linux/libsemanage {
|
libsemanage = callPackage ../os-specific/linux/libsemanage {
|
||||||
python = python3;
|
python = python3;
|
||||||
|
|
|
@ -3447,13 +3447,13 @@ in {
|
||||||
p.overrideAttrs (super: {
|
p.overrideAttrs (super: {
|
||||||
meta = super.meta // {
|
meta = super.meta // {
|
||||||
outputsToInstall = [ "py" ];
|
outputsToInstall = [ "py" ];
|
||||||
broken = (super.meta.broken or false) || pythonAtLeast "3.8";
|
broken = super.meta.broken or isPy27;
|
||||||
};
|
};
|
||||||
}))
|
}))
|
||||||
(p:
|
(p:
|
||||||
p.override {
|
p.override {
|
||||||
enablePython = true;
|
enablePython = true;
|
||||||
inherit python;
|
python3 = python;
|
||||||
})
|
})
|
||||||
(p: p.py)
|
(p: p.py)
|
||||||
];
|
];
|
||||||
|
|
Loading…
Reference in a new issue