summary refs log tree commit diff
path: root/pkgs/os-specific/linux
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2019-11-24 18:33:54 +0000
committerJohn Ericson <John.Ericson@Obsidian.Systems>2019-11-24 18:33:54 +0000
commit4f1261134ef3166910e57ec84e2fcc21279cf99d (patch)
tree7129784008eb68709481af5a75d7e5bdd7381163 /pkgs/os-specific/linux
parentf02d65c980a71dcf2814cc302616402dce59c292 (diff)
parent1206faa6d5c9dc9aecb811091e1d547599ecd195 (diff)
downloadnixpkgs-4f1261134ef3166910e57ec84e2fcc21279cf99d.tar
nixpkgs-4f1261134ef3166910e57ec84e2fcc21279cf99d.tar.gz
nixpkgs-4f1261134ef3166910e57ec84e2fcc21279cf99d.tar.bz2
nixpkgs-4f1261134ef3166910e57ec84e2fcc21279cf99d.tar.lz
nixpkgs-4f1261134ef3166910e57ec84e2fcc21279cf99d.tar.xz
nixpkgs-4f1261134ef3166910e57ec84e2fcc21279cf99d.tar.zst
nixpkgs-4f1261134ef3166910e57ec84e2fcc21279cf99d.zip
Merge remote-tracking branch 'upstream/master' into staging
Diffstat (limited to 'pkgs/os-specific/linux')
-rw-r--r--pkgs/os-specific/linux/anbox/default.nix6
-rw-r--r--pkgs/os-specific/linux/anbox/kmod.nix6
-rw-r--r--pkgs/os-specific/linux/beegfs/default.nix167
-rw-r--r--pkgs/os-specific/linux/beegfs/kernel-module.nix46
-rw-r--r--pkgs/os-specific/linux/dpdk/default.nix70
-rw-r--r--pkgs/os-specific/linux/odp-dpdk/default.nix50
-rw-r--r--pkgs/os-specific/linux/prl-tools/default.nix2
7 files changed, 75 insertions, 272 deletions
diff --git a/pkgs/os-specific/linux/anbox/default.nix b/pkgs/os-specific/linux/anbox/default.nix
index 755ec390a9c..0012c3de989 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 fee8d1e7a42..0888f2c5414 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 7ce2fea6924..00000000000
--- 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 286252b927b..00000000000
--- 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/dpdk/default.nix b/pkgs/os-specific/linux/dpdk/default.nix
index 7525fc8e405..104fccd6955 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/odp-dpdk/default.nix b/pkgs/os-specific/linux/odp-dpdk/default.nix
index 789668cb89e..0bdc22da918 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/prl-tools/default.nix b/pkgs/os-specific/linux/prl-tools/default.nix
index 5f84b5dcc66..b5e44a10947 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" ]);