From e89d3a0857196b3366c18df2a297f05d08ad80c0 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 5 Jan 2026 16:48:17 +0100 Subject: [PATCH] gnu: Remove idris. * gnu/packages/idris.scm (idris): Delete variable. * gnu/packages/patches/idris-test-ffi008.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Unregister patch. Change-Id: I7a825e25e4c2e8c67b8395ef1efd80bfa40d5fc4 --- gnu/local.mk | 1 - gnu/packages/idris.scm | 145 ------------------- gnu/packages/patches/idris-test-ffi008.patch | 26 ---- 3 files changed, 172 deletions(-) delete mode 100644 gnu/packages/patches/idris-test-ffi008.patch diff --git a/gnu/local.mk b/gnu/local.mk index 2fcd1bb3048..2fb706c98b8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1615,7 +1615,6 @@ dist_patch_DATA = \ %D%/packages/patches/icu4c-fix-TestHebrewCalendarInTemporalLeapYear.patch \ %D%/packages/patches/id3lib-CVE-2007-4460.patch \ %D%/packages/patches/id3lib-UTF16-writing-bug.patch \ - %D%/packages/patches/idris-test-ffi008.patch \ %D%/packages/patches/ilmbase-fix-tests.patch \ %D%/packages/patches/inferno-fix-crash.patch \ %D%/packages/patches/inkscape-libxml2.patch \ diff --git a/gnu/packages/idris.scm b/gnu/packages/idris.scm index eafbff11208..7b0a01472fe 100644 --- a/gnu/packages/idris.scm +++ b/gnu/packages/idris.scm @@ -36,148 +36,3 @@ #:use-module (guix utils) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages)) - -(define-public idris - (package - (name "idris") - (version "1.3.4") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/idris-lang/Idris-dev.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0cd2a92323hb9a6wy8sc0cqwnisf4pv8y9y2rxvxcbyv8cs1q8g2")) - (patches (search-patches "idris-test-ffi008.patch")))) - (build-system haskell-build-system) - (native-inputs ;For tests - (list perl ghc-cheapskate ghc-tasty ghc-tasty-golden - ghc-tasty-rerun)) - (inputs - (list gmp - ncurses - ghc-aeson - ghc-annotated-wl-pprint - ghc-ansi-terminal - ghc-ansi-wl-pprint - ghc-async - ghc-base64-bytestring - ghc-blaze-html - ghc-blaze-markup - ghc-cheapskate - ghc-code-page - ghc-fingertree - ghc-fsnotify - ghc-ieee754 - ghc-libffi - ghc-megaparsec - ghc-network - ghc-optparse-applicative - ghc-regex-tdfa - ghc-safe - ghc-split - ghc-terminal-size - ghc-uniplate - ghc-unordered-containers - ghc-utf8-string - ghc-vector - ghc-vector-binary-instances - ghc-zip-archive)) - (arguments - `(#:configure-flags - (list (string-append "--datasubdir=" - (assoc-ref %outputs "out") "/lib/idris") - "-fFFI" "-fGMP") - #:phases - (modify-phases %standard-phases - ;; This allows us to call the 'idris' binary before installing. - (add-after 'unpack 'set-ld-library-path - (lambda _ - (setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/dist/build")))) - (add-before 'configure 'update-constraints - (lambda _ - (substitute* "idris.cabal" - (("(aeson|ansi-terminal|bytestring|haskeline|libffi|megaparsec|network|optparse-applicative)\\s+[<>=0-9. &|]+" all dep) - dep)))) - (add-before 'configure 'set-cc-command - (lambda _ - (setenv "CC" ,(cc-for-target)))) - (add-after 'install 'fix-libs-install-location - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (lib (string-append out "/lib/idris")) - (modules (string-append lib "/libs"))) - (for-each - (lambda (module) - (symlink (string-append modules "/" module) - (string-append lib "/" module))) - '("prelude" "base" "contrib" "effects" "pruviloj"))))) - (delete 'check) ;Run check later - (add-after 'install 'check - (lambda* (#:key outputs #:allow-other-keys #:rest args) - (let ((out (assoc-ref outputs "out"))) - (chmod "test/scripts/timeout" #o755) ;must be executable - (setenv "TASTY_NUM_THREADS" (number->string (parallel-job-count))) - (setenv "IDRIS_CC" ,(cc-for-target)) ;Needed for creating executables - (setenv "PATH" (string-append out "/bin:" (getenv "PATH"))) - (apply (assoc-ref %standard-phases 'check) args))))))) - (native-search-paths - (list (search-path-specification - (variable "IDRIS_LIBRARY_PATH") - (files '("lib/idris"))))) - (home-page "https://www.idris-lang.org") - (synopsis "General purpose language with full dependent types") - (description "Idris is a general purpose language with full dependent -types. It is compiled, with eager evaluation. Dependent types allow types to -be predicated on values, meaning that some aspects of a program's behaviour -can be specified precisely in the type. The language is closely related to -Epigram and Agda.") - (license license:bsd-3))) - -;; Idris modules use the gnu-build-system so that the IDRIS_LIBRARY_PATH is set. -(define (idris-default-arguments name) - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (ice-9 ftw) - (ice-9 match)) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (delete 'check) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (idris (assoc-ref inputs "idris")) - (idris-bin (string-append idris "/bin/idris")) - (idris-libs (string-append idris "/lib/idris/libs")) - (module-name (and (string-prefix? "idris-" ,name) - (substring ,name 6))) - (ibcsubdir (string-append out "/lib/idris/" module-name)) - (ipkg (string-append module-name ".ipkg")) - (idris-library-path (getenv "IDRIS_LIBRARY_PATH")) - (idris-path (string-split idris-library-path #\:)) - (idris-path-files (apply append - (map (lambda (path) - (map (lambda (dir) - (string-append path "/" dir)) - (scandir path))) idris-path))) - (idris-path-subdirs (filter (lambda (path) - (and path (match (stat:type (stat path)) - ('directory #t) - (_ #f)))) - idris-path-files)) - (install-cmd (cons* idris-bin - "--ibcsubdir" ibcsubdir - "--build" ipkg - ;; only trigger a build, as --ibcsubdir - ;; already installs .ibc files. - - (apply append (map (lambda (path) - (list "--idrispath" - path)) - idris-path-subdirs))))) - ;; FIXME: Seems to be a bug in idris that causes a dubious failure. - (apply system* install-cmd))))))) diff --git a/gnu/packages/patches/idris-test-ffi008.patch b/gnu/packages/patches/idris-test-ffi008.patch deleted file mode 100644 index 530813c20e8..00000000000 --- a/gnu/packages/patches/idris-test-ffi008.patch +++ /dev/null @@ -1,26 +0,0 @@ -Avoid "multiple definition of `mystruct'" error from `ld`: - -Submitted upstream at https://github.com/idris-lang/Idris-dev/issues/4914 - ---- a/test/ffi008/ffi008.h 1969-12-31 18:00:01.000000000 -0600 -+++ a/test/ffi008/ffi008.h 2022-04-13 00:32:35.561262598 -0500 -@@ -10,7 +10,7 @@ - int16_t b; - }; - --struct test2 mystruct; -+extern struct test2 mystruct; - - int size1(void); - int size2(void); ---- a/test/ffi008/ffi008.c 1969-12-31 18:00:01.000000000 -0600 -+++ a/test/ffi008/ffi008.c 2022-04-13 00:32:53.145186302 -0500 -@@ -11,6 +11,8 @@ - return sizeof(struct test2); - } - -+struct test2 mystruct; -+ - void print_mystruct(void) { - printf("a: %d b: %d\n", mystruct.a, mystruct.b); - }