diff options
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r-- | pkgs/os-specific/linux/anbox/default.nix | 6 | ||||
-rw-r--r-- | pkgs/os-specific/linux/anbox/kmod.nix | 6 | ||||
-rw-r--r-- | pkgs/os-specific/linux/beegfs/default.nix | 167 | ||||
-rw-r--r-- | pkgs/os-specific/linux/beegfs/kernel-module.nix | 46 | ||||
-rw-r--r-- | pkgs/os-specific/linux/brillo/default.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/dpdk/default.nix | 70 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/linux-4.14.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/linux-4.19.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/linux-4.9.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/linux-5.3.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/linux-5.4.nix | 18 | ||||
-rw-r--r-- | pkgs/os-specific/linux/odp-dpdk/default.nix | 50 | ||||
-rw-r--r-- | pkgs/os-specific/linux/openvswitch/default.nix | 32 | ||||
-rw-r--r-- | pkgs/os-specific/linux/openvswitch/lts.nix | 82 | ||||
-rw-r--r-- | pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch | 274 | ||||
-rw-r--r-- | pkgs/os-specific/linux/prl-tools/default.nix | 2 |
16 files changed, 469 insertions, 304 deletions
diff --git a/pkgs/os-specific/linux/anbox/default.nix b/pkgs/os-specific/linux/anbox/default.nix index 755ec390a9cd..0012c3de9897 100644 --- a/pkgs/os-specific/linux/anbox/default.nix +++ b/pkgs/os-specific/linux/anbox/default.nix @@ -45,13 +45,13 @@ in stdenv.mkDerivation rec { pname = "anbox"; - version = "unstable-2019-05-03"; + version = "unstable-2019-11-15"; src = fetchFromGitHub { owner = pname; repo = pname; - rev = "ea2b7a3dea34a6803134f4adc16c276f4c2479eb"; - sha256 = "00x772nbrbx7ma0scr24m65g50pmi4v6d6q3cwbbi55r8qiy2yz7"; + rev = "0a49ae08f76de7f886a3dbed4422711c2fa39d10"; + sha256 = "09l56nv9cnyhykclfmvam6bkcxlamwbql6nrz9n022553w92hkjf"; }; nativeBuildInputs = [ diff --git a/pkgs/os-specific/linux/anbox/kmod.nix b/pkgs/os-specific/linux/anbox/kmod.nix index fee8d1e7a420..0888f2c54146 100644 --- a/pkgs/os-specific/linux/anbox/kmod.nix +++ b/pkgs/os-specific/linux/anbox/kmod.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation { pname = "anbox-modules"; - version = "2019-07-13-" + kernel.version; + version = "2019-11-15-" + kernel.version; src = fetchFromGitHub { owner = "anbox"; repo = "anbox-modules"; - rev = "816dd4d6e702cf77a44cfe208659af6c39e02b57"; - sha256 = "115xrv3fz5bk51hz8cwb61h0xnrsnv217fxmbpw35a6hjrk7gslc"; + rev = "e0a237e571989987806b32881044c539db25e3e1"; + sha256 = "1km1nslp4f5znwskh4bb1b61r1inw1dlbwiyyq3rrh0f0agf8d0v"; }; nativeBuildInputs = kernel.moduleBuildDependencies; diff --git a/pkgs/os-specific/linux/beegfs/default.nix b/pkgs/os-specific/linux/beegfs/default.nix deleted file mode 100644 index 7ce2fea69245..000000000000 --- a/pkgs/os-specific/linux/beegfs/default.nix +++ /dev/null @@ -1,167 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, unzip, which -, libuuid, attr, xfsprogs, cppunit, rdma-core -, zlib, openssl, sqlite, jre, openjdk, ant -, openssh, perl, gfortran, influxdb, curl -} : - -let - version = "7.0"; - - subdirs = [ - "beeond_thirdparty/build" - "beeond_thirdparty_gpl/build" - "thirdparty/build" - "opentk_lib/build" - "common/build" - "admon/build" - "java_lib/build" - "ctl/build" - "fsck/build" - "helperd/build" - "meta/build" - "mgmtd/build" - "storage/build" - "utils/build" - "mon/build" - "upgrade/beegfs_mirror_md/build" - ]; - -in stdenv.mkDerivation { - pname = "beegfs"; - inherit version; - - src = fetchurl { - url = "https://git.beegfs.com/pub/v7/repository/archive.tar.bz2?ref=${version}"; - sha256 = "1wsljd5ybyhl94aqrdfvcs8a0l8w4pr0bs1vhjrf4y7ldhw35m3k"; - }; - - nativeBuildInputs = [ which unzip pkgconfig cppunit openjdk ant perl ]; - - buildInputs = [ - libuuid - attr - xfsprogs - zlib - openssl - sqlite - jre - rdma-core - openssh - gfortran - influxdb - curl - ]; - - hardeningDisable = [ "format" ]; # required for building beeond - - postPatch = '' - patchShebangs ./ - find -type f -name Makefile -exec sed -i "s:/bin/bash:${stdenv.shell}:" \{} \; - find -type f -name Makefile -exec sed -i "s:/bin/true:true:" \{} \; - find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \; - - # unpack manually and patch variable name - sed -i '/tar -C $(SOURCE_PATH) -xzf $(PCOPY_TAR)/d' beeond_thirdparty/build/Makefile - cd beeond_thirdparty/source - tar xf pcopy-0.96.tar.gz - sed -i 's/\([^_]\)rank/\1grank/' pcopy-0.96/src/pcp.cpp - cd ../.. - ''; - - buildPhase = '' - for i in ${toString subdirs}; do - make -C $i BEEGFS_OPENTK_IBVERBS=1 ''${enableParallelBuilding:+-j''${NIX_BUILD_CORES} -l''${NIX_BUILD_CORES}} - done - make -C admon/build admon_gui BEEGFS_OPENTK_IBVERBS=1 - ''; - - enableParallelBuilding = true; - - installPhase = '' - binDir=$out/bin - docDir=$out/share/doc/beegfs - includeDir=$out/include/beegfs - libDir=$out/lib - libDirPkg=$out/lib/beegfs - - mkdir -p $binDir $libDir $libDirPkg $docDir $includeDir - - cp admon/build/beegfs-admon $binDir - cp admon/build/dist/usr/bin/beegfs-admon-gui $binDir - cp admon_gui/dist/beegfs-admon-gui.jar $libDirPkg - cp admon/build/dist/etc/beegfs-admon.conf $docDir - - cp java_lib/build/jbeegfs.jar $libDirPkg - cp java_lib/build/libjbeegfs.so $libDir - - cp ctl/build/beegfs-ctl $binDir - cp fsck/build/beegfs-fsck $binDir - - cp utils/scripts/beegfs-check-servers $binDir - cp utils/scripts/beegfs-df $binDir - cp utils/scripts/beegfs-net $binDir - - cp helperd/build/beegfs-helperd $binDir - cp helperd/build/dist/etc/beegfs-helperd.conf $docDir - - cp client_module/build/dist/sbin/beegfs-setup-client $binDir - cp client_module/build/dist/etc/beegfs-client.conf $docDir - - cp meta/build/beegfs-meta $binDir - cp meta/build/dist/sbin/beegfs-setup-meta $binDir - cp meta/build/dist/etc/beegfs-meta.conf $docDir - - cp mgmtd/build/beegfs-mgmtd $binDir - cp mgmtd/build/dist/sbin/beegfs-setup-mgmtd $binDir - cp mgmtd/build/dist/etc/beegfs-mgmtd.conf $docDir - - cp storage/build/beegfs-storage $binDir - cp storage/build/dist/sbin/beegfs-setup-storage $binDir - cp storage/build/dist/etc/beegfs-storage.conf $docDir - - cp opentk_lib/build/libbeegfs-opentk.so $libDir - - cp upgrade/beegfs_mirror_md/build/beegfs-mirror-md $binDir - - cp client_devel/build/dist/usr/share/doc/beegfs-client-devel/examples/* $docDir - cp -r client_devel/include/* $includeDir - - cp beeond_thirdparty_gpl/build/parallel $out/bin - cp beeond_thirdparty/build/pcopy/p* $out/bin - cp beeond_thirdparty/build/pcopy/s* $out/bin - cp -r beeond/scripts/* $out - cp beeond/source/* $out/bin - ''; - - postFixup = '' - substituteInPlace $out/bin/beegfs-admon-gui \ - --replace " java " " ${jre}/bin/java " \ - --replace "/opt/beegfs/beegfs-admon-gui/beegfs-admon-gui.jar" \ - "$libDirPkg/beegfs-admon-gui.jar" - - substituteInPlace $out/bin/beeond \ - --replace /opt/beegfs/sbin "$out/bin" - ''; - - doCheck = true; - - checkPhase = '' - LD_LIBRARY_PATH=$LD_LIBRARY_PATH:`pwd`/opentk_lib/build/ \ - common/build/test-runner --text - ''; - - meta = with stdenv.lib; { - description = "High performance distributed filesystem with RDMA support"; - homepage = "https://www.beegfs.io"; - platforms = [ "i686-linux" "x86_64-linux" ]; - license = { - fullName = "BeeGFS_EULA"; - url = "https://www.beegfs.io/docs/BeeGFS_EULA.txt"; - free = false; - }; - maintainers = with maintainers; [ markuskowa ]; - # 2019-08-09 - # fails to build and had stability issues earlier - broken = true; - }; -} diff --git a/pkgs/os-specific/linux/beegfs/kernel-module.nix b/pkgs/os-specific/linux/beegfs/kernel-module.nix deleted file mode 100644 index 286252b927b1..000000000000 --- a/pkgs/os-specific/linux/beegfs/kernel-module.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ stdenv, fetchurl, which -, kmod, kernel -} : - -let - version = "7.0"; -in stdenv.mkDerivation { - name = "beegfs-module-${version}-${kernel.version}"; - - src = fetchurl { - url = "https://git.beegfs.com/pub/v7/repository/archive.tar.bz2?ref=${version}"; - sha256 = "1wsljd5ybyhl94aqrdfvcs8a0l8w4pr0bs1vhjrf4y7ldhw35m3k"; - }; - - hardeningDisable = [ "fortify" "pic" "stackprotector" ]; - - nativeBuildInputs = [ which kmod ]; - - buildInputs = kernel.moduleBuildDependencies; - - makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build/" ]; - - postPatch = '' - patchShebangs ./ - find -type f -name Makefile -exec sed -i "s:/bin/bash:${stdenv.shell}:" \{} \; - find -type f -name Makefile -exec sed -i "s:/bin/true:true:" \{} \; - find -type f -name "*.mk" -exec sed -i "s:/bin/true:true:" \{} \; - ''; - - preBuild = "cd client_module/build"; - - installPhase = '' - instdir=$out/lib/modules/${kernel.modDirVersion}/extras/fs/beegfs - mkdir -p $instdir - cp beegfs.ko $instdir - ''; - - meta = with stdenv.lib; { - description = "High performance distributed filesystem with RDMA support"; - homepage = "https://www.beegfs.io"; - platforms = [ "i686-linux" "x86_64-linux" ]; - license = licenses.gpl2; - maintainers = with maintainers; [ markuskowa ]; - broken = stdenv.lib.versionAtLeast kernel.version "4.18"; - }; -} diff --git a/pkgs/os-specific/linux/brillo/default.nix b/pkgs/os-specific/linux/brillo/default.nix index 3ad4acf127b7..6d51907ea166 100644 --- a/pkgs/os-specific/linux/brillo/default.nix +++ b/pkgs/os-specific/linux/brillo/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "brillo"; - version = "1.4.8"; + version = "1.4.9"; src = fetchFromGitLab { owner= "cameronnemo"; repo= "brillo"; rev= "v${version}"; - sha256 = "0wxvg541caiwm3bjwbmk7xcng7jd9xsiga2agxwp7gpkrlp74j9f"; + sha256 = "0ab7s60zcgl6hvm0a9rlwq35p25n3jnw6r9256pwl4cdwyjyybsb"; }; patches = [ diff --git a/pkgs/os-specific/linux/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix index 7525fc8e405b..104fccd6955b 100644 --- a/pkgs/os-specific/linux/dpdk/default.nix +++ b/pkgs/os-specific/linux/dpdk/default.nix @@ -1,9 +1,13 @@ -{ stdenv, lib, kernel, fetchurl, pkgconfig, numactl, shared ? false }: +{ stdenv, lib +, kernel +, fetchurl +, pkgconfig, meson, ninja +, libbsd, numactl, libbpf, zlib, libelf, jansson, openssl, libpcap +, doxygen, python3 +, shared ? false }: let - kver = kernel.modDirVersion or null; - mod = kernel != null; in stdenv.mkDerivation rec { @@ -15,40 +19,38 @@ in stdenv.mkDerivation rec { sha256 = "141bqqy4w6nzs9z70x7yv94a4gmxjfal46pxry9bwdh3zi1jwnyd"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ numactl ] ++ lib.optional mod kernel.moduleBuildDependencies; - - RTE_KERNELDIR = if mod then "${kernel.dev}/lib/modules/${kver}/build" else "/var/empty"; - RTE_TARGET = "x86_64-native-linuxapp-gcc"; - - # we need sse3 instructions to build - NIX_CFLAGS_COMPILE = [ "-msse3" ]; - hardeningDisable = [ "pic" ]; + nativeBuildInputs = [ + doxygen + meson + ninja + pkgconfig + python3 + python3.pkgs.sphinx + ]; + buildInputs = [ + jansson + libbpf + libbsd + libelf + libpcap + numactl + openssl.dev + zlib + ] ++ lib.optionals mod kernel.moduleBuildDependencies; postPatch = '' - cat >>config/defconfig_$RTE_TARGET <<EOF -# Build static or shared libraries. -CONFIG_RTE_BUILD_SHARED_LIB=${if shared then "y" else "n"} -EOF - '' + lib.optionalString (!mod) '' - cat >>config/defconfig_$RTE_TARGET <<EOF -# Do not build kernel modules. -CONFIG_RTE_EAL_IGB_UIO=n -CONFIG_RTE_KNI_KMOD=n -EOF + patchShebangs config/arm ''; - configurePhase = '' - make T=${RTE_TARGET} config - ''; - - installTargets = [ "install-runtime" "install-sdk" "install-kmod" ]; # skip install-doc - - installFlags = [ - "prefix=$(out)" - ] ++ lib.optionals mod [ - "kerneldir=$(kmod)/lib/modules/${kver}" - ]; + mesonFlags = [ + "-Denable_docs=true" + "-Denable_kmods=${if kernel != null then "true" else "false"}" + ] + ++ lib.optionals (shared == false) [ + "-Ddefault_library=static" + ] + ++ lib.optional stdenv.isx86_64 "-Dmachine=nehalem" + ++ lib.optional (kernel != null) "-Dkernel_dir=${kernel.dev}/lib/modules/${kernel.modDirVersion}"; outputs = [ "out" ] ++ lib.optional mod "kmod"; @@ -58,7 +60,7 @@ EOF description = "Set of libraries and drivers for fast packet processing"; homepage = http://dpdk.org/; license = with licenses; [ lgpl21 gpl2 bsd2 ]; - platforms = [ "x86_64-linux" ]; + platforms = platforms.linux; maintainers = with maintainers; [ domenkozar magenbluten orivej ]; }; } diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix index 738a55129b1f..34654643c331 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.14.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.14.155"; + version = "4.14.156"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "10g4493ldc398qza304z5yz8qdp93w7a2bs5h5dwk0bbamwikmkp"; + sha256 = "1h47fxfbq0d5ry7j3jxz45v5c4103qncgm2vydpz6zdx1kmrz27q"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix index eaf2f7a3ec09..f71ef185199f 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.19.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "4.19.85"; + version = "4.19.86"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1dsgbys73jga5h0a9icgif6qbi31g84315zlcdid9bzf1abkbx3v"; + sha256 = "1xmzcxsiydym574y7k313qd8s4c3mdahpb3nx3cingfl36ivnb5z"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix index cb9d5a71dd90..94ba9ae6abd8 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.9.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix @@ -1,11 +1,11 @@ { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args: buildLinux (args // rec { - version = "4.9.202"; + version = "4.9.203"; extraMeta.branch = "4.9"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "1gsfbvsswpwj6r56ynb6mmx7dc8hp9yhi7sfr0hhii0gs4ffq241"; + sha256 = "0jd8n8y3yf59sgfjhgjxsznxng7s4b30x5vdb48wrpgqmz7m1n8w"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-5.3.nix b/pkgs/os-specific/linux/kernel/linux-5.3.nix index 86fc9af4f241..25cdab9c7bea 100644 --- a/pkgs/os-specific/linux/kernel/linux-5.3.nix +++ b/pkgs/os-specific/linux/kernel/linux-5.3.nix @@ -3,7 +3,7 @@ with stdenv.lib; buildLinux (args // rec { - version = "5.3.12"; + version = "5.3.13"; # modDirVersion needs to be x.y.z, will automatically add .0 if needed modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; @@ -13,6 +13,6 @@ buildLinux (args // rec { src = fetchurl { url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; - sha256 = "184pmjyqh4bkrc3vj65zn6xnljzv9d1x7c1z0hlgj6fakpwgdgsk"; + sha256 = "0by9lmgmllf19yflzm9f24cy9glcq6m73ywm25bddsnh0czya14z"; }; } // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix new file mode 100644 index 000000000000..7745fc8099ff --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix @@ -0,0 +1,18 @@ +{ stdenv, buildPackages, fetchurl, perl, buildLinux, modDirVersionArg ? null, ... } @ args: + +with stdenv.lib; + +buildLinux (args // rec { + version = "5.4"; + + # modDirVersion needs to be x.y.z, will automatically add .0 if needed + modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; + + # branchVersion needs to be x.y + extraMeta.branch = versions.majorMinor version; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; + sha256 = "14glqppn90z79b36k4c76mv90q933i2bg54rgwlcl2v7n608jcxz"; + }; +} // (args.argsOverride or {})) diff --git a/pkgs/os-specific/linux/odp-dpdk/default.nix b/pkgs/os-specific/linux/odp-dpdk/default.nix index 789668cb89e5..0bdc22da918d 100644 --- a/pkgs/os-specific/linux/odp-dpdk/default.nix +++ b/pkgs/os-specific/linux/odp-dpdk/default.nix @@ -1,42 +1,56 @@ { stdenv, fetchurl, autoreconfHook, pkgconfig -, dpdk, libconfig, libpcap, numactl, openssl +, dpdk, libconfig, libpcap, numactl, openssl, zlib, libbsd, libelf, jansson }: let - - dpdk_17_11 = dpdk.overrideAttrs (old: rec { - version = "17.11.9"; + dpdk_18_11 = dpdk.overrideAttrs (old: rec { + version = "18.11.5"; src = fetchurl { url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz"; - sha256 = "0vrcc9mdjs5fk69lh7bigsk9208dfmjsz3jxaddkjlvk2hds1id6"; + sha256 = "0000000000000000000000000000000000000000000000000000"; }; }); in stdenv.mkDerivation rec { pname = "odp-dpdk"; - version = "1.19.0.0_DPDK_17.11"; + version = "1.22.0.0_DPDK_18.11"; src = fetchurl { url = "https://git.linaro.org/lng/odp-dpdk.git/snapshot/${pname}-${version}.tar.gz"; - sha256 = "05bwjaxl9hqc6fbkp95nniq11g3kvzmlxw0bq55i7p2v35nv38px"; + sha256 = "1m8xhmfjqlj2gkkigq5ka3yh0xgzrcpfpaxp1pnh8d1g99094vbx"; }; - nativeBuildInputs = [ autoreconfHook pkgconfig ]; - buildInputs = [ dpdk_17_11 libconfig libpcap numactl openssl ]; - - RTE_SDK = "${dpdk_17_11}/share/dpdk"; - RTE_TARGET = "x86_64-native-linuxapp-gcc"; + nativeBuildInputs = [ + autoreconfHook + pkgconfig + ]; + buildInputs = [ + dpdk_18_11 + libconfig + libpcap + numactl + openssl + zlib + libbsd + libelf + jansson + ]; - dontDisableStatic = true; + # for some reason, /build/odp-dpdk-1.22.0.0_DPDK_18.11/lib/.libs ends up in all binaries, + # while it should be $out/lib instead. + # prepend rpath with the proper location, the /build will get removed during rpath shrinking + preFixup = '' + for prog in $out/bin/*; do + patchelf --set-rpath $out/lib:`patchelf --print-rpath $prog` $prog + done + ''; - configureFlags = [ - "--disable-shared" - "--with-dpdk-path=${dpdk_17_11}" - ]; + # binaries will segfault otherwise + dontStrip = true; meta = with stdenv.lib; { description = "Open Data Plane optimized for DPDK"; homepage = https://www.opendataplane.org; license = licenses.bsd3; - platforms = [ "x86_64-linux" ]; + platforms = platforms.linux; maintainers = [ maintainers.abuibrahim ]; }; } diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix index bf26b9e2b28b..53fc986d9f63 100644 --- a/pkgs/os-specific/linux/openvswitch/default.nix +++ b/pkgs/os-specific/linux/openvswitch/default.nix @@ -1,24 +1,25 @@ { stdenv, fetchurl, makeWrapper, pkgconfig, utillinux, which -, procps, libcap_ng, openssl, python27 , perl +, procps, libcap_ng, openssl, python3 , perl , kernel ? null }: with stdenv.lib; let _kernel = kernel; + pythonEnv = python3.withPackages (ps: with ps; [ six ]); in stdenv.mkDerivation rec { - version = "2.5.4"; + version = "2.12.0"; pname = "openvswitch"; src = fetchurl { - url = "http://openvswitch.org/releases/${pname}-${version}.tar.gz"; - sha256 = "1lji87wg953lqcdf02f1zv2m54vhd2x9jd03bb91lnlb4qlhifiv"; + url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz"; + sha256 = "1y78ix5inhhcvicbvyy2ij38am1215nr55vydhab3d4065q45z8k"; }; kernel = optional (_kernel != null) _kernel.dev; nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ makeWrapper utillinux openssl libcap_ng python27 + buildInputs = [ makeWrapper utillinux openssl libcap_ng pythonEnv perl procps which ]; configureFlags = [ @@ -36,27 +37,13 @@ in stdenv.mkDerivation rec { postBuild = '' # fix tests - substituteInPlace xenserver/opt_xensource_libexec_interface-reconfigure --replace '/usr/bin/env python' '${python27.interpreter}' - substituteInPlace vtep/ovs-vtep --replace '/usr/bin/env python' '${python27.interpreter}' + substituteInPlace xenserver/opt_xensource_libexec_interface-reconfigure --replace '/usr/bin/env python' '${pythonEnv.interpreter}' + substituteInPlace vtep/ovs-vtep --replace '/usr/bin/env python' '${pythonEnv.interpreter}' ''; enableParallelBuilding = true; doCheck = false; # bash-completion test fails with "compgen: command not found" - postInstall = '' - cp debian/ovs-monitor-ipsec $out/share/openvswitch/scripts - makeWrapper \ - $out/share/openvswitch/scripts/ovs-monitor-ipsec \ - $out/bin/ovs-monitor-ipsec \ - --prefix PYTHONPATH : "$out/share/openvswitch/python" - substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \ - --replace "UnixctlServer.create(None)" "UnixctlServer.create(os.environ['UNIXCTLPATH'])" - substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \ - --replace "self.psk_file" "root_prefix + self.psk_file" - substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \ - --replace "self.cert_dir" "root_prefix + self.cert_dir" - ''; - meta = with stdenv.lib; { platforms = platforms.linux; description = "A multilayer virtual switch"; @@ -71,7 +58,8 @@ in stdenv.mkDerivation rec { support distribution across multiple physical servers similar to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V. ''; - homepage = http://openvswitch.org/; + homepage = https://www.openvswitch.org/; license = licenses.asl20; + maintainers = with maintainers; [ netixx kmcopper ]; }; } diff --git a/pkgs/os-specific/linux/openvswitch/lts.nix b/pkgs/os-specific/linux/openvswitch/lts.nix new file mode 100644 index 000000000000..4f3f4c5c172a --- /dev/null +++ b/pkgs/os-specific/linux/openvswitch/lts.nix @@ -0,0 +1,82 @@ +{ stdenv, fetchurl, makeWrapper, pkgconfig, utillinux, which +, procps, libcap_ng, openssl, python2, iproute , perl +, automake, autoconf, libtool, kernel ? null }: + +with stdenv.lib; + +let + _kernel = kernel; +in stdenv.mkDerivation rec { + version = "2.5.9"; + pname = "openvswitch"; + + src = fetchurl { + url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz"; + sha256 = "0iv0ncwl6s4qyyb655yj5xvqrjr1zbymmab96q259wa09xnyw7b7"; + }; + + patches = [ ./patches/lts-ssl.patch ]; + + kernel = optional (_kernel != null) _kernel.dev; + + nativeBuildInputs = [ autoconf libtool automake pkgconfig ]; + buildInputs = [ makeWrapper utillinux openssl libcap_ng python2 + perl procps which ]; + + preConfigure = "./boot.sh"; + + configureFlags = [ + "--localstatedir=/var" + "--sharedstatedir=/var" + "--sbindir=$(out)/bin" + ] ++ (optionals (_kernel != null) ["--with-linux"]); + + # Leave /var out of this! + installFlags = [ + "LOGDIR=$(TMPDIR)/dummy" + "RUNDIR=$(TMPDIR)/dummy" + "PKIDIR=$(TMPDIR)/dummy" + ]; + + postBuild = '' + # fix tests + substituteInPlace xenserver/opt_xensource_libexec_interface-reconfigure --replace '/usr/bin/env python' '${python2.interpreter}' + substituteInPlace vtep/ovs-vtep --replace '/usr/bin/env python' '${python2.interpreter}' + ''; + + enableParallelBuilding = true; + doCheck = false; # bash-completion test fails with "compgen: command not found" + + postInstall = '' + cp debian/ovs-monitor-ipsec $out/share/openvswitch/scripts + makeWrapper \ + $out/share/openvswitch/scripts/ovs-monitor-ipsec \ + $out/bin/ovs-monitor-ipsec \ + --prefix PYTHONPATH : "$out/share/openvswitch/python" + substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \ + --replace "UnixctlServer.create(None)" "UnixctlServer.create(os.environ['UNIXCTLPATH'])" + substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \ + --replace "self.psk_file" "root_prefix + self.psk_file" + substituteInPlace $out/share/openvswitch/scripts/ovs-monitor-ipsec \ + --replace "self.cert_dir" "root_prefix + self.cert_dir" + ''; + + meta = with stdenv.lib; { + platforms = platforms.linux; + description = "A multilayer virtual switch"; + longDescription = + '' + Open vSwitch is a production quality, multilayer virtual switch + licensed under the open source Apache 2.0 license. It is + designed to enable massive network automation through + programmatic extension, while still supporting standard + management interfaces and protocols (e.g. NetFlow, sFlow, SPAN, + RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to + support distribution across multiple physical servers similar + to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V. + ''; + homepage = https://www.openvswitch.org/; + license = licenses.asl20; + maintainers = with maintainers; [ netixx kmcopper ]; + }; +} diff --git a/pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch b/pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch new file mode 100644 index 000000000000..0d8ff5b0d523 --- /dev/null +++ b/pkgs/os-specific/linux/openvswitch/patches/lts-ssl.patch @@ -0,0 +1,274 @@ +diff --git a/build-aux/automake.mk b/build-aux/automake.mk +new file mode 100644 +index 000000000..5d2657fd6 +--- /dev/null ++++ b/build-aux/automake.mk +@@ -0,0 +1,2 @@ ++EXTRA_DIST += \ ++ build-aux/generate-dhparams-c +diff --git a/build-aux/generate-dhparams-c b/build-aux/generate-dhparams-c +new file mode 100755 +index 000000000..bcd25e2d8 +--- /dev/null ++++ b/build-aux/generate-dhparams-c +@@ -0,0 +1,33 @@ ++#! /bin/sh -e ++ ++cat <<'EOF' ++/* Generated automatically; do not modify! -*- buffer-read-only: t -*- ++ * ++ * If you do need to regenerate this file, run "make generate-dhparams-c". */ ++ ++#include <config.h> ++#include "lib/dhparams.h" ++#include "lib/util.h" ++ ++static int ++my_DH_set0_pqg(DH *dh, BIGNUM *p, const BIGNUM **q OVS_UNUSED, BIGNUM *g) ++{ ++ ovs_assert(q == NULL); ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) ++ dh->p = p; ++ dh->g = g; ++ return 1; ++#else ++ return DH_set0_pqg(dh, p, NULL, g); ++#endif ++} ++EOF ++(openssl dhparam -C -in lib/dh1024.pem -noout && ++openssl dhparam -C -in lib/dh2048.pem -noout && ++openssl dhparam -C -in lib/dh4096.pem -noout) | sed ' ++ s/^static DH/DH/ ++ s/\(get_dh[0-9]*\)()/\1(void)/ ++ s/\(DH_set0_pqg\)/my_\1/ ++ s/[ ]*$// ++ s/ / /g ++' +diff --git a/lib/automake.mk b/lib/automake.mk +index 5387d519a..804a8b7d7 100644 +--- a/lib/automake.mk ++++ b/lib/automake.mk +@@ -399,15 +399,16 @@ lib_libopenvswitch_la_SOURCES += \ + lib/route-table-bsd.c + endif + ++.PHONY: generate-dhparams-c + if HAVE_OPENSSL +-lib_libopenvswitch_la_SOURCES += lib/stream-ssl.c +-nodist_lib_libopenvswitch_la_SOURCES += lib/dhparams.c +-lib/dhparams.c: lib/dh1024.pem lib/dh2048.pem lib/dh4096.pem +- $(AM_V_GEN)(echo '#include "lib/dhparams.h"' && \ +- openssl dhparam -C -in $(srcdir)/lib/dh1024.pem -noout && \ +- openssl dhparam -C -in $(srcdir)/lib/dh2048.pem -noout && \ +- openssl dhparam -C -in $(srcdir)/lib/dh4096.pem -noout) \ +- | sed 's/\(get_dh[0-9]*\)()/\1(void)/' > lib/dhparams.c.tmp && \ ++lib_libopenvswitch_la_SOURCES += lib/stream-ssl.c lib/dhparams.c ++ ++# Manually regenerates lib/dhparams.c. Not normally necessary since ++# lib/dhparams.c is part of the repository and doesn't normally need ++# updates. ++generate-dhparams-c: ++ $(AM_V_GEN)cd $(srcdir) && \ ++ build-aux/generate-dhparams-c > lib/dhparams.c.tmp && \ + mv lib/dhparams.c.tmp lib/dhparams.c + else + lib_libopenvswitch_la_SOURCES += lib/stream-nossl.c +diff --git a/lib/dhparams.c b/lib/dhparams.c +new file mode 100644 +index 000000000..4e42efad2 +--- /dev/null ++++ b/lib/dhparams.c +@@ -0,0 +1,192 @@ ++/* Generated automatically; do not modify! -*- buffer-read-only: t -*- ++ * ++ * If you do need to regenerate this file, run "make generate-dhparams-c". */ ++ ++#include <config.h> ++#include "lib/dhparams.h" ++#include "lib/util.h" ++ ++static int ++my_DH_set0_pqg(DH *dh, BIGNUM *p, const BIGNUM **q OVS_UNUSED, BIGNUM *g) ++{ ++ ovs_assert(q == NULL); ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined (LIBRESSL_VERSION_NUMBER) ++ dh->p = p; ++ dh->g = g; ++ return 1; ++#else ++ return DH_set0_pqg(dh, p, NULL, g); ++#endif ++} ++#ifndef HEADER_DH_H ++# include <openssl/dh.h> ++#endif ++ ++DH *get_dh1024(void) ++{ ++ static unsigned char dhp_1024[] = { ++ 0xF4, 0x88, 0xFD, 0x58, 0x4E, 0x49, 0xDB, 0xCD, 0x20, 0xB4, ++ 0x9D, 0xE4, 0x91, 0x07, 0x36, 0x6B, 0x33, 0x6C, 0x38, 0x0D, ++ 0x45, 0x1D, 0x0F, 0x7C, 0x88, 0xB3, 0x1C, 0x7C, 0x5B, 0x2D, ++ 0x8E, 0xF6, 0xF3, 0xC9, 0x23, 0xC0, 0x43, 0xF0, 0xA5, 0x5B, ++ 0x18, 0x8D, 0x8E, 0xBB, 0x55, 0x8C, 0xB8, 0x5D, 0x38, 0xD3, ++ 0x34, 0xFD, 0x7C, 0x17, 0x57, 0x43, 0xA3, 0x1D, 0x18, 0x6C, ++ 0xDE, 0x33, 0x21, 0x2C, 0xB5, 0x2A, 0xFF, 0x3C, 0xE1, 0xB1, ++ 0x29, 0x40, 0x18, 0x11, 0x8D, 0x7C, 0x84, 0xA7, 0x0A, 0x72, ++ 0xD6, 0x86, 0xC4, 0x03, 0x19, 0xC8, 0x07, 0x29, 0x7A, 0xCA, ++ 0x95, 0x0C, 0xD9, 0x96, 0x9F, 0xAB, 0xD0, 0x0A, 0x50, 0x9B, ++ 0x02, 0x46, 0xD3, 0x08, 0x3D, 0x66, 0xA4, 0x5D, 0x41, 0x9F, ++ 0x9C, 0x7C, 0xBD, 0x89, 0x4B, 0x22, 0x19, 0x26, 0xBA, 0xAB, ++ 0xA2, 0x5E, 0xC3, 0x55, 0xE9, 0x2F, 0x78, 0xC7 ++ }; ++ static unsigned char dhg_1024[] = { ++ 0x02 ++ }; ++ DH *dh = DH_new(); ++ BIGNUM *dhp_bn, *dhg_bn; ++ ++ if (dh == NULL) ++ return NULL; ++ dhp_bn = BN_bin2bn(dhp_1024, sizeof (dhp_1024), NULL); ++ dhg_bn = BN_bin2bn(dhg_1024, sizeof (dhg_1024), NULL); ++ if (dhp_bn == NULL || dhg_bn == NULL ++ || !my_DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) { ++ DH_free(dh); ++ BN_free(dhp_bn); ++ BN_free(dhg_bn); ++ return NULL; ++ } ++ return dh; ++} ++#ifndef HEADER_DH_H ++# include <openssl/dh.h> ++#endif ++ ++DH *get_dh2048(void) ++{ ++ static unsigned char dhp_2048[] = { ++ 0xF6, 0x42, 0x57, 0xB7, 0x08, 0x7F, 0x08, 0x17, 0x72, 0xA2, ++ 0xBA, 0xD6, 0xA9, 0x42, 0xF3, 0x05, 0xE8, 0xF9, 0x53, 0x11, ++ 0x39, 0x4F, 0xB6, 0xF1, 0x6E, 0xB9, 0x4B, 0x38, 0x20, 0xDA, ++ 0x01, 0xA7, 0x56, 0xA3, 0x14, 0xE9, 0x8F, 0x40, 0x55, 0xF3, ++ 0xD0, 0x07, 0xC6, 0xCB, 0x43, 0xA9, 0x94, 0xAD, 0xF7, 0x4C, ++ 0x64, 0x86, 0x49, 0xF8, 0x0C, 0x83, 0xBD, 0x65, 0xE9, 0x17, ++ 0xD4, 0xA1, 0xD3, 0x50, 0xF8, 0xF5, 0x59, 0x5F, 0xDC, 0x76, ++ 0x52, 0x4F, 0x3D, 0x3D, 0x8D, 0xDB, 0xCE, 0x99, 0xE1, 0x57, ++ 0x92, 0x59, 0xCD, 0xFD, 0xB8, 0xAE, 0x74, 0x4F, 0xC5, 0xFC, ++ 0x76, 0xBC, 0x83, 0xC5, 0x47, 0x30, 0x61, 0xCE, 0x7C, 0xC9, ++ 0x66, 0xFF, 0x15, 0xF9, 0xBB, 0xFD, 0x91, 0x5E, 0xC7, 0x01, ++ 0xAA, 0xD3, 0x5B, 0x9E, 0x8D, 0xA0, 0xA5, 0x72, 0x3A, 0xD4, ++ 0x1A, 0xF0, 0xBF, 0x46, 0x00, 0x58, 0x2B, 0xE5, 0xF4, 0x88, ++ 0xFD, 0x58, 0x4E, 0x49, 0xDB, 0xCD, 0x20, 0xB4, 0x9D, 0xE4, ++ 0x91, 0x07, 0x36, 0x6B, 0x33, 0x6C, 0x38, 0x0D, 0x45, 0x1D, ++ 0x0F, 0x7C, 0x88, 0xB3, 0x1C, 0x7C, 0x5B, 0x2D, 0x8E, 0xF6, ++ 0xF3, 0xC9, 0x23, 0xC0, 0x43, 0xF0, 0xA5, 0x5B, 0x18, 0x8D, ++ 0x8E, 0xBB, 0x55, 0x8C, 0xB8, 0x5D, 0x38, 0xD3, 0x34, 0xFD, ++ 0x7C, 0x17, 0x57, 0x43, 0xA3, 0x1D, 0x18, 0x6C, 0xDE, 0x33, ++ 0x21, 0x2C, 0xB5, 0x2A, 0xFF, 0x3C, 0xE1, 0xB1, 0x29, 0x40, ++ 0x18, 0x11, 0x8D, 0x7C, 0x84, 0xA7, 0x0A, 0x72, 0xD6, 0x86, ++ 0xC4, 0x03, 0x19, 0xC8, 0x07, 0x29, 0x7A, 0xCA, 0x95, 0x0C, ++ 0xD9, 0x96, 0x9F, 0xAB, 0xD0, 0x0A, 0x50, 0x9B, 0x02, 0x46, ++ 0xD3, 0x08, 0x3D, 0x66, 0xA4, 0x5D, 0x41, 0x9F, 0x9C, 0x7C, ++ 0xBD, 0x89, 0x4B, 0x22, 0x19, 0x26, 0xBA, 0xAB, 0xA2, 0x5E, ++ 0xC3, 0x55, 0xE9, 0x32, 0x0B, 0x3B ++ }; ++ static unsigned char dhg_2048[] = { ++ 0x02 ++ }; ++ DH *dh = DH_new(); ++ BIGNUM *dhp_bn, *dhg_bn; ++ ++ if (dh == NULL) ++ return NULL; ++ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); ++ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); ++ if (dhp_bn == NULL || dhg_bn == NULL ++ || !my_DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) { ++ DH_free(dh); ++ BN_free(dhp_bn); ++ BN_free(dhg_bn); ++ return NULL; ++ } ++ return dh; ++} ++#ifndef HEADER_DH_H ++# include <openssl/dh.h> ++#endif ++ ++DH *get_dh4096(void) ++{ ++ static unsigned char dhp_4096[] = { ++ 0xFA, 0x14, 0x72, 0x52, 0xC1, 0x4D, 0xE1, 0x5A, 0x49, 0xD4, ++ 0xEF, 0x09, 0x2D, 0xC0, 0xA8, 0xFD, 0x55, 0xAB, 0xD7, 0xD9, ++ 0x37, 0x04, 0x28, 0x09, 0xE2, 0xE9, 0x3E, 0x77, 0xE2, 0xA1, ++ 0x7A, 0x18, 0xDD, 0x46, 0xA3, 0x43, 0x37, 0x23, 0x90, 0x97, ++ 0xF3, 0x0E, 0xC9, 0x03, 0x50, 0x7D, 0x65, 0xCF, 0x78, 0x62, ++ 0xA6, 0x3A, 0x62, 0x22, 0x83, 0xA1, 0x2F, 0xFE, 0x79, 0xBA, ++ 0x35, 0xFF, 0x59, 0xD8, 0x1D, 0x61, 0xDD, 0x1E, 0x21, 0x13, ++ 0x17, 0xFE, 0xCD, 0x38, 0x87, 0x9E, 0xF5, 0x4F, 0x79, 0x10, ++ 0x61, 0x8D, 0xD4, 0x22, 0xF3, 0x5A, 0xED, 0x5D, 0xEA, 0x21, ++ 0xE9, 0x33, 0x6B, 0x48, 0x12, 0x0A, 0x20, 0x77, 0xD4, 0x25, ++ 0x60, 0x61, 0xDE, 0xF6, 0xB4, 0x4F, 0x1C, 0x63, 0x40, 0x8B, ++ 0x3A, 0x21, 0x93, 0x8B, 0x79, 0x53, 0x51, 0x2C, 0xCA, 0xB3, ++ 0x7B, 0x29, 0x56, 0xA8, 0xC7, 0xF8, 0xF4, 0x7B, 0x08, 0x5E, ++ 0xA6, 0xDC, 0xA2, 0x45, 0x12, 0x56, 0xDD, 0x41, 0x92, 0xF2, ++ 0xDD, 0x5B, 0x8F, 0x23, 0xF0, 0xF3, 0xEF, 0xE4, 0x3B, 0x0A, ++ 0x44, 0xDD, 0xED, 0x96, 0x84, 0xF1, 0xA8, 0x32, 0x46, 0xA3, ++ 0xDB, 0x4A, 0xBE, 0x3D, 0x45, 0xBA, 0x4E, 0xF8, 0x03, 0xE5, ++ 0xDD, 0x6B, 0x59, 0x0D, 0x84, 0x1E, 0xCA, 0x16, 0x5A, 0x8C, ++ 0xC8, 0xDF, 0x7C, 0x54, 0x44, 0xC4, 0x27, 0xA7, 0x3B, 0x2A, ++ 0x97, 0xCE, 0xA3, 0x7D, 0x26, 0x9C, 0xAD, 0xF4, 0xC2, 0xAC, ++ 0x37, 0x4B, 0xC3, 0xAD, 0x68, 0x84, 0x7F, 0x99, 0xA6, 0x17, ++ 0xEF, 0x6B, 0x46, 0x3A, 0x7A, 0x36, 0x7A, 0x11, 0x43, 0x92, ++ 0xAD, 0xE9, 0x9C, 0xFB, 0x44, 0x6C, 0x3D, 0x82, 0x49, 0xCC, ++ 0x5C, 0x6A, 0x52, 0x42, 0xF8, 0x42, 0xFB, 0x44, 0xF9, 0x39, ++ 0x73, 0xFB, 0x60, 0x79, 0x3B, 0xC2, 0x9E, 0x0B, 0xDC, 0xD4, ++ 0xA6, 0x67, 0xF7, 0x66, 0x3F, 0xFC, 0x42, 0x3B, 0x1B, 0xDB, ++ 0x4F, 0x66, 0xDC, 0xA5, 0x8F, 0x66, 0xF9, 0xEA, 0xC1, 0xED, ++ 0x31, 0xFB, 0x48, 0xA1, 0x82, 0x7D, 0xF8, 0xE0, 0xCC, 0xB1, ++ 0xC7, 0x03, 0xE4, 0xF8, 0xB3, 0xFE, 0xB7, 0xA3, 0x13, 0x73, ++ 0xA6, 0x7B, 0xC1, 0x0E, 0x39, 0xC7, 0x94, 0x48, 0x26, 0x00, ++ 0x85, 0x79, 0xFC, 0x6F, 0x7A, 0xAF, 0xC5, 0x52, 0x35, 0x75, ++ 0xD7, 0x75, 0xA4, 0x40, 0xFA, 0x14, 0x74, 0x61, 0x16, 0xF2, ++ 0xEB, 0x67, 0x11, 0x6F, 0x04, 0x43, 0x3D, 0x11, 0x14, 0x4C, ++ 0xA7, 0x94, 0x2A, 0x39, 0xA1, 0xC9, 0x90, 0xCF, 0x83, 0xC6, ++ 0xFF, 0x02, 0x8F, 0xA3, 0x2A, 0xAC, 0x26, 0xDF, 0x0B, 0x8B, ++ 0xBE, 0x64, 0x4A, 0xF1, 0xA1, 0xDC, 0xEE, 0xBA, 0xC8, 0x03, ++ 0x82, 0xF6, 0x62, 0x2C, 0x5D, 0xB6, 0xBB, 0x13, 0x19, 0x6E, ++ 0x86, 0xC5, 0x5B, 0x2B, 0x5E, 0x3A, 0xF3, 0xB3, 0x28, 0x6B, ++ 0x70, 0x71, 0x3A, 0x8E, 0xFF, 0x5C, 0x15, 0xE6, 0x02, 0xA4, ++ 0xCE, 0xED, 0x59, 0x56, 0xCC, 0x15, 0x51, 0x07, 0x79, 0x1A, ++ 0x0F, 0x25, 0x26, 0x27, 0x30, 0xA9, 0x15, 0xB2, 0xC8, 0xD4, ++ 0x5C, 0xCC, 0x30, 0xE8, 0x1B, 0xD8, 0xD5, 0x0F, 0x19, 0xA8, ++ 0x80, 0xA4, 0xC7, 0x01, 0xAA, 0x8B, 0xBA, 0x53, 0xBB, 0x47, ++ 0xC2, 0x1F, 0x6B, 0x54, 0xB0, 0x17, 0x60, 0xED, 0x79, 0x21, ++ 0x95, 0xB6, 0x05, 0x84, 0x37, 0xC8, 0x03, 0xA4, 0xDD, 0xD1, ++ 0x06, 0x69, 0x8F, 0x4C, 0x39, 0xE0, 0xC8, 0x5D, 0x83, 0x1D, ++ 0xBE, 0x6A, 0x9A, 0x99, 0xF3, 0x9F, 0x0B, 0x45, 0x29, 0xD4, ++ 0xCB, 0x29, 0x66, 0xEE, 0x1E, 0x7E, 0x3D, 0xD7, 0x13, 0x4E, ++ 0xDB, 0x90, 0x90, 0x58, 0xCB, 0x5E, 0x9B, 0xCD, 0x2E, 0x2B, ++ 0x0F, 0xA9, 0x4E, 0x78, 0xAC, 0x05, 0x11, 0x7F, 0xE3, 0x9E, ++ 0x27, 0xD4, 0x99, 0xE1, 0xB9, 0xBD, 0x78, 0xE1, 0x84, 0x41, ++ 0xA0, 0xDF ++ }; ++ static unsigned char dhg_4096[] = { ++ 0x02 ++ }; ++ DH *dh = DH_new(); ++ BIGNUM *dhp_bn, *dhg_bn; ++ ++ if (dh == NULL) ++ return NULL; ++ dhp_bn = BN_bin2bn(dhp_4096, sizeof (dhp_4096), NULL); ++ dhg_bn = BN_bin2bn(dhg_4096, sizeof (dhg_4096), NULL); ++ if (dhp_bn == NULL || dhg_bn == NULL ++ || !my_DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) { ++ DH_free(dh); ++ BN_free(dhp_bn); ++ BN_free(dhg_bn); ++ return NULL; ++ } ++ return dh; ++} diff --git a/pkgs/os-specific/linux/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix index 5f84b5dcc662..b5e44a10947b 100644 --- a/pkgs/os-specific/linux/prl-tools/default.nix +++ b/pkgs/os-specific/linux/prl-tools/default.nix @@ -44,7 +44,7 @@ stdenv.mkDerivation rec { ( cd $sourceRoot/tools; tar -xaf prltools${if x64 then ".x64" else ""}.tar.gz ) ''; - kernelVersion = if libsOnly then "" else (builtins.parseDrvName kernel.name).version; + kernelVersion = if libsOnly then "" else lib.getName kernel.name; kernelDir = if libsOnly then "" else "${kernel.dev}/lib/modules/${kernelVersion}"; scriptPath = lib.concatStringsSep ":" (lib.optionals (!libsOnly) [ "${utillinux}/bin" "${gawk}/bin" ]); |