@@ -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")
+ ))
+ ))
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