(name . guix-patches@gnu.org)(address . guix-patches@gnu.org)
gnu: avro-cpp: Added version 1.11
* gnu/packages/serialization.scm (avro-cpp-1.11): Added version 1.11,
needed to build iRODS v4.3.1
gnu: irods: Added version 4.3.1
* gnu/packages/irods.scm (irods-4.3.1): Added irods version 4.3.1
* gnu/packages/irods.scm (irods-client-icommands-4.3.1): Added
icommands version 4.3.1
---
gnu/packages/irods.scm | 98 ++++++++++++++++++++++++++++++++++
gnu/packages/serialization.scm | 27 ++++++++++
2 files changed, 125 insertions(+)
Toggle diff (182 lines)
diff --git a/gnu/packages/irods.scm b/gnu/packages/irods.scm
index a14ac87aa2..980824b521 100644
--- a/gnu/packages/irods.scm
+++ b/gnu/packages/irods.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2024 Leonardo Lenoci <l.lenoci@science.leidenuniv.nl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -166,6 +167,62 @@ (define-public irods
stored.")
(license license:bsd-3)))
+
+(define-public irods-4.3.1
+ (package
+ (inherit irods)
+ (version "4.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
"https://github.com/irods/irods/releases/download/"
+ version "/irods-" version
".tar.gz"))
+ (sha256
+ (base32
+
"1l373izk4v56zb86xn44ab25afbhs0q7h6vp6zkvwnz1xwd17h64"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments irods)
+ ((#:configure-flags flags #~`())
+ #~(append `(,(string-append "-
DIRODS_EXTERNALS_FULLPATH_SPDLOG="
+ #$(this-package-input "spdlog"))
+ ;;;(assoc-ref %build-inputs "spdlog")
+ "-DIRODS_BUILD_WITH_CLANG=ON"
+ "-DIRODS_BUILD_AGAINST_LIBCXX=FALSE"
+ ) #$flags))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'remove-FHS-and-prefix-assumptions
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "lib/core/src/irods_default_paths.cpp"
+ (("path.append\\(\"usr\"\\)") "path")
+
(("path.remove_filename\\(\\).remove_filename\\(\\).remove_filename\\(\
\)")
+ "path.remove_filename().remove_filename()"))
+ (substitute* "scripts/irods/paths.py"
+ (("'usr', 'lib', 'irods'") "'lib', 'irods'"))
+ ))
+ (delete 'adjust-CPLUS_INCLUDE_PATH)
+ ))
+ ))
+
+ (inputs
+ (modify-inputs (package-inputs irods)
+ (replace "avro-cpp" avro-cpp-1.11)
+ (replace "boost" boost)
+ (replace "fmt" fmt-8)
+ (replace "nanodbc-for-irods" nanodbc)
+ (append spdlog)
+ (delete "libcxxabi")
+ ))
+
+ (native-inputs
+ (modify-inputs (package-native-inputs irods)
+ (replace "clang" clang-toolchain-13)
+ (replace "clang-runtime" clang-runtime-13)
+ (append curl)
+ (append nanodbc)
+ (delete "libcxx+libcxxabi")
+ ))
+ ))
+
(define-public irods-client-icommands
(package
(name "irods-client-icommands")
@@ -266,3 +323,44 @@ (define-public irods-client-icommands
take control of their data, regardless of where and on what device the
data is
stored.")
(license license:bsd-3)))
+
+
+(define-public irods-client-icommands-4.3.1
+ (package
+ (inherit irods-client-icommands)
+ (version "4.3.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
"https://github.com/irods/irods-client-icommands/archive/refs/tags/"
version ".tar.gz"))
+ (sha256
+ (base32
+
"0v1yyrq6hy661d1g03mqmr2w8acdli76nly4rwk3qqqavlr75l2c"))))
+ (arguments
+ (substitute-keyword-arguments (package-arguments irods-client-
icommands)
+ ((#:configure-flags flags #~`())
+ #~(append `(,
+ "-DCPACK_GENERATOR=TGZ"
+ "-DIRODS_BUILD_WITH_CLANG=ON"
+ "-DIRODS_BUILD_AGAINST_LIBCXX=FALSE"
+ ) #$flags))
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'adjust-CPLUS_INCLUDE_PATH)
+ )
+ )))
+
+ (inputs
+ (modify-inputs (package-inputs irods-client-icommands)
+ (replace "avro-cpp" avro-cpp-1.11)
+ (replace "boost" boost)
+ (replace "fmt" fmt-8)
+ (replace "irods" irods-4.3.1)
+ (delete "libcxxabi")
+ ))
+ (native-inputs
+ (modify-inputs (package-native-inputs irods-client-icommands)
+ (replace "clang" clang-toolchain-13)
+ (replace "clang-runtime" clang-runtime-13)
+ (delete "libcxx+libcxxabi")
+ ))
+ ))
diff --git a/gnu/packages/serialization.scm
b/gnu/packages/serialization.scm
index 331fae80cf..194a962d38 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2024 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2024 Leonardo Lenoci <l.lenoci@science.leidenuniv.nl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -102,6 +103,32 @@ (define-public avro-cpp-1.9
implement RPC protocols.")
(license license:asl2.0)))
+(define-public avro-cpp-1.11
+ (package
+ (inherit avro-cpp-1.9)
+ (version "1.11.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://archive.apache.org/dist/avro/avro-"
version
+ "/avro-src-" version ".tar.gz"))
+ (sha256
+ (base32
"0d60vi4s8la0c64zfyydfy21690yf0px5bcsi5d1p8b06al8g9vf"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _ (chdir "lang/c++")))
+ ;;; avoid that deprecation warnings with boost v.1.80.0
+ ;;; are treated as errors
+ (add-after 'chdir 'unset-Werror
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("-Werror") ""))))
+ )))
+ ))
+
(define-public avro-cpp-1.9-for-irods
(package
(inherit avro-cpp-1.9)
base-commit: bb2703194e1e18e6513472742fdc9b2781b72729
--
2.34.1