about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/spdk
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-01-03 23:55:00 +0000
committerAlyssa Ross <hi@alyssa.is>2022-02-19 11:03:39 +0000
commitf4cf97a04cd5d0b86aa46baec9fb228a8f671c03 (patch)
tree28192415ff39a661d0001563bf81cc93fa25d16d /nixpkgs/pkgs/development/libraries/spdk
parentf8422837c9bde058e8f2de37702e7e94b2226040 (diff)
parent18c84ea816348e2a098390101b92d1e39a9dbd45 (diff)
downloadnixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar
nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.gz
nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.bz2
nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.lz
nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.xz
nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.tar.zst
nixlib-f4cf97a04cd5d0b86aa46baec9fb228a8f671c03.zip
Merge commit '18c84ea816348e2a098390101b92d1e39a9dbd45'
Conflicts:
	nixpkgs/nixos/modules/misc/documentation.nix
	nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
	nixpkgs/pkgs/applications/window-managers/sway/default.nix
	nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix
	nixpkgs/pkgs/development/go-modules/generic/default.nix
	nixpkgs/pkgs/development/interpreters/ruby/default.nix
	nixpkgs/pkgs/development/interpreters/ruby/patchsets.nix
	nixpkgs/pkgs/development/libraries/boehm-gc/7.6.6.nix
	nixpkgs/pkgs/development/python-modules/django-mailman3/default.nix
	nixpkgs/pkgs/servers/mail/mailman/web.nix
	nixpkgs/pkgs/top-level/aliases.nix
	nixpkgs/pkgs/top-level/all-packages.nix
	nixpkgs/pkgs/top-level/impure.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/spdk')
