From 871c3adee2ca98f90fa2e5d91023f2c902b150fc Mon Sep 17 00:00:00 2001 From: Grigory Shepelev Date: Sun, 20 Apr 2025 17:14:50 +0300 Subject: [PATCH] gnu: Add open-isns. * gnu/packages/disk.scm (open-isns): New variable. Change-Id: I63f14426888d0482a1aee1d1c1a60c00c8a4e75d Modified-by: Sharlatan Hellseher Signed-off-by: Sharlatan Hellseher --- gnu/packages/disk.scm | 51 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 506f1ffb38f..eb823d5bf8a 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -32,6 +32,7 @@ ;;; Copyright © 2024 Sharlatan Hellseher ;;; Copyright © 2025 Ashish SHUKLA ;;; Copyright © 2025 Vinicius Monego +;;; Copyright © 2025 Grigory Shepelev ;;; ;;; This file is part of GNU Guix. @@ -109,6 +110,7 @@ #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) + #:use-module (gnu packages ninja) #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system go) @@ -685,6 +687,55 @@ also send commands associated with starting and stopping the media, loading and unloading removable media and some other housekeeping functions.") (license license:bsd-3))) +(define-public open-isns + (package + (name "open-isns") + (version "0.103") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/open-iscsi/open-isns") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (sha256 + (base32 "0008f4sv0z3mmqgf5ifx6rp7nwpp41qd3shhi3b2ci1ir8r91skf")))) + (build-system meson-build-system) + (arguments + (list + ;; TODO: Figure out how to run tests, "build" directory contains 0 files + ;; from "source/tests", attempt to run them from that directorie failed + ;; with error: no pid file: /tmp/isns-test/Test01/server0/pid + #:tests? #f + #:configure-flags + #~(list "-Dslp=disabled" + (string-append "-Dsystemddir=" #$output "/lib/systemd") + "--sharedstatedir=/var") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-meson.build + (lambda _ + (substitute* "meson.build" + (("/usr/lib64") + (string-append #$output "/lib")) + (("/var/lib") + (string-append #$output "/lib")))))))) + (native-inputs + (list meson + ninja + pkg-config)) + (inputs + (list openssl)) + (home-page "https://github.com/open-iscsi/open-isns") + (synopsis "Linux server and client for iSNS") + (description + "This package provides a partial implementation of @acronym{iSNS, + Internet Storage Name Service}, specified by +@url{https://www.rfc-editor.org/rfc/rfc3720.html, RFC4171}. It's an +maintained fork of https://github.com/cleech/open-isns.") + (license license:gpl2))) + (define-public idle3-tools (package (name "idle3-tools")