diff options
Diffstat (limited to 'pkgs/os-specific/linux/open-iscsi/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/open-iscsi/default.nix | 69 |
1 files changed, 42 insertions, 27 deletions
diff --git a/pkgs/os-specific/linux/open-iscsi/default.nix b/pkgs/os-specific/linux/open-iscsi/default.nix index 0640316b627..9306099213a 100644 --- a/pkgs/os-specific/linux/open-iscsi/default.nix +++ b/pkgs/os-specific/linux/open-iscsi/default.nix @@ -1,46 +1,61 @@ -{ lib, stdenv, fetchFromGitHub, automake, autoconf, libtool, gettext -, util-linux, open-isns, openssl, kmod, perl, systemd, pkgconf -}: +{ stdenv +, lib +, fetchFromGitHub +, meson +, pkg-config +, ninja +, perl +, util-linux +, open-isns +, openssl +, kmod +, systemd +, runtimeShell +, nixosTests }: stdenv.mkDerivation rec { pname = "open-iscsi"; - version = "2.1.4"; - - nativeBuildInputs = [ autoconf automake gettext libtool perl pkgconf ]; - buildInputs = [ kmod open-isns.lib openssl systemd util-linux ]; + version = "2.1.9"; src = fetchFromGitHub { owner = "open-iscsi"; repo = "open-iscsi"; rev = version; - sha256 = "sha256-HnvLLwxOnu7Oiige6A6zk9NmAI2ImcILp9eCfbdGiyI="; + hash = "sha256-y0NIb/KsKpCd8byr/SXI7nwTKXP2/bSSoW8QgeL5xdc="; }; - DESTDIR = "$(out)"; - - NIX_LDFLAGS = "-lkmod -lsystemd"; - NIX_CFLAGS_COMPILE = "-DUSE_KMOD"; + nativeBuildInputs = [ + meson + pkg-config + ninja + perl + ]; + buildInputs = [ + kmod + (lib.getLib open-isns) + openssl + systemd + util-linux + ]; preConfigure = '' - sed -i 's|/usr|/|' Makefile + patchShebangs . ''; - installFlags = [ - "install" - "install_systemd" - ]; - - postInstall = '' - cp usr/iscsistart $out/sbin/ - for f in $out/lib/systemd/system/*; do - substituteInPlace $f --replace /sbin $out/bin - done - $out/sbin/iscsistart -v + prePatch = '' + substituteInPlace etc/systemd/iscsi-init.service.template \ + --replace /usr/bin/sh ${runtimeShell} + sed -i '/install_dir: db_root/d' meson.build ''; - postFixup = '' - sed -i "s|/sbin/iscsiadm|$out/bin/iscsiadm|" $out/bin/iscsi_fw_login - ''; + mesonFlags = [ + "-Discsi_sbindir=${placeholder "out"}/sbin" + "-Drulesdir=${placeholder "out"}/etc/udev/rules.d" + "-Dsystemddir=${placeholder "out"}/lib/systemd" + "-Ddbroot=/etc/iscsi" + ]; + + passthru.tests = { inherit (nixosTests) iscsi-root; }; meta = with lib; { description = "A high performance, transport independent, multi-platform implementation of RFC3720"; |