-rw-r--r--nixpkgs/pkgs/development/libraries/spdk/default.nix21
-rw-r--r--nixpkgs/pkgs/development/libraries/spdk/ncurses-6.3.patch48
-rw-r--r--nixpkgs/pkgs/development/libraries/spdk/spdk-dpdk-meson.patch17
3 files changed, 65 insertions, 21 deletions
diff --git a/nixpkgs/pkgs/development/libraries/spdk/default.nix b/nixpkgs/pkgs/development/libraries/spdk/default.nix
index ec20f68b6f48..e4884b85b4ae 100644
--- a/nixpkgs/pkgs/development/libraries/spdk/default.nix
+++ b/nixpkgs/pkgs/development/libraries/spdk/default.nix
@@ -1,7 +1,6 @@
 { lib, stdenv
-, fetchurl
-, fetchFromGitHub
 , fetchpatch
+, fetchFromGitHub
 , ncurses
 , python3
 , cunit
@@ -15,15 +14,27 @@
 
 stdenv.mkDerivation rec {
   pname = "spdk";
-  version = "21.07";
+  version = "21.10";
 
   src = fetchFromGitHub {
     owner = "spdk";
     repo = "spdk";
     rev = "v${version}";
-    sha256 = "sha256-/hynuYVdzIfiHUUfuuOY8SBJ18DqJr2Fos2JjQQVvbg=";
+    sha256 = "sha256-pFynTbbSF1g58VD9bOhe3c4oCozeqE+35kECTQwDBDM=";
   };
 
+  patches = [
+    # Backport of upstream patch for ncurses-6.3 support.
+    # Will be in next release after 21.10.
+    ./ncurses-6.3.patch
+
+    # DPDK 21.11 compatibility.
+    (fetchpatch {
+      url = "https://github.com/spdk/spdk/commit/f72cab94dd35d7b45ec5a4f35967adf3184ca616.patch";
+      sha256 = "sha256-sSetvyNjlM/hSOUsUO3/dmPzAliVcteNDvy34yM5d4A=";
+    })
+  ];
+
   nativeBuildInputs = [
     python3
   ];
@@ -36,6 +47,8 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
+  enableParallelBuilding = true;
+
   configureFlags = [ "--with-dpdk=${dpdk}" ];
 
   NIX_CFLAGS_COMPILE = "-mssse3"; # Necessary to compile.
diff --git a/nixpkgs/pkgs/development/libraries/spdk/ncurses-6.3.patch b/nixpkgs/pkgs/development/libraries/spdk/ncurses-6.3.patch
new file mode 100644
index 000000000000..174c9b6435ef
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/spdk/ncurses-6.3.patch
@@ -0,0 +1,48 @@
+Backport of upstream https://review.spdk.io/gerrit/c/spdk/spdk/+/10300
+--- a/app/spdk_top/spdk_top.c
++++ b/app/spdk_top/spdk_top.c
+@@ -1012 +1012 @@ print_max_len(WINDOW *win, int row, uint16_t col, uint16_t max_len, enum str_ali
+-	mvwprintw(win, row, col, tmp_str);
++	mvwprintw(win, row, col, "%s", tmp_str);
+@@ -1944 +1944 @@ display_thread(struct rpc_thread_info *thread_info)
+-	mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 6, "%" PRIu64,
++	mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 6, "%d",
+@@ -1949 +1949 @@ display_thread(struct rpc_thread_info *thread_info)
+-		mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 32, idle_time);
++		mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 32, "%s", idle_time);
+@@ -1951 +1951 @@ display_thread(struct rpc_thread_info *thread_info)
+-		mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 54, busy_time);
++		mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 54, "%s", busy_time);
+@@ -1954 +1954 @@ display_thread(struct rpc_thread_info *thread_info)
+-		mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 32, idle_time);
++		mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 32, "%s", idle_time);
+@@ -1956 +1956 @@ display_thread(struct rpc_thread_info *thread_info)
+-		mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 54, busy_time);
++		mvwprintw(thread_win, 3, THREAD_WIN_FIRST_COL + 54, "%s", busy_time);
+@@ -2111 +2111 @@ show_core(uint8_t current_page)
+-	mvwprintw(core_win, 5, CORE_WIN_FIRST_COL + 20, idle_time);
++	mvwprintw(core_win, 5, CORE_WIN_FIRST_COL + 20, "%s", idle_time);
+@@ -2118 +2118 @@ show_core(uint8_t current_page)
+-	mvwprintw(core_win, 7, CORE_WIN_FIRST_COL + 20, busy_time);
++	mvwprintw(core_win, 7, CORE_WIN_FIRST_COL + 20, "%s", busy_time);
+@@ -2124 +2124 @@ show_core(uint8_t current_page)
+-		mvwprintw(core_win, i + 10, 1, core_info->threads.thread[i].name);
++		mvwprintw(core_win, i + 10, 1, "%s", core_info->threads.thread[i].name);
+@@ -2137 +2137 @@ show_core(uint8_t current_page)
+-				mvwprintw(core_win, i + 10, 1, core_info->threads.thread[i].name);
++				mvwprintw(core_win, i + 10, 1, "%s", core_info->threads.thread[i].name);
+@@ -2214 +2214 @@ show_poller(uint8_t current_page)
+-	mvwprintw(poller_win, 3, POLLER_WIN_FIRST_COL,
++	mvwprintw(poller_win, 3, POLLER_WIN_FIRST_COL, "%s",
+@@ -2216 +2216 @@ show_poller(uint8_t current_page)
+-	mvwprintw(poller_win, 3, POLLER_WIN_FIRST_COL + 23, poller->thread_name);
++	mvwprintw(poller_win, 3, POLLER_WIN_FIRST_COL + 23, "%s", poller->thread_name);
+@@ -2231 +2231 @@ show_poller(uint8_t current_page)
+-		mvwprintw(poller_win, 4, POLLER_WIN_FIRST_COL + 23, poller_period);
++		mvwprintw(poller_win, 4, POLLER_WIN_FIRST_COL + 23, "%s", poller_period);
+@@ -2264 +2264 @@ print_bottom_error_message(char *msg)
+-	mvprintw(g_max_row - 1, g_max_col - strlen(msg) - 2, msg);
++	mvprintw(g_max_row - 1, g_max_col - strlen(msg) - 2, "%s", msg);
+@@ -2434 +2434 @@ show_stats(pthread_t *data_thread)
+-			mvprintw(g_max_row - 1, 1, current_page_str);
++			mvprintw(g_max_row - 1, 1, "%s", current_page_str);
diff --git a/nixpkgs/pkgs/development/libraries/spdk/spdk-dpdk-meson.patch b/nixpkgs/pkgs/development/libraries/spdk/spdk-dpdk-meson.patch
deleted file mode 100644
index 9cc6d89ce50e..000000000000
--- a/nixpkgs/pkgs/development/libraries/spdk/spdk-dpdk-meson.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-1. dpdk built with meson generates rte_build_config.h rather than rte_config.h.
-2. dpdk configured with libbsd requires that dependents link with libbsd.
-
---- a/lib/env_dpdk/env.mk
-+++ b/lib/env_dpdk/env.mk
-@@ -140,6 +140,9 @@ endif
- 
--ifneq (,$(wildcard $(DPDK_INC_DIR)/rte_config.h))
--ifneq (,$(shell grep -e "define RTE_LIBRTE_VHOST_NUMA 1" -e "define RTE_EAL_NUMA_AWARE_HUGEPAGES 1" $(DPDK_INC_DIR)/rte_config.h))
-+ifneq (,$(wildcard $(DPDK_INC_DIR)/rte_build_config.h))
-+ifneq (,$(shell grep -e "define RTE_LIBRTE_VHOST_NUMA 1" -e "define RTE_EAL_NUMA_AWARE_HUGEPAGES 1" $(DPDK_INC_DIR)/rte_build_config.h))
- ENV_LINKER_ARGS += -lnuma
- endif
-+ifneq (,$(shell grep -e "define RTE_USE_LIBBSD 1" $(DPDK_INC_DIR)/rte_build_config.h))
-+ENV_LINKER_ARGS += -lbsd
-+endif
- endif