~ruther/guix-local

55af1ceb7967d33f04dfb8bf2403f6bac9b5d5be — Andreas Enge 7 months ago f063680
gnu: Remove irods.

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

Change-Id: I81a0110ac51b18833493af8787137272f4a43c6a
1 files changed, 0 insertions(+), 122 deletions(-)

M gnu/packages/irods.scm
M gnu/packages/irods.scm => gnu/packages/irods.scm +0 -122
@@ 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)))