gnu: Remove irods.

* gnu/packages/irods.scm (irods): Delete variable.

Change-Id: I81a0110ac51b18833493af8787137272f4a43c6a
This commit is contained in:
Andreas Enge 2025-09-14 18:40:33 +02:00
parent f06368081d
commit 55af1ceb79
No known key found for this signature in database
GPG key ID: F7D5C9BF765C61E3

View file

@ -43,125 +43,3 @@
#:use-module (gnu packages serialization)
#:use-module (gnu packages tls)
#:use-module (srfi srfi-1))
(define-public irods
(package
(name "irods")
(version "4.2.8")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/irods/irods/releases/download/"
version "/irods-" version ".tar.gz"))
(sha256
(base32
"0ny54c3r0j692rvbr4iibg7xgd2i7g9x8yyrw04j889bywix14rc"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list
"-DCMAKE_BUILD_TYPE=Release"
(string-append "-DCMAKE_MODULE_LINKER_FLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib")
(string-append "-DCMAKE_SHARED_LINKER_FLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib")
(string-append "-DCMAKE_EXE_LINKER_FLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib")
;; Configuration aborts if no generator format is set
"-DCPACK_GENERATOR=TGZ"
;; Configuration attempts to guess the distribution with Python.
"-DIRODS_LINUX_DISTRIBUTION_NAME=guix"
"-DIRODS_LINUX_DISTRIBUTION_VERSION_MAJOR=1"
(string-append "-DIRODS_EXTERNALS_FULLPATH_CLANG="
(assoc-ref %build-inputs "clang"))
(string-append "-DIRODS_EXTERNALS_FULLPATH_CLANG_RUNTIME="
(assoc-ref %build-inputs "clang-runtime"))
(string-append "-DIRODS_EXTERNALS_FULLPATH_CPPZMQ="
(assoc-ref %build-inputs "cppzmq"))
(string-append "-DIRODS_EXTERNALS_FULLPATH_ARCHIVE="
(assoc-ref %build-inputs "libarchive"))
(string-append "-DIRODS_EXTERNALS_FULLPATH_AVRO="
(assoc-ref %build-inputs "avro-cpp"))
(string-append "-DIRODS_EXTERNALS_FULLPATH_BOOST="
(assoc-ref %build-inputs "boost"))
(string-append "-DIRODS_EXTERNALS_FULLPATH_ZMQ="
(assoc-ref %build-inputs "zeromq"))
(string-append "-DIRODS_EXTERNALS_FULLPATH_JSON="
(assoc-ref %build-inputs "json"))
(string-append "-DIRODS_EXTERNALS_FULLPATH_CATCH2="
(assoc-ref %build-inputs "catch2"))
(string-append "-DIRODS_EXTERNALS_FULLPATH_NANODBC="
(assoc-ref %build-inputs "nanodbc"))
(string-append "-DIRODS_EXTERNALS_FULLPATH_FMT="
(assoc-ref %build-inputs "fmt")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unset-Werror
(lambda _
;; -Werror kills the build due to a comparison REQUIRE(errs.size() == err->len);
;; in unit_tests/src/test_irods_lifetime_manager.cpp
(substitute* "CMakeLists.txt"
(("-Werror") ""))))
(add-after 'unpack 'remove-FHS-and-prefix-assumptions
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("CMakeLists.txt"
"cmake/server.cmake"
"cmake/development_library.cmake"
"cmake/runtime_library.cmake")
(("usr/") ""))
(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'"))
(substitute* "scripts/irods/pypyodbc.py"
(("\"/usr/lib/libodbc.so\"")
(search-input-file inputs "/lib/libodbc.so")))))
(add-after 'set-paths 'adjust-CPLUS_INCLUDE_PATH
(lambda* (#:key inputs #:allow-other-keys)
(let ((gcc (assoc-ref inputs "gcc")))
(setenv "CPLUS_INCLUDE_PATH"
(string-join
(cons* (search-input-directory inputs "/include/c++/v1")
(search-input-directory inputs "/include/catch2")
(search-input-directory inputs "/include/nlohmann")
;; Hide GCC's C++ headers so that they do not interfere with
;; the Clang headers.
(delete (string-append gcc "/include/c++")
(string-split (getenv "CPLUS_INCLUDE_PATH")
#\:)))
":"))
(format #true
"environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
(getenv "CPLUS_INCLUDE_PATH"))))))))
(inputs
`(("avro-cpp" ,avro-cpp-1.9-for-irods)
("boost" ,boost-for-irods)
("cppzmq" ,cppzmq)
("fmt" ,fmt-6)
("json" ,nlohmann-json)
("libarchive" ,libarchive)
("libcxxabi" ,libcxxabi-6) ; we need this for linking with -lc++abi
("linux-pam" ,linux-pam)
("mit-krb5" ,mit-krb5)
("nanodbc" ,nanodbc-for-irods)
("openssl" ,openssl)
("python" ,python-wrapper)
("unixodbc" ,unixodbc)
("zeromq" ,zeromq)))
(native-inputs
`(("catch2" ,catch2)
("clang" ,clang-toolchain-6)
("clang-runtime" ,clang-runtime-6)
("libcxx+libcxxabi" ,libcxx+libcxxabi-6)))
(home-page "https://irods.org")
(synopsis "Data management software")
(description "The Integrated Rule-Oriented Data System (iRODS) is data
management software. iRODS virtualizes data storage resources, so users can
take control of their data, regardless of where and on what device the data is
stored.")
(license license:bsd-3)))