mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-07-07 20:34:06 +02:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f0a4f6d214 |
+8
-3
@@ -1452,7 +1452,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ghc-aeson-encodeDouble.patch \
|
||||
%D%/packages/patches/ghc-basement-fix-32bit.patch \
|
||||
%D%/packages/patches/ghc-bytestring-handle-ghc9.patch \
|
||||
%D%/packages/patches/ghc-chell-quickcheck-enable-qc-2.15.patch \
|
||||
%D%/packages/patches/ghc-clock-realfrag.patch \
|
||||
%D%/packages/patches/ghc-language-haskell-extract-ghc-8.10.patch \
|
||||
%D%/packages/patches/ghc-memory-fix-32bit.patch \
|
||||
@@ -2369,8 +2368,16 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/renpy-fix-integer-slots.patch \
|
||||
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
|
||||
%D%/packages/patches/rdkit-unbundle-external-dependencies.patch \
|
||||
%D%/packages/patches/r-biostrings-r4.6.0-compat.patch \
|
||||
%D%/packages/patches/r-h5mread-0001-h5mread-1.3.2-Get-rid-of-non-API-calls-to-R.patch \
|
||||
%D%/packages/patches/r-httpuv-1.6.6-unvendor-libuv.patch \
|
||||
%D%/packages/patches/r-mscoreutils-0001-fix-non-API-call-to-R-SETLENGTH-by-using-lengthgets.patch \
|
||||
%D%/packages/patches/r-rsamtools-r-4.6.0-compat.patch \
|
||||
%D%/packages/patches/r-snpstats-0001-fixed-non-API-except-for-IS_S4_OBJECT.patch \
|
||||
%D%/packages/patches/r-snpstats-0002-fixed-IS_S4_OBJECT.patch \
|
||||
%D%/packages/patches/r-sapa-lapack.patch \
|
||||
%D%/packages/patches/r-shortread-0001-ShortRead-1.69.3-Get-rid-of-non-API-calls-to-R.patch \
|
||||
%D%/packages/patches/r-sparsearray-r-4.6.0-compat.patch \
|
||||
%D%/packages/patches/ripperx-missing-file.patch \
|
||||
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
|
||||
%D%/packages/patches/rtosc-0.3.1-fix-invalid-comparison-operator.patch \
|
||||
@@ -2455,7 +2462,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/shared-mime-info-xdgmime-path.patch \
|
||||
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
|
||||
%D%/packages/patches/showtime-python-3.11-compat.patch \
|
||||
%D%/packages/patches/simpleitk-r-4.6.0.patch \
|
||||
%D%/packages/patches/sipwitch-fix-build-with-exosip5.patch \
|
||||
%D%/packages/patches/slim-config.patch \
|
||||
%D%/packages/patches/slim-gcc-14.patch \
|
||||
@@ -2490,7 +2496,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/swift-corelibs-libdispatch-5.7.3-modulemap.patch \
|
||||
%D%/packages/patches/swift-llvm-5.7.3-linux.patch \
|
||||
%D%/packages/patches/swig-support-gcc-12.patch \
|
||||
%D%/packages/patches/swig-support-r-4.6.0.patch \
|
||||
%D%/packages/patches/swish-e-search.patch \
|
||||
%D%/packages/patches/swish-e-format-security.patch \
|
||||
%D%/packages/patches/t1lib-CVE-2010-2642.patch \
|
||||
|
||||
+1
-11
@@ -2135,17 +2135,7 @@ envelope follower, distortion effects, tape effects and more.")
|
||||
(base32
|
||||
"01hnx4hhbz3ap3bw15s42q4q1mw1mhdjwygq4550wvjfg6k4ga8w"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #false ;There are no tests.
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'python3.12-compatibility
|
||||
(lambda _
|
||||
(substitute* "waflib/Context.py"
|
||||
(("imp.new_module") "types.ModuleType")
|
||||
(("import os, re, imp, sys")
|
||||
"import os, re, types, sys")))))))
|
||||
(arguments (list #:tests? #false)) ;There are no tests.
|
||||
(inputs (list lv2))
|
||||
(native-inputs (list pkg-config))
|
||||
(home-page "https://git.drobilla.net/cgit.cgi/omins.lv2.git/")
|
||||
|
||||
+1599
-1704
File diff suppressed because it is too large
Load Diff
+268
-241
@@ -1430,86 +1430,33 @@ within this package are the 3000 bone marrow cells used for vignettes.")
|
||||
(license license:gpl3))))
|
||||
|
||||
(define-public r-pizzarr
|
||||
(package
|
||||
(name "r-pizzarr")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/keller-mark/pizzarr")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1m38c57pfliycxkhb3mwgh01cl2q76r1jhd3vnk07dbfhqdbqai6"))))
|
||||
(properties `((upstream-name . "pizzarr")))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:imported-modules
|
||||
(append %cargo-build-system-modules
|
||||
%r-build-system-modules)
|
||||
#:modules
|
||||
'((guix build cargo-build-system)
|
||||
((guix build r-build-system) #:prefix r:)
|
||||
(guix build utils))
|
||||
#:cargo-build-flags
|
||||
'(list "--target-dir=./target" "--release")
|
||||
#:phases
|
||||
#~(append (modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-Makevars
|
||||
(lambda _
|
||||
;; At this point we've already built the Rust parts.
|
||||
(substitute* "src/Makevars.in"
|
||||
(("^all:.*") "all:")
|
||||
(("^\\$\\(STATLIB\\):") "NOBODYCARES:")
|
||||
(("@PKG_LIBS_EXTRA@") "@PKG_LIBS_EXTRA@ -lzstd -lz"))))
|
||||
(add-after 'patch-Makevars 'chdir
|
||||
(lambda _ (chdir "src/rust")))
|
||||
(add-after 'chdir 'patch-rust-dependency
|
||||
(lambda _
|
||||
(setenv "RUSTFLAGS" "--print=native-static-libs")
|
||||
(substitute* "Cargo.toml"
|
||||
(("extendr-api = \\{ git.* \\}") "extendr-api = \"0.8.1\""))))
|
||||
(add-after 'package 'chdir-back
|
||||
(lambda _ (chdir "../..")))
|
||||
(delete 'install)
|
||||
(delete 'check))
|
||||
(modify-phases (@ (guix build r-build-system) %standard-phases)
|
||||
(delete 'unpack)
|
||||
(replace 'patch-tests
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
((assoc-ref (@ (guix build r-build-system) %standard-phases)
|
||||
'patch-tests)
|
||||
#:skipped-tests
|
||||
;; These files contain tests that require Internet access.
|
||||
'("test-compat.R" "test-get.R"
|
||||
;; HttpStore requires the crul package
|
||||
("test-zarrs-dispatch.R" "can_use_zarrs_create returns FALSE for HttpStore")
|
||||
("test-zarrs-store-cache.R" "HttpStore get_store_identifier returns URL")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
((assoc-ref (@ (guix build r-build-system) %standard-phases)
|
||||
'check)
|
||||
#:test-target "tests"
|
||||
#:test-types #false
|
||||
#:inputs inputs
|
||||
#:outputs outputs
|
||||
#:tests? tests?)))))))
|
||||
(propagated-inputs (list r-jsonlite r-memoise r-qs2 r-r6 r-stringr))
|
||||
(inputs
|
||||
(cons* openssl zlib `(,zstd "lib")
|
||||
(cargo-inputs 'r-pizzarr)))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
r-minimal r-pbapply r-testthat r-vcr))
|
||||
(home-page "https://github.com/keller-mark/pizzarr")
|
||||
(synopsis "Slice into Zarr arrays in R")
|
||||
(description
|
||||
"This package provides an implementation of chunked, compressed,
|
||||
(let ((commit "5f4705789ba29344dcb97023f290a26a7f7abd0c")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "r-pizzarr")
|
||||
(version (git-version "0.1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/keller-mark/pizzarr")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "17pd6bk8kvnrvvyfqvm8q47kzghlfyfjdd9b7cwiazc5xr4vz6f0"))))
|
||||
(properties `((upstream-name . "pizzarr")))
|
||||
(build-system r-build-system)
|
||||
;; Some tests require Internet access.
|
||||
(arguments (list #:tests? #false))
|
||||
(propagated-inputs (list r-jsonlite r-memoise r-qs r-r6 r-stringr))
|
||||
(native-inputs (list r-pbapply r-testthat r-vcr))
|
||||
(home-page "https://github.com/keller-mark/pizzarr")
|
||||
(synopsis "Slice into Zarr arrays in R")
|
||||
(description
|
||||
"This package provides an implementation of chunked, compressed,
|
||||
N-dimensional arrays for R, Zarr specification version 2 (2024)
|
||||
<doi:10.5281/zenodo.11320255>.")
|
||||
(license license:expat)))
|
||||
(license license:expat))))
|
||||
|
||||
(define-public r-rhtslib12
|
||||
(let ((commit "ee186daf04876969c7f31c16a0e0fda8e7c16a30")
|
||||
@@ -4625,11 +4572,8 @@ into separate processes; and more.")
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'python3.12-compatibility
|
||||
(add-after 'unpack 'python3.11-compatibility
|
||||
(lambda _
|
||||
;; This was removed in Python 3.12
|
||||
(substitute* "Bio/Align/_aligners.c"
|
||||
(("case PyUnicode_WCHAR_KIND:") ""))
|
||||
;; Py_TYPE was changed to an inline static function in Python
|
||||
;; 3.11, so it cannot be used on the left-hand side.
|
||||
(substitute* "Bio/triemodule.c"
|
||||
@@ -14046,20 +13990,33 @@ of scRNA-seq data.")
|
||||
(define-public r-misha
|
||||
(package
|
||||
(name "r-misha")
|
||||
(version "5.6.23")
|
||||
(version "4.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tanaylab/misha")
|
||||
(commit (string-append "v" version))))
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1k973j04iq02dy4f7qgi3cmp3rcx5yinyx0m7vyag54rqanird8x"))))
|
||||
"0bgivx3lzjh3173jsfrhb5kvhjsn53br0n4hmyx7i3dwy2cnnp2p"))
|
||||
;; Delete bundled executable.
|
||||
(snippet
|
||||
'(delete-file "exec/bigWigToWig"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-curl r-digest r-magrittr r-ps r-yaml))
|
||||
(native-inputs (list r-knitr r-testthat))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'do-not-use-bundled-bigWigToWig
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "R/misha.R"
|
||||
(("get\\(\".GLIBDIR\"\\), \"/exec/bigWigToWig")
|
||||
(string-append "\""
|
||||
(assoc-ref inputs "kentutils")
|
||||
"/bin/bigWigToWig"))))))))
|
||||
(inputs
|
||||
(list kentutils))
|
||||
(home-page "https://github.com/tanaylab/misha")
|
||||
(synopsis "Toolkit for analysis of genomic data")
|
||||
(description "This package is intended to help users to efficiently
|
||||
@@ -18859,28 +18816,26 @@ activity prediction from transcriptomics data, and its R implementation
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skipped-tests
|
||||
;; These tests attempt to connect to the Internet.
|
||||
'(("test-liana_utils.R" "Test liana pipe")
|
||||
("test-liana_tensor.R"
|
||||
".*Test tensor wrapper.*"
|
||||
".*Test decompose_tensor.*")
|
||||
;; XXX: This test returns a data.frame instead of an error.
|
||||
("test-liana_cytotalk.R" ".*Test Cytotalk Wrap.*"))
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
;; This is needed to find ~/.config/OmnipathR/omnipathr.yml
|
||||
(add-after 'unpack 'set-HOME
|
||||
(lambda _ (setenv "HOME" "/tmp")))
|
||||
(add-after 'unpack 'seurat-compatibility
|
||||
(add-after 'unpack 'disable-bad-tests
|
||||
(lambda _
|
||||
;; The `slot` argument of `GetAssayData()` was deprecated in
|
||||
;; SeuratObject 5.0.0.
|
||||
(substitute* '("R/cellchat_pipe.R"
|
||||
"R/sca_pipe.R"
|
||||
"R/liana_prep.R"
|
||||
"R/natmi_pipe.R")
|
||||
(("slot =") "layer =")))))))
|
||||
;; These tests attempt to connect to the Internet.
|
||||
(substitute* "tests/testthat/test-liana_utils.R"
|
||||
((".*Test liana pipe.*" m)
|
||||
(string-append m "skip('guix')\n")))
|
||||
(substitute* "tests/testthat/test-liana_tensor.R"
|
||||
((".*Test tensor wrapper.*" m)
|
||||
(string-append m "skip('guix')\n"))
|
||||
((".*Test decompose_tensor.*" m)
|
||||
(string-append m "skip('guix')\n")))
|
||||
;; XXX: This test returns a data.frame instead of an error.
|
||||
(substitute* "tests/testthat/test-liana_cytotalk.R"
|
||||
((".*Test Cytotalk Wrap.*" m)
|
||||
(string-append m "skip('guix')\n"))))))))
|
||||
(propagated-inputs
|
||||
(list r-basilisk
|
||||
r-basilisk-utils
|
||||
@@ -21745,6 +21700,70 @@ want to explore e.g.: the function of a set of differentially expressed
|
||||
genes.")
|
||||
(license license:gpl3))))
|
||||
|
||||
(define-public r-seurat-utils
|
||||
(let ((commit "c0374cc9e25ce391ba8013fda0f8c7babbb9201d")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-seurat-utils")
|
||||
(version (git-version "2.5.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/vertesy/Seurat.utils")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15l86b43q245gzz7gsr5rhs4sir74lc14d64yqxfqcb0zrb2bzzd"))))
|
||||
(properties `((upstream-name . "Seurat.utils")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-codeandroll2
|
||||
r-cowplot
|
||||
r-databaselinke-r
|
||||
r-dplyr
|
||||
r-enhancedvolcano
|
||||
r-foreach
|
||||
r-ggcorrplot
|
||||
r-ggexpress
|
||||
r-ggplot2
|
||||
r-ggpubr
|
||||
r-ggrepel
|
||||
r-hgnchelper
|
||||
r-htmlwidgets
|
||||
r-job
|
||||
r-magrittr
|
||||
r-markdownhelpers
|
||||
r-markdownreports
|
||||
r-matrix
|
||||
r-matrixstats
|
||||
r-pheatmap
|
||||
r-plotly
|
||||
r-princurve
|
||||
r-qs
|
||||
r-r-utils
|
||||
r-readr
|
||||
r-readwriter
|
||||
r-reshape2
|
||||
r-rstudioapi
|
||||
r-scales
|
||||
r-seurat
|
||||
r-soupx
|
||||
r-sparsematrixstats
|
||||
r-stringendo
|
||||
r-stringr
|
||||
r-tibble
|
||||
r-tictoc
|
||||
r-tidyverse
|
||||
r-vroom))
|
||||
(home-page "https://github.com/vertesy/Seurat.utils")
|
||||
(synopsis "Collection of utility functions for Seurat")
|
||||
(description
|
||||
"This is a collection of utility functions for Seurat. These functions
|
||||
allow the automation and multiplexing of plotting, 3D plotting, visualization
|
||||
of statistics & QC, interaction with the Seurat object. Some functionalities
|
||||
require functions from CodeAndRoll and MarkdownReports libraries.")
|
||||
(license license:gpl3))))
|
||||
|
||||
(define-public r-seuratextend
|
||||
(let ((commit "5dacd7c1e1da3bc0e78ab81d60056f6d7da3d386")
|
||||
(revision "1"))
|
||||
@@ -22459,39 +22478,38 @@ frames with arbitrary sets of columns.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public r-imagearray
|
||||
(package
|
||||
(name "r-imagearray")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ImageArray" version))
|
||||
(sha256
|
||||
(base32 "07zq5fcw2dsvm4qaksaj4gy9gj5lxcgq82l497c5kgvl4wba049c"))))
|
||||
(properties `((upstream-name . "ImageArray")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:skipped-tests
|
||||
;; RBiomFormats is not installed.
|
||||
'(("test-array.R" "check indexing \\(BFArray\\)"))))
|
||||
(propagated-inputs (list r-delayedarray
|
||||
r-ebimage
|
||||
r-hdf5array
|
||||
r-magick
|
||||
r-rarr
|
||||
r-rhdf5
|
||||
r-s4arrays
|
||||
r-s4vectors
|
||||
r-zarrarray))
|
||||
(native-inputs (list r-ggplot2 r-knitr r-testthat))
|
||||
(home-page "https://github.com/BIMSBbioinfo/ImageArray")
|
||||
(synopsis "Framework for on-disk and in-memory image arrays")
|
||||
(description
|
||||
"@code{ImageArray} provides a framework for on-disk and in-memory image
|
||||
arrays, specifically for pyramidal images stored in HDF5, Zarr and life
|
||||
sciences image file formats (OME Bio-Formats).")
|
||||
(license license:expat)))
|
||||
(let ((commit "2f90694fa33ed8320a6a2f7e0ad5c8a1796cbfc6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-imagearray")
|
||||
(version (git-version "0.99.6" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BIMSBbioinfo/ImageArray")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1mf68b007dc5wdzdva4vkjgkavgagjk45qv05f7vahbpi24yjj4n"))))
|
||||
(properties `((upstream-name . "ImageArray")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-delayedarray
|
||||
r-ebimage
|
||||
r-hdf5array
|
||||
r-magick
|
||||
r-rarr
|
||||
r-rhdf5
|
||||
r-s4arrays
|
||||
r-s4vectors))
|
||||
(native-inputs (list r-knitr r-testthat))
|
||||
(home-page "https://github.com/BIMSBbioinfo/ImageArray")
|
||||
(synopsis "Framework for on-disk and in-memory image arrays")
|
||||
(description
|
||||
"@code{ImageArray} provides a framework for on-disk and in-memory image
|
||||
arrays, specifically for pyramidal images stored in either HDF5 files or Zarr
|
||||
stores.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public r-velocyto
|
||||
(let ((commit "d7790346cb99f49ab9c2b23ba70dcf9d2c9fc350")
|
||||
@@ -22575,7 +22593,7 @@ dependencies of @code{VoltRon} package.")
|
||||
(define-public r-voltron
|
||||
(package
|
||||
(name "r-voltron")
|
||||
(version "0.2.6")
|
||||
(version "0.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -22584,7 +22602,7 @@ dependencies of @code{VoltRon} package.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "00fl5dmyd9ad4hd0cblgi0415sf6q4q67wh04r7fws828vs5vaj1"))))
|
||||
(base32 "057n4yipkq3gnlyrb63l2ryi78nlmaas02avargm352g5ra1xl9s"))))
|
||||
(properties `((upstream-name . "VoltRon")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
@@ -22648,15 +22666,18 @@ guix_python <- \"~a\";"
|
||||
r-irlba
|
||||
r-magick
|
||||
r-matrix
|
||||
r-pizzarr
|
||||
r-rann
|
||||
r-rcdt
|
||||
r-rcpp
|
||||
r-rcppannoy
|
||||
r-rcpparmadillo
|
||||
r-reshape2
|
||||
r-reticulate
|
||||
r-rhdf5
|
||||
r-rjson
|
||||
r-rlang
|
||||
r-s4arrays
|
||||
r-s4vectors
|
||||
r-shiny
|
||||
r-shinyjs
|
||||
r-sp
|
||||
@@ -22709,8 +22730,8 @@ spots, cells and even molecules.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-zarrdataframe
|
||||
(let ((commit "f5f671521934b2afc3c511f8c09181bc7bb789a4")
|
||||
(revision "3"))
|
||||
(let ((commit "84c7db2f6f5f84b4a4308f8eb72bedc131fb68bc")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "r-zarrdataframe")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
@@ -22722,13 +22743,13 @@ spots, cells and even molecules.")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0klp2njn6qsa8n6c01v1z2dfaa93lhbzhwhbyhl23h8gg7d28yc1"))))
|
||||
(base32 "1idrvdlzbwyixlg830sn19vfdn3n3irmlyr4ncf7dpk72r08g3hw"))))
|
||||
(properties
|
||||
'((upstream-name . "ZarrDataFrame")
|
||||
(updater-extra-native-inputs . ("r-testthat"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-biocgenerics r-delayedarray r-rarr
|
||||
r-s4vectors r-zarrarray))
|
||||
r-s4vectors))
|
||||
(native-inputs (list r-knitr r-testthat))
|
||||
(home-page "https://github.com/BIMSBbioinfo/ZarrDataFrame")
|
||||
(synopsis "Bioconductor-friendly Bindings for Zarr")
|
||||
@@ -22740,35 +22761,39 @@ frames with arbitrary sets of columns.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public r-zarrarray
|
||||
(package
|
||||
(name "r-zarrarray")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ZarrArray" version))
|
||||
(sha256
|
||||
(base32 "1ny91qg257kgb1hz2h4jvb0rna9cwyw7fqyj5axv52r3b98xn040"))))
|
||||
(properties `((upstream-name . "ZarrArray")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-biocgenerics
|
||||
r-delayedarray
|
||||
r-iranges
|
||||
r-rarr
|
||||
r-s4arrays
|
||||
r-s4vectors
|
||||
r-sparsearray))
|
||||
(native-inputs (list r-knitr r-testthat))
|
||||
(home-page "https://bioconductor.org/packages/ZarrArray")
|
||||
(synopsis "Bring Zarr datasets in R as DelayedArray objects")
|
||||
(description
|
||||
"The @code{ZarrArray} package leverages the Rarr package to bring Zarr
|
||||
datasets in R as @code{DelayedArray} objects. The main class in the package
|
||||
is the @code{ZarrArray} class. A @code{ZarrArray} object is an array-like
|
||||
object that represents a Zarr dataset in R. @code{ZarrArray} objects are
|
||||
@code{DelayedArray} derivatives and therefore support all operations (delayed
|
||||
or block-processed) supported by @code{DelayedArray} objects.")
|
||||
(license license:artistic2.0)))
|
||||
(let ((commit "3cc3e6acf986074dfaece2ad23f9b56962054625")
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "r-zarrarray")
|
||||
(version (git-version "1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BIMSBbioinfo/ZarrArray")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1qjj92cpxpm3zh05vf60h5gmcn1qady0s38hibb0l57iwdhlhrb3"))))
|
||||
(properties
|
||||
'((upstream-name . "ZarrArray")
|
||||
(updater-extra-native-inputs . ("r-testthat"))))
|
||||
(build-system r-build-system)
|
||||
;; The tests seem to be outdated.
|
||||
(arguments (list #:tests? #false))
|
||||
(propagated-inputs (list r-biocgenerics
|
||||
r-delayedarray
|
||||
r-iranges
|
||||
r-matrix
|
||||
r-rarr
|
||||
r-s4arrays
|
||||
r-s4vectors
|
||||
r-sparsearray))
|
||||
(native-inputs (list r-testthat))
|
||||
(home-page "https://github.com/BIMSBbioinfo/ZarrArray")
|
||||
(synopsis "Zarr backend for DelayedArray objects")
|
||||
(description "Zarr backend for @code{DelayedArray} objects.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public methyldackel
|
||||
(package
|
||||
@@ -24406,77 +24431,79 @@ It also handles cell type-specific differential expression.")
|
||||
(license license:gpl3))))
|
||||
|
||||
(define-public r-spectre
|
||||
(package
|
||||
(name "r-spectre")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ImmuneDynamics/Spectre")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15g9w08x0pz2ia9qfalhcg3z5z2zx2085mfbr8gx9w5yxnw475ld"))))
|
||||
(properties `((upstream-name . "Spectre")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-biobase
|
||||
r-biocmanager
|
||||
r-caret
|
||||
r-class
|
||||
r-colorramps
|
||||
r-data-table
|
||||
r-dendsort
|
||||
r-devtools
|
||||
r-dplyr
|
||||
r-exactextractr
|
||||
r-factoextra
|
||||
r-flowcore
|
||||
r-flowsom
|
||||
r-flowviz
|
||||
r-fnn
|
||||
r-ggplot2
|
||||
r-ggpointdensity
|
||||
r-ggpubr
|
||||
r-ggraph
|
||||
r-ggthemes
|
||||
r-gridextra
|
||||
r-gridextra
|
||||
r-gtools
|
||||
r-hdf5array
|
||||
r-irlba
|
||||
r-patchwork
|
||||
r-pheatmap
|
||||
r-plyr
|
||||
r-qs2
|
||||
r-raster
|
||||
r-rcolorbrewer
|
||||
r-rhdf5
|
||||
r-rstudioapi
|
||||
r-rsvd
|
||||
r-rtsne
|
||||
r-s2
|
||||
r-scales
|
||||
r-scattermore
|
||||
r-sf
|
||||
r-sp
|
||||
r-stars
|
||||
r-stringr
|
||||
r-tidygraph
|
||||
r-tidyr
|
||||
r-tidyr
|
||||
r-tiff
|
||||
r-umap
|
||||
r-uwot))
|
||||
(home-page "https://github.com/ImmuneDynamics/Spectre")
|
||||
(synopsis "High-dimensional cytometry and imaging analysis")
|
||||
(description
|
||||
"This package provides a computational toolkit in R for the
|
||||
(let ((commit "ff5314fd5b3f29121e52f948d91e222a19dd4d25")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-spectre")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ImmuneDynamics/Spectre")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hziqlaq6mnkxi4bwp5xilxy90yh1vz1j1n117d38vmchvclx9yq"))))
|
||||
(properties `((upstream-name . "Spectre")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-biobase
|
||||
r-biocmanager
|
||||
r-caret
|
||||
r-class
|
||||
r-colorramps
|
||||
r-data-table
|
||||
r-dendsort
|
||||
r-devtools
|
||||
r-dplyr
|
||||
r-exactextractr
|
||||
r-factoextra
|
||||
r-flowcore
|
||||
r-flowsom
|
||||
r-flowviz
|
||||
r-fnn
|
||||
r-ggplot2
|
||||
r-ggpointdensity
|
||||
r-ggpubr
|
||||
r-ggraph
|
||||
r-ggthemes
|
||||
r-gridextra
|
||||
r-gridextra
|
||||
r-gtools
|
||||
r-hdf5array
|
||||
r-irlba
|
||||
r-patchwork
|
||||
r-pheatmap
|
||||
r-plyr
|
||||
r-qs
|
||||
r-raster
|
||||
r-rcolorbrewer
|
||||
r-rhdf5
|
||||
r-rstudioapi
|
||||
r-rsvd
|
||||
r-rtsne
|
||||
r-s2
|
||||
r-scales
|
||||
r-scattermore
|
||||
r-sf
|
||||
r-sp
|
||||
r-stars
|
||||
r-stringr
|
||||
r-tidygraph
|
||||
r-tidyr
|
||||
r-tidyr
|
||||
r-tiff
|
||||
r-umap
|
||||
r-uwot))
|
||||
(home-page "https://github.com/ImmuneDynamics/Spectre")
|
||||
(synopsis "High-dimensional cytometry and imaging analysis")
|
||||
(description
|
||||
"This package provides a computational toolkit in R for the
|
||||
integration, exploration, and analysis of high-dimensional single-cell
|
||||
cytometry and imaging data.")
|
||||
(license license:expat)))
|
||||
(license license:expat))))
|
||||
|
||||
(define-public r-compgenomrdata
|
||||
(let ((commit "24484cb77631e1123ead6c329b9d62c160e600c6")
|
||||
|
||||
+12
-11
@@ -302,7 +302,7 @@ will name the threaded machine type unless THREADS? is provided as #f."
|
||||
(name "chez-scheme-for-racket")
|
||||
;; The version should match `(scheme-version #t)`.
|
||||
;; See s/cmacros.ss c. line 360.
|
||||
(version "10.4.0-pre-release.1-1") ; expect a chez-nanopass-bootstrap update
|
||||
(version "10.3.0-pre-release.2") ; expect a chez-nanopass-bootstrap update
|
||||
(source #f)
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(,@(if (nix-system->native-chez-machine-type)
|
||||
@@ -507,7 +507,7 @@ version of Chez Scheme.")
|
||||
(name "chez-scheme")
|
||||
;; The version should match `(scheme-version-number #t)`.
|
||||
;; See s/cmacros.ss c. line 360.
|
||||
(version "10.4.0") ; expect a chez-nanopass-bootstrap update
|
||||
(version "10.2.0") ; expect a chez-nanopass-bootstrap update
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -515,7 +515,7 @@ version of Chez Scheme.")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"079vlkl27qdvsg1rsynmd828m42n98c2dnldkhsxf2slfsqd9kv5"))
|
||||
"14iv4kfkyvrkigr1n2prf71n2l3vs0sf0549rvh6y4x2faa2l329"))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "chez-scheme-bin-sh.patch"))
|
||||
(snippet #~(begin
|
||||
@@ -840,9 +840,9 @@ User's Guix}, among other documents.")
|
||||
(define-public chez-nanopass-bootstrap
|
||||
(hidden-package
|
||||
(package
|
||||
(name "chez-nanopass-bootstrap")
|
||||
(version "1.9.4")
|
||||
(properties '((chez-nanopass-release-date . "December 29, 2025")))
|
||||
(name "chez-nanopass")
|
||||
(version "1.9.2")
|
||||
(properties `((chez-nanopass-release-date . "October 18, 2020")))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -850,7 +850,7 @@ User's Guix}, among other documents.")
|
||||
(url "https://github.com/nanopass/nanopass-framework-scheme")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1qq0vnbrvcialgjgnblfq3qp1ilqg94h0kg896ksd9v4g7ipj9v0"))
|
||||
(base32 "16vjsik9rrzbabbhbxbaha51ppi3f9n8rk59pc6zdyffs0vziy4i"))
|
||||
(file-name (git-file-name "nanopass-framework-scheme" version))
|
||||
(snippet
|
||||
#~(begin
|
||||
@@ -929,9 +929,10 @@ create compilers, making them easier to understand and maintain.")
|
||||
(define-public chez-nanopass
|
||||
(package
|
||||
(inherit chez-nanopass-bootstrap)
|
||||
(name "chez-nanopass")
|
||||
(version "1.9.4")
|
||||
(properties '((chez-nanopass-release-date . "December 29, 2025")))
|
||||
;; This release has a significant bug fix. Expect the next releases of
|
||||
;; chez-scheme{,-for-racket} to want this for chez-nanopass-bootstrap.
|
||||
(version "1.9.3")
|
||||
(properties '((chez-nanopass-release-date . "August 24, 2025")))
|
||||
(source
|
||||
(let ((bootstrap-origin (package-source chez-nanopass-bootstrap)))
|
||||
(origin
|
||||
@@ -940,7 +941,7 @@ create compilers, making them easier to understand and maintain.")
|
||||
(url (git-reference-url (origin-uri bootstrap-origin)))
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1qq0vnbrvcialgjgnblfq3qp1ilqg94h0kg896ksd9v4g7ipj9v0"))
|
||||
(base32 "0757x3a3b4kcd3jk52h4ikqzv7cc1mvphlw592f0r5pz99bkxiin"))
|
||||
(file-name (git-file-name "nanopass-framework-scheme" version)))))
|
||||
(native-inputs (list chez-scheme stex))))
|
||||
|
||||
|
||||
+537
-953
File diff suppressed because it is too large
Load Diff
@@ -5645,7 +5645,7 @@ with integrated support for finding required rows quickly.")
|
||||
(define-public apache-arrow
|
||||
(package
|
||||
(name "apache-arrow")
|
||||
(version "24.0.0")
|
||||
(version "23.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -5655,7 +5655,7 @@ with integrated support for finding required rows quickly.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1j3gs5ffa9gx2y2nggmi2zn5rj0bsnjnxrzfnipx6050jz6n8dx9"))))
|
||||
"1qn7wgavi3kiz4d6w1naqj5631bg87fnj6gbhaxmpmynm5hi9wm7"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -5823,8 +5823,6 @@ __version_tuple__ = version_tuple = (~a)~%" version version-tuple))))))
|
||||
pkg-config
|
||||
python-cython
|
||||
python-pytest
|
||||
python-pytest-runner
|
||||
python-scikit-build-core
|
||||
python-setuptools-scm
|
||||
python-setuptools))
|
||||
(outputs '("out"))
|
||||
|
||||
+12
-10
@@ -31,13 +31,13 @@
|
||||
(define-public dhall
|
||||
(package
|
||||
(name "dhall")
|
||||
(version "1.42.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "dhall" version))
|
||||
(sha256
|
||||
(base32 "0fvvqvh6diqi55dmncfs06rvcw8k0a1hs2gq228yxvsfbzcpv44s"))))
|
||||
(version "1.41.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "dhall" version))
|
||||
(sha256
|
||||
(base32
|
||||
"14m5rrvkid76qnvg0l14xw1mnqclhip3gjrz20g1lp4fd5p056ka"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "dhall")))
|
||||
(inputs (list ghc-aeson
|
||||
@@ -73,8 +73,8 @@
|
||||
ghc-text-manipulate
|
||||
ghc-text-short
|
||||
ghc-th-lift-instances
|
||||
ghc-unix-compat
|
||||
ghc-unordered-containers
|
||||
ghc-uri-encode
|
||||
ghc-vector
|
||||
ghc-cryptohash-sha256
|
||||
ghc-http-types
|
||||
@@ -86,6 +86,7 @@
|
||||
ghc-quickcheck-instances
|
||||
ghc-special-values
|
||||
ghc-spoon
|
||||
ghc-system-filepath
|
||||
ghc-tasty
|
||||
ghc-tasty-expected-failure
|
||||
ghc-tasty-hunit
|
||||
@@ -96,8 +97,9 @@
|
||||
ghc-mockery
|
||||
ghc-doctest))
|
||||
(arguments
|
||||
`(#:cabal-revision ("2"
|
||||
"1h9kxpn3kzwmxj07mqc0cxjj2ak3dyxnifb78z5vn34xn747j5bk")))
|
||||
`(#:tests? #f ; Tries to access httpbin.org
|
||||
#:cabal-revision ("4"
|
||||
"0innb3cn98ynb8bd83jdyrm64ij7wcvajg5qcwzdwbyzpr62anfx")))
|
||||
(home-page "http://hackage.haskell.org/package/dhall")
|
||||
(synopsis "Configuration language guaranteed to terminate")
|
||||
(description
|
||||
|
||||
@@ -1314,7 +1314,7 @@ package.")
|
||||
#:tests? #f)) ;no test suite
|
||||
(native-inputs (list asciidoc
|
||||
gettext-minimal
|
||||
git-minimal/pinned
|
||||
git-minimal
|
||||
perl
|
||||
perl-unicode-linebreak
|
||||
perl-yaml-tiny
|
||||
|
||||
@@ -23831,8 +23831,8 @@ actually changing the buffer's text.")
|
||||
|
||||
(define-public emacs-diff-hl
|
||||
;; No new tags or releases since 2024.
|
||||
(let ((commit "7d873b2f58908de1ea2f499da9bf993e088953d7")
|
||||
(revision "1"))
|
||||
(let ((commit "e79aa49ad3cbbe85379cf6646db3aaacd3b04708")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-diff-hl")
|
||||
(version (git-version "1.10.0" revision commit))
|
||||
@@ -23844,7 +23844,7 @@ actually changing the buffer's text.")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "15a9cjlpjsfcb2hxqbb123389qhiqs06mn01pas2l0jqhc2p86v9"))))
|
||||
(base32 "0fvxngcbx36vqj72fllfp5iqwihcqd1dfhmqr3m1284191q83na3"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@@ -23867,7 +23867,7 @@ actually changing the buffer's text.")
|
||||
(invoke "git" "init")
|
||||
(invoke "git" "add" ".")
|
||||
(invoke "git" "commit" "-m" "Commit all."))))))
|
||||
(native-inputs (list git-minimal/pinned))
|
||||
(native-inputs (list git-minimal))
|
||||
(home-page "https://github.com/dgutov/diff-hl")
|
||||
(synopsis "Highlight uncommitted changes using VC")
|
||||
(description
|
||||
|
||||
+18
-24
@@ -321,41 +321,37 @@ based on Qt.")
|
||||
(define-public ghc-hledger
|
||||
(package
|
||||
(name "ghc-hledger")
|
||||
(version "1.43.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hledger" version))
|
||||
(sha256
|
||||
(base32 "043gw3amc29fbjxlzyc4m97bw5i5462352lmk61adlxcd12l47i1"))))
|
||||
(version "1.27.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hledger" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qdg87m7ys2ykqqq32p7h7aw827w4f5bcqx4dspxxq6zqlvzddqb"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "hledger")))
|
||||
(inputs (list ghc-decimal
|
||||
ghc-diff
|
||||
ghc-aeson
|
||||
ghc-ansi-terminal
|
||||
ghc-breakpoint
|
||||
ghc-cmdargs
|
||||
ghc-data-default
|
||||
ghc-extra
|
||||
ghc-githash
|
||||
ghc-hashable
|
||||
ghc-hledger-lib
|
||||
ghc-http-client
|
||||
ghc-http-types
|
||||
ghc-lucid
|
||||
ghc-math-functions
|
||||
ghc-megaparsec
|
||||
ghc-microlens
|
||||
ghc-modern-uri
|
||||
ghc-regex-tdfa
|
||||
ghc-req
|
||||
ghc-safe
|
||||
ghc-shakespeare
|
||||
ghc-split
|
||||
ghc-tabular
|
||||
ghc-tasty
|
||||
ghc-temporary
|
||||
ghc-text-ansi
|
||||
ghc-timeit
|
||||
ghc-unordered-containers
|
||||
ghc-utf8-string
|
||||
@@ -386,8 +382,8 @@ Accounting.")
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'install-doc
|
||||
(lambda _
|
||||
(install-file "embeddedfiles/hledger.info" (string-append #$output "/share/info"))
|
||||
(install-file "embeddedfiles/hledger.1" (string-append #$output "/man/man1"))))
|
||||
(install-file "hledger.info" (string-append #$output "/share/info"))
|
||||
(install-file "hledger.1" (string-append #$output "/man/man1"))))
|
||||
(add-after 'register 'remove-libraries
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(delete-file-recursively (string-append (assoc-ref outputs "out") "/lib")))))))))
|
||||
@@ -2284,13 +2280,13 @@ textual ledgers to Beancount files.")
|
||||
(define-public hledger-web
|
||||
(package
|
||||
(name "hledger-web")
|
||||
(version "1.43.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hledger-web" version))
|
||||
(sha256
|
||||
(base32 "0d4sv9k3m7s0764lbq2l8w9p2p47cby177l0avl5w3fa9y8d0gyd"))))
|
||||
(version "1.27.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hledger-web" version))
|
||||
(sha256
|
||||
(base32
|
||||
"151dxci7dld8626dzw823sr3d9iaac92wfzbfcbdz4jh9f7n07wa"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "hledger-web")))
|
||||
(inputs (list ghc-decimal
|
||||
@@ -2298,6 +2294,7 @@ textual ledgers to Beancount files.")
|
||||
ghc-base64
|
||||
ghc-blaze-html
|
||||
ghc-blaze-markup
|
||||
ghc-breakpoint
|
||||
ghc-case-insensitive
|
||||
ghc-clientsession
|
||||
ghc-cmdargs
|
||||
@@ -2305,8 +2302,6 @@ textual ledgers to Beancount files.")
|
||||
ghc-conduit-extra
|
||||
ghc-data-default
|
||||
ghc-extra
|
||||
ghc-file-embed
|
||||
ghc-githash
|
||||
ghc-hjsmin
|
||||
ghc-hledger
|
||||
ghc-hledger-lib
|
||||
@@ -2316,7 +2311,6 @@ textual ledgers to Beancount files.")
|
||||
ghc-http-types
|
||||
ghc-megaparsec
|
||||
ghc-network
|
||||
ghc-safe
|
||||
ghc-shakespeare
|
||||
ghc-unix-compat
|
||||
ghc-unordered-containers
|
||||
|
||||
+3
-35
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017-2026 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017-2025 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
|
||||
;;; Copyright © 2018, 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019, 2021, 2022, 2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
@@ -227,7 +227,7 @@ more.")
|
||||
(package
|
||||
(inherit igraph)
|
||||
(name "igraph")
|
||||
(version "1.0.1")
|
||||
(version "0.10.15")
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source igraph))
|
||||
@@ -239,39 +239,7 @@ more.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"01mynhbl2ph0gkc0zr5klwqvczwcimfs2kdn6didwg4k8gsrcxlr"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
;; We need the vendored versions of qhull and cxsparse.
|
||||
(snippet '(begin
|
||||
(delete-file-recursively "src/isomorphism/bliss")
|
||||
(substitute* '("src/CMakeLists.txt"
|
||||
"etc/cmake/benchmark_helpers.cmake")
|
||||
;; Remove extraneous bundling related variables.
|
||||
((".*_IS_VENDORED.*") "")
|
||||
((".*add_sub.*isomorphism/bliss.*") "")
|
||||
(("(.*TARGETS.*)bliss(.*)pcg(.*)"
|
||||
_ part1 part2 part3)
|
||||
(string-append part1 part2 part3))
|
||||
((" pcg ") " pcg_random "))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments igraph)
|
||||
((#:phases phases '%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
;; We have to use the bundled version because it has been
|
||||
;; modified from upstream.
|
||||
(delete 'patch-suitesparse)))
|
||||
((#:configure-flags flags)
|
||||
#~(list "-DBUILD_SHARED_LIBS=ON"
|
||||
"-DIGRAPH_INFOMAP_SUPPORT=OFF"
|
||||
"-DCMAKE_C_FLAGS=-Wno-error=incompatible-pointer-types"
|
||||
;; Use the same integer width as suitesparse-cxsparse, which
|
||||
;; uses int64_t in SuiteSparse v6.0.0 and later.
|
||||
"-DIGRAPH_INTEGER_SIZE=64"))))
|
||||
(inputs
|
||||
(modify-inputs (package-inputs igraph)
|
||||
(delete "suitesparse-cxsparse"))))))
|
||||
"0z9jqvl65j4z6brrjlfyykba2bs10az6dx6m8g41snlfnx21a82d")))))))
|
||||
|
||||
(define-public python-igraph
|
||||
(package
|
||||
|
||||
+166
-204
@@ -64,17 +64,16 @@
|
||||
(define-public apply-refact
|
||||
(package
|
||||
(name "apply-refact")
|
||||
(version "0.15.0.0")
|
||||
(version "0.10.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "apply-refact" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0iny8ynxx46afbzjp14rvpd4sqk8c1p5883mbln53gmlxcm8zq53"))))
|
||||
"129bf8n66kpwh5420rxprngg43bqr2agyd8q8d7l49k2rxsjl1fb"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "apply-refact")))
|
||||
(inputs (list ghc-refact
|
||||
ghc-data-default
|
||||
ghc-exactprint
|
||||
ghc-paths
|
||||
ghc-extra
|
||||
@@ -97,13 +96,13 @@ library. It is primarily used with HLint's @code{--refactor} flag.")
|
||||
(define-public cabal-install
|
||||
(package
|
||||
(name "cabal-install")
|
||||
(version "3.12.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "cabal-install" version))
|
||||
(sha256
|
||||
(base32 "1cmifq189i4x0r0yha3dl8nrzzfh92bnd2saak7dqvvjkkysqj38"))))
|
||||
(version "3.6.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "cabal-install" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0dihpm4h3xh13vnpvwflnb7v614qdvljycc6ffg5cvhwbwfrxyfw"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "cabal-install")))
|
||||
(inputs (list ghc-async
|
||||
@@ -118,35 +117,13 @@ library. It is primarily used with HLint's @code{--refactor} flag.")
|
||||
ghc-tar
|
||||
ghc-zlib
|
||||
ghc-hackage-security
|
||||
ghc-open-browser
|
||||
ghc-regex-base
|
||||
ghc-regex-posix
|
||||
ghc-safe-exceptions
|
||||
ghc-semaphore-compat
|
||||
ghc-resolv
|
||||
ghc-lukko))
|
||||
(native-inputs (list ghc-tasty
|
||||
ghc-tasty-golden
|
||||
ghc-tasty-quickcheck
|
||||
ghc-tasty-expected-failure
|
||||
ghc-tasty-hunit
|
||||
ghc-tree-diff
|
||||
ghc-quickcheck
|
||||
ghc-tasty
|
||||
ghc-tasty-hunit
|
||||
ghc-tasty
|
||||
ghc-tasty-hunit
|
||||
ghc-tagged
|
||||
ghc-tagged
|
||||
ghc-tasty
|
||||
ghc-tasty-expected-failure
|
||||
ghc-tasty-hunit
|
||||
ghc-tasty-quickcheck
|
||||
ghc-quickcheck
|
||||
ghc-pretty-show))
|
||||
(arguments
|
||||
`(#:cabal-revision ("2"
|
||||
"0fdzqdkg2vbyg0lnbk9bdskr2d23hwjpmnc7jnvpzkcmxmcvl99n")))
|
||||
"1kpgyfl5njxp4c8ax5ziag1bhqvph3h0pn660v3vpxalz8d1j6xv")))
|
||||
(home-page "https://www.haskell.org/cabal/")
|
||||
(synopsis "Command-line interface for Cabal and Hackage")
|
||||
(description
|
||||
@@ -168,10 +145,11 @@ installation of Haskell libraries and programs.")
|
||||
"17wi7fma2qaqdm1hwgaam3fd140v9bpa8ky0wg708h1pqc5v2nbz"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "cpphs")))
|
||||
(inputs (list ghc-polyparse))
|
||||
(inputs
|
||||
(list ghc-polyparse ghc-old-locale ghc-old-time))
|
||||
(arguments
|
||||
`(#:cabal-revision ("2"
|
||||
"0vxav36p0kplp4dpd17i4cfzrsl3r437d840xwv83lf1bqp7mrxc")))
|
||||
`(#:cabal-revision ("1"
|
||||
"1f8jzs8zdh4wwbcq8fy6qqxkv75ypnvsm4yzw49wpr3b9vpnzlha")))
|
||||
(home-page "https://projects.haskell.org/cpphs/")
|
||||
(synopsis "Liberalised re-implementation of cpp, the C pre-processor")
|
||||
(description "Cpphs is a re-implementation of the C pre-processor that is
|
||||
@@ -291,18 +269,20 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
|
||||
(define-public ghcid
|
||||
(package
|
||||
(name "ghcid")
|
||||
(version "0.8.9")
|
||||
(version "0.8.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "ghcid" version))
|
||||
(sha256
|
||||
(base32 "1dq8lc0dwzib8y21279q4j54cmm7lvx64b3hw2yiym1kzi9rrhj4"))))
|
||||
(base32 "0yqc1pkfajnr56gnh43sbj50r7c3r41b2jfz07ivgl6phi4frjbq"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "ghcid")))
|
||||
(inputs (list ghc-extra ghc-ansi-terminal ghc-cmdargs ghc-fsnotify
|
||||
ghc-terminal-size))
|
||||
(native-inputs (list ghc-tasty ghc-tasty-hunit))
|
||||
(inputs
|
||||
(list ghc-extra ghc-ansi-terminal ghc-cmdargs ghc-fsnotify
|
||||
ghc-terminal-size))
|
||||
(native-inputs
|
||||
(list ghc-tasty ghc-tasty-hunit))
|
||||
(home-page "https://github.com/ndmitchell/ghcid#readme")
|
||||
(synopsis "GHCi based bare bones IDE")
|
||||
(description
|
||||
@@ -424,97 +404,95 @@ to @code{cabal repl}).")
|
||||
(string-append bin "/git-remote-annex"))
|
||||
(symlink (string-append bin "/git-annex")
|
||||
(string-append bin "/git-remote-tor-annex"))))))))
|
||||
(inputs (list ghc-network-uri
|
||||
ghc-optparse-applicative
|
||||
ghc-uuid
|
||||
ghc-data-default
|
||||
ghc-case-insensitive
|
||||
ghc-random
|
||||
ghc-dlist
|
||||
ghc-unix-compat
|
||||
ghc-safesemaphore
|
||||
ghc-async
|
||||
ghc-disk-free-space
|
||||
ghc-ifelse
|
||||
ghc-monad-logger
|
||||
ghc-free
|
||||
ghc-utf8-string
|
||||
ghc-sandi
|
||||
ghc-monad-control
|
||||
ghc-bloomfilter
|
||||
ghc-edit-distance
|
||||
ghc-resourcet
|
||||
ghc-http-client
|
||||
ghc-http-client-tls
|
||||
ghc-http-types
|
||||
ghc-http-conduit
|
||||
ghc-http-client-restricted
|
||||
ghc-conduit
|
||||
ghc-old-locale
|
||||
ghc-persistent-sqlite
|
||||
ghc-persistent
|
||||
ghc-persistent-template
|
||||
ghc-unliftio-core
|
||||
ghc-microlens
|
||||
ghc-aeson
|
||||
ghc-vector
|
||||
ghc-tagsoup
|
||||
ghc-unordered-containers
|
||||
ghc-feed
|
||||
ghc-regex-tdfa
|
||||
ghc-socks
|
||||
ghc-byteable
|
||||
ghc-stm-chans
|
||||
ghc-securemem
|
||||
ghc-crypto-api
|
||||
ghc-memory
|
||||
ghc-split
|
||||
ghc-attoparsec
|
||||
ghc-concurrent-output
|
||||
ghc-unbounded-delays
|
||||
ghc-quickcheck
|
||||
ghc-tasty
|
||||
ghc-tasty-hunit
|
||||
ghc-tasty-quickcheck
|
||||
ghc-tasty-rerun
|
||||
ghc-ansi-terminal
|
||||
ghc-aws
|
||||
ghc-dav
|
||||
ghc-network
|
||||
ghc-network-bsd
|
||||
ghc-git-lfs
|
||||
ghc-clock
|
||||
ghc-crypton
|
||||
ghc-servant
|
||||
ghc-servant-server
|
||||
ghc-servant-client
|
||||
ghc-servant-client-core
|
||||
ghc-warp
|
||||
ghc-warp-tls
|
||||
ghc-os-string
|
||||
ghc-file-io
|
||||
ghc-mountpoints
|
||||
ghc-yesod
|
||||
ghc-yesod-static
|
||||
ghc-yesod-form
|
||||
ghc-yesod-core
|
||||
ghc-path-pieces
|
||||
ghc-wai
|
||||
ghc-wai-extra
|
||||
ghc-blaze-builder
|
||||
ghc-clientsession
|
||||
ghc-shakespeare
|
||||
ghc-hinotify
|
||||
ghc-dbus
|
||||
ghc-fdo-notify
|
||||
ghc-network-multicast
|
||||
ghc-network-info
|
||||
ghc-torrent
|
||||
ghc-magic
|
||||
ghc-criterion))
|
||||
(inputs
|
||||
(list curl
|
||||
ghc-aeson
|
||||
ghc-ansi-terminal
|
||||
ghc-async
|
||||
ghc-attoparsec
|
||||
ghc-aws
|
||||
ghc-bloomfilter
|
||||
ghc-byteable
|
||||
ghc-case-insensitive
|
||||
ghc-clientsession
|
||||
ghc-concurrent-output
|
||||
ghc-conduit
|
||||
ghc-connection
|
||||
ghc-crypto-api
|
||||
ghc-cryptonite
|
||||
ghc-data-default
|
||||
ghc-dav
|
||||
ghc-dbus
|
||||
ghc-disk-free-space
|
||||
ghc-dlist
|
||||
ghc-edit-distance
|
||||
ghc-exceptions
|
||||
ghc-fdo-notify
|
||||
ghc-feed
|
||||
ghc-filepath-bytestring
|
||||
ghc-free
|
||||
ghc-git-lfs
|
||||
ghc-hinotify
|
||||
ghc-http-client
|
||||
ghc-http-client-tls
|
||||
ghc-http-client-restricted
|
||||
ghc-http-conduit
|
||||
ghc-http-types
|
||||
ghc-ifelse
|
||||
ghc-magic
|
||||
ghc-memory
|
||||
ghc-microlens
|
||||
ghc-monad-control
|
||||
ghc-monad-logger
|
||||
ghc-mountpoints
|
||||
ghc-network
|
||||
ghc-network-bsd
|
||||
ghc-network-info
|
||||
ghc-network-multicast
|
||||
ghc-network-uri
|
||||
ghc-old-locale
|
||||
ghc-optparse-applicative
|
||||
ghc-persistent
|
||||
ghc-persistent-sqlite
|
||||
ghc-persistent-template
|
||||
ghc-quickcheck
|
||||
ghc-random
|
||||
ghc-regex-tdfa
|
||||
ghc-resourcet
|
||||
ghc-safesemaphore
|
||||
ghc-sandi
|
||||
ghc-securemem
|
||||
ghc-servant-client
|
||||
ghc-servant-server
|
||||
ghc-socks
|
||||
ghc-split
|
||||
ghc-stm-chans
|
||||
ghc-tagsoup
|
||||
ghc-torrent
|
||||
ghc-transformers
|
||||
ghc-unbounded-delays
|
||||
ghc-unix-compat
|
||||
ghc-unliftio-core
|
||||
ghc-unordered-containers
|
||||
ghc-utf8-string
|
||||
ghc-uuid
|
||||
ghc-vector
|
||||
ghc-wai
|
||||
ghc-wai-extra
|
||||
ghc-warp
|
||||
ghc-warp-tls
|
||||
ghc-yesod
|
||||
ghc-yesod-core
|
||||
ghc-yesod-form
|
||||
ghc-yesod-static
|
||||
lsof
|
||||
rsync
|
||||
xdg-utils))
|
||||
(propagated-inputs
|
||||
(list git))
|
||||
(native-inputs (list ghc-filepath-bytestring))
|
||||
(native-inputs
|
||||
(list ghc-tasty ghc-tasty-hunit ghc-tasty-quickcheck ghc-tasty-rerun
|
||||
perl))
|
||||
(home-page "https://git-annex.branchable.com/")
|
||||
(synopsis "Manage files with Git, without checking in their contents")
|
||||
(description "This package allows managing files with Git, without
|
||||
@@ -535,13 +513,13 @@ used to keep a folder in sync between computers.")
|
||||
(define-public hlint
|
||||
(package
|
||||
(name "hlint")
|
||||
(version "3.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hlint" version))
|
||||
(sha256
|
||||
(base32 "0dzy7spc45v88yplczhd3la464bhcbaihi619a45bd06ghrp55nr"))))
|
||||
(version "3.4.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hlint" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bkk03c9hacvfd73dk89g4r81b50g7pjgw5pavldali4qwss34cz"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "hlint")))
|
||||
(inputs (list ghc-unordered-containers
|
||||
@@ -558,10 +536,12 @@ used to keep a folder in sync between computers.")
|
||||
ghc-aeson
|
||||
ghc-deriving-aeson
|
||||
ghc-filepattern
|
||||
ghc-lib-parser
|
||||
ghc-lib-parser-ex
|
||||
hscolour
|
||||
ghc-yaml))
|
||||
(arguments
|
||||
`(#:cabal-revision ("1"
|
||||
"1rdaffg5n179yfcn5zjwjb0bki09qy13gz2ijky455y9pbaz8yz9")))
|
||||
(home-page "https://github.com/ndmitchell/hlint#readme")
|
||||
(synopsis "Suggest improvements for Haskell source code")
|
||||
(description
|
||||
@@ -573,13 +553,13 @@ unwanted suggestions, and to add your own custom suggestions.")
|
||||
(define-public hoogle
|
||||
(package
|
||||
(name "hoogle")
|
||||
(version "5.0.18.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hoogle" version))
|
||||
(sha256
|
||||
(base32 "08z32d87vqzhapb2vw21h25jb2g74csxlpvd8f54xl91k3ijs3wx"))))
|
||||
(version "5.0.18.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hoogle" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0v6k75w0an9pqgb7a6cicnpf9rz77xd2lmxfbafc5l4f99jg83bn"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "hoogle")))
|
||||
(inputs (list ghc-quickcheck
|
||||
@@ -589,7 +569,7 @@ unwanted suggestions, and to add your own custom suggestions.")
|
||||
ghc-cmdargs
|
||||
ghc-conduit
|
||||
ghc-conduit-extra
|
||||
ghc-crypton-connection
|
||||
ghc-connection
|
||||
ghc-extra
|
||||
ghc-foundation
|
||||
ghc-old-locale
|
||||
@@ -602,7 +582,6 @@ unwanted suggestions, and to add your own custom suggestions.")
|
||||
ghc-mmap
|
||||
ghc-process-extras
|
||||
ghc-resourcet
|
||||
ghc-safe
|
||||
ghc-storable-tuple
|
||||
ghc-tar
|
||||
ghc-uniplate
|
||||
@@ -614,9 +593,6 @@ unwanted suggestions, and to add your own custom suggestions.")
|
||||
ghc-warp-tls
|
||||
ghc-zlib
|
||||
ghc-semigroups))
|
||||
(arguments
|
||||
`(#:cabal-revision ("1"
|
||||
"1129flhhb1992rijw46dclvmpqlylmbrzl4swsnk2knylx6jgw5a")))
|
||||
(home-page "https://hoogle.haskell.org/")
|
||||
(synopsis "Haskell API Search")
|
||||
(description
|
||||
@@ -628,13 +604,14 @@ or by approximate type signature.")
|
||||
(define-public hscolour
|
||||
(package
|
||||
(name "hscolour")
|
||||
(version "1.25")
|
||||
(version "1.24.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hscolour" version))
|
||||
(sha256
|
||||
(base32 "0z679khnmb6as1zcdb44n9qjk7in32jpm4ldscpqg7jrapd31kjl"))))
|
||||
(base32
|
||||
"079jwph4bwllfp03yfr26s5zc6m6kw3nhb1cggrifh99haq34cr4"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "hscolour")))
|
||||
(home-page "https://hackage.haskell.org/package/hscolour")
|
||||
@@ -783,12 +760,12 @@ Wayland, and Linux console environments alike.")
|
||||
ghc-text-zipper
|
||||
ghc-timezone-olson
|
||||
ghc-timezone-series
|
||||
ghc-unix-compat
|
||||
ghc-unix-compat-7
|
||||
ghc-unordered-containers
|
||||
ghc-utf8-string
|
||||
ghc-uuid
|
||||
ghc-vector
|
||||
ghc-vty
|
||||
ghc-vty-6
|
||||
ghc-vty-crossplatform
|
||||
ghc-word-wrap
|
||||
ghc-xdg-basedir))
|
||||
@@ -834,31 +811,20 @@ Wayland, and Linux console environments alike.")
|
||||
(define-public nixfmt
|
||||
(package
|
||||
(name "nixfmt")
|
||||
(version "1.1.0")
|
||||
(version "0.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/NixOS/nixfmt")
|
||||
(commit (string-append "v" version))))
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "nixfmt" version))
|
||||
(sha256
|
||||
(base32 "19sydkdw1579qmvzx0zq06s23bm6m6l9wp1kvsfhxawk8pkz2pc2"))
|
||||
(snippet
|
||||
#~(substitute* "nixfmt.cabal"
|
||||
(("(megaparsec|filepath) *[0-9<>=^&|. ]*" _ package)
|
||||
package)))
|
||||
(modules '((guix build utils)))))
|
||||
(base32 "0rxi8zrd2xr72w673nvgnhb0g3r7rssc1ahlhz8rmdpc6c1a82wl"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs (list ghc-megaparsec
|
||||
ghc-parser-combinators
|
||||
ghc-scientific
|
||||
ghc-pretty-simple
|
||||
ghc-cmdargs
|
||||
ghc-file-embed
|
||||
ghc-safe-exceptions))
|
||||
(home-page "https://github.com/NixOS/nixfmt")
|
||||
(synopsis "Official formatter for Nix code")
|
||||
(properties '((upstream-name . "nixfmt")))
|
||||
(inputs
|
||||
(list ghc-megaparsec ghc-parser-combinators ghc-cmdargs
|
||||
ghc-safe-exceptions))
|
||||
(home-page "https://github.com/serokell/nixfmt")
|
||||
(synopsis "Opinionated formatter for Nix")
|
||||
(description
|
||||
"Nixfmt is a formatter for Nix that ensures consistent and clear
|
||||
formatting by forgetting all existing formatting during parsing.")
|
||||
@@ -988,7 +954,6 @@ too slow and you'll get wound up in the scroll and crushed.")
|
||||
(build-system haskell-build-system)
|
||||
(arguments
|
||||
(list #:haddock? #f ; TODO: Fails to build.
|
||||
#:cabal-revision '("1" "1935jrzy1r3g9cc74b330fmxnz2i1j8hsdk9jnl557qgk6xjqzs7")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'build 'build-man-page
|
||||
@@ -1028,13 +993,13 @@ advanced user's otherwise working script to fail under future circumstances.
|
||||
(define-public shelltestrunner
|
||||
(package
|
||||
(name "shelltestrunner")
|
||||
(version "1.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "shelltestrunner" version))
|
||||
(sha256
|
||||
(base32 "1c6bjyxqa4mgnh3w4pqp6sbr5cf160n7jf9i1b4b9sdxzdjk7g87"))))
|
||||
(version "1.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "shelltestrunner" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a5kzqbwg6990249ypw0cx6cqj6663as1kbj8nzblcky8j6kbi6b"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "shelltestrunner")))
|
||||
(arguments
|
||||
@@ -1057,19 +1022,17 @@ advanced user's otherwise working script to fail under future circumstances.
|
||||
"tests/examples")
|
||||
(format #t "test suite not run~%"))
|
||||
#t))))))
|
||||
(inputs (list ghc-diff
|
||||
ghc-filemanip
|
||||
ghc-hunit
|
||||
ghc-cmdargs
|
||||
ghc-pretty-show
|
||||
ghc-regex-tdfa
|
||||
ghc-safe
|
||||
ghc-test-framework
|
||||
ghc-test-framework-hunit
|
||||
ghc-utf8-string
|
||||
ghc-hspec
|
||||
ghc-hspec-core
|
||||
ghc-hspec-contrib))
|
||||
(inputs
|
||||
(list ghc-diff
|
||||
ghc-cmdargs
|
||||
ghc-filemanip
|
||||
ghc-hunit
|
||||
ghc-pretty-show
|
||||
ghc-regex-tdfa
|
||||
ghc-safe
|
||||
ghc-utf8-string
|
||||
ghc-test-framework
|
||||
ghc-test-framework-hunit))
|
||||
(home-page "https://github.com/simonmichael/shelltestrunner")
|
||||
(synopsis "Test CLI programs")
|
||||
(description
|
||||
@@ -1082,13 +1045,13 @@ output, stderr, and exit status.")
|
||||
(define-public stylish-haskell
|
||||
(package
|
||||
(name "stylish-haskell")
|
||||
(version "0.15.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "stylish-haskell" version))
|
||||
(sha256
|
||||
(base32 "06y6f7bv5j5k7q81194v9jqcbmmqcv7h8ii3lq1783bpfnyd6h19"))))
|
||||
(version "0.14.3.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "stylish-haskell" version))
|
||||
(sha256
|
||||
(base32
|
||||
"17w92v0qnwj7m6yqdq5cxbr04xiz0yfnnyx5q54218wdl7n5lf6d"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "stylish-haskell")))
|
||||
(inputs (list ghc-aeson
|
||||
@@ -1098,7 +1061,6 @@ output, stderr, and exit status.")
|
||||
ghc-hsyaml-aeson
|
||||
ghc-hsyaml
|
||||
ghc-semigroups
|
||||
ghc-lib-parser
|
||||
ghc-lib-parser-ex
|
||||
ghc-strict
|
||||
ghc-optparse-applicative))
|
||||
|
||||
+285
-321
@@ -45,18 +45,22 @@
|
||||
(define-public ghc-tasty-ant-xml
|
||||
(package
|
||||
(name "ghc-tasty-ant-xml")
|
||||
(version "1.1.9")
|
||||
(version "1.1.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-ant-xml" version))
|
||||
(sha256
|
||||
(base32 "00zgsd6jjfwasr69d0y781vhjr7d8p1jbaaz4pn75ljf33akd92l"))))
|
||||
(base32
|
||||
"0h9mllhw9cd0rn34xhj8grwmbny7z7hpd8qmp9lfcdj0s4qx9vx8"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "tasty-ant-xml")))
|
||||
(inputs (list ghc-generic-deriving ghc-tagged ghc-tasty ghc-xml))
|
||||
(home-page "http://github.com/ocharles/tasty-ant-xml")
|
||||
(synopsis "Render tasty output to XML for Jenkins")
|
||||
(inputs
|
||||
(list ghc-generic-deriving ghc-xml ghc-tagged ghc-tasty))
|
||||
(home-page
|
||||
"https://github.com/ocharles/tasty-ant-xml")
|
||||
(synopsis
|
||||
"Render tasty output to XML for Jenkins")
|
||||
(description
|
||||
"A tasty ingredient to output test results in XML, using the Ant
|
||||
schema. This XML can be consumed by the Jenkins continuous integration
|
||||
@@ -72,37 +76,33 @@ framework.")
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-smallcheck" version))
|
||||
(sha256
|
||||
(base32 "0csgwn3vch0jnpqyyfnrfjq4z0dpl67imh5a7byll3hhlyidgjym"))))
|
||||
(base32
|
||||
"0csgwn3vch0jnpqyyfnrfjq4z0dpl67imh5a7byll3hhlyidgjym"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "tasty-smallcheck")))
|
||||
(inputs (list ghc-tasty ghc-smallcheck ghc-tagged ghc-optparse-applicative))
|
||||
(arguments
|
||||
`(#:cabal-revision ("1"
|
||||
"0033ha2w9rzc1rxpzh1dkfdrn256i5lvb41pqbdh2i6kli0v5vmh")))
|
||||
(home-page "https://github.com/feuerbach/tasty")
|
||||
(inputs
|
||||
(list ghc-tasty ghc-smallcheck ghc-async ghc-tagged))
|
||||
(home-page "https://documentup.com/feuerbach/tasty")
|
||||
(synopsis "SmallCheck support for the Tasty test framework")
|
||||
(description "This package provides SmallCheck support for the Tasty
|
||||
Haskell test framework.")
|
||||
(license license:expat)))
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-tasty-quickcheck
|
||||
(package
|
||||
(name "ghc-tasty-quickcheck")
|
||||
(version "0.11.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-quickcheck" version))
|
||||
(sha256
|
||||
(base32 "0si4ccgqlv8h33d6310rrqba7f4pz3g8cinqfj42yd7damsdxm73"))))
|
||||
(version "0.10.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-quickcheck" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qnc6rdvjvlw08q6sln2n98rvj0s0pp689h6w4z58smjbn0lr25l"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "tasty-quickcheck")))
|
||||
(inputs (list ghc-tagged ghc-tasty ghc-random ghc-quickcheck
|
||||
ghc-optparse-applicative))
|
||||
(native-inputs (list ghc-regex-tdfa ghc-tasty-hunit))
|
||||
(arguments
|
||||
`(#:cabal-revision ("3"
|
||||
"1wzvha4xam8npx5mk33c056grmrqnjd6m38nnm6d7y99w2mn1a7w")))
|
||||
(native-inputs (list ghc-tasty-hunit ghc-pcre-light))
|
||||
(home-page "https://github.com/UnkindPartition/tasty")
|
||||
(synopsis "QuickCheck support for the Tasty test framework")
|
||||
(description "This package provides QuickCheck support for the Tasty
|
||||
@@ -140,23 +140,22 @@ contains the correct result for the test.")
|
||||
(define-public ghc-tasty
|
||||
(package
|
||||
(name "ghc-tasty")
|
||||
(version "1.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty" version))
|
||||
(sha256
|
||||
(base32 "10076vlklbcyiz7plakrihava5sy3dvwhskjldqzhfl18jvcg82l"))))
|
||||
(version "1.4.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty" version))
|
||||
(sha256
|
||||
(base32
|
||||
"006bf4gyc30i2gvb17hj1mzrh1kwnwf7l050x3f72wi6c2axl87l"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "tasty")))
|
||||
(inputs
|
||||
(list ghc-tagged
|
||||
ghc-optparse-applicative
|
||||
ghc-ansi-terminal
|
||||
ghc-unbounded-delays)) ; needed on 32-bit architectures
|
||||
(arguments
|
||||
`(#:cabal-revision ("2"
|
||||
"04llcf1i3gawdik0bjhxdgls2wkiqlx0gi76nfh784nv2qzxlpbb")))
|
||||
(append
|
||||
(list ghc-tagged ghc-optparse-applicative ghc-ansi-terminal)
|
||||
;; TODO: Add ghc-unbounded-delays unconditionally on next rebuild cycle.
|
||||
(if (member (%current-system) '("i686-linux"))
|
||||
(list ghc-unbounded-delays)
|
||||
'())))
|
||||
(home-page "https://github.com/UnkindPartition/tasty")
|
||||
(synopsis "Modern and extensible testing framework")
|
||||
(description
|
||||
@@ -168,20 +167,17 @@ and any other types of tests into a single test suite.")
|
||||
(define-public ghc-tasty-hedgehog
|
||||
(package
|
||||
(name "ghc-tasty-hedgehog")
|
||||
(version "1.4.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-hedgehog" version))
|
||||
(sha256
|
||||
(base32 "0lki03z0p38x0dkqx5cqga30zy5m31gxn1saqylja9bi6bbq8d25"))))
|
||||
(version "1.3.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-hedgehog" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1iq452mvd9wc9pfmjsmm848jwp3cvsk1faf2mlr21vcs0yaxvq3m"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "tasty-hedgehog")))
|
||||
(inputs (list ghc-tagged ghc-tasty ghc-hedgehog))
|
||||
(native-inputs (list ghc-tasty-expected-failure))
|
||||
(arguments
|
||||
`(#:cabal-revision ("6"
|
||||
"1rb8ncp6xyy7jr6v0hyls9m529ba0djndsxgxmkgr52rk3qq8lrc")))
|
||||
(home-page "https://github.com/qfpl/tasty-hedgehog")
|
||||
(synopsis "Integration for tasty and hedgehog")
|
||||
(description
|
||||
@@ -194,25 +190,22 @@ framework}.")
|
||||
(define-public ghc-tasty-hspec
|
||||
(package
|
||||
(name "ghc-tasty-hspec")
|
||||
(version "1.2.0.4")
|
||||
(version "1.2.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-hspec" version))
|
||||
(sha256
|
||||
(base32 "1hk1nkjvhp89xxgzj6dhbgw0fknnghpng6afq4i39hjkwv5p78ni"))))
|
||||
(base32 "0cfcpi25jmnmzfzsx364qsj68q6gyph5z112kl8ja222hnhhr2n2"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "tasty-hspec")))
|
||||
(inputs (list ghc-hspec
|
||||
ghc-hspec-api
|
||||
ghc-hspec-core
|
||||
ghc-quickcheck
|
||||
ghc-tasty
|
||||
ghc-tasty-smallcheck
|
||||
ghc-tasty-quickcheck))
|
||||
(arguments
|
||||
`(#:cabal-revision ("7"
|
||||
"0s1y34i8g7fva0z10ws3ipcy2jmlvqk0v4hdbx8rqnby5n0l5kay")))
|
||||
ghc-tasty-quickcheck
|
||||
ghc-tagged))
|
||||
(home-page "https://github.com/mitchellwrosen/tasty-hspec")
|
||||
(synopsis "Hspec support for the Tasty test framework")
|
||||
(description
|
||||
@@ -222,17 +215,19 @@ framework}.")
|
||||
(define-public ghc-tasty-hunit
|
||||
(package
|
||||
(name "ghc-tasty-hunit")
|
||||
(version "0.10.2")
|
||||
(version "0.10.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-hunit" version))
|
||||
(sha256
|
||||
(base32 "1xh33ss7dncm7zanzkzh7ywb3a46k7vkcbh6v8jb767gq6kizw2s"))))
|
||||
(base32
|
||||
"0gz6zz3w7s44pymw33xcxnawryl27zk33766sab96nz2xh91kvxp"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "tasty-hunit")))
|
||||
(inputs (list ghc-tasty ghc-call-stack-boot))
|
||||
(home-page "https://github.com/UnkindPartition/tasty")
|
||||
(inputs
|
||||
(list ghc-call-stack-boot ghc-tasty))
|
||||
(home-page "http://documentup.com/feuerbach/tasty")
|
||||
(synopsis "HUnit support for the Tasty test framework")
|
||||
(description "This package provides HUnit support for the Tasty Haskell
|
||||
test framework.")
|
||||
@@ -262,13 +257,13 @@ tasty.")
|
||||
(define-public ghc-tasty-lua
|
||||
(package
|
||||
(name "ghc-tasty-lua")
|
||||
(version "1.1.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-lua" version))
|
||||
(sha256
|
||||
(base32 "03b2n3gw2w70cnl57w3sh3cv5ka270sf07jlxpb4zs0z5gh83p1r"))))
|
||||
(version "1.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-lua" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vnyvgcjsvqhwwyqkbgqksr9ppj5whiihpwcqkg33sl7jj3ysdwv"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "tasty-lua")))
|
||||
(inputs (list ghc-hslua-core
|
||||
@@ -293,15 +288,16 @@ from Lua.")
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-th" version))
|
||||
(sha256
|
||||
(base32 "0b2ivrw2257m4cy4rjnkwqlarh83j1y3zywnmaqqqbvy667sqnj3"))))
|
||||
(base32
|
||||
"0b2ivrw2257m4cy4rjnkwqlarh83j1y3zywnmaqqqbvy667sqnj3"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "tasty-th")))
|
||||
(inputs (list ghc-haskell-src-exts ghc-tasty))
|
||||
(native-inputs (list ghc-tasty-hunit))
|
||||
(inputs
|
||||
(list ghc-haskell-src-exts ghc-tasty ghc-tasty-hunit))
|
||||
(home-page "https://github.com/bennofs/tasty-th")
|
||||
(synopsis "Automatically generate tasty TestTrees")
|
||||
(description
|
||||
"Tasty-th automatically generates tasty TestTrees from functions of the
|
||||
"Tasty-th automatically generates tasty TestTrees from functions of the
|
||||
current module, using TemplateHaskell. This is a fork the original
|
||||
test-framework-th package, modified to work with tasty instead of
|
||||
test-framework.")
|
||||
@@ -310,27 +306,28 @@ test-framework.")
|
||||
(define-public ghc-tasty-rerun
|
||||
(package
|
||||
(name "ghc-tasty-rerun")
|
||||
(version "1.1.20")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-rerun" version))
|
||||
(sha256
|
||||
(base32 "0px58jm1yqbg32qf2s0yk09d2qdjxkkz9df89f31q3nzw85jv2ky"))))
|
||||
(version "1.1.18")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-rerun" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0sccp5zx9v2rx741nbmgd8mzjhy5m4v74hk26d23xz93ph8aqx7s"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "tasty-rerun")))
|
||||
(inputs (list ghc-optparse-applicative ghc-split ghc-tagged ghc-tasty))
|
||||
(inputs
|
||||
(list ghc-optparse-applicative ghc-reducers ghc-split ghc-tagged
|
||||
ghc-tasty))
|
||||
(arguments
|
||||
`(#:cabal-revision ("1"
|
||||
"13xmx91hp7i0qzrhada9ckliqkynwlwa8x6pjbvxjcy1y0qsd7hk")))
|
||||
`(#:cabal-revision ("3"
|
||||
"0091arn90cx5rzn5n2bpb9alzybwraf9yj7hb0bwdfyamzpf3pkb")))
|
||||
(home-page "https://github.com/ocharles/tasty-rerun")
|
||||
(synopsis "Run tests by filtering the test tree")
|
||||
(description
|
||||
"This package adds the ability to run tests by filtering the
|
||||
(description "This package adds the ability to run tests by filtering the
|
||||
test tree based on the result of a previous test run. You can use this to run
|
||||
only those tests that failed in the last run, or to only run the tests that have
|
||||
been added since previous test run.")
|
||||
(license license:bsd-3)))
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-tasty-expected-failure
|
||||
(package
|
||||
@@ -365,17 +362,17 @@ development.")
|
||||
(define-public ghc-quickcheck-instances
|
||||
(package
|
||||
(name "ghc-quickcheck-instances")
|
||||
(version "0.3.33")
|
||||
(version "0.3.29.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "quickcheck-instances" version))
|
||||
(sha256
|
||||
(base32 "0rl8y3rb4fm4nqz122bp5f2aya4f8bc9m9i9n2vwlyq2gdacs0v8"))))
|
||||
(base32 "0jx2wfy7y5dr14s9i457g2aah4isjxry4mlbqhj7vlav6ib84gdj"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "quickcheck-instances")))
|
||||
(inputs (list ghc-quickcheck
|
||||
ghc-splitmix-bootstrap
|
||||
ghc-splitmix
|
||||
ghc-case-insensitive
|
||||
ghc-data-fix
|
||||
ghc-hashable
|
||||
@@ -386,15 +383,17 @@ development.")
|
||||
ghc-scientific
|
||||
ghc-strict
|
||||
ghc-tagged
|
||||
ghc-text-short
|
||||
ghc-these
|
||||
ghc-time-compat
|
||||
ghc-transformers-compat
|
||||
ghc-unordered-containers
|
||||
ghc-uuid-types
|
||||
ghc-vector))
|
||||
ghc-vector
|
||||
ghc-data-array-byte
|
||||
ghc-text-short))
|
||||
(arguments
|
||||
`(#:cabal-revision ("1"
|
||||
"1xkc7rsfgya4rwiizh0yfincws3knpdnh08m280v1dgik4kv37vh")))
|
||||
`(#:cabal-revision ("2"
|
||||
"118xy4z4dy4bpkzsp98daiv3l4n5j7ph9my0saca7cqjybqwkcip")))
|
||||
(home-page "https://github.com/haskellari/qc-instances")
|
||||
(synopsis "Common quickcheck instances")
|
||||
(description "This package provides QuickCheck instances for types
|
||||
@@ -410,38 +409,17 @@ provided by the Haskell Platform.")
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "quickcheck-unicode" version))
|
||||
(sha256
|
||||
(base32 "0s43s1bzbg3gwsjgm7fpyksd1339f0m26dlw2famxwyzgvm0a80k"))))
|
||||
(base32
|
||||
"0s43s1bzbg3gwsjgm7fpyksd1339f0m26dlw2famxwyzgvm0a80k"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "quickcheck-unicode")))
|
||||
(inputs (list ghc-quickcheck))
|
||||
(home-page "https://github.com/bos/quickcheck-unicode")
|
||||
(home-page
|
||||
"https://github.com/bos/quickcheck-unicode")
|
||||
(synopsis "Generator functions Unicode-related tests")
|
||||
(description "This package provides generator and shrink functions for
|
||||
testing Unicode-related software.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public ghc-quickcheck-text
|
||||
(package
|
||||
(name "ghc-quickcheck-text")
|
||||
(version "0.1.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "quickcheck-text" version))
|
||||
(sha256
|
||||
(base32 "02dbs0k6igmsa1hcw8yfvp09v7038vp4zlsp9706km3cmswgshj4"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "quickcheck-text")))
|
||||
(inputs (list ghc-quickcheck))
|
||||
(home-page "https://github.com/olorin/quickcheck-text")
|
||||
(synopsis "Alternative arbitrary instance for Text")
|
||||
(description
|
||||
"The usual Arbitrary instance for Text (in
|
||||
<https://hackage.haskell.org/package/quickcheck-instances quickcheck-instances>)
|
||||
only has single-byte instances and so isn't an ideal representation of a valid
|
||||
UTF-8 character. This package has generators for one-, two- and three-byte
|
||||
UTF-8 characters (all that are currently in use).")
|
||||
(license license:expat)))
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-quickcheck-io
|
||||
(package
|
||||
@@ -468,19 +446,17 @@ use HUnit assertions as QuickCheck properties.")
|
||||
(define-public ghc-quickcheck
|
||||
(package
|
||||
(name "ghc-quickcheck")
|
||||
(version "2.15.0.1")
|
||||
(version "2.14.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "QuickCheck" version))
|
||||
(sha256
|
||||
(base32 "0zvfydg44ibs1br522rzvdlxj9mpz0h62js1hay1sj5gvdnj3cm3"))))
|
||||
(base32 "0085lwy14r7hk7ibmv8d7d54ja9zin0ijf0b27xai898dfrj43sw"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "QuickCheck")))
|
||||
(inputs (list ghc-random-bootstrap ghc-splitmix-bootstrap))
|
||||
(arguments
|
||||
`(#:cabal-revision ("1"
|
||||
"0cgfp4s51cjphsn9cls6rndisvqmi94vn95xan9g1yz6p5xk7z8c")))
|
||||
(inputs
|
||||
(list ghc-random ghc-splitmix-bootstrap))
|
||||
(home-page "https://github.com/nick8325/quickcheck")
|
||||
(synopsis "Automatic testing of Haskell programs")
|
||||
(description
|
||||
@@ -503,8 +479,10 @@ expressed in Haskell, using combinators defined in the QuickCheck library.")
|
||||
(base32 "1kyam4cy7qmnizjwjm8jamq43w7f0fs6ljfplwj0ib6wi2kjh0wv"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "quickcheck-assertions")))
|
||||
(inputs (list ghc-quickcheck ghc-ieee754 ghc-pretty-show))
|
||||
(native-inputs (list ghc-hspec))
|
||||
(native-inputs
|
||||
(list ghc-hspec))
|
||||
(inputs
|
||||
(list ghc-ieee754 ghc-pretty-show ghc-quickcheck))
|
||||
(home-page "https://github.com/s9gf4ult/quickcheck-assertions")
|
||||
(synopsis "HUnit-like assertions for QuickCheck")
|
||||
(description
|
||||
@@ -516,27 +494,33 @@ HUnit.")
|
||||
(define-public ghc-test-framework
|
||||
(package
|
||||
(name "ghc-test-framework")
|
||||
(version "0.8.2.2")
|
||||
(version "0.8.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "test-framework" version))
|
||||
(sha256
|
||||
(base32 "04ijf5x6xx8i5lqv9ir33zs1rfzc4qkwwz8c1fdycnzvydcv4dnp"))))
|
||||
(base32
|
||||
"1hhacrzam6b8f10hyldmjw8pb7frdxh04rfg3farxcxwbnhwgbpm"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "test-framework")))
|
||||
(inputs (list ghc-ansi-terminal
|
||||
ghc-ansi-wl-pprint
|
||||
ghc-random
|
||||
ghc-regex-posix
|
||||
ghc-old-locale
|
||||
ghc-xml
|
||||
ghc-hostname))
|
||||
(native-inputs (list ghc-hunit ghc-quickcheck ghc-semigroups-bootstrap))
|
||||
(arguments
|
||||
`(#:cabal-revision ("1"
|
||||
"1yv1qsr6bxphxk9430id9bqhfmkffdqmfg0k017dp9pnn4pqj0zh")))
|
||||
(home-page "https://github.com/haskell/test-framework#readme")
|
||||
`(#:tests? #f ; FIXME: Tests do not build.
|
||||
#:cabal-revision
|
||||
("6" "0wbq9wiaag69nsqxwijzhs5y1hb9kbpkp1x65dvx158cxp8i9w9r")))
|
||||
;(native-inputs
|
||||
; (list ghc-hunit ghc-quickcheck))
|
||||
(inputs
|
||||
`(("ghc-ansi-terminal" ,ghc-ansi-terminal)
|
||||
("ghc-ansi-wl-pprint" ,ghc-ansi-wl-pprint)
|
||||
("ghc-hostname" ,ghc-hostname)
|
||||
("ghc-old-locale" ,ghc-old-locale)
|
||||
("ghc-random" ,ghc-random)
|
||||
("ghc-regex-posix" ,ghc-regex-posix)
|
||||
("ghc-xml" ,ghc-xml)
|
||||
("ghc-libxml" ,ghc-libxml)
|
||||
("ghc-semigroups" ,ghc-semigroups-bootstrap)))
|
||||
(home-page "https://batterseapower.github.io/test-framework/")
|
||||
(synopsis "Framework for running and organising tests")
|
||||
(description
|
||||
"This package allows tests such as QuickCheck properties and HUnit test
|
||||
@@ -573,21 +557,23 @@ reporting and test statistics output.")
|
||||
(define-public ghc-test-framework-quickcheck2
|
||||
(package
|
||||
(name "ghc-test-framework-quickcheck2")
|
||||
(version "0.3.0.6")
|
||||
(version "0.3.0.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "test-framework-quickcheck2" version))
|
||||
(sha256
|
||||
(base32 "1d0w2q9sm8aayk0aj1zr2irpnqwpzixn6pdfq1i904vs1kkb2xin"))))
|
||||
(base32
|
||||
"0ngf9vvby4nrdf1i7dxf5m9jn0g2pkq32w48xdr92n9hxka7ixn9"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "test-framework-quickcheck2")))
|
||||
(inputs (list ghc-test-framework ghc-quickcheck ghc-extensible-exceptions
|
||||
ghc-random))
|
||||
(arguments
|
||||
`(#:cabal-revision ("1"
|
||||
"1af2gw9gvq143jdqmsnxj23cgss9ffdyr67951a5x151aps04y7z")))
|
||||
(home-page "https://github.com/haskell/test-framework")
|
||||
`(#:cabal-revision
|
||||
("3" "0mglqfimla4vvv80mg08aj76zf4993wmngqlirh05h8i9nmgv6lh")))
|
||||
(inputs
|
||||
(list ghc-extensible-exceptions ghc-quickcheck ghc-random
|
||||
ghc-test-framework))
|
||||
(home-page "https://batterseapower.github.io/test-framework/")
|
||||
(synopsis "QuickCheck2 support for test-framework")
|
||||
(description
|
||||
"This package provides QuickCheck2 support for the test-framework
|
||||
@@ -606,8 +592,9 @@ package.")
|
||||
(base32 "1xpgpk1gp4w7w46b4rhj80fa0bcyz8asj2dcjb5x1c37b7rw90b0"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "test-framework-smallcheck")))
|
||||
(inputs (list ghc-test-framework ghc-smallcheck))
|
||||
(home-page "https://github.com/feuerbach/smallcheck")
|
||||
(inputs
|
||||
(list ghc-smallcheck ghc-test-framework))
|
||||
(home-page "https://github.com/Bodigrim/smallcheck")
|
||||
(synopsis "SmallCheck support for test-framework")
|
||||
(description
|
||||
"This package lets programmers use SmallCheck properties in Haskell's
|
||||
@@ -673,17 +660,17 @@ JUnit tool for Java.")
|
||||
(define-public hspec-discover
|
||||
(package
|
||||
(name "hspec-discover")
|
||||
(version "2.11.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hspec-discover" version))
|
||||
(sha256
|
||||
(base32 "044vgsy45ff00h9z2k3jgn2m37npcjiacc4cifahrjlmwa7a7ylp"))))
|
||||
(version "2.9.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hspec-discover" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0536kdxjw6p8b6gcwvmr22jbmb6cgzbddi0fkd01b2m847z37sb5"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "hspec-discover")))
|
||||
(native-inputs (list ghc-quickcheck ghc-hspec-meta ghc-mockery-bootstrap))
|
||||
(home-page "https://hspec.github.io/")
|
||||
(home-page "http://hspec.github.io/")
|
||||
(synopsis "Automatically discover and run Hspec tests")
|
||||
(description "hspec-discover is a tool which automatically discovers and
|
||||
runs Hspec tests.")
|
||||
@@ -692,30 +679,28 @@ runs Hspec tests.")
|
||||
(define-public ghc-hspec-core
|
||||
(package
|
||||
(name "ghc-hspec-core")
|
||||
(version "2.11.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hspec-core" version))
|
||||
(sha256
|
||||
(base32 "030400w95775jrivbi7n1nnx6j5z717rqd3986ggklb8h9hjalfc"))))
|
||||
(version "2.9.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hspec-core" version))
|
||||
(sha256
|
||||
(base32
|
||||
"040rzqiqwkp373jjpij8lkmv08pp2ya92zzcf95bw8px215rp08n"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "hspec-core")))
|
||||
(inputs (list ghc-hunit
|
||||
ghc-quickcheck
|
||||
ghc-ansi-terminal
|
||||
ghc-call-stack
|
||||
ghc-haskell-lexer
|
||||
ghc-clock
|
||||
ghc-hspec-expectations
|
||||
ghc-quickcheck-io
|
||||
ghc-random
|
||||
ghc-setenv
|
||||
ghc-tf-random))
|
||||
(native-inputs (list ghc-base-orphans-bootstrap ghc-hspec-meta
|
||||
ghc-silently-bootstrap ghc-temporary-bootstrap))
|
||||
(arguments
|
||||
`(#:cabal-revision ("1"
|
||||
"0yq9nnawcgbgxiz4ymfa8k66jrvgrhmv8j7g880x8k6q8q4ncqlq")))
|
||||
(home-page "https://hspec.github.io/")
|
||||
ghc-silently-bootstrap ghc-temporary))
|
||||
(home-page "http://hspec.github.io/")
|
||||
(synopsis "Testing framework for Haskell")
|
||||
(description "This library exposes internal types and functions that can
|
||||
be used to extend Hspec's functionality.")
|
||||
@@ -724,28 +709,23 @@ be used to extend Hspec's functionality.")
|
||||
(define-public ghc-hspec-meta
|
||||
(package
|
||||
(name "ghc-hspec-meta")
|
||||
(version "2.11.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hspec-meta" version))
|
||||
(sha256
|
||||
(base32 "1612pg5gihqjxrzqqvbbgckaqiwq3rmz3rg07lrjhzklg975nj69"))))
|
||||
(version "2.9.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hspec-meta" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1raxwpsmcijl3x2h5naw6aydhbiknxvhj3x7v384bi1rqi51ainm"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "hspec-meta")))
|
||||
(inputs (list ghc-hunit
|
||||
ghc-quickcheck
|
||||
(inputs (list ghc-quickcheck
|
||||
ghc-ansi-terminal
|
||||
ghc-call-stack-boot
|
||||
ghc-haskell-lexer
|
||||
ghc-hspec-expectations
|
||||
ghc-clock
|
||||
ghc-quickcheck-io
|
||||
ghc-random
|
||||
ghc-tf-random))
|
||||
(arguments
|
||||
`(#:cabal-revision ("2"
|
||||
"1jrk14s51psb0zjici56220iyb98i3q06sd3rsyx594s3cddgn5d")))
|
||||
(home-page "https://hspec.github.io/")
|
||||
ghc-setenv))
|
||||
(home-page "http://hspec.github.io/")
|
||||
(synopsis "Version of Hspec to test Hspec itself")
|
||||
(description "This library provides a stable version of Hspec which is
|
||||
used to test the in-development version of Hspec.")
|
||||
@@ -754,58 +734,38 @@ used to test the in-development version of Hspec.")
|
||||
(define-public ghc-hspec
|
||||
(package
|
||||
(name "ghc-hspec")
|
||||
(version "2.11.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hspec" version))
|
||||
(sha256
|
||||
(base32 "1zdgkn0gkcphcsfqcqwcfqiqvkz12ljks46v3czpaysndz8icfip"))))
|
||||
(version "2.9.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hspec" version))
|
||||
(sha256
|
||||
(base32
|
||||
"092sfqjkargxxszp9jjqa8ldjz0xv34jwn6k21q59ys5ckvsrpc1"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "hspec")))
|
||||
(inputs (list ghc-quickcheck ghc-hspec-core hspec-discover
|
||||
ghc-hspec-expectations))
|
||||
(home-page "https://hspec.github.io/")
|
||||
(home-page "http://hspec.github.io/")
|
||||
(synopsis "Testing Framework for Haskell")
|
||||
(description "This library provides the Hspec testing framework for
|
||||
Haskell, inspired by the Ruby library RSpec.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ghc-hspec-api
|
||||
(package
|
||||
(name "ghc-hspec-api")
|
||||
(version "2.11.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hspec-api" version))
|
||||
(sha256
|
||||
(base32 "1xn2b2hafyq6qm3zaia9nw27ir4cg8v2qn499bz2zwnp2vkjra07"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "hspec-api")))
|
||||
(inputs (list ghc-hspec-core))
|
||||
(native-inputs (list ghc-hspec))
|
||||
(home-page "https://hspec.github.io/")
|
||||
(synopsis "A Testing Framework for Haskell")
|
||||
(description
|
||||
"This package provides a stable API that can be used to extend Hspec's
|
||||
functionality.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ghc-hspec-contrib
|
||||
(package
|
||||
(name "ghc-hspec-contrib")
|
||||
(version "0.5.2")
|
||||
(version "0.5.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hspec-contrib" version))
|
||||
(sha256
|
||||
(base32 "0002xzvyh790iwf1y33d4nflrbp5sxvpsp010srcfryf1n3qx2b0"))))
|
||||
(base32 "1nyb5n2jiq920yyf3flzyxrs5xpfyppl3jn18zhviyysjjk5drpx"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "hspec-contrib")))
|
||||
(inputs (list ghc-hunit ghc-call-stack ghc-hspec-core))
|
||||
(native-inputs (list ghc-quickcheck ghc-hspec hspec-discover))
|
||||
(arguments (list #:tests? #f)) ; Fail to build.
|
||||
(home-page "https://hspec.github.io/")
|
||||
(synopsis "Contributed functionality for Hspec")
|
||||
(description "This package provides contributed Hspec extensions.")
|
||||
@@ -814,25 +774,22 @@ functionality.")
|
||||
(define-public ghc-hspec-expectations
|
||||
(package
|
||||
(name "ghc-hspec-expectations")
|
||||
(version "0.8.4")
|
||||
(version "0.8.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hspec-expectations" version))
|
||||
(sha256
|
||||
(base32 "1zr1pqchcwglfr5dvcrgc1l5x924n9w09n2zr68dmkqf4dzdx3bv"))))
|
||||
(base32
|
||||
"1vxl9zazbaapijr6zmcj72j9wf7ka1pirrjbwddwwddg3zm0g5l1"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "hspec-expectations")))
|
||||
(inputs (list ghc-hunit ghc-call-stack))
|
||||
(arguments
|
||||
;; Tests depend on ghc-nanospec.
|
||||
`(#:tests? #f
|
||||
#:cabal-revision ("2"
|
||||
"14zzsjqcz1zbnvi50i82lx84nc8b5da7ar5cazzh44lklyag0ds2")))
|
||||
(home-page "https://github.com/hspec/hspec-expectations#readme")
|
||||
(arguments '(#:tests? #f))
|
||||
(inputs (list ghc-hunit))
|
||||
(home-page "https://github.com/sol/hspec-expectations")
|
||||
(synopsis "Catchy combinators for HUnit")
|
||||
(description
|
||||
"This library provides catchy combinators for HUnit, see
|
||||
(description "This library provides catchy combinators for HUnit, see
|
||||
@uref{https://github.com/sol/hspec-expectations#readme, the README}.")
|
||||
(license license:expat)))
|
||||
|
||||
@@ -897,13 +854,13 @@ implementations of cryptographic ciphers.")
|
||||
(define-public ghc-hedgehog
|
||||
(package
|
||||
(name "ghc-hedgehog")
|
||||
(version "1.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hedgehog" version))
|
||||
(sha256
|
||||
(base32 "0sl6x9q9kyrpv73565w9na9dm10wzxdl0qgiraqarffynfgn0hg9"))))
|
||||
(version "1.1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "hedgehog" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0dbk75hk6hqpzkjdlpw3s63qhm42kqigij33p321by6xndb59jg1"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "hedgehog")))
|
||||
(inputs (list ghc-ansi-terminal
|
||||
@@ -918,12 +875,8 @@ implementations of cryptographic ciphers.")
|
||||
ghc-primitive
|
||||
ghc-random
|
||||
ghc-resourcet
|
||||
ghc-safe-exceptions
|
||||
ghc-transformers-base
|
||||
ghc-wl-pprint-annotated))
|
||||
(arguments
|
||||
`(#:cabal-revision ("2"
|
||||
"1m0b9m8dw5nw4b3w1jbp5fd0b0kqlyvvy3qsfxc7md77iafxq169")))
|
||||
(home-page "https://hedgehog.qa")
|
||||
(synopsis "Property-based testing in the spirt of QuickCheck")
|
||||
(description
|
||||
@@ -939,16 +892,26 @@ To get started quickly, see the examples:
|
||||
(define-public cabal-doctest
|
||||
(package
|
||||
(name "cabal-doctest")
|
||||
(version "1.0.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "cabal-doctest" version))
|
||||
(sha256
|
||||
(base32 "0gwjpwv2v7c7gs2dvf7ixsxx6likmgw5yi0fy4bqc0i7nkqg4bfw"))))
|
||||
(version "1.0.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "cabal-doctest" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wxs0xkspc80h0g8ks792lrzldxvcnhc9rja1j0k678ijs20hmjm"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "cabal-doctest")))
|
||||
(home-page "https://github.com/ulidtko/cabal-doctest")
|
||||
(arguments
|
||||
`(#:cabal-revision ("2"
|
||||
"0868js0qgfhvmyw4hjzrvmlzyqsm8dfsbmqhybxb90x44xi3r0i1")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'update-constraints
|
||||
(lambda _
|
||||
(substitute* "cabal-doctest.cabal"
|
||||
(("\\b(Cabal|base)\\s+[^,]+" all dep)
|
||||
dep)))))))
|
||||
(home-page "https://github.com/haskellari/cabal-doctest")
|
||||
(synopsis "Setup.hs helper for running doctests")
|
||||
(description
|
||||
"To properly work, the @code{doctest} package needs plenty of
|
||||
@@ -1008,13 +971,13 @@ random testing, and hybrids of the two.")
|
||||
(define-public ghc-inspection-testing
|
||||
(package
|
||||
(name "ghc-inspection-testing")
|
||||
(version "0.6.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "inspection-testing" version))
|
||||
(sha256
|
||||
(base32 "0zi1q86sd9jy5dpqfs2j71acdl7kvik0ps78xirpdhyldhwwyqws"))))
|
||||
(version "0.4.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "inspection-testing" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mxff0v3ciccbk4b8kxnh4752fzbwn7213qd8xji0csv6gi2w83y"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "inspection-testing")))
|
||||
(home-page "https://github.com/nomeata/inspection-testing")
|
||||
@@ -1047,33 +1010,33 @@ examples and more information.")
|
||||
(name "ghc-quickcheck-classes")
|
||||
(version "0.6.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "quickcheck-classes" version))
|
||||
(sha256
|
||||
(base32 "19iw15mvb7gws3ljdxqwsbb4pmfc0sfflf8szgmrhiqr3k82mqv2"))))
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "quickcheck-classes" version))
|
||||
(sha256
|
||||
(base32 "19iw15mvb7gws3ljdxqwsbb4pmfc0sfflf8szgmrhiqr3k82mqv2"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "quickcheck-classes")))
|
||||
(inputs (list ghc-quickcheck
|
||||
ghc-primitive
|
||||
ghc-primitive-addr
|
||||
ghc-quickcheck-classes-base
|
||||
ghc-semigroups-bootstrap
|
||||
ghc-fail
|
||||
ghc-tagged
|
||||
ghc-aeson
|
||||
ghc-semigroupoids
|
||||
ghc-semirings
|
||||
ghc-vector))
|
||||
(native-inputs (list ghc-base-orphans ghc-base-orphans ghc-tasty
|
||||
ghc-tasty-quickcheck))
|
||||
(arguments
|
||||
`(#:cabal-revision ("3"
|
||||
"1pawam5rsdcdv21fqc87khzqjm0ixwzklfxd6gk3b2qrr5q66bn5")))
|
||||
(inputs
|
||||
(list ghc-quickcheck
|
||||
ghc-primitive
|
||||
ghc-primitive-addr
|
||||
ghc-quickcheck-classes-base
|
||||
ghc-aeson
|
||||
ghc-semigroupoids
|
||||
ghc-semirings
|
||||
ghc-vector))
|
||||
(native-inputs
|
||||
(list ghc-base-orphans
|
||||
ghc-tagged
|
||||
ghc-base-orphans
|
||||
ghc-tagged
|
||||
ghc-tasty
|
||||
ghc-tasty-quickcheck))
|
||||
(home-page "https://github.com/andrewthad/quickcheck-classes#readme")
|
||||
(synopsis "QuickCheck common typeclasses")
|
||||
(description
|
||||
"This library provides QuickCheck properties to ensure that typeclass
|
||||
"This library provides QuickCheck properties to ensure that typeclass
|
||||
instances adhere to the set of laws that they are supposed to. There are
|
||||
other libraries that do similar things, such as @code{genvalidity-hspec} and
|
||||
@code{checkers}. This library differs from other solutions by not introducing
|
||||
@@ -1089,26 +1052,24 @@ constraints more cleanly.")
|
||||
(name "ghc-quickcheck-classes-base")
|
||||
(version "0.6.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "quickcheck-classes-base" version))
|
||||
(sha256
|
||||
(base32 "16c6gq4cqpkwnq1pzkhm6r7mrwk4an50ha5w77bmiia2qkhla6ch"))))
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "quickcheck-classes-base" version))
|
||||
(sha256
|
||||
(base32 "16c6gq4cqpkwnq1pzkhm6r7mrwk4an50ha5w77bmiia2qkhla6ch"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "quickcheck-classes-base")))
|
||||
(inputs (list ghc-quickcheck
|
||||
ghc-contravariant
|
||||
ghc-bifunctors
|
||||
ghc-semigroups-bootstrap
|
||||
ghc-fail
|
||||
ghc-tagged))
|
||||
(arguments
|
||||
`(#:cabal-revision ("1"
|
||||
"1p3v38jhpx0r6rnvaspkkivl8xyq2mq4xnmycgmkj1gr77vplkdr")))
|
||||
(inputs
|
||||
(list ghc-quickcheck
|
||||
ghc-contravariant
|
||||
ghc-bifunctors
|
||||
ghc-semigroups
|
||||
ghc-fail
|
||||
ghc-tagged))
|
||||
(home-page "https://github.com/andrewthad/quickcheck-classes#readme")
|
||||
(synopsis "QuickCheck common typeclasses from `base`")
|
||||
(description
|
||||
"This library is a minimal variant of `quickcheck-classes` that only
|
||||
"This library is a minimal variant of `quickcheck-classes` that only
|
||||
provides laws for typeclasses from `base`. The main purpose of splitting this
|
||||
out is so that `primitive` can depend on `quickcheck-classes-base` in its test
|
||||
suite, avoiding the circular dependency that arises if `quickcheck-classes` is
|
||||
@@ -1126,61 +1087,67 @@ this library uses the higher-kinded typeclasses
|
||||
(define-public ghc-doctest-lib
|
||||
(package
|
||||
(name "ghc-doctest-lib")
|
||||
(version "0.1.1.1")
|
||||
(version "0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "doctest-lib" version))
|
||||
(sha256
|
||||
(base32 "1hb3zx1xzib3v41blnwcbhc2v0rzwdzq7gm4sajqndimwjkkxc67"))))
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "doctest-lib" version))
|
||||
(sha256
|
||||
(base32 "1vswam0dhw52dihgnzirh18gqs8rj8h6jd7pl6y1mg2f9f9zmih2"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "doctest-lib")))
|
||||
(home-page "https://hub.darcs.net/thielema/doctest-lib/")
|
||||
(synopsis "Parts of doctest exposed as library")
|
||||
(description
|
||||
"Parts of doctest exposed as library. For use with the doctest-extract utility.")
|
||||
"Parts of doctest exposed as library. For use with the doctest-extract utility.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ghc-doctest-exitcode-stdio
|
||||
(package
|
||||
(name "ghc-doctest-exitcode-stdio")
|
||||
(version "0.0.0.1")
|
||||
(version "0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "doctest-exitcode-stdio" version))
|
||||
(sha256
|
||||
(base32 "0kg5xiw4giyvqpcj6cxqqnysvixhxlwm0pbg3qks8dzwb5w79dvk"))))
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "doctest-exitcode-stdio" version))
|
||||
(sha256
|
||||
(base32 "1g3c7yrqq2mwqbmvs8vkx1a3cf0p0x74b7fnn344dsk7bsfpgv0x"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "doctest-exitcode-stdio")))
|
||||
(inputs (list ghc-doctest-lib ghc-quickcheck ghc-semigroups))
|
||||
(inputs
|
||||
(list ghc-doctest-lib ghc-quickcheck ghc-semigroups))
|
||||
(arguments
|
||||
`(#:cabal-revision ("1"
|
||||
"1065s8bch6zhl6mc8nhvfpwd1irmjd04z7xgycbpihc14x4ijim3")))
|
||||
(home-page "https://hub.darcs.net/thielema/doctest-exitcode-stdio/")
|
||||
(synopsis "Run Doctests in a @code{Cabal.Test.exitcode-stdio} environment")
|
||||
(description
|
||||
"This package allows on to run Doctests in a Cabal.Test.exitcode-stdio
|
||||
"This package allows on to run Doctests in a Cabal.Test.exitcode-stdio
|
||||
environment.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-tasty-silver
|
||||
(package
|
||||
(name "ghc-tasty-silver")
|
||||
(version "3.3.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-silver" version))
|
||||
(sha256
|
||||
(base32 "01w3576kymglcddinh10m1wgy71dia49k2pnw5y1c97jjrhanf17"))))
|
||||
(version "3.3.1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-silver" version))
|
||||
(sha256
|
||||
(base32
|
||||
"13j0zs0ciijv9q2nncna1gbgsgw2g7xc228hzmqic1750n3ybz9m"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "tasty-silver")))
|
||||
(inputs (list ghc-ansi-terminal
|
||||
ghc-async
|
||||
ghc-optparse-applicative
|
||||
ghc-process-extras
|
||||
ghc-regex-tdfa
|
||||
ghc-silently
|
||||
ghc-tagged
|
||||
ghc-tasty
|
||||
ghc-temporary))
|
||||
ghc-temporary
|
||||
ghc-semigroups))
|
||||
(native-inputs (list ghc-tasty-hunit))
|
||||
(home-page "https://github.com/phile314/tasty-silver")
|
||||
(synopsis "Fancy test runner, including support for golden tests")
|
||||
@@ -1196,19 +1163,16 @@ result of golden tests.")
|
||||
(define-public ghc-tasty-inspection-testing
|
||||
(package
|
||||
(name "ghc-tasty-inspection-testing")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-inspection-testing" version))
|
||||
(sha256
|
||||
(base32 "0wl2xlnbmqdkwhi4ic6a4q4lxf9qg433lidi8d0hlp3ykrjpbcay"))))
|
||||
(version "0.1.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tasty-inspection-testing" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0p46w44f19w7lvdzyg3vq6qzix0rjp8p23ilxz82dviq38lgmifp"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "tasty-inspection-testing")))
|
||||
(inputs (list ghc-inspection-testing ghc-tasty))
|
||||
(arguments
|
||||
`(#:cabal-revision ("2"
|
||||
"0z9al0hyq381fw146agbpz7rf24rwms1w91m7s0k1w3xbfw16l9n")))
|
||||
(home-page "https://github.com/Bodigrim/tasty-inspection-testing")
|
||||
(synopsis "Inspection testing support for tasty")
|
||||
(description
|
||||
@@ -1218,13 +1182,13 @@ result of golden tests.")
|
||||
(define-public ghc-proctest
|
||||
(package
|
||||
(name "ghc-proctest")
|
||||
(version "0.1.3.1")
|
||||
(version "0.1.3.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "proctest" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0yvhc0l5aj170ymhjx4ig0im0yd7wfa150m5lqhabr8j7cf16l7y"))))
|
||||
"02iz323arx9zwclvspgaaqz81bp6jdnj89pjm08n2gamg39zsbdn"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "proctest")))
|
||||
(inputs (list ghc-hunit ghc-hspec ghc-quickcheck))
|
||||
|
||||
+143
-196
@@ -62,19 +62,18 @@ format.")
|
||||
(package
|
||||
(name "ghc-asn1-encoding")
|
||||
(version "0.9.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "asn1-encoding" version))
|
||||
(sha256
|
||||
(base32 "02nsr30h5yic1mk7znf0q4z3n560ip017n60hg7ya25rsfmxxy6r"))))
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "asn1-encoding" version))
|
||||
(sha256
|
||||
(base32
|
||||
"02nsr30h5yic1mk7znf0q4z3n560ip017n60hg7ya25rsfmxxy6r"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "asn1-encoding")))
|
||||
(inputs (list ghc-hourglass ghc-asn1-types))
|
||||
(native-inputs (list ghc-tasty ghc-tasty-quickcheck))
|
||||
(arguments
|
||||
`(#:cabal-revision ("2"
|
||||
"16503ryhq15f2rfdav2qnkq11dg2r3vk3f9v64q9dmxf8dh8zv97")))
|
||||
(inputs
|
||||
(list ghc-hourglass ghc-asn1-types))
|
||||
(native-inputs
|
||||
(list ghc-tasty ghc-tasty-quickcheck))
|
||||
(home-page "https://github.com/vincenthz/hs-asn1")
|
||||
(synopsis "ASN1 data reader and writer in RAW, BER and DER forms")
|
||||
(description
|
||||
@@ -112,18 +111,15 @@ when ASN1 pattern matching is not convenient.")
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "crypto-api" version))
|
||||
(sha256
|
||||
(base32 "19bsmkqkpnvh01b77pmyarx00fic15j4hvg4pzscrj4prskrx2i9"))))
|
||||
(base32
|
||||
"19bsmkqkpnvh01b77pmyarx00fic15j4hvg4pzscrj4prskrx2i9"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "crypto-api")))
|
||||
(inputs (list ghc-cereal ghc-tagged ghc-entropy))
|
||||
(arguments
|
||||
`(#:cabal-revision ("1"
|
||||
"1z6n1sa5pn3iqvqjrd8hv4bc2pxzsrhm5sh0l8z7g9lbqp6w0wp5")))
|
||||
(home-page "https://github.com/TomMD/crypto-api")
|
||||
(synopsis "Provides generic interface for cryptographic operations
|
||||
for Haskell")
|
||||
(description
|
||||
"This Haskell package provides a generic interface for
|
||||
(description "This Haskell package provides a generic interface for
|
||||
cryptographic operations (hashes, ciphers, randomness).
|
||||
|
||||
Maintainers of hash and cipher implementations are encouraged to add instances
|
||||
@@ -201,15 +197,13 @@ that hides the C implementation.")
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "cryptohash-md5" version))
|
||||
(sha256
|
||||
(base32 "018g13hkmq5782i24b4518hcd926fl6x6fh5hd7b9wlxwc5dn21v"))))
|
||||
(base32
|
||||
"018g13hkmq5782i24b4518hcd926fl6x6fh5hd7b9wlxwc5dn21v"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "cryptohash-md5")))
|
||||
(native-inputs (list ghc-base16-bytestring ghc-puremd5 ghc-tasty
|
||||
ghc-tasty-quickcheck ghc-tasty-hunit))
|
||||
(arguments
|
||||
`(#:cabal-revision ("6"
|
||||
"0m7f9mgw4w9vcch37ja9zgbn0knq8rjppqr9x2ylkcdxfdnmhhif")))
|
||||
(home-page "https://github.com/haskell-hvr/cryptohash-md5")
|
||||
ghc-tasty-hunit ghc-tasty-quickcheck))
|
||||
(home-page "https://github.com/hvr/cryptohash-md5")
|
||||
(synopsis "MD5 implementation for Haskell")
|
||||
(description "This Haskell package provides implementation of MD5.")
|
||||
(license license:bsd-3)))
|
||||
@@ -218,20 +212,20 @@ that hides the C implementation.")
|
||||
(package
|
||||
(name "ghc-cryptohash-sha1")
|
||||
(version "0.11.101.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "cryptohash-sha1" version))
|
||||
(sha256
|
||||
(base32 "0h9jl9v38gj0vnscqx7xdklk634p05fa6z2pcvknisq2mnbjq154"))))
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "cryptohash-sha1" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0h9jl9v38gj0vnscqx7xdklk634p05fa6z2pcvknisq2mnbjq154"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "cryptohash-sha1")))
|
||||
(native-inputs (list ghc-base16-bytestring ghc-sha ghc-tasty
|
||||
ghc-tasty-quickcheck ghc-tasty-hunit))
|
||||
(arguments
|
||||
`(#:cabal-revision ("6"
|
||||
"1cxdw2y10z4v0mz91wki7f233jziipx85j4qy5msig4nv3djkprb")))
|
||||
(home-page "https://github.com/haskell-hvr/cryptohash-sha1")
|
||||
`(#:cabal-revision ("1"
|
||||
"0bz9rfl7b2iwn45m0lxcmsyi5rrv3xdgzx2lzr79bds91dw6i25b")))
|
||||
(home-page "https://github.com/hvr/cryptohash-sha1")
|
||||
(synopsis "SHA-1 implementation for Haskell")
|
||||
(description
|
||||
"This Haskell package provides an incremental and one-pass,
|
||||
@@ -252,18 +246,20 @@ the C implementation.")
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "cryptohash-sha256" version))
|
||||
(sha256
|
||||
(base32 "1xkb7iqplbw4fy1122p79xf1zcb7k44rl0wmfj1q06l7cdqxr9vk"))))
|
||||
(base32
|
||||
"1xkb7iqplbw4fy1122p79xf1zcb7k44rl0wmfj1q06l7cdqxr9vk"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "cryptohash-sha256")))
|
||||
(native-inputs (list ghc-base16-bytestring ghc-sha ghc-tasty
|
||||
ghc-tasty-quickcheck ghc-tasty-hunit))
|
||||
(arguments
|
||||
`(#:cabal-revision ("6"
|
||||
"01s12sl5mxvraj5fj3cs0pkb03pm8xpjz13y09dpl7i6rv6f578f")))
|
||||
(home-page "https://github.com/haskell-hvr/cryptohash-sha256")
|
||||
`(#:cabal-revision
|
||||
("1" "1hyzqv30rpj920ddnr0zypyjjlh52vyp2d140pn2byayj820rkgs")
|
||||
#:tests? #f)) ; TODO: tasty ==1.1.*
|
||||
(native-inputs
|
||||
(list ghc-base16-bytestring ghc-sha ghc-tasty ghc-tasty-hunit
|
||||
ghc-tasty-quickcheck))
|
||||
(home-page "https://github.com/hvr/cryptohash-sha1")
|
||||
(synopsis "SHA-256 implementation for Haskell")
|
||||
(description
|
||||
"This Haskell package provides an incremental and
|
||||
(description "This Haskell package provides an incremental and
|
||||
one-pass, pure API to the @uref{https://en.wikipedia.org/wiki/SHA-2,
|
||||
SHA-256 cryptographic hash algorithm}, with performance close to the
|
||||
fastest implementations available in other languages.
|
||||
@@ -276,12 +272,12 @@ the C implementation.")
|
||||
(package
|
||||
(name "ghc-cryptonite")
|
||||
(version "0.30")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "cryptonite" version))
|
||||
(sha256
|
||||
(base32 "07bb97iszhnrfddh5ql6p3dqd0c13xycjw5n2kljw7d0ia59q2an"))))
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "cryptonite" version))
|
||||
(sha256
|
||||
(base32
|
||||
"07bb97iszhnrfddh5ql6p3dqd0c13xycjw5n2kljw7d0ia59q2an"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "cryptonite")))
|
||||
(inputs (list ghc-memory ghc-basement))
|
||||
@@ -299,13 +295,13 @@ generators, and more.")
|
||||
(define-public ghc-curve25519
|
||||
(package
|
||||
(name "ghc-curve25519")
|
||||
(version "0.2.8.1")
|
||||
(version "0.2.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "curve25519" version))
|
||||
(sha256
|
||||
(base32 "0p2rxad477cxbpxryvp78v8nrrf5gm35106jbqrj5cjgksappkdj"))))
|
||||
(base32 "1p8b1lppkvc19974hr43lcqdi4nj55j2nf7gsnp8dn7gyf23aayq"))))
|
||||
(build-system haskell-build-system)
|
||||
(native-inputs
|
||||
(list ghc-hunit
|
||||
@@ -330,17 +326,19 @@ elsewhere.")
|
||||
(define-public ghc-digest
|
||||
(package
|
||||
(name "ghc-digest")
|
||||
(version "0.0.2.1")
|
||||
(version "0.0.1.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "digest" version))
|
||||
(sha256
|
||||
(base32 "163418p50bqdxn8ajzj6x3455xbch9jq1w6psbkdz5qzw017py6b"))))
|
||||
(base32 "02jzw0bsng87y1n2kgpy7vb30lvqsnpbfd8dpg4hmvbg9s06qgdj"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "digest")))
|
||||
(arguments
|
||||
`(#:extra-directories ("zlib")))
|
||||
`(#:extra-directories ("zlib")
|
||||
#:cabal-revision ("1"
|
||||
"0wh34kyag2vhwvsdwv8qmvm13gy32nc94yfyqfdnl67nyc2sx8wl")))
|
||||
(inputs (list zlib))
|
||||
(native-inputs (list pkg-config))
|
||||
(home-page "http://hackage.haskell.org/package/digest")
|
||||
@@ -354,13 +352,13 @@ are implemented as FFI bindings to efficient code from zlib.")
|
||||
(define-public ghc-entropy
|
||||
(package
|
||||
(name "ghc-entropy")
|
||||
(version "0.4.1.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "entropy" version))
|
||||
(sha256
|
||||
(base32 "1slj5n783k2amsx2hqs5qwvcw4rgfhdhgmiyg7cii0wg4w0mmpgm"))))
|
||||
(version "0.4.1.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "entropy" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rbx4ydabrjs8kkdg9laznkh9nisiq6b5z93vnp9bh6iy59ivb45"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "entropy")))
|
||||
(home-page "https://github.com/TomMD/entropy")
|
||||
@@ -417,35 +415,6 @@ the MD5 digest (hash) algorithm. This now supports the @code{crypto-api} class
|
||||
interface.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-rsa
|
||||
(package
|
||||
(name "ghc-rsa")
|
||||
(version "2.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "RSA" version))
|
||||
(sha256
|
||||
(base32 "0hchsqrxpfw7mqrqwscfy8ig1w2di6w3nxpzi873w0gibv2diibj"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "RSA")))
|
||||
(inputs (list ghc-crypto-api ghc-crypto-pubkey-types ghc-sha))
|
||||
(native-inputs (list ghc-quickcheck ghc-tagged ghc-test-framework
|
||||
ghc-test-framework-quickcheck2))
|
||||
(arguments
|
||||
`(#:cabal-revision ("2"
|
||||
"090yzm99fmh7c6z4m9hbkasqhc3xlw104g2b6wnk77n1abd13ryj")))
|
||||
(home-page "http://hackage.haskell.org/package/RSA")
|
||||
(synopsis
|
||||
"Implementation of RSA, using the padding schemes of PKCS#1 v2.1.")
|
||||
(description
|
||||
"This library implements the RSA encryption and signature algorithms for
|
||||
arbitrarily-sized @code{ByteStrings}. While the implementations work, they are
|
||||
not necessarily the fastest ones on the planet. Particularly key generation.
|
||||
The algorithms included are based of RFC 3447, or the Public-Key Cryptography
|
||||
Standard for RSA, version 2.1 (a.k.a, PKCS#1 v2.1).")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-sha
|
||||
(package
|
||||
(name "ghc-sha")
|
||||
@@ -625,24 +594,6 @@ implementation. If it matters for your case, you should make sure you have
|
||||
AES-NI available, or you'll need to use a different implementation.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-crypto-pubkey-types
|
||||
(package
|
||||
(name "ghc-crypto-pubkey-types")
|
||||
(version "0.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "crypto-pubkey-types" version))
|
||||
(sha256
|
||||
(base32 "0q0wlzjmpx536h1zcdzrpxjkvqw8abj8z0ci38138kpch4igbnby"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "crypto-pubkey-types")))
|
||||
(inputs (list ghc-asn1-types ghc-asn1-encoding))
|
||||
(home-page "http://github.com/vincenthz/hs-crypto-pubkey-types")
|
||||
(synopsis "Generic cryptography Public keys algorithm types")
|
||||
(description "Generic cryptography public keys algorithm types.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-crypto-random
|
||||
(package
|
||||
(name "ghc-crypto-random")
|
||||
@@ -666,13 +617,13 @@ abstraction for CPRNGs.")
|
||||
(define-public ghc-crypton
|
||||
(package
|
||||
(name "ghc-crypton")
|
||||
(version "1.0.4")
|
||||
(version "0.34")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "crypton" version))
|
||||
(sha256
|
||||
(base32 "06h1qjvqd8gmiyzvh31sc061vcgns101l0774c44a8k44015925l"))))
|
||||
(base32 "1mhypjhzn95in853bp7ary0a2xc6lsji6j8hrrgn2mfa4ilq8i24"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "crypton")))
|
||||
(inputs (list ghc-memory ghc-basement))
|
||||
@@ -702,13 +653,13 @@ abstraction for CPRNGs.")
|
||||
(define-public ghc-crypton-x509
|
||||
(package
|
||||
(name "ghc-crypton-x509")
|
||||
(version "1.7.7")
|
||||
(version "1.7.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "crypton-x509" version))
|
||||
(sha256
|
||||
(base32 "10pkva9wvm6ih48bprxlnyhnn3nr6xq9dhkrk4hfxpsaij6f9v7g"))))
|
||||
(base32 "1zyaz0krf08g36g30zr5wn8f2x51l4dj2zcjnhpiw9h05p54mdzb"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "crypton-x509")))
|
||||
(inputs (list ghc-memory
|
||||
@@ -718,7 +669,13 @@ abstraction for CPRNGs.")
|
||||
ghc-asn1-encoding
|
||||
ghc-asn1-parse
|
||||
ghc-crypton))
|
||||
(native-inputs (list ghc-tasty ghc-tasty-quickcheck))
|
||||
(native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-x509))
|
||||
(arguments
|
||||
`(#:cabal-revision ("1"
|
||||
"10a2x47znhbayyfr6fqgq27623akpycyjbfxz4hnavavf1x6ary5")
|
||||
;; build phase fails when tests are activated.
|
||||
;; See https://github.com/kazu-yamamoto/crypton-certificate/pull/7
|
||||
#:tests? #f))
|
||||
(home-page "https://github.com/kazu-yamamoto/crypton-certificate")
|
||||
(synopsis "X509 reader and writer")
|
||||
(description "This package provides generic X509 support for Haskell.")
|
||||
@@ -727,13 +684,13 @@ abstraction for CPRNGs.")
|
||||
(define-public ghc-crypton-x509-store
|
||||
(package
|
||||
(name "ghc-crypton-x509-store")
|
||||
(version "1.6.11")
|
||||
(version "1.6.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "crypton-x509-store" version))
|
||||
(sha256
|
||||
(base32 "07vq7f883cm5krqz2kc0qkh9ks54jknrwdqvfqsk91s12b693a83"))))
|
||||
(base32 "0vr5b9cyf9x016wn1g0bryslf5nz8jq2sy8r3llwqfg02apihqiy"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "crypton-x509-store")))
|
||||
(inputs (list ghc-pem ghc-asn1-types ghc-asn1-encoding ghc-crypton
|
||||
@@ -770,25 +727,24 @@ storage methods, and accessors.")
|
||||
(define-public ghc-crypton-x509-validation
|
||||
(package
|
||||
(name "ghc-crypton-x509-validation")
|
||||
(version "1.6.14")
|
||||
(version "1.6.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "crypton-x509-validation" version))
|
||||
(sha256
|
||||
(base32 "07b09kgrd3m5ahxpj458r5ycd30bz8ldwjwf19mdcnfv4x0kj3pd"))))
|
||||
(base32 "1xjhwvmkcy47a6xiqxb3xy944ca7g660203jdrz5xzd46zibfq0f"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "crypton-x509-validation")))
|
||||
(inputs (list ghc-memory
|
||||
ghc-hourglass
|
||||
ghc-data-default
|
||||
ghc-data-default-class
|
||||
ghc-pem
|
||||
ghc-asn1-types
|
||||
ghc-asn1-encoding
|
||||
ghc-crypton-x509
|
||||
ghc-crypton-x509-store
|
||||
ghc-crypton
|
||||
ghc-iproute))
|
||||
ghc-crypton))
|
||||
(native-inputs (list ghc-tasty ghc-tasty-hunit))
|
||||
(home-page "https://github.com/kazu-yamamoto/crypton-certificate")
|
||||
(synopsis "X.509 Certificate and CRL validation")
|
||||
@@ -796,44 +752,6 @@ storage methods, and accessors.")
|
||||
and @dfn{Certificates revocation list} (CRL) validation.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-crypton-socks
|
||||
(package
|
||||
(name "ghc-crypton-socks")
|
||||
(version "0.6.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "crypton-socks" version))
|
||||
(sha256
|
||||
(base32 "0fwzlvndyxjwhxambxdjzzm63yvb6jzsg53dkv3i6x17biz0hdm8"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "crypton-socks")))
|
||||
(inputs (list ghc-cereal ghc-network ghc-network-bsd))
|
||||
(home-page "http://github.com/mpilgrem/crypton-socks")
|
||||
(synopsis "SOCKS Protocol Version 5")
|
||||
(description
|
||||
"This package provides a library implementing SOCKS Protocol Version 5.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-crypto-token
|
||||
(package
|
||||
(name "ghc-crypto-token")
|
||||
(version "0.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "crypto-token" version))
|
||||
(sha256
|
||||
(base32 "18xphlvn6wzyi6lqrvm5vic97pkcbiph1938p5l1mb22rj5215zm"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "crypto-token")))
|
||||
(inputs (list ghc-crypton ghc-memory ghc-network-byte-order))
|
||||
(native-inputs (list ghc-hspec hspec-discover))
|
||||
(home-page "http://hackage.haskell.org/package/crypto-token")
|
||||
(synopsis "crypto tokens")
|
||||
(description "Encrypted tokens/tickets to keep state in the client side.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-cprng-aes
|
||||
(package
|
||||
(name "ghc-cprng-aes")
|
||||
@@ -886,19 +804,20 @@ percent.
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "ed25519" version))
|
||||
(sha256
|
||||
(base32 "0v8msqvgzimhs7p5ri25hrb1ni2wvisl5rmdxy89fc59py79b9fq"))))
|
||||
(base32
|
||||
"0v8msqvgzimhs7p5ri25hrb1ni2wvisl5rmdxy89fc59py79b9fq"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "ed25519")))
|
||||
(native-inputs (list ghc-quickcheck ghc-doctest))
|
||||
(arguments
|
||||
`(#:cabal-revision ("9"
|
||||
"0y5vfdcys18waa5k5zxiq9n8jq0l05j76riml23i0gxmwgdhsmgi")
|
||||
;; the tests don't work with current versions of the test frameworks
|
||||
#:tests? #f))
|
||||
(home-page "https://github.com/thoughtpolice/hs-ed25519/")
|
||||
`(#:cabal-revision
|
||||
("6" "0qyx6cl52fnll8lp6v9133wfvv3zhvq7v2crn441mng520j9wp48")
|
||||
;; We omit these test suites because they require old versions of
|
||||
;; packages and packages we do not have.
|
||||
#:configure-flags
|
||||
'("--flags=-test-hlint -test-doctests -test-properties")))
|
||||
(home-page "http://thoughtpolice.github.com/hs-ed25519")
|
||||
(synopsis "Ed25519 cryptographic signatures")
|
||||
(description
|
||||
"This package provides a simple, fast, self-contained
|
||||
(description "This package provides a simple, fast, self-contained
|
||||
copy of the Ed25519 public-key signature system with a clean interface.
|
||||
It also includes support for detached signatures, and thorough
|
||||
documentation on the design and implementation, including usage
|
||||
@@ -908,41 +827,29 @@ guidelines.")
|
||||
(define-public ghc-tls
|
||||
(package
|
||||
(name "ghc-tls")
|
||||
(version "2.1.8")
|
||||
(version "1.5.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tls" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1csdy3426lva1a5f7gh9qm96vzfraqj91jbxlm79wbf1jsdzfhsq"))))
|
||||
"0rxdv8ab98kd4nqql7djmmi51k4vayq21s38s43sx3rzn0iyla3b"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "tls")))
|
||||
(inputs (list ghc-asn1-types
|
||||
ghc-asn1-encoding
|
||||
ghc-base16-bytestring
|
||||
ghc-cereal
|
||||
ghc-crypton
|
||||
ghc-crypton-x509
|
||||
ghc-crypton-x509-store
|
||||
ghc-crypton-x509-validation
|
||||
ghc-data-default
|
||||
(inputs (list ghc-cereal
|
||||
ghc-data-default-class
|
||||
ghc-memory
|
||||
ghc-network
|
||||
ghc-serialise
|
||||
ghc-transformers
|
||||
ghc-unix-time
|
||||
ghc-zlib))
|
||||
(native-inputs (list ghc-quickcheck
|
||||
ghc-asn1-types
|
||||
ghc-async
|
||||
ghc-crypton
|
||||
ghc-crypton-x509
|
||||
ghc-crypton-x509-validation
|
||||
ghc-hourglass
|
||||
ghc-hspec
|
||||
ghc-serialise
|
||||
hspec-discover))
|
||||
(home-page "http://github.com/haskell-tls/hs-tls")
|
||||
ghc-cryptonite
|
||||
ghc-asn1-types
|
||||
ghc-asn1-encoding
|
||||
ghc-x509
|
||||
ghc-x509-store
|
||||
ghc-x509-validation
|
||||
ghc-async
|
||||
ghc-hourglass
|
||||
ghc-network))
|
||||
(native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-quickcheck))
|
||||
(home-page "http://github.com/vincenthz/hs-tls")
|
||||
(synopsis "TLS/SSL protocol native implementation (Server and Client)")
|
||||
(description
|
||||
"Native Haskell TLS and SSL protocol implementation for server and client.
|
||||
@@ -954,6 +861,43 @@ Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges, and many
|
||||
extensions.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-tls-1.9
|
||||
(package
|
||||
(name "ghc-tls")
|
||||
(version "1.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "tls" version))
|
||||
(sha256
|
||||
(base32 "0gj3af9sqd0bw7dpcqfyvbslpxsk2ij00a77kl710fwhw35vj1an"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "tls")))
|
||||
(inputs (list ghc-cereal
|
||||
ghc-data-default-class
|
||||
ghc-memory
|
||||
ghc-crypton
|
||||
ghc-asn1-types
|
||||
ghc-asn1-encoding
|
||||
ghc-crypton-x509
|
||||
ghc-crypton-x509-store
|
||||
ghc-crypton-x509-validation
|
||||
ghc-async
|
||||
ghc-unix-time
|
||||
ghc-network))
|
||||
(native-inputs (list ghc-tasty ghc-tasty-quickcheck ghc-quickcheck))
|
||||
(home-page "https://github.com/haskell-tls/hs-tls")
|
||||
(synopsis "TLS/SSL protocol native implementation (server and client)")
|
||||
(description
|
||||
"This package provides a native Haskell TLS and SSL protocol
|
||||
implementation for server and client. It provides a high-level implementation
|
||||
of a sensitive security protocol, eliminating a common set of security issues
|
||||
through the use of the advanced type system, high level constructions and
|
||||
common Haskell features. It currently implements the SSL3.0, TLS1.0, TLS1.1
|
||||
and TLS1.2 protocol, and supports RSA and Ephemeral (Elliptic curve and
|
||||
regular) Diffie Hellman key exchanges, and many extensions.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ghc-hsopenssl
|
||||
(package
|
||||
(name "ghc-hsopenssl")
|
||||
@@ -1016,14 +960,17 @@ the tls package, and borrows some ideas from x509-system.")
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "openssl-streams" version))
|
||||
(sha256
|
||||
(base32 "10pnnpzgb5xr811kc9qdk7h2cgn6hk2yiyhnzz8f8p0fjzc0pwjm"))))
|
||||
(base32
|
||||
"10pnnpzgb5xr811kc9qdk7h2cgn6hk2yiyhnzz8f8p0fjzc0pwjm"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "openssl-streams")))
|
||||
(inputs (list ghc-hsopenssl ghc-io-streams ghc-network))
|
||||
(native-inputs (list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
|
||||
(inputs
|
||||
(list ghc-hsopenssl ghc-io-streams ghc-network))
|
||||
(native-inputs
|
||||
(list ghc-hunit ghc-test-framework ghc-test-framework-hunit))
|
||||
(arguments
|
||||
`(#:cabal-revision ("3"
|
||||
"1vizl9yajkbd59rrnfb38xwq7hfj36avbv6vwqnkhbvz3qaj3dwg")))
|
||||
`(#:cabal-revision ("1"
|
||||
"0vfawnfcjrw29qg1n7k6z6bk4bmnk869gjlr9mxw4mzxgl80b2vp")))
|
||||
(home-page "https://hackage.haskell.org/package/openssl-streams")
|
||||
(synopsis "OpenSSL network support for io-streams")
|
||||
(description "This library contains io-streams routines for secure
|
||||
|
||||
+542
-643
File diff suppressed because it is too large
Load Diff
+4464
-5204
File diff suppressed because it is too large
Load Diff
+12
-329
@@ -1686,6 +1686,12 @@ SRC_HC_OPTS += -optc-mno-outline-atomics
|
||||
(file-pattern ".*\\.conf\\.d$")
|
||||
(file-type 'directory)))))))
|
||||
|
||||
;; Versions newer than ghc defined below (i.e. the compiler
|
||||
;; haskell-build-system uses) should use ghc-next as their name to
|
||||
;; ensure ghc (without version specification) and ghc-* packages are
|
||||
;; always compatible. See https://issues.guix.gnu.org/issue/47335.
|
||||
(define-public ghc ghc-9.2)
|
||||
|
||||
;; 9.4 is the last version to support the make-based build system,
|
||||
;; but it boot with 9.2, only 9.0 is supported.
|
||||
(define ghc-bootstrap-for-9.4 ghc-9.0)
|
||||
@@ -1749,24 +1755,22 @@ SRC_HC_OPTS += -optc-mno-outline-atomics
|
||||
(let ((base ghc-9.2))
|
||||
(package
|
||||
(inherit base)
|
||||
(name "ghc")
|
||||
(version "9.4.3")
|
||||
(name "ghc-next")
|
||||
(version "9.4.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.haskell.org/ghc/dist/" version
|
||||
"/ghc-" version "-src.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0nlhx2cbq1jh2yr6zk475lavjkh9sncj57qp77p51pkfad4kkxpa"))
|
||||
"1qk7rlqf02s3b6m6sqqngmjq1mxnrz88h159lz6k25gddmdg5kp8"))
|
||||
(patches (search-patches "ghc-9-StgCRunAsm-only-when-needed.patch"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments arguments
|
||||
((#:phases phases '%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
;; Files don’t exist any more.
|
||||
(delete 'skip-tests)))
|
||||
((#:tests? _ #f)
|
||||
#f)))
|
||||
(delete 'skip-tests)))))
|
||||
(native-inputs
|
||||
`(;; GHC 9.4 must be built with GHC >= 9.0.
|
||||
("ghc-bootstrap" ,ghc-bootstrap-for-9.4)
|
||||
@@ -1778,7 +1782,8 @@ SRC_HC_OPTS += -optc-mno-outline-atomics
|
||||
version "/ghc-" version "-testsuite.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xbps33pq6mg2bwp5gvmc4qhgdq52yng5993if99b9s3fylqk86l"))))
|
||||
"04p2lawxxg3nyv6frzhyjyh3arhqqyh5ka3alxa2pxhcd2hdcja3"))
|
||||
(patches (search-patches "ghc-testsuite-recomp015-execstack.patch"))))
|
||||
("ghc-alex" ,ghc-alex-bootstrap-for-9.4)
|
||||
("ghc-happy" ,ghc-happy-bootstrap-for-9.4)
|
||||
,@(filter (match-lambda
|
||||
@@ -1793,326 +1798,4 @@ SRC_HC_OPTS += -optc-mno-outline-atomics
|
||||
(file-pattern ".*\\.conf\\.d$")
|
||||
(file-type 'directory)))))))
|
||||
|
||||
;;; GHC >= 9.6 must be built using it's new haskell-written Hadrian build
|
||||
;;; system. Use this opportunity to cut the inheritance chain to simplify
|
||||
;;; understanding what building ghc requires with the new build system.
|
||||
|
||||
(define-public ghc-9.8
|
||||
(let ((ghc-bootstrap ghc-9.4))
|
||||
(package
|
||||
(name "ghc")
|
||||
(version "9.8.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://downloads.haskell.org/~ghc/" version
|
||||
"/ghc-" version "-src.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0l87yb8hmd350klrp6lw2h9hjlla11pgzx1n4jlrfdvkgxmyvy5j"))))
|
||||
(outputs (list "out" "doc"))
|
||||
(arguments
|
||||
(list
|
||||
#:make-flags #~(list "-V" "--docs=no-sphinx")
|
||||
#:configure-flags
|
||||
#~(list
|
||||
(string-append "--with-gmp-libraries="
|
||||
(assoc-ref %build-inputs "gmp") "/lib")
|
||||
(string-append "--with-gmp-includes="
|
||||
(assoc-ref %build-inputs "gmp") "/include")
|
||||
"--with-system-libffi"
|
||||
(string-append "--with-ffi-libraries="
|
||||
(assoc-ref %build-inputs "libffi") "/lib")
|
||||
(string-append "--with-ffi-includes="
|
||||
(assoc-ref %build-inputs "libffi") "/include")
|
||||
(string-append "--with-curses-libraries="
|
||||
(assoc-ref %build-inputs "ncurses") "/lib")
|
||||
(string-append "--with-curses-includes="
|
||||
(assoc-ref %build-inputs "ncurses") "/include"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'fix-iserv-rpath
|
||||
(lambda _
|
||||
(mkdir-p "_build")
|
||||
(call-with-output-file
|
||||
"_build/hadrian.settings"
|
||||
(lambda (port)
|
||||
(display
|
||||
(string-append
|
||||
"*.iserv.ghc.link.opts += -optl-Wl,-rpath,"
|
||||
#$output "/lib/ghc-" #$(package-version this-package)
|
||||
"/lib/" #$(or (%current-target-system)
|
||||
(%current-system))
|
||||
"-ghc-" #$(package-version this-package) "/")
|
||||
port)))))
|
||||
;; This phase patches the 'ghc-pkg' command so that it sorts the list
|
||||
;; of packages in the binary cache it generates.
|
||||
(add-before 'build 'fix-ghc-pkg-nondeterminism
|
||||
(lambda _
|
||||
(substitute* "utils/ghc-pkg/Main.hs"
|
||||
(("confs = map \\(path </>\\) \\$ filter \\(\".conf\" `isSuffixOf`\\) fs")
|
||||
"confs = map (path </>) $ filter (\".conf\" `isSuffixOf`) (sort fs)"))))
|
||||
(add-after 'unpack 'unpack-testsuite
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-directory-excursion ".."
|
||||
(invoke "tar" "xvf" (assoc-ref inputs "ghc-testsuite")))))
|
||||
(add-after 'unpack-testsuite 'fix-/bin/sh-references
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute*
|
||||
(list "hadrian/src/Rules/BinaryDist.hs"
|
||||
"hadrian/src/Rules/Test.hs"
|
||||
"libraries/process/System/Process/Posix.hs"
|
||||
"libraries/process/jsbits/process.js"
|
||||
"libraries/unix/cbits/execvpe.c"
|
||||
"testsuite/tests/driver/T8602/T8602.script"
|
||||
"testsuite/timeout/timeout.py")
|
||||
(("/bin/sh") (search-input-file inputs "/bin/sh")))))
|
||||
(add-after 'unpack-testsuite 'fix-cc-reference
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute*
|
||||
(list "utils/hsc2hs/src/Common.hs")
|
||||
(("\"cc\"") "\"gcc\""))))
|
||||
;; XXX: something causes ld-wrapper to see test\ \ \ spaces/... and
|
||||
;; look for the files "test\", "\", "\" and "spaces/...", which obviously
|
||||
;; don't exist
|
||||
(add-after 'unpack-testsuite 'fix-testsuite
|
||||
(lambda _
|
||||
(substitute*
|
||||
(list "testsuite/driver/runtests.py")
|
||||
(("'test spaces'") "'dont-test-spaces'"))))
|
||||
(add-before 'configure 'set-target-programs
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((binutils (assoc-ref inputs "binutils"))
|
||||
(gcc (assoc-ref inputs "gcc"))
|
||||
(ld-wrapper (assoc-ref inputs "ld-wrapper")))
|
||||
(setenv "CC" (string-append gcc "/bin/gcc"))
|
||||
(setenv "CXX" (string-append gcc "/bin/g++"))
|
||||
(setenv "LD" (string-append ld-wrapper "/bin/ld"))
|
||||
(setenv "NM" (string-append binutils "/bin/nm"))
|
||||
(setenv "RANLIB" (string-append binutils "/bin/ranlib"))
|
||||
(setenv "STRIP" (string-append binutils "/bin/strip"))
|
||||
;; The 'ar' command does not follow the same pattern.
|
||||
(setenv "fp_prog_ar" (string-append binutils "/bin/ar")))))
|
||||
(add-before 'build 'build-hadrian
|
||||
(lambda* (#:key (inputs '()) #:allow-other-keys)
|
||||
(invoke "./hadrian/bootstrap/bootstrap.py"
|
||||
"-s" (assoc-ref inputs "hadrian-bootstrap")
|
||||
"-w" (which "ghc"))))
|
||||
(add-before 'build-hadrian 'fix-environment
|
||||
(lambda _
|
||||
(unsetenv "GHC_PACKAGE_PATH")
|
||||
(setenv "CONFIG_SHELL" (which "bash"))))
|
||||
(replace 'build
|
||||
(lambda* (#:key (parallel-build? #f) (make-flags '())
|
||||
#:allow-other-keys)
|
||||
(apply invoke "_build/bin/hadrian"
|
||||
`("binary-dist-dir"
|
||||
,@(if parallel-build?
|
||||
(list (string-append
|
||||
"-j" (number->string
|
||||
(parallel-job-count)))))
|
||||
,@make-flags))))
|
||||
(replace 'check
|
||||
(lambda* (#:key (tests? #t) (parallel-tests? #f) (make-flags '())
|
||||
#:allow-other-keys)
|
||||
(if tests?
|
||||
(apply invoke "_build/bin/hadrian"
|
||||
`(,@(if parallel-tests?
|
||||
(list (string-append
|
||||
"-j"
|
||||
(number->string (parallel-job-count))))
|
||||
'())
|
||||
,@make-flags
|
||||
"test"
|
||||
,(string-append
|
||||
"--broken-test="
|
||||
(string-join
|
||||
(list "T15904" ; ld-wrapper, apparently
|
||||
"T16521" ; no idea
|
||||
;; These fail due to gcc
|
||||
;; -Wincompatible-pointer-types, which
|
||||
;; apparently is not used in GHC's CI
|
||||
;; https://gitlab.haskell.org/ghc/ghc/-/issues/22263
|
||||
"hs_try_putmvar001"
|
||||
"list_threads_and_misc_roots"
|
||||
"testwsdeque")))
|
||||
"--skip-perf"))
|
||||
(format #t "test suite not run~%"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key (make-flags '()) #:allow-other-keys)
|
||||
(apply invoke "_build/bin/hadrian"
|
||||
`("install"
|
||||
,@make-flags
|
||||
,(string-append "--prefix=" #$output)))))
|
||||
(add-after 'install 'remove-unnecessary-references
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* (find-files (string-append (assoc-ref outputs "out") "/lib/")
|
||||
"settings")
|
||||
(("/gnu/store/.*/bin/(.*)" m program) program))
|
||||
|
||||
;; Remove references to "doc" output from "out" by rewriting
|
||||
;; the "haddock-interfaces" fields and removing the optional
|
||||
;; "haddock-html" field in the generated .conf files.
|
||||
(let ((doc (assoc-ref outputs "doc"))
|
||||
(out (assoc-ref outputs "out")))
|
||||
(with-fluids ((%default-port-encoding #f))
|
||||
(for-each (lambda (config-file)
|
||||
(substitute* config-file
|
||||
(("^haddock-html: .*") "\n")
|
||||
(((format #f "^haddock-interfaces: ~a" doc))
|
||||
(string-append "haddock-interfaces: " out))))
|
||||
(find-files (string-append out "/lib") ".conf")))
|
||||
;; Move the referenced files to the "out" output.
|
||||
(for-each (lambda (haddock-file)
|
||||
(let* ((subdir (string-drop haddock-file (string-length doc)))
|
||||
(new (string-append out subdir)))
|
||||
(mkdir-p (dirname new))
|
||||
(rename-file haddock-file new)))
|
||||
(find-files doc "\\.haddock$")))))
|
||||
(add-after 'install 'replace-$pkgroot
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
((@ (srfi srfi-11) let*-values)
|
||||
(((out) (assoc-ref outputs "out"))
|
||||
((_ version) (package-name->name+version
|
||||
(strip-store-file-name out))))
|
||||
;; We split out the version because we want this to also work
|
||||
;; with packages named "ghc-next" instead of "ghc"
|
||||
(substitute*
|
||||
(find-files
|
||||
(string-append (assoc-ref outputs "out") "/lib/ghc-"
|
||||
version "/lib/package.conf.d/")
|
||||
"^.*\\.conf$")
|
||||
(("\\$\\{pkgroot\\}/")
|
||||
(string-append (assoc-ref outputs "out") "/lib/ghc-"
|
||||
version "/lib/")))))))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list bash-minimal gmp ncurses libffi))
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
("python" ,python)
|
||||
("git" ,git-minimal/pinned)
|
||||
("which" ,which)
|
||||
("ghostscript" ,ghostscript)
|
||||
("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
|
||||
("ghc-bootstrap" ,ghc-bootstrap)
|
||||
("ghc-alex" ,ghc-alex-bootstrap-for-9.4)
|
||||
("ghc-happy" ,ghc-happy-bootstrap-for-9.4)
|
||||
("ghc-testsuite"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://www.haskell.org/ghc/dist/"
|
||||
version "/ghc-" version "-testsuite.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hxylm3nhxzl7yidarlavvcg1240w4bk0hy5jnvwna24jyxz69i6"))
|
||||
(patches (search-patches "ghc-testsuite-recomp015-execstack.patch"))))
|
||||
("hadrian-bootstrap"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://downloads.haskell.org/~ghc/"
|
||||
version "/hadrian-bootstrap-sources/"
|
||||
"hadrian-bootstrap-sources-"
|
||||
(package-version ghc-bootstrap) ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"14dkxif9x4hy85phcj3j0glf95k04g4ab6hfchpw9vxgvk97syi1"))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GHC_PACKAGE_PATH")
|
||||
(files (list (string-append "lib/ghc-" version)))
|
||||
(file-pattern ".*\\.conf\\.d$")
|
||||
(file-type 'directory))))
|
||||
(home-page "https://www.haskell.org/ghc")
|
||||
(synopsis "The Glasgow Haskell Compiler")
|
||||
(description
|
||||
"The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
|
||||
interactive environment for the functional language Haskell.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public ghc-9.10
|
||||
(let ((base ghc-9.8))
|
||||
(package
|
||||
(inherit base)
|
||||
(name "ghc")
|
||||
(version "9.10.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://downloads.haskell.org/~ghc/" version
|
||||
"/ghc-" version "-src.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pm84cgr3yg99r3srdjllgz6zig8h7dbwa597srwcnjp0nh41zam"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
(replace 'check
|
||||
(lambda* (#:key (tests? #t) (parallel-tests? #f) (make-flags '())
|
||||
#:allow-other-keys)
|
||||
(if tests?
|
||||
(apply invoke "_build/bin/hadrian"
|
||||
`(,@(if parallel-tests?
|
||||
(list (string-append
|
||||
"-j"
|
||||
(number->string (parallel-job-count))))
|
||||
'())
|
||||
,@make-flags
|
||||
"test"
|
||||
,(string-append
|
||||
"--broken-test="
|
||||
(string-join
|
||||
(list "T15904" ; ld-wrapper, apparently
|
||||
"T16521" ; no idea
|
||||
;; These fail due to gcc
|
||||
;; -Wincompatible-pointer-types, which
|
||||
;; apparently is not used in GHC's CI
|
||||
;; https://gitlab.haskell.org/ghc/ghc/-/issues/22263
|
||||
"list_threads_and_misc_roots"
|
||||
"stack_misc_closures")))
|
||||
"--skip-perf"))
|
||||
(format #t "test suite not run~%"))))))))
|
||||
(native-inputs
|
||||
`(("ghc-bootstrap" ,base)
|
||||
("ghc-testsuite"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://downloads.haskell.org/~ghc/"
|
||||
version "/ghc-" version "-testsuite.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"143ifc4g3jc6s9hcry5qha913rzwg4hpsvk6pqvxk5r0qigfxjwx"))
|
||||
(patches (search-patches "ghc-testsuite-recomp015-execstack.patch"))))
|
||||
("hadrian-bootstrap"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://downloads.haskell.org/~ghc/" version
|
||||
"/hadrian-bootstrap-sources/"
|
||||
"hadrian-bootstrap-sources-"
|
||||
(package-version base) ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"162lbafvdamfhx1jldax3shgk8jbbqn4an97ny363lxbdjgdn708"))))
|
||||
,@(filter (match-lambda
|
||||
(("ghc-bootstrap" . _) #f)
|
||||
(("ghc-testsuite" . _) #f)
|
||||
(("hadrian-bootstrap" . _) #f)
|
||||
(_ #t))
|
||||
(package-native-inputs base))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GHC_PACKAGE_PATH")
|
||||
(files (list (string-append "lib/ghc-" version)))
|
||||
(file-pattern ".*\\.conf\\.d$")
|
||||
(file-type 'directory)))))))
|
||||
|
||||
;; Versions newer than ghc defined below (i.e. the compiler
|
||||
;; haskell-build-system uses) should use ghc-next as their name to
|
||||
;; ensure ghc (without version specification) and ghc-* packages are
|
||||
;; always compatible. See https://issues.guix.gnu.org/issue/47335.
|
||||
(define-public ghc ghc-9.10)
|
||||
|
||||
;;; haskell.scm ends here
|
||||
|
||||
@@ -1923,7 +1923,7 @@ and Scan Tailor Enhanced versions as well as including many more bug fixes.")
|
||||
(define-public simpleitk
|
||||
(package
|
||||
(name "simpleitk")
|
||||
(version "2.5.4")
|
||||
(version "2.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1932,9 +1932,7 @@ and Scan Tailor Enhanced versions as well as including many more bug fixes.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1bzj5naqbgv2b31iqgz7qqk9rixsvjqycjz6l7w3gm7v1aj14jpb"))
|
||||
(patches
|
||||
(search-patches "simpleitk-r-4.6.0.patch"))))
|
||||
(base32 "0fvacjfq0p8v7r2cmzwwh7bxb6ayavznhj0m81dah463x472qkd2"))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "python" "r"))
|
||||
(arguments
|
||||
@@ -2034,7 +2032,7 @@ and Scan Tailor Enhanced versions as well as including many more bug fixes.")
|
||||
version "/SimpleITKData-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hryvi9fgqac00ng1bfhw3lm0al1dh0ka6jglba2q368nls428nx")))))
|
||||
"0i4f87g1rh6xxisw06gwwyi8f216qqs6ih3gghi3k49vsl0h4g5d")))))
|
||||
(synopsis "Simplified interface to @acronym{ITK, Insight Toolkit}")
|
||||
(description
|
||||
"SimpleITK is an image analysis toolkit built on top of @acronym{ITK,
|
||||
|
||||
@@ -1218,6 +1218,12 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-version linux-libre-7.0-version)
|
||||
(define-public linux-libre-gnu-revision linux-libre-7.0-gnu-revision)
|
||||
(define-public linux-libre-pristine-source linux-libre-7.0-pristine-source)
|
||||
(define-public linux-libre-source linux-libre-7.0-source)
|
||||
(define-public linux-libre linux-libre-7.0)
|
||||
|
||||
(define-public linux-libre-6.19
|
||||
(make-linux-libre* linux-libre-6.19-version
|
||||
linux-libre-6.19-gnu-revision
|
||||
@@ -1234,12 +1240,6 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
|
||||
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-version linux-libre-6.18-version)
|
||||
(define-public linux-libre-gnu-revision linux-libre-6.18-gnu-revision)
|
||||
(define-public linux-libre-pristine-source linux-libre-6.18-pristine-source)
|
||||
(define-public linux-libre-source linux-libre-6.18-source)
|
||||
(define-public linux-libre linux-libre-6.18)
|
||||
|
||||
(define-public linux-libre-6.12
|
||||
(make-linux-libre* linux-libre-6.12-version
|
||||
linux-libre-6.12-gnu-revision
|
||||
@@ -1979,6 +1979,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform linux-libre-arm64-mnt-reform-7.0)
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform-6.19
|
||||
;; Kernel for use on the MNT/Reform systems
|
||||
;; https://mntre.com/reform.html
|
||||
@@ -2315,8 +2317,6 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform2-dsi.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-reform-next.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-mnt-pocket-reform.dtb")))))))))))
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform linux-libre-arm64-mnt-reform-6.18)
|
||||
|
||||
(define-public linux-libre-arm64-mnt-reform-6.12
|
||||
;; Kernel for use on the MNT/Reform systems
|
||||
;; https://mntre.com/reform.html
|
||||
|
||||
@@ -3857,15 +3857,11 @@ follows a traditional multi-track tape recorder control paradigm.")
|
||||
(list
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'python3.12-compatibility
|
||||
(add-after 'unpack 'python3.11-compatibility
|
||||
(lambda _
|
||||
(substitute* '("waflib/Context.py"
|
||||
"waflib/ConfigSet.py")
|
||||
(("'rU'") "'r'"))
|
||||
(substitute* "waflib/Context.py"
|
||||
(("imp.new_module") "types.ModuleType")
|
||||
(("import os, re, imp, sys")
|
||||
"import os, re, types, sys"))))
|
||||
(("'rU'") "'r'"))))
|
||||
(add-after 'unpack 'remove-sse-flags
|
||||
(lambda* (#:key system #:allow-other-keys)
|
||||
(unless (or (string-prefix? "x86_64" system)
|
||||
|
||||
@@ -1006,11 +1006,11 @@ publish/subscribe, RPC-style request/reply, or service discovery.")
|
||||
(home-page "https://nng.nanomsg.org/")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public nng-1.11
|
||||
(define-public nng-1.10
|
||||
(package
|
||||
(inherit nng)
|
||||
(name "nng")
|
||||
(version "1.11")
|
||||
(version "1.10.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -1019,12 +1019,9 @@ publish/subscribe, RPC-style request/reply, or service discovery.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1l4rxwnc9knndwmy7xg53adyrm17ld7c5gxwm7vgfmgfy0my4zy8"))))
|
||||
(base32 "13nmz1p8qd12gyj7wm8fz1ccap47qh41sxz4jqdhj8gnd0kiy5h4"))))
|
||||
(arguments
|
||||
(list
|
||||
;; At least on aarch64-linux, running tests in parallel leads to ports
|
||||
;; being unavailable in later tests, which then fail.
|
||||
#:parallel-tests? #false
|
||||
#:configure-flags
|
||||
'(list "-DNNG_ENABLE_COVERAGE=ON"
|
||||
"-DNNG_ENABLE_TLS=ON"
|
||||
@@ -1038,7 +1035,6 @@ publish/subscribe, RPC-style request/reply, or service discovery.")
|
||||
(("add_nng_test1\\(httpclient 60 NNG_SUPP_HTTP\\)") "")
|
||||
(("add_nng_test\\(tls 60\\)") ""))
|
||||
(substitute* "src/platform/CMakeLists.txt"
|
||||
;; This test only seems to fail on aarch64-linux
|
||||
(("nng_test\\(platform_test\\)") "")
|
||||
(("nng_test\\(resolver_test\\)") ""))
|
||||
(substitute* "src/sp/transport/tcp/CMakeLists.txt"
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
From 4617d2682738aeaece613ea61390dd47447c2d9f Mon Sep 17 00:00:00 2001
|
||||
From: Potato Hatsue <1793913507@qq.com>
|
||||
Date: Fri, 12 Sep 2025 06:07:02 -0700
|
||||
Subject: [PATCH] Allow QuickCheck 2.15.0
|
||||
|
||||
---
|
||||
Test/Chell/QuickCheck.hs | 8 ++++++++
|
||||
chell-quickcheck.cabal | 2 +-
|
||||
2 files changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Test/Chell/QuickCheck.hs b/Test/Chell/QuickCheck.hs
|
||||
index ea1c488..3227b8e 100644
|
||||
--- a/Test/Chell/QuickCheck.hs
|
||||
+++ b/Test/Chell/QuickCheck.hs
|
||||
@@ -1,3 +1,4 @@
|
||||
+{-# LANGUAGE CPP #-}
|
||||
module Test.Chell.QuickCheck (property) where
|
||||
|
||||
import Test.Chell qualified as Chell
|
||||
@@ -30,7 +31,12 @@ property name prop = Chell.test name $ \opts -> Text.withNullTerminal $ \term ->
|
||||
{ State.terminal = term,
|
||||
State.maxSuccessTests = QuickCheck.maxSuccess args,
|
||||
State.maxDiscardedRatio = QuickCheck.maxDiscardRatio args,
|
||||
+#if MIN_VERSION_QuickCheck(2,15,0)
|
||||
+ State.replayStartSize = Nothing,
|
||||
+ State.maxTestSize = QuickCheck.maxSize args,
|
||||
+#else
|
||||
State.computeSize = computeSize (QuickCheck.maxSize args) (QuickCheck.maxSuccess args),
|
||||
+#endif
|
||||
State.numSuccessTests = 0,
|
||||
State.numDiscardedTests = 0,
|
||||
State.classes = mempty,
|
||||
@@ -59,6 +65,7 @@ property name prop = Chell.test name $ \opts -> Text.withNullTerminal $ \term ->
|
||||
Test.GaveUp {} -> Chell.TestAborted notes output
|
||||
Test.NoExpectedFailure {} -> Chell.TestFailed notes [failure]
|
||||
|
||||
+#if !MIN_VERSION_QuickCheck(2,15,0)
|
||||
-- copied from quickcheck-2.4.1.1/src/Test/QuickCheck/Test.hs
|
||||
computeSize :: Int -> Int -> Int -> Int -> Int
|
||||
computeSize maxSize maxSuccess n d
|
||||
@@ -79,3 +86,4 @@ computeSize maxSize maxSuccess n d
|
||||
|
||||
roundTo :: Int -> Int -> Int
|
||||
roundTo n m = (n `div` m) * m
|
||||
+#endif
|
||||
diff --git a/chell-quickcheck.cabal b/chell-quickcheck.cabal
|
||||
index e854412..1f3a1d9 100644
|
||||
--- a/chell-quickcheck.cabal
|
||||
+++ b/chell-quickcheck.cabal
|
||||
@@ -34,7 +34,7 @@ library
|
||||
build-depends:
|
||||
, base ^>= 4.16 || ^>= 4.17 || ^>= 4.18 || ^>= 4.19 || ^>= 4.20 || ^>= 4.21
|
||||
, chell ^>= 0.5
|
||||
- , QuickCheck ^>= 2.14.2
|
||||
+ , QuickCheck ^>= 2.14.2 || ^>= 2.15.0
|
||||
, random ^>= 1.2.1 || ^>= 1.3.0
|
||||
|
||||
exposed-modules:
|
||||
@@ -4,7 +4,7 @@
|
||||
# number of sections)
|
||||
'$(TEST_HC)' $(TEST_HC_OPTS) Generate.hs
|
||||
./Generate > ManySections.s
|
||||
+ echo '.section .note.GNU-stack,"",@progbits' >> ManySections.s
|
||||
+ echo '.section .note.GNU-stack,"",@progbits' > ManySections.s
|
||||
echo 'main = putStrLn "Running main..."' > Main.hs
|
||||
'$(TEST_HC)' $(TEST_HC_OPTS) -c ManySections.s
|
||||
'$(TEST_HC)' $(TEST_HC_OPTS) --make -O Main.hs ManySections.o
|
||||
|
||||
@@ -0,0 +1,513 @@
|
||||
This patch shas been backported from the development version or Biostrings.
|
||||
|
||||
From 100602242840322b5f6c267faaf8198c1a5aa2af Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
|
||||
Date: Thu, 5 Mar 2026 22:36:30 -0800
|
||||
Subject: [PATCH] Biostrings 2.79.5: Get rid of never-used SparseMIndex and
|
||||
SparseList classes
|
||||
|
||||
This also eliminates the non-API calls to R.
|
||||
---
|
||||
DESCRIPTION | 3 +-
|
||||
NAMESPACE | 2 -
|
||||
R/MIndex-class.R | 79 -------------------------
|
||||
R/SparseList-class.R | 80 -------------------------
|
||||
man/Biostrings-internals.Rd | 9 ---
|
||||
src/Biostrings.h | 41 -------------
|
||||
src/MIndex_class.c | 67 ---------------------
|
||||
src/R_init_Biostrings.c | 1 -
|
||||
src/SparseList_utils.c | 113 ------------------------------------
|
||||
9 files changed, 1 insertion(+), 394 deletions(-)
|
||||
delete mode 100644 R/SparseList-class.R
|
||||
delete mode 100644 src/SparseList_utils.c
|
||||
|
||||
diff --git a/DESCRIPTION b/DESCRIPTION
|
||||
index a5d027cc..dbc323ea 100644
|
||||
--- a/DESCRIPTION
|
||||
+++ b/DESCRIPTION
|
||||
@@ -76,3 +76,3 @@ Collate: utils.R IUPAC_CODE_MAP.R AMINO_ACID_CODE.R GENETIC_CODE.R
|
||||
injectHardMask.R padAndClip.R strsplit-methods.R misc.R
|
||||
- SparseList-class.R MIndex-class.R lowlevel-matching.R
|
||||
+ MIndex-class.R lowlevel-matching.R
|
||||
match-utils.R matchPattern.R maskMotif.R matchLRPatterns.R
|
||||
diff --git a/NAMESPACE b/NAMESPACE
|
||||
index ba1e3bfa..cf14db67 100644
|
||||
--- a/NAMESPACE
|
||||
+++ b/NAMESPACE
|
||||
@@ -206,7 +206,6 @@ exportMethods(
|
||||
### ==========================================================================
|
||||
### STRING MATCHING
|
||||
### --------------------------------------------------------------------------
|
||||
-### SparseList-class.R
|
||||
### MIndex-class.R
|
||||
### lowlevel-matching.R
|
||||
### match-utils.R
|
||||
@@ -220,7 +219,6 @@ exportMethods(
|
||||
### matchPDict.R
|
||||
|
||||
exportClasses(
|
||||
- #SparseList,
|
||||
MIndex, ByPos_MIndex,
|
||||
PreprocessedTB, Twobit, ACtree2,
|
||||
PDict3Parts,
|
||||
diff --git a/R/MIndex-class.R b/R/MIndex-class.R
|
||||
index 022f6746..f50f215e 100644
|
||||
--- a/R/MIndex-class.R
|
||||
+++ b/R/MIndex-class.R
|
||||
@@ -218,82 +218,3 @@ ByPos_MIndex.combine <- function(mi_list)
|
||||
new("ByPos_MIndex", width0=ans_width0, NAMES=ans_names, ends=ans_ends)
|
||||
}
|
||||
|
||||
-
|
||||
-### - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
-### The "SparseMIndex" class (DISABLED FOR NOW).
|
||||
-###
|
||||
-### Slot description:
|
||||
-###
|
||||
-### ends_envir: a key-value list (environment) where the values are integer
|
||||
-### vectors containing the ending positions of the pattern whose
|
||||
-### position in the original dictionary is given by the key (the keys are
|
||||
-### strings representing positive integers).
|
||||
-###
|
||||
-
|
||||
-if (FALSE) {
|
||||
-
|
||||
- setClass("SparseMIndex",
|
||||
- contains="MIndex",
|
||||
- representation(
|
||||
- ends_envir="environment"
|
||||
- )
|
||||
- )
|
||||
-
|
||||
- setMethod("show", "SparseMIndex",
|
||||
- function(object)
|
||||
- {
|
||||
- cat("Sparse MIndex object of length ", length(object), "\n", sep="")
|
||||
- }
|
||||
- )
|
||||
-
|
||||
- setMethod("[[", "SparseMIndex",
|
||||
- function(x, i, j, ...)
|
||||
- {
|
||||
- i <- normalizeDoubleBracketSubscript(i, x)
|
||||
- ans_end <- x@ends_envir[[formatC(i, width=10, format="d", flag="0")]]
|
||||
- if (is.null(ans_end))
|
||||
- ans_end <- integer(0)
|
||||
- ans_width <- rep.int(x@width0[i], length(ans_end))
|
||||
- ans_start <- ans_end - x@width0[i] + 1L
|
||||
- new2("IRanges", start=ans_start, width=ans_width, check=FALSE)
|
||||
- }
|
||||
- )
|
||||
-
|
||||
- ### An example of a SparseMIndex object of length 5 where only the
|
||||
- ### 2nd pattern has matches:
|
||||
- ### > width0 <- c(9L, 10L, 8L, 4L, 10L)
|
||||
- ### > ends_envir <- new.env(hash=TRUE, parent=emptyenv())
|
||||
- ### > ends_envir[['0000000002']] <- c(199L, 402L)
|
||||
- ### > mindex <- new("SparseMIndex", width0=width0, NAMES=letters[1:5], ends_envir=ends_envir)
|
||||
- ### > mindex[[1]]
|
||||
- ### > mindex[[2]]
|
||||
- ### > mindex[[6]] # Error in mindex[[6]] : subscript out of bounds
|
||||
- ### > names(mindex)
|
||||
- ### > mindex[["a"]]
|
||||
- ### > mindex[["b"]]
|
||||
- ### > mindex[["aa"]] # Error in mindex[["aa"]] : pattern name ‘aa’ not found
|
||||
- ### > startIndex(mindex)
|
||||
- ### > endIndex(mindex)
|
||||
- ### > elementNROWS(mindex)
|
||||
- ###
|
||||
- setMethod("startIndex", "SparseMIndex",
|
||||
- function(x)
|
||||
- {
|
||||
- all.names <- TRUE
|
||||
- .Call2("SparseMIndex_endIndex",
|
||||
- x@ends_envir, x@width0, x@NAMES, all.names,
|
||||
- PACKAGE="Biostrings")
|
||||
- }
|
||||
- )
|
||||
- setMethod("endIndex", "SparseMIndex",
|
||||
- function(x)
|
||||
- {
|
||||
- all.names <- TRUE
|
||||
- .Call2("SparseMIndex_endIndex",
|
||||
- x@ends_envir, NULL, x@NAMES, all.names,
|
||||
- PACKAGE="Biostrings")
|
||||
- }
|
||||
- )
|
||||
-
|
||||
-}
|
||||
-
|
||||
diff --git a/R/SparseList-class.R b/R/SparseList-class.R
|
||||
deleted file mode 100644
|
||||
index 8295fd0f..00000000
|
||||
--- a/R/SparseList-class.R
|
||||
+++ /dev/null
|
||||
@@ -1,80 +0,0 @@
|
||||
-### =========================================================================
|
||||
-### SparseList objects
|
||||
-### -------------------------------------------------------------------------
|
||||
-###
|
||||
-
|
||||
-setClass("SparseList",
|
||||
- representation(
|
||||
- length="integer",
|
||||
- env="environment"
|
||||
- )
|
||||
-)
|
||||
-
|
||||
-### Typical use:
|
||||
-### env <- new.env(hash=TRUE, parent=emptyenv())
|
||||
-### key <- formatC(98L, width=10, format="d", flag="0")
|
||||
-### value <- 3:-2
|
||||
-### assign(key, value, envir=env)
|
||||
-### x <- new("SparseList", length=100L, env=env)
|
||||
-### length(x)
|
||||
-### ls(x)
|
||||
-### ls(x, all.names=TRUE)
|
||||
-### as.list(x)
|
||||
-### as.list(x, all.names=TRUE)
|
||||
-### x[[1]]
|
||||
-### x[[98]
|
||||
-### x[[101]]]
|
||||
-###
|
||||
-
|
||||
-setMethod("length", "SparseList", function(x) x@length)
|
||||
-
|
||||
-### 'pos', 'envir' and 'pattern' args are ignored
|
||||
-setMethod("ls", signature(name="SparseList"),
|
||||
- function(name, pos, envir, all.names=FALSE, pattern)
|
||||
- {
|
||||
- if (!all.names)
|
||||
- return(ls(name@env, all.names=TRUE))
|
||||
- seq_len(length(name))
|
||||
- }
|
||||
-)
|
||||
-
|
||||
-setMethod("as.list", "SparseList",
|
||||
- function(x, all.names=FALSE, ...)
|
||||
- {
|
||||
- if (!all.names)
|
||||
- return(as.list(x@env, all.names=TRUE))
|
||||
- ans <- vector(mode="list", length=length(x))
|
||||
- symbols <- ls(x)
|
||||
- for (symb in symbols)
|
||||
- ans[[as.integer(symb)]] <- get(symb, envir=x@env)
|
||||
- ans
|
||||
- }
|
||||
-)
|
||||
-
|
||||
-### Supported 'i' types: character or numeric vector of length 1.
|
||||
-setMethod("[[", "SparseList",
|
||||
- function(x, i, j, ...)
|
||||
- {
|
||||
- if (!missing(j) || length(list(...)) > 0)
|
||||
- stop("invalid subsetting")
|
||||
- if (missing(i))
|
||||
- stop("subscript is missing")
|
||||
- if (!is.character(i) && !is.numeric(i))
|
||||
- stop("invalid subscript type")
|
||||
- if (length(i) < 1L)
|
||||
- stop("attempt to select less than one element")
|
||||
- if (length(i) > 1L)
|
||||
- stop("attempt to select more than one element")
|
||||
- if (is.na(i))
|
||||
- stop("subscript cannot be NA")
|
||||
- if (is.character(i))
|
||||
- return(get(i, envir=x@env))
|
||||
- if (!is.integer(i))
|
||||
- i <- as.integer(i)
|
||||
- if (i < 1L || i > length(x))
|
||||
- stop("subscript out of bounds")
|
||||
- i <- formatC(i, width=10, format="d", flag="0")
|
||||
- get(i, envir=x@env)
|
||||
- }
|
||||
-)
|
||||
-
|
||||
diff --git a/man/Biostrings-internals.Rd b/man/Biostrings-internals.Rd
|
||||
index 791b0870..609b7694 100644
|
||||
--- a/man/Biostrings-internals.Rd
|
||||
+++ b/man/Biostrings-internals.Rd
|
||||
@@ -26,15 +26,6 @@
|
||||
\alias{make_XStringSet_from_strings}
|
||||
\alias{make_XStringSet_from_strings,XStringSet-method}
|
||||
|
||||
-% SparseList class and methods:
|
||||
-\alias{class:SparseList}
|
||||
-\alias{SparseList-class}
|
||||
-\alias{SparseList}
|
||||
-
|
||||
-\alias{length,SparseList-method}
|
||||
-%\alias{ls,SparseList-method}
|
||||
-\alias{as.list,SparseList-method}
|
||||
-\alias{[[,SparseList-method}
|
||||
|
||||
\title{Biostrings internals}
|
||||
|
||||
diff --git a/src/Biostrings.h b/src/Biostrings.h
|
||||
index 6e725bd5..e86d0ff2 100644
|
||||
--- a/src/Biostrings.h
|
||||
+++ b/src/Biostrings.h
|
||||
@@ -446,40 +446,6 @@ SEXP XStringSetList_unstrsplit(
|
||||
);
|
||||
|
||||
|
||||
-/* SparseList_utils.c */
|
||||
-
|
||||
-SEXP _SparseList_int2symb(int symb_as_int);
|
||||
-
|
||||
-int _SparseList_symb2int(SEXP symbol);
|
||||
-
|
||||
-SEXP _get_val_from_env(
|
||||
- SEXP symbol,
|
||||
- SEXP env,
|
||||
- int error_on_unbound_value
|
||||
-);
|
||||
-
|
||||
-SEXP _get_val_from_SparseList(
|
||||
- int symb_as_int,
|
||||
- SEXP env,
|
||||
- int error_on_unbound_value
|
||||
-);
|
||||
-
|
||||
-int _get_int_from_SparseList(
|
||||
- int symb_as_int,
|
||||
- SEXP env
|
||||
-);
|
||||
-
|
||||
-void _set_env_from_IntAE(
|
||||
- SEXP env,
|
||||
- const IntAE *int_ae
|
||||
-);
|
||||
-
|
||||
-void _set_env_from_IntAEAE(
|
||||
- SEXP env,
|
||||
- const IntAEAE *int_aeae
|
||||
-);
|
||||
-
|
||||
-
|
||||
/* match_reporting.c */
|
||||
|
||||
int _get_match_storing_code(const char *ms_mode);
|
||||
@@ -558,13 +524,6 @@ SEXP ByPos_MIndex_endIndex(
|
||||
SEXP x_width0
|
||||
);
|
||||
|
||||
-SEXP SparseMIndex_endIndex(
|
||||
- SEXP x_ends_envir,
|
||||
- SEXP x_width0,
|
||||
- SEXP x_names,
|
||||
- SEXP all_names
|
||||
-);
|
||||
-
|
||||
SEXP ByPos_MIndex_combine(SEXP ends_listlist);
|
||||
|
||||
|
||||
diff --git a/src/MIndex_class.c b/src/MIndex_class.c
|
||||
index 00212fe9..dd6ad546 100644
|
||||
--- a/src/MIndex_class.c
|
||||
+++ b/src/MIndex_class.c
|
||||
@@ -157,73 +157,6 @@ SEXP ByPos_MIndex_endIndex(SEXP x_high2low, SEXP x_ends, SEXP x_width0)
|
||||
return ans;
|
||||
}
|
||||
|
||||
-/*
|
||||
- * --- .Call ENTRY POINT ---
|
||||
- * All the keys in 'x_ends_envir' must be representing integers left-padded with 0s
|
||||
- * so they have the same length. This works properly:
|
||||
- library(Biostrings)
|
||||
- ends_envir <- new.env(parent=emptyenv())
|
||||
- ends_envir[['0000000010']] <- -2:1
|
||||
- ends_envir[['0000000004']] <- 9:6
|
||||
- .Call("SparseMIndex_endIndex",
|
||||
- ends_envir, NULL, letters[1:10], TRUE,
|
||||
- PACKAGE="Biostrings")
|
||||
- .Call("SparseMIndex_endIndex",
|
||||
- ends_envir, NULL, letters[1:10], FALSE,
|
||||
- PACKAGE="Biostrings")
|
||||
- * but this doesn't:
|
||||
- ends_envir[['3']] <- 33L
|
||||
- .Call("SparseMIndex_endIndex",
|
||||
- ends_envir, NULL, letters[1:10], FALSE,
|
||||
- PACKAGE="Biostrings")
|
||||
- */
|
||||
-SEXP SparseMIndex_endIndex(SEXP x_ends_envir, SEXP x_width0, SEXP x_names, SEXP all_names)
|
||||
-{
|
||||
- SEXP ans, ans_elt, ans_names, symbols, end;
|
||||
- int nelt, i, j;
|
||||
- IntAE *poffsets, *poffsets_order;
|
||||
-
|
||||
- PROTECT(symbols = R_lsInternal(x_ends_envir, 1));
|
||||
- poffsets = new_IntAE_from_CHARACTER(symbols, -1);
|
||||
- nelt = IntAE_get_nelt(poffsets);
|
||||
- if (LOGICAL(all_names)[0]) {
|
||||
- PROTECT(ans = NEW_LIST(LENGTH(x_names)));
|
||||
- for (i = 0; i < nelt; i++) {
|
||||
- j = poffsets->elts[i];
|
||||
- end = _get_val_from_env(STRING_ELT(symbols, i), x_ends_envir, 1);
|
||||
- PROTECT(ans_elt = duplicate(end));
|
||||
- if (x_width0 != R_NilValue)
|
||||
- add_val_to_INTEGER(ans_elt, 1 - INTEGER(x_width0)[j]);
|
||||
- SET_ELEMENT(ans, j, ans_elt);
|
||||
- UNPROTECT(1);
|
||||
- }
|
||||
- SET_NAMES(ans, duplicate(x_names));
|
||||
- UNPROTECT(1);
|
||||
- } else {
|
||||
- //poffsets_order = new_IntAE(nelt, 0, 0);
|
||||
- //get_order_of_int_array(poffsets->elts, nelt, 0, 0,
|
||||
- // poffsets_order->elts, 0);
|
||||
- //IntAE_set_nelt(poffsets_order) = nelt; /* = poffsets_order->_buflength */
|
||||
- PROTECT(ans = NEW_LIST(nelt));
|
||||
- PROTECT(ans_names = NEW_CHARACTER(nelt));
|
||||
- for (i = 0; i < nelt; i++) {
|
||||
- //j = poffsets_order->elts[i];
|
||||
- j = i;
|
||||
- end = _get_val_from_env(STRING_ELT(symbols, j), x_ends_envir, 1);
|
||||
- PROTECT(ans_elt = duplicate(end));
|
||||
- if (x_width0 != R_NilValue)
|
||||
- add_val_to_INTEGER(ans_elt, 1 - INTEGER(x_width0)[i]);
|
||||
- SET_ELEMENT(ans, i, ans_elt);
|
||||
- UNPROTECT(1);
|
||||
- SET_STRING_ELT(ans_names, i, duplicate(STRING_ELT(x_names, poffsets->elts[j])));
|
||||
- }
|
||||
- SET_NAMES(ans, ans_names);
|
||||
- UNPROTECT(2);
|
||||
- }
|
||||
- UNPROTECT(1);
|
||||
- return ans;
|
||||
-}
|
||||
-
|
||||
/*
|
||||
* --- .Call ENTRY POINT ---
|
||||
*/
|
||||
diff --git a/src/R_init_Biostrings.c b/src/R_init_Biostrings.c
|
||||
index 4d2943f8..c1410dbd 100644
|
||||
--- a/src/R_init_Biostrings.c
|
||||
+++ b/src/R_init_Biostrings.c
|
||||
@@ -88,7 +88,6 @@ static const R_CallMethodDef callMethods[] = {
|
||||
|
||||
/* MIndex_class.c */
|
||||
CALLMETHOD_DEF(ByPos_MIndex_endIndex, 3),
|
||||
- CALLMETHOD_DEF(SparseMIndex_endIndex, 4),
|
||||
CALLMETHOD_DEF(ByPos_MIndex_combine, 1),
|
||||
|
||||
/* lowlevel_matching.c */
|
||||
diff --git a/src/SparseList_utils.c b/src/SparseList_utils.c
|
||||
deleted file mode 100644
|
||||
index 18597b55..00000000
|
||||
--- a/src/SparseList_utils.c
|
||||
+++ /dev/null
|
||||
@@ -1,113 +0,0 @@
|
||||
-/****************************************************************************
|
||||
- * Fast SparseList utilities *
|
||||
- * Author: H. Pag\`es *
|
||||
- ****************************************************************************/
|
||||
-#include "Biostrings.h"
|
||||
-#include "S4Vectors_interface.h"
|
||||
-
|
||||
-
|
||||
-SEXP _SparseList_int2symb(int symb_as_int)
|
||||
-{
|
||||
- char symbbuf[11];
|
||||
-
|
||||
- snprintf(symbbuf, sizeof(symbbuf), "%010d", symb_as_int);
|
||||
- return mkChar(symbbuf); /* UNPROTECTED! */
|
||||
-}
|
||||
-
|
||||
-int _SparseList_symb2int(SEXP symbol)
|
||||
-{
|
||||
- int symb_as_int;
|
||||
-
|
||||
- sscanf(CHAR(symbol), "%d", &symb_as_int);
|
||||
- return symb_as_int;
|
||||
-}
|
||||
-
|
||||
-/* 'symbol' must be a CHARSXP */
|
||||
-SEXP _get_val_from_env(SEXP symbol, SEXP env, int error_on_unbound_value)
|
||||
-{
|
||||
- SEXP ans;
|
||||
-
|
||||
- /* The following code was inspired by R's do_get() code.
|
||||
- * Note that do_get() doesn't use PROTECT at all and so do we...
|
||||
- */
|
||||
- ans = findVar(install(translateChar(symbol)), env);
|
||||
- if (ans == R_UnboundValue) {
|
||||
- if (error_on_unbound_value)
|
||||
- error("Biostrings internal error in _get_val_from_env(): "
|
||||
- "unbound value");
|
||||
- return R_UnboundValue;
|
||||
- }
|
||||
- if (TYPEOF(ans) == PROMSXP)
|
||||
- ans = eval(ans, env);
|
||||
- if (ans != R_NilValue && NAMED(ans) == 0)
|
||||
- SET_NAMED(ans, 1);
|
||||
- return ans;
|
||||
-}
|
||||
-
|
||||
-SEXP _get_val_from_SparseList(int symb_as_int, SEXP env, int error_on_unbound_value)
|
||||
-{
|
||||
- SEXP symbol, ans;
|
||||
-
|
||||
- PROTECT(symbol = _SparseList_int2symb(symb_as_int));
|
||||
- ans = _get_val_from_env(symbol, env, error_on_unbound_value);
|
||||
- UNPROTECT(1);
|
||||
- return ans;
|
||||
-}
|
||||
-
|
||||
-int _get_int_from_SparseList(int symb_as_int, SEXP env)
|
||||
-{
|
||||
- SEXP value;
|
||||
- int val;
|
||||
-
|
||||
- value = _get_val_from_SparseList(symb_as_int, env, 0);
|
||||
- if (value == R_UnboundValue)
|
||||
- return NA_INTEGER;
|
||||
- if (LENGTH(value) != 1)
|
||||
- error("Biostrings internal error in _get_int_from_SparseList(): "
|
||||
- "value is not a single integer");
|
||||
- val = INTEGER(value)[0];
|
||||
- if (val == NA_INTEGER)
|
||||
- error("Biostrings internal error in _get_int_from_SparseList(): "
|
||||
- "value is NA");
|
||||
- return val;
|
||||
-}
|
||||
-
|
||||
-void _set_env_from_IntAE(SEXP env, const IntAE *int_ae)
|
||||
-{
|
||||
- int nelt, symb_as_int, elt;
|
||||
- SEXP symbol, value;
|
||||
-
|
||||
- nelt = IntAE_get_nelt(int_ae);
|
||||
- for (symb_as_int = 1; symb_as_int <= nelt; symb_as_int++)
|
||||
- {
|
||||
- elt = int_ae->elts[symb_as_int - 1];
|
||||
- if (elt == NA_INTEGER)
|
||||
- continue;
|
||||
- PROTECT(symbol = _SparseList_int2symb(symb_as_int));
|
||||
- PROTECT(value = ScalarInteger(elt));
|
||||
- defineVar(install(translateChar(symbol)), value, env);
|
||||
- UNPROTECT(2);
|
||||
- }
|
||||
- return;
|
||||
-}
|
||||
-
|
||||
-void _set_env_from_IntAEAE(SEXP env, const IntAEAE *int_aeae)
|
||||
-{
|
||||
- int nelt, symb_as_int;
|
||||
- IntAE *ae;
|
||||
- SEXP symbol, value;
|
||||
-
|
||||
- nelt = IntAEAE_get_nelt(int_aeae);
|
||||
- for (symb_as_int = 1; symb_as_int <= nelt; symb_as_int++)
|
||||
- {
|
||||
- ae = int_aeae->elts[symb_as_int - 1];
|
||||
- if (IntAE_get_nelt(ae) == 0)
|
||||
- continue;
|
||||
- PROTECT(symbol = _SparseList_int2symb(symb_as_int));
|
||||
- PROTECT(value = new_INTEGER_from_IntAE(ae));
|
||||
- defineVar(install(translateChar(symbol)), value, env);
|
||||
- UNPROTECT(2);
|
||||
- }
|
||||
- return;
|
||||
-}
|
||||
-
|
||||
+142
@@ -0,0 +1,142 @@
|
||||
From 7fe34542bff0183c3a6a35a62df9035a71698eb2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
|
||||
Date: Fri, 6 Mar 2026 15:54:23 -0800
|
||||
Subject: [PATCH] h5mread 1.3.2: Get rid of non-API calls to R
|
||||
|
||||
---
|
||||
DESCRIPTION | 2 +-
|
||||
R/H5File-class.R | 27 ++++++++++++++++-----------
|
||||
src/h5mread_index.c | 5 +++--
|
||||
src/h5mread_startscounts.c | 3 ++-
|
||||
4 files changed, 22 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/R/H5File-class.R b/R/H5File-class.R
|
||||
index 2735166..6aeb80f 100644
|
||||
--- a/R/H5File-class.R
|
||||
+++ b/R/H5File-class.R
|
||||
@@ -73,19 +73,23 @@
|
||||
}
|
||||
}
|
||||
|
||||
-.h5openfile <- function(filepath, s3=FALSE, s3credentials=NULL, use.rhdf5=FALSE)
|
||||
+.h5openfile <- function(filepath, readonly=TRUE,
|
||||
+ s3=FALSE, s3credentials=NULL, use.rhdf5=FALSE)
|
||||
{
|
||||
if (!isSingleString(filepath))
|
||||
stop(wmsg("'filepath' must be a single string specifying ",
|
||||
"the path or URL to an HDF5 file"))
|
||||
+ if (!isTRUEorFALSE(readonly))
|
||||
+ stop(wmsg("'readonly' must be TRUE or FALSE"))
|
||||
if (!isTRUEorFALSE(s3))
|
||||
stop(wmsg("'s3' must be TRUE or FALSE"))
|
||||
-
|
||||
+ if (s3 && !readonly)
|
||||
+ stop(wmsg("'readonly' must be set to TRUE when 's3' is TRUE"))
|
||||
if (s3) {
|
||||
ID <- .h5openS3file(filepath, s3credentials=s3credentials,
|
||||
use.rhdf5=use.rhdf5)
|
||||
} else {
|
||||
- ID <- .h5openlocalfile(filepath, readonly=TRUE, use.rhdf5=use.rhdf5)
|
||||
+ ID <- .h5openlocalfile(filepath, readonly=readonly, use.rhdf5=use.rhdf5)
|
||||
}
|
||||
ID
|
||||
}
|
||||
@@ -136,16 +140,16 @@
|
||||
|
||||
.ID_is_closed <- function(ID) { is.null(ID) || is.na(ID) }
|
||||
|
||||
-.open_H5FileID_xp <- function(xp, filepath, s3=FALSE, s3credentials=NULL,
|
||||
- use.rhdf5=FALSE)
|
||||
+.open_H5FileID_xp <- function(xp, filepath, readonly=TRUE,
|
||||
+ s3=FALSE, s3credentials=NULL, use.rhdf5=FALSE)
|
||||
{
|
||||
ID <- .get_H5FileID_xp_ID(xp)
|
||||
if (!.ID_is_closed(ID)) {
|
||||
## H5FileID object is already open.
|
||||
return(FALSE)
|
||||
}
|
||||
- ID <- .h5openfile(filepath, s3=s3, s3credentials=s3credentials,
|
||||
- use.rhdf5=use.rhdf5)
|
||||
+ ID <- .h5openfile(filepath, readonly=readonly,
|
||||
+ s3=s3, s3credentials=s3credentials, use.rhdf5=use.rhdf5)
|
||||
.set_H5FileID_xp_ID(xp, ID)
|
||||
TRUE
|
||||
}
|
||||
@@ -183,10 +187,11 @@ close.H5FileID <- function(con, ...)
|
||||
.close_H5FileID_xp(con@xp, ..., use.rhdf5=con@from_rhdf5)
|
||||
}
|
||||
|
||||
-H5FileID <- function(filepath, s3=FALSE, s3credentials=NULL, use.rhdf5=FALSE)
|
||||
+H5FileID <- function(filepath, readonly=TRUE,
|
||||
+ s3=FALSE, s3credentials=NULL, use.rhdf5=FALSE)
|
||||
{
|
||||
- ID <- .h5openfile(filepath, s3=s3, s3credentials=s3credentials,
|
||||
- use.rhdf5=use.rhdf5)
|
||||
+ ID <- .h5openfile(filepath, readonly=readonly,
|
||||
+ s3=s3, s3credentials=s3credentials, use.rhdf5=use.rhdf5)
|
||||
xp <- .new_H5FileID_xp(ID)
|
||||
reg.finalizer(xp,
|
||||
function(e) .close_H5FileID_xp(e, use.rhdf5=use.rhdf5),
|
||||
@@ -272,7 +277,7 @@ H5File <- function(filepath, s3=FALSE, s3credentials=NULL, .no_rhdf5_h5id=FALSE)
|
||||
rhdf5_h5id <- new("H5FileID")
|
||||
} else {
|
||||
rhdf5_h5id <- H5FileID(filepath, s3=s3, s3credentials=s3credentials,
|
||||
- use.rhdf5=TRUE)
|
||||
+ use.rhdf5=TRUE)
|
||||
}
|
||||
if (!s3)
|
||||
filepath <- file_path_as_absolute(filepath)
|
||||
diff --git a/src/h5mread_index.c b/src/h5mread_index.c
|
||||
index 7284815..ec93c25 100644
|
||||
--- a/src/h5mread_index.c
|
||||
+++ b/src/h5mread_index.c
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "h5mread_helpers.h"
|
||||
#include "TouchedChunks.h"
|
||||
|
||||
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
|
||||
#include <stdlib.h> /* for malloc, free */
|
||||
#include <string.h> /* for memcmp */
|
||||
//#include <time.h>
|
||||
@@ -444,7 +445,7 @@ static int read_chunk_data_4_5(const H5DSetDescriptor *h5dset,
|
||||
const size_t *Rarray_dim, SEXP Rarray,
|
||||
int method, int use_H5Dread_chunk)
|
||||
{
|
||||
- void *out = DATAPTR(Rarray);
|
||||
+ void *out = DATAPTR_RW(Rarray);
|
||||
if (out == NULL)
|
||||
return -1;
|
||||
|
||||
@@ -874,7 +875,7 @@ static int read_data_6(const AllTChunks *all_tchunks,
|
||||
size_t *inner_nchip_buf = R_alloc0_size_t_array(ndim);
|
||||
LLongAEAE *inner_breakpoint_bufs = new_LLongAEAE(ndim, ndim);
|
||||
|
||||
- void *out = DATAPTR(Rarray);
|
||||
+ void *out = DATAPTR_RW(Rarray);
|
||||
if (out == NULL) {
|
||||
_destroy_TChunkIterator(&tchunk_iter);
|
||||
return -1;
|
||||
diff --git a/src/h5mread_startscounts.c b/src/h5mread_startscounts.c
|
||||
index de57fd5..959014f 100644
|
||||
--- a/src/h5mread_startscounts.c
|
||||
+++ b/src/h5mread_startscounts.c
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "uaselection.h"
|
||||
#include "h5mread_helpers.h"
|
||||
|
||||
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
|
||||
#include <stdlib.h> /* for malloc, free */
|
||||
//#include <time.h>
|
||||
|
||||
@@ -402,7 +403,7 @@ SEXP _h5mread_startscounts(const H5DSetDescriptor *h5dset,
|
||||
SEXP ans = PROTECT(allocVector(h5dset->h5type->Rtype, ans_len));
|
||||
|
||||
if (ans_len != 0) {
|
||||
- void *mem = DATAPTR(ans);
|
||||
+ void *mem = DATAPTR_RW(ans);
|
||||
if (mem == NULL)
|
||||
goto on_error;
|
||||
|
||||
--
|
||||
2.52.0
|
||||
|
||||
+67
@@ -0,0 +1,67 @@
|
||||
From a827c9fdeb77edefe6cca81bdb9e0344bc8d3742 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Gibb <mail@sebastiangibb.de>
|
||||
Date: Sat, 13 Dec 2025 23:06:12 +0100
|
||||
Subject: [PATCH] fix: non-API call to R: SETLENGTH by using lengthgets
|
||||
|
||||
---
|
||||
DESCRIPTION | 2 +-
|
||||
NEWS.md | 6 ++++++
|
||||
src/join.c | 12 ++++--------
|
||||
src/reduce.c | 6 ++----
|
||||
4 files changed, 13 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/src/join.c b/src/join.c
|
||||
index f13a703..3849fdf 100644
|
||||
--- a/src/join.c
|
||||
+++ b/src/join.c
|
||||
@@ -111,12 +111,10 @@ SEXP C_join_inner(SEXP x, SEXP y, SEXP tolerance, SEXP nomatch) {
|
||||
++j;
|
||||
}
|
||||
}
|
||||
- SETLENGTH(rx, j);
|
||||
- SETLENGTH(ry, j);
|
||||
SEXP out = PROTECT(allocVector(VECSXP, 2));
|
||||
SEXP nms = PROTECT(allocVector(STRSXP, 2));
|
||||
- SET_VECTOR_ELT(out, 0, rx);
|
||||
- SET_VECTOR_ELT(out, 1, ry);
|
||||
+ SET_VECTOR_ELT(out, 0, lengthgets(rx, j));
|
||||
+ SET_VECTOR_ELT(out, 1, lengthgets(ry, j));
|
||||
SET_STRING_ELT(nms, 0, mkChar("x"));
|
||||
SET_STRING_ELT(nms, 1, mkChar("y"));
|
||||
setAttrib(out, R_NamesSymbol, nms);
|
||||
@@ -201,12 +199,10 @@ SEXP C_join_outer(SEXP x, SEXP y, SEXP tolerance, SEXP nomatch) {
|
||||
++i;
|
||||
}
|
||||
|
||||
- SETLENGTH(rx, i);
|
||||
- SETLENGTH(ry, i);
|
||||
SEXP out = PROTECT(allocVector(VECSXP, 2));
|
||||
SEXP nms = PROTECT(allocVector(STRSXP, 2));
|
||||
- SET_VECTOR_ELT(out, 0, rx);
|
||||
- SET_VECTOR_ELT(out, 1, ry);
|
||||
+ SET_VECTOR_ELT(out, 0, lengthgets(rx, i));
|
||||
+ SET_VECTOR_ELT(out, 1, lengthgets(ry, i));
|
||||
SET_STRING_ELT(nms, 0, mkChar("x"));
|
||||
SET_STRING_ELT(nms, 1, mkChar("y"));
|
||||
setAttrib(out, R_NamesSymbol, nms);
|
||||
diff --git a/src/reduce.c b/src/reduce.c
|
||||
index 5f87966..8e48058 100644
|
||||
--- a/src/reduce.c
|
||||
+++ b/src/reduce.c
|
||||
@@ -66,11 +66,9 @@ SEXP C_reduce(SEXP start, SEXP end, SEXP check) {
|
||||
}
|
||||
}
|
||||
|
||||
- SETLENGTH(rs, pos + 1);
|
||||
- SETLENGTH(re, pos + 1);
|
||||
SEXP out = PROTECT(allocVector(VECSXP, 2));
|
||||
- SET_VECTOR_ELT(out, 0, rs);
|
||||
- SET_VECTOR_ELT(out, 1, re);
|
||||
+ SET_VECTOR_ELT(out, 0, lengthgets(rs, pos + 1));
|
||||
+ SET_VECTOR_ELT(out, 1, lengthgets(re, pos + 1));
|
||||
|
||||
UNPROTECT(4);
|
||||
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -0,0 +1,114 @@
|
||||
From 57dc6579d8b53af9e633016705fa9a1cbe58c8c8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
|
||||
Date: Fri, 6 Mar 2026 16:48:20 -0800
|
||||
Subject: [PATCH] Rsamtools 2.27.1: Get rid of non-API calls to R
|
||||
|
||||
---
|
||||
DESCRIPTION | 2 +-
|
||||
src/utilities.h | 3 +--
|
||||
2 files changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/utilities.h b/src/utilities.h
|
||||
index bffb98f7..f9d5e09f 100644
|
||||
--- a/src/utilities.h
|
||||
+++ b/src/utilities.h
|
||||
@@ -51,8 +51,7 @@ SEXP find_mate_within_groups(SEXP group_sizes,
|
||||
/* call-building macros */
|
||||
|
||||
#define NEW_CALL(S, T, NAME, ENV, N) \
|
||||
- PROTECT(S = T = allocList(N)); \
|
||||
- SET_TYPEOF(T, LANGSXP); \
|
||||
+ PROTECT(S = T = LCONS(R_NilValue, allocList(N-1))); \
|
||||
SETCAR(T, findFun(install(NAME), ENV)); \
|
||||
T = CDR(T)
|
||||
#define CSET_CDR(T, NAME, VALUE) \
|
||||
|
||||
From 8cdec143023e8348a4f8bdc310acd609d14fe493 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
|
||||
Date: Fri, 6 Mar 2026 16:59:42 -0800
|
||||
Subject: [PATCH] oops, forgot to also get rid of non-API call to FORMALS()
|
||||
|
||||
---
|
||||
src/pileupbam.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/pileupbam.c b/src/pileupbam.c
|
||||
index f3256ba..7725628 100644
|
||||
--- a/src/pileupbam.c
|
||||
+++ b/src/pileupbam.c
|
||||
@@ -655,7 +655,7 @@ SEXP apply_pileups(SEXP files, SEXP names, SEXP regions, SEXP param,
|
||||
if (R_NilValue == regions)
|
||||
Rf_error("'NULL' regions not (yet) supported");
|
||||
_checkparams(regions, R_NilValue, R_NilValue);
|
||||
- if (!Rf_isFunction(callback) || 1L != Rf_length(FORMALS(callback)))
|
||||
+ if (!Rf_isFunction(callback) || 1L != Rf_length(R_ClosureFormals(callback)))
|
||||
Rf_error("'callback' must be a function of 1 argument");
|
||||
call = PROTECT(Rf_lang2(callback, R_NilValue));
|
||||
|
||||
|
||||
From ee01a1f13f3b012b0717247d1f21580225b6f3a0 Mon Sep 17 00:00:00 2001
|
||||
From: vjcitn <stvjc@channing.harvard.edu>
|
||||
Date: Wed, 8 Apr 2026 14:04:26 -0400
|
||||
Subject: [PATCH] API solutions
|
||||
|
||||
---
|
||||
DESCRIPTION | 2 +-
|
||||
src/tabixfile.c | 4 ++++
|
||||
src/utilities.c | 13 ++++++++++---
|
||||
3 files changed, 15 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/tabixfile.c b/src/tabixfile.c
|
||||
index 230a381..6f96568 100644
|
||||
--- a/src/tabixfile.c
|
||||
+++ b/src/tabixfile.c
|
||||
@@ -187,8 +187,12 @@ SEXP index_tabix(SEXP filename, SEXP format, SEXP seq, SEXP begin, SEXP end,
|
||||
LOGICAL(zeroBased)[0] == TRUE)
|
||||
conf.preset |= TBX_UCSC;
|
||||
|
||||
+/* following is deprecated in HTSLIB with no precise replacement proposed */
|
||||
+/* seems unimportant */
|
||||
+/*
|
||||
if (bgzf_is_bgzf(fn) != 1)
|
||||
Rf_error("file does not appear to be bgzip'd");
|
||||
+*/
|
||||
if (tbx_index_build(fn, 0, &conf) == -1)
|
||||
Rf_error("index build failed");
|
||||
|
||||
diff --git a/src/utilities.c b/src/utilities.c
|
||||
index e224f91..d15c1d1 100644
|
||||
--- a/src/utilities.c
|
||||
+++ b/src/utilities.c
|
||||
@@ -5,6 +5,13 @@
|
||||
#include "XVector_interface.h"
|
||||
#include <htslib/khash.h>
|
||||
|
||||
+#include <Rversion.h>
|
||||
+
|
||||
+#if R_VERSION < R_Version(4, 6, 0)
|
||||
+# define R_getVar(x,y,z) findVar(x,y)
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
void *_Rs_Realloc_impl(void *p, size_t n, size_t t)
|
||||
{
|
||||
/* R_Realloc(p, 0, *) fails inappropriately */
|
||||
@@ -30,7 +37,7 @@ SEXP _get_namespace(const char *pkg)
|
||||
void _as_strand(SEXP vec)
|
||||
{
|
||||
SEXP nmspc = PROTECT(_get_namespace("Rsamtools"));
|
||||
- SEXP lvls = PROTECT(eval(findVar(install(".STRAND_LEVELS"), nmspc), nmspc));
|
||||
+ SEXP lvls = PROTECT(eval(R_getVar(install(".STRAND_LEVELS"), nmspc, TRUE), nmspc));
|
||||
_as_factor_SEXP(vec, lvls);
|
||||
UNPROTECT(2);
|
||||
}
|
||||
@@ -38,8 +45,8 @@ void _as_strand(SEXP vec)
|
||||
void _as_nucleotide(SEXP vec)
|
||||
{
|
||||
SEXP nmspc = PROTECT(_get_namespace("Rsamtools"));
|
||||
- SEXP lvls = PROTECT(eval(findVar(install(".PILEUP_NUCLEOTIDE_LEVELS"),
|
||||
- nmspc), nmspc));
|
||||
+ SEXP lvls = PROTECT(eval(R_getVar(install(".PILEUP_NUCLEOTIDE_LEVELS"),
|
||||
+ nmspc, TRUE), nmspc));
|
||||
_as_factor_SEXP(vec, lvls);
|
||||
UNPROTECT(2);
|
||||
}
|
||||
+103
@@ -0,0 +1,103 @@
|
||||
From e39852a54312bbc6ba435848890cc2a7f612357c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
|
||||
Date: Fri, 6 Mar 2026 17:04:19 -0800
|
||||
Subject: [PATCH] ShortRead 1.69.3: Get rid of non-API calls to R
|
||||
|
||||
---
|
||||
DESCRIPTION | 2 +-
|
||||
src/call.h | 3 +--
|
||||
src/io.c | 10 +++++-----
|
||||
3 files changed, 7 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/src/call.h b/src/call.h
|
||||
index e15bb5e..e72bbd6 100644
|
||||
--- a/src/call.h
|
||||
+++ b/src/call.h
|
||||
@@ -6,8 +6,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#define NEW_CALL(S, T, NAME, ENV, N) \
|
||||
- PROTECT((S) = (T) = allocList((N))); \
|
||||
- SET_TYPEOF((T), LANGSXP); \
|
||||
+ PROTECT((S) = (T) = LCONS(R_NilValue, allocList((N)-1))); \
|
||||
SETCAR((T), findFun(install((NAME)), (ENV))); \
|
||||
(T) = CDR((T))
|
||||
#define CSET_CDR(T, NAME, VALUE) \
|
||||
diff --git a/src/io.c b/src/io.c
|
||||
index 25a0111..9cf4bf8 100644
|
||||
--- a/src/io.c
|
||||
+++ b/src/io.c
|
||||
@@ -46,9 +46,9 @@ SEXP write_fastq(SEXP id, SEXP sread, SEXP quality,
|
||||
SEXP fname, SEXP fmode, SEXP full, SEXP compress,
|
||||
SEXP max_width)
|
||||
{
|
||||
- if (!(IS_S4_OBJECT(id) && strcmp(get_classname(id), "BStringSet") == 0))
|
||||
+ if (!(Rf_isS4(id) && strcmp(get_classname(id), "BStringSet") == 0))
|
||||
Rf_error("'%s' must be '%s'", "id", "BStringSet");
|
||||
- if (!(IS_S4_OBJECT(sread) &&
|
||||
+ if (!(Rf_isS4(sread) &&
|
||||
strcmp(get_classname(sread), "DNAStringSet") == 0))
|
||||
Rf_error("'%s' must be '%s'", "sread", "DNAStringSet");
|
||||
/* check in R -- C-level R_check_super... is not adequate */
|
||||
@@ -693,14 +693,14 @@ int _solexa_export_make_id(SEXP result)
|
||||
*x = INTEGER(VECTOR_ELT(result, SLX_X)),
|
||||
*y = INTEGER(VECTOR_ELT(result, SLX_Y)), *pairedReadNumber = NULL;
|
||||
const SEXP
|
||||
- * run = STRING_PTR(VECTOR_ELT(result, SLX_RUN)),
|
||||
+ * run = STRING_PTR_RO(VECTOR_ELT(result, SLX_RUN)),
|
||||
*multiplexIndex = NULL,
|
||||
- *machine = STRING_PTR(VECTOR_ELT(result, SLX_MACHINE));
|
||||
+ *machine = STRING_PTR_RO(VECTOR_ELT(result, SLX_MACHINE));
|
||||
const Rboolean
|
||||
withMultiplexIndex = R_NilValue != VECTOR_ELT(result, SLX_MULTIPLEX),
|
||||
withPairedReadNumber = R_NilValue != VECTOR_ELT(result, SLX_PAIRID);
|
||||
if (withMultiplexIndex)
|
||||
- multiplexIndex = STRING_PTR(VECTOR_ELT(result, SLX_MULTIPLEX));
|
||||
+ multiplexIndex = STRING_PTR_RO(VECTOR_ELT(result, SLX_MULTIPLEX));
|
||||
if (withPairedReadNumber)
|
||||
pairedReadNumber = INTEGER(VECTOR_ELT(result, SLX_PAIRID));
|
||||
|
||||
--
|
||||
2.52.0
|
||||
|
||||
|
||||
From 2e3368a35e3955a0a92b7f3e2c8dface6709d135 Mon Sep 17 00:00:00 2001
|
||||
From: vjcitn <stvjc@channing.harvard.edu>
|
||||
Date: Thu, 16 Apr 2026 16:54:15 +0000
|
||||
Subject: [PATCH] fixapi
|
||||
|
||||
---
|
||||
src/util.c | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/util.c b/src/util.c
|
||||
index 4a10a90..59c089b 100644
|
||||
--- a/src/util.c
|
||||
+++ b/src/util.c
|
||||
@@ -6,6 +6,14 @@ unsigned char _bDecode(char);
|
||||
unsigned char _dnaDecode(char);
|
||||
unsigned char _rnaDecode(char);
|
||||
|
||||
+
|
||||
+#include <Rversion.h>
|
||||
+
|
||||
+#if R_VERSION < R_Version(4, 6, 0)
|
||||
+# define R_getVar(x,y,z) findVar(x,y)
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
/*
|
||||
* Encode / decode XString wrappers
|
||||
*/
|
||||
@@ -80,7 +88,7 @@ SEXP _get_namespace(const char *pkg)
|
||||
SEXP _get_strand_levels()
|
||||
{
|
||||
SEXP nmspc = PROTECT(_get_namespace("ShortRead"));
|
||||
- SEXP ans = eval(findVar(install(".STRAND_LEVELS"), nmspc), nmspc);
|
||||
+ SEXP ans = eval(R_getVar(install(".STRAND_LEVELS"), nmspc, TRUE), nmspc);
|
||||
UNPROTECT(1);
|
||||
return ans;
|
||||
}
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -0,0 +1,412 @@
|
||||
From 803cda41994a22890e0a6e379e6588084d4bc91b Mon Sep 17 00:00:00 2001
|
||||
From: vjcitn <stvjc@channing.harvard.edu>
|
||||
Date: Fri, 13 Mar 2026 04:04:59 -0400
|
||||
Subject: [PATCH 1/2] fixed non-API except for IS_S4_OBJECT
|
||||
|
||||
---
|
||||
src/bind.c | 8 ++++----
|
||||
src/glm_test_R.c | 20 ++++++++++----------
|
||||
src/imputation.c | 8 ++++----
|
||||
src/input.c | 2 +-
|
||||
src/plink.c | 2 +-
|
||||
src/read_uncertain.c | 4 ++--
|
||||
src/readped.c | 2 +-
|
||||
src/single_snp_tests.c | 8 ++++----
|
||||
src/snp_summary.c | 8 ++++----
|
||||
src/snpmpy.c | 8 ++++----
|
||||
src/structure.c | 4 ++--
|
||||
src/subset.c | 2 +-
|
||||
src/switch.c | 2 +-
|
||||
src/tdt.c | 8 ++++----
|
||||
src/testBig.c | 2 +-
|
||||
15 files changed, 44 insertions(+), 44 deletions(-)
|
||||
|
||||
diff --git a/src/bind.c b/src/bind.c
|
||||
index 44b1536..fa87e7c 100644
|
||||
--- a/src/bind.c
|
||||
+++ b/src/bind.c
|
||||
@@ -19,7 +19,7 @@ SEXP snp_rbind(SEXP args) {
|
||||
const SEXP This = CAR(args);
|
||||
Class = getAttrib(This, R_ClassSymbol);
|
||||
if (TYPEOF(Class) != STRSXP) {
|
||||
- Class = R_data_class(This, FALSE);
|
||||
+ Class = R_class(This);
|
||||
}
|
||||
const char *cli = CHAR(STRING_ELT(Class, 0));
|
||||
if(!IS_S4_OBJECT(This)) {
|
||||
@@ -66,7 +66,7 @@ SEXP snp_rbind(SEXP args) {
|
||||
SEXP Result, Rnames, Dnames, Diploid = R_NilValue;
|
||||
PROTECT(Result = allocMatrix(RAWSXP, nr, nc));
|
||||
classgets(Result, duplicate(Class));
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
PROTECT(Rnames = allocVector(STRSXP, nr));
|
||||
PROTECT(Dnames = allocVector(VECSXP, 2));
|
||||
SET_VECTOR_ELT(Dnames, 0, Rnames);
|
||||
@@ -148,7 +148,7 @@ SEXP snp_cbind(SEXP args) {
|
||||
SEXP This = CAR(args);
|
||||
Class = getAttrib(This, R_ClassSymbol);
|
||||
if (TYPEOF(Class) != STRSXP) {
|
||||
- Class = R_data_class(This, FALSE);
|
||||
+ Class = R_class(This);
|
||||
}
|
||||
const char *cli = CHAR(STRING_ELT(Class, 0));
|
||||
if(!IS_S4_OBJECT(This)) {
|
||||
@@ -205,7 +205,7 @@ SEXP snp_cbind(SEXP args) {
|
||||
SEXP Result, Cnames, Dnames;
|
||||
PROTECT(Result = allocMatrix(RAWSXP, nr, nc));
|
||||
classgets(Result, duplicate(Class));
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
PROTECT(Dnames = allocVector(VECSXP, 2));
|
||||
setAttrib(Result, R_DimNamesSymbol, Dnames);
|
||||
PROTECT(Cnames = allocVector(STRSXP, nc));
|
||||
diff --git a/src/glm_test_R.c b/src/glm_test_R.c
|
||||
index d865182..dc8ebef 100644
|
||||
--- a/src/glm_test_R.c
|
||||
+++ b/src/glm_test_R.c
|
||||
@@ -19,8 +19,8 @@ SEXP snp_lhs_score(const SEXP Y, const SEXP X, const SEXP Stratum,
|
||||
|
||||
/* Y should be a SnpMatrix or an XSnpMatrix */
|
||||
const char *classY = NULL;
|
||||
- if (TYPEOF(R_data_class(Y, FALSE)) == STRSXP) {
|
||||
- classY = CHAR(STRING_ELT(R_data_class(Y, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Y)) == STRSXP) {
|
||||
+ classY = CHAR(STRING_ELT(R_class(Y), 0));
|
||||
} else {
|
||||
classY = CHAR(STRING_ELT(getAttrib(Y, R_ClassSymbol), 0));
|
||||
}
|
||||
@@ -431,8 +431,8 @@ SEXP snp_rhs_score(SEXP Y, SEXP family, SEXP link,
|
||||
/* Z should be a SnpMatrix or an XSnpMatrix */
|
||||
|
||||
const char *classZ = NULL;
|
||||
- if (TYPEOF(R_data_class(Z, FALSE)) == STRSXP) {
|
||||
- classZ = CHAR(STRING_ELT(R_data_class(Z, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Z)) == STRSXP) {
|
||||
+ classZ = CHAR(STRING_ELT(R_class(Z), 0));
|
||||
} else {
|
||||
classZ = CHAR(STRING_ELT(getAttrib(Z, R_ClassSymbol), 0));
|
||||
}
|
||||
@@ -1003,8 +1003,8 @@ SEXP snp_lhs_estimate(const SEXP Y, const SEXP X, const SEXP Stratum,
|
||||
|
||||
/* Y should be a SnpMatrix or an XSnpMatrix */
|
||||
const char *classY = NULL;
|
||||
- if (TYPEOF(R_data_class(Y, FALSE)) == STRSXP) {
|
||||
- classY = CHAR(STRING_ELT(R_data_class(Y, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Y)) == STRSXP) {
|
||||
+ classY = CHAR(STRING_ELT(R_class(Y), 0));
|
||||
} else {
|
||||
classY = CHAR(STRING_ELT(getAttrib(Y, R_ClassSymbol), 0));
|
||||
}
|
||||
@@ -1286,7 +1286,7 @@ SEXP snp_lhs_estimate(const SEXP Y, const SEXP X, const SEXP Stratum,
|
||||
LOGICAL(Lhs)[0] = 1;
|
||||
setAttrib(Estimates, install("snpLHS"), Lhs);
|
||||
UNPROTECT(6);
|
||||
- SET_S4_OBJECT(Estimates);
|
||||
+ Rf_asS4(Estimates, TRUE, 0);
|
||||
return(Estimates);
|
||||
}
|
||||
|
||||
@@ -1360,8 +1360,8 @@ SEXP snp_rhs_estimate(SEXP Y, SEXP family, SEXP link,
|
||||
/* Z should be a SnpMatrix or an XSnpMatrix */
|
||||
|
||||
const char *classZ = NULL;
|
||||
- if (TYPEOF(R_data_class(Z, FALSE)) == STRSXP) {
|
||||
- classZ = CHAR(STRING_ELT(R_data_class(Z, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Z)) == STRSXP) {
|
||||
+ classZ = CHAR(STRING_ELT(R_class(Z), 0));
|
||||
} else {
|
||||
classZ = CHAR(STRING_ELT(getAttrib(Z, R_ClassSymbol), 0));
|
||||
}
|
||||
@@ -1724,7 +1724,7 @@ SEXP snp_rhs_estimate(SEXP Y, SEXP family, SEXP link,
|
||||
|
||||
UNPROTECT(gen_names? 7: 6);
|
||||
|
||||
- SET_S4_OBJECT(Estimates);
|
||||
+ Rf_asS4(Estimates, TRUE, 0);
|
||||
return(Estimates);
|
||||
|
||||
}
|
||||
diff --git a/src/imputation.c b/src/imputation.c
|
||||
index ff9403b..d796c1b 100644
|
||||
--- a/src/imputation.c
|
||||
+++ b/src/imputation.c
|
||||
@@ -77,7 +77,7 @@ SEXP snp_impute(const SEXP X, const SEXP Y, const SEXP Xord, const SEXP Yord,
|
||||
int *diploid = NULL;
|
||||
SEXP cl = GET_CLASS(X);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(X, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(X); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
|
||||
SEXP Diploid = R_do_slot(X, mkString("diploid"));
|
||||
@@ -395,7 +395,7 @@ SEXP snp_impute(const SEXP X, const SEXP Y, const SEXP Xord, const SEXP Yord,
|
||||
PROTECT(Maxpred = allocVector(INTSXP, 1));
|
||||
INTEGER(Maxpred)[0] = maxpred;
|
||||
setAttrib(Result, install("Max.predictors"), Maxpred);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
|
||||
/* Tidy up */
|
||||
|
||||
@@ -701,7 +701,7 @@ SEXP impute_snps(const SEXP Rules, const SEXP Snps, const SEXP Subset,
|
||||
int *diploid_in=NULL, *diploid=NULL;
|
||||
SEXP cl = GET_CLASS(Snps);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Snps); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
|
||||
SEXP Diploid = R_do_slot(Snps, mkString("diploid"));
|
||||
@@ -753,7 +753,7 @@ SEXP impute_snps(const SEXP Rules, const SEXP Snps, const SEXP Subset,
|
||||
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
|
||||
setAttrib(Class, install("package"), Package);
|
||||
classgets(Result, Class);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
}
|
||||
PROTECT(Dimnames = allocVector(VECSXP, 2));
|
||||
SET_VECTOR_ELT(Dimnames, 0, VECTOR_ELT(names, 0));
|
||||
diff --git a/src/input.c b/src/input.c
|
||||
index 1d2a95b..60cdad8 100644
|
||||
--- a/src/input.c
|
||||
+++ b/src/input.c
|
||||
@@ -330,7 +330,7 @@ SEXP insnp_new(const SEXP Filenames, const SEXP Sample_id, const SEXP Snp_id,
|
||||
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
|
||||
setAttrib(Class, install("package"), Package);
|
||||
classgets(Result, Class);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
unsigned char *result = RAW(Result);
|
||||
memset(result, 0x00, Nsample*Nsnp);
|
||||
|
||||
diff --git a/src/plink.c b/src/plink.c
|
||||
index a413440..9095c2d 100644
|
||||
--- a/src/plink.c
|
||||
+++ b/src/plink.c
|
||||
@@ -59,7 +59,7 @@ SEXP readbed(SEXP Bed, SEXP Id, SEXP Snps, SEXP Rsel, SEXP Csel) {
|
||||
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
|
||||
setAttrib(Class, install("package"), Package);
|
||||
classgets(Result, Class);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
|
||||
unsigned char *result = RAW(Result);
|
||||
R_xlen_t ncell = (R_xlen_t)nrow*(R_xlen_t)ncol;
|
||||
diff --git a/src/read_uncertain.c b/src/read_uncertain.c
|
||||
index 2e3b901..fd82617 100644
|
||||
--- a/src/read_uncertain.c
|
||||
+++ b/src/read_uncertain.c
|
||||
@@ -137,7 +137,7 @@ SEXP read_mach(const SEXP Filename, const SEXP Colnames, const SEXP Nsubject) {
|
||||
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
|
||||
setAttrib(Class, install("package"), Package);
|
||||
classgets(Result, Class);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
UNPROTECT(2);
|
||||
|
||||
/* Read in data */
|
||||
@@ -278,7 +278,7 @@ SEXP read_impute(const SEXP Filename, const SEXP Rownames, const SEXP Nsnp,
|
||||
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
|
||||
setAttrib(Class, install("package"), Package);
|
||||
classgets(Result, Class);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
UNPROTECT(2);
|
||||
|
||||
char buffer[BUFFERSIZE];
|
||||
diff --git a/src/readped.c b/src/readped.c
|
||||
index 4e8563e..020d05f 100644
|
||||
--- a/src/readped.c
|
||||
+++ b/src/readped.c
|
||||
@@ -327,7 +327,7 @@ SEXP readped(SEXP filename, SEXP snp_names, SEXP missing, SEXP X, SEXP sep) {
|
||||
else
|
||||
SET_STRING_ELT(SMClass, 0, mkChar("SnpMatrix"));
|
||||
classgets(Smat, SMClass);
|
||||
- SET_S4_OBJECT(Smat);
|
||||
+ Rf_asS4(Smat, TRUE, 0);
|
||||
PROTECT(DimNames = allocVector(VECSXP, 2));
|
||||
SET_VECTOR_ELT(DimNames, 0, duplicate(Rnames));
|
||||
protected += 2;
|
||||
diff --git a/src/single_snp_tests.c b/src/single_snp_tests.c
|
||||
index a242e17..08bd098 100644
|
||||
--- a/src/single_snp_tests.c
|
||||
+++ b/src/single_snp_tests.c
|
||||
@@ -53,8 +53,8 @@ SEXP score_single(const SEXP Phenotype, const SEXP Stratum, const SEXP Snps,
|
||||
/* SNPs ---- should be a SnpMatrix or an XSnpMatrix */
|
||||
|
||||
const char *classS = NULL;
|
||||
- if (TYPEOF(R_data_class(Snps, FALSE)) == STRSXP) {
|
||||
- classS = CHAR(STRING_ELT(R_data_class(Snps, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Snps)) == STRSXP) {
|
||||
+ classS = CHAR(STRING_ELT(R_class(Snps), 0));
|
||||
} else {
|
||||
classS = CHAR(STRING_ELT(getAttrib(Snps, R_ClassSymbol), 0));
|
||||
}
|
||||
@@ -108,8 +108,8 @@ SEXP score_single(const SEXP Phenotype, const SEXP Stratum, const SEXP Snps,
|
||||
index_db name_index;
|
||||
if (!isNull(Rules)) {
|
||||
const char *classR = NULL;
|
||||
- if (TYPEOF(R_data_class(Rules, FALSE)) == STRSXP) {
|
||||
- classR = CHAR(STRING_ELT(R_data_class(Rules, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Rules)) == STRSXP) {
|
||||
+ classR = CHAR(STRING_ELT(R_class(Rules), 0));
|
||||
} else {
|
||||
classR = CHAR(STRING_ELT(getAttrib(Rules, R_ClassSymbol), 0));
|
||||
}
|
||||
diff --git a/src/snp_summary.c b/src/snp_summary.c
|
||||
index 9b53693..6f181c9 100644
|
||||
--- a/src/snp_summary.c
|
||||
+++ b/src/snp_summary.c
|
||||
@@ -47,8 +47,8 @@ SEXP X_snp_summary(const SEXP Snps, const SEXP Rules, const SEXP Uncertain) {
|
||||
SEXP ruleNames = R_NilValue;
|
||||
if (!isNull(Rules)) {
|
||||
const char *classR = NULL;
|
||||
- if (TYPEOF(R_data_class(Rules, FALSE)) == STRSXP) {
|
||||
- classR = CHAR(STRING_ELT(R_data_class(Rules, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Rules)) == STRSXP) {
|
||||
+ classR = CHAR(STRING_ELT(R_class(Rules), 0));
|
||||
} else {
|
||||
classR = CHAR(STRING_ELT(getAttrib(Rules, R_ClassSymbol), 0));
|
||||
}
|
||||
@@ -321,8 +321,8 @@ SEXP snp_summary(const SEXP Snps, const SEXP Rules, const SEXP Uncertain) {
|
||||
SEXP ruleNames = R_NilValue;
|
||||
if (!isNull(Rules)) {
|
||||
const char *classR = NULL;
|
||||
- if (TYPEOF(R_data_class(Rules, FALSE)) == STRSXP) {
|
||||
- classR = CHAR(STRING_ELT(R_data_class(Rules, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Rules)) == STRSXP) {
|
||||
+ classR = CHAR(STRING_ELT(R_class(Rules), 0));
|
||||
} else {
|
||||
classR = CHAR(STRING_ELT(getAttrib(Rules, R_ClassSymbol), 0));
|
||||
}
|
||||
diff --git a/src/snpmpy.c b/src/snpmpy.c
|
||||
index 2447048..56b84d9 100644
|
||||
--- a/src/snpmpy.c
|
||||
+++ b/src/snpmpy.c
|
||||
@@ -34,7 +34,7 @@ SEXP snp_pre(const SEXP Snps, const SEXP Mat, const SEXP Frequency,
|
||||
int *ifdiploid = NULL;
|
||||
SEXP cl = GET_CLASS(Snps);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Snps); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
|
||||
SEXP diploid = R_do_slot(Snps, mkString("diploid"));
|
||||
@@ -55,7 +55,7 @@ SEXP snp_pre(const SEXP Snps, const SEXP Mat, const SEXP Frequency,
|
||||
|
||||
cl = GET_CLASS(Mat);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Mat, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Mat); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (strcmp(CHAR(STRING_ELT(cl, 0)), "matrix"))
|
||||
error("Argument error - Mat wrong type");
|
||||
@@ -161,7 +161,7 @@ SEXP snp_post(const SEXP Snps, const SEXP Mat, const SEXP Frequency,
|
||||
int *ifdiploid = NULL;
|
||||
SEXP cl = GET_CLASS(Snps);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Snps); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
|
||||
SEXP diploid = R_do_slot(Snps, mkString("diploid"));
|
||||
@@ -182,7 +182,7 @@ SEXP snp_post(const SEXP Snps, const SEXP Mat, const SEXP Frequency,
|
||||
|
||||
cl = GET_CLASS(Mat);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Mat, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Mat); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (strcmp(CHAR(STRING_ELT(cl, 0)), "matrix"))
|
||||
error("Argument error - Mat wrong type");
|
||||
diff --git a/src/structure.c b/src/structure.c
|
||||
index 2a05635..1f9b62e 100644
|
||||
--- a/src/structure.c
|
||||
+++ b/src/structure.c
|
||||
@@ -66,7 +66,7 @@ SEXP xxt(const SEXP Snps, const SEXP Strata, const SEXP Correct_for_missing,
|
||||
int *ifDiploid = NULL;
|
||||
SEXP cl = GET_CLASS(Snps);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Snps); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
|
||||
SEXP Diploid = R_do_slot(Snps, mkString("diploid"));
|
||||
@@ -409,7 +409,7 @@ SEXP ibs_count(const SEXP Snps, const SEXP Uncertain) {
|
||||
int *ifDiploid = NULL;
|
||||
SEXP cl = GET_CLASS(Snps);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Snps); /* S4 way of getting class attribute */
|
||||
}
|
||||
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
|
||||
SEXP Diploid = R_do_slot(Snps, mkString("diploid"));
|
||||
diff --git a/src/subset.c b/src/subset.c
|
||||
index cc7992d..4c2e2c4 100644
|
||||
--- a/src/subset.c
|
||||
+++ b/src/subset.c
|
||||
@@ -55,7 +55,7 @@ SEXP subset(SEXP X, SEXP Rows, SEXP Cols) {
|
||||
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
|
||||
setAttrib(Rclass, install("package"), Package);
|
||||
setAttrib(Result, R_ClassSymbol, Rclass);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
PROTECT(Rdim = allocVector(INTSXP, 2));
|
||||
int *rdim = INTEGER(Rdim);
|
||||
rdim[0] = nrows;
|
||||
diff --git a/src/switch.c b/src/switch.c
|
||||
index 60f7e6c..e2a3287 100644
|
||||
--- a/src/switch.c
|
||||
+++ b/src/switch.c
|
||||
@@ -16,7 +16,7 @@ SEXP test_switch(const SEXP Snps, const SEXP Snps2, const SEXP Split,
|
||||
int *female = NULL;
|
||||
SEXP cl = GET_CLASS(Snps);
|
||||
if (TYPEOF(cl) != STRSXP) {
|
||||
- cl = R_data_class(Snps, FALSE); /* S4 way of getting class attribute */
|
||||
+ cl = R_class(Snps); /* S4 way of getting class attribute */
|
||||
}
|
||||
SEXP diploid = NULL;
|
||||
if (!strcmp(CHAR(STRING_ELT(cl, 0)), "XSnpMatrix")) {
|
||||
diff --git a/src/tdt.c b/src/tdt.c
|
||||
index cece0d9..000d1c7 100644
|
||||
--- a/src/tdt.c
|
||||
+++ b/src/tdt.c
|
||||
@@ -43,8 +43,8 @@ SEXP score_tdt(const SEXP Proband, const SEXP Father, const SEXP Mother,
|
||||
/* SNPs ---- should be a SnpMatrix or an XSnpMatrix */
|
||||
|
||||
const char *classS = NULL;
|
||||
- if (TYPEOF(R_data_class(Snps, FALSE)) == STRSXP) {
|
||||
- classS = CHAR(STRING_ELT(R_data_class(Snps, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Snps)) == STRSXP) {
|
||||
+ classS = CHAR(STRING_ELT(R_class(Snps), 0));
|
||||
} else {
|
||||
classS = CHAR(STRING_ELT(getAttrib(Snps, R_ClassSymbol), 0));
|
||||
}
|
||||
@@ -84,8 +84,8 @@ SEXP score_tdt(const SEXP Proband, const SEXP Father, const SEXP Mother,
|
||||
GTYPE **gt2ht = NULL;
|
||||
if (!isNull(Rules)) {
|
||||
const char *classR = NULL;
|
||||
- if (TYPEOF(R_data_class(Rules, FALSE)) == STRSXP) {
|
||||
- classR = CHAR(STRING_ELT(R_data_class(Rules, FALSE), 0));
|
||||
+ if (TYPEOF(R_class(Rules)) == STRSXP) {
|
||||
+ classR = CHAR(STRING_ELT(R_class(Rules), 0));
|
||||
} else {
|
||||
classR = CHAR(STRING_ELT(getAttrib(Rules, R_ClassSymbol), 0));
|
||||
}
|
||||
diff --git a/src/testBig.c b/src/testBig.c
|
||||
index a6eb76f..3dca1da 100644
|
||||
--- a/src/testBig.c
|
||||
+++ b/src/testBig.c
|
||||
@@ -18,7 +18,7 @@ SEXP snp_big(SEXP nrow, SEXP ncol) {
|
||||
SET_STRING_ELT(Package, 0, mkChar("snpStats"));
|
||||
setAttrib(Class, install("package"), Package);
|
||||
classgets(Result, Class);
|
||||
- SET_S4_OBJECT(Result);
|
||||
+ Rf_asS4(Result, TRUE, 0);
|
||||
|
||||
PROTECT(Dnames = allocVector(VECSXP, 2));
|
||||
setAttrib(Result, R_DimNamesSymbol, Dnames);
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -0,0 +1,149 @@
|
||||
From a505297e347aa72510ecfc83e7009668693e1260 Mon Sep 17 00:00:00 2001
|
||||
From: vjcitn <stvjc@channing.harvard.edu>
|
||||
Date: Fri, 13 Mar 2026 04:06:37 -0400
|
||||
Subject: [PATCH 2/2] fixed IS_S4_OBJECT
|
||||
|
||||
---
|
||||
src/bind.c | 4 ++--
|
||||
src/fst.c | 2 +-
|
||||
src/glm_test_R.c | 8 ++++----
|
||||
src/single_snp_tests.c | 2 +-
|
||||
src/snp_summary.c | 6 +++---
|
||||
src/tdt.c | 2 +-
|
||||
6 files changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/src/bind.c b/src/bind.c
|
||||
index fa87e7c..b3ef928 100644
|
||||
--- a/src/bind.c
|
||||
+++ b/src/bind.c
|
||||
@@ -22,7 +22,7 @@ SEXP snp_rbind(SEXP args) {
|
||||
Class = R_class(This);
|
||||
}
|
||||
const char *cli = CHAR(STRING_ELT(Class, 0));
|
||||
- if(!IS_S4_OBJECT(This)) {
|
||||
+ if(!Rf_isS4(This)) {
|
||||
warning("rbinding SnpMatrix object without S4 object bit");
|
||||
}
|
||||
int nci = ncols(This);
|
||||
@@ -151,7 +151,7 @@ SEXP snp_cbind(SEXP args) {
|
||||
Class = R_class(This);
|
||||
}
|
||||
const char *cli = CHAR(STRING_ELT(Class, 0));
|
||||
- if(!IS_S4_OBJECT(This)) {
|
||||
+ if(!Rf_isS4(This)) {
|
||||
warning("cbinding SnpMatrix object without S4 object bit");
|
||||
}
|
||||
SEXP Di = R_NilValue;
|
||||
diff --git a/src/fst.c b/src/fst.c
|
||||
index bbc39c0..5451a51 100644
|
||||
--- a/src/fst.c
|
||||
+++ b/src/fst.c
|
||||
@@ -23,7 +23,7 @@ SEXP Fst(SEXP Snps, SEXP Group, SEXP HapMap) {
|
||||
ifX = 0; /* to avoid warning message */
|
||||
error("Argument error - class(Snps)");
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Snps)) {
|
||||
+ if(!Rf_isS4(Snps)) {
|
||||
error("Argument error - Snps is not S4 object");
|
||||
}
|
||||
|
||||
diff --git a/src/glm_test_R.c b/src/glm_test_R.c
|
||||
index dc8ebef..fe9d9c8 100644
|
||||
--- a/src/glm_test_R.c
|
||||
+++ b/src/glm_test_R.c
|
||||
@@ -24,7 +24,7 @@ SEXP snp_lhs_score(const SEXP Y, const SEXP X, const SEXP Stratum,
|
||||
} else {
|
||||
classY = CHAR(STRING_ELT(getAttrib(Y, R_ClassSymbol), 0));
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Y)) {
|
||||
+ if(!Rf_isS4(Y)) {
|
||||
error("Y in snp_lhs_score is missing S4 Object bit");
|
||||
}
|
||||
int ifX = 0;
|
||||
@@ -443,7 +443,7 @@ SEXP snp_rhs_score(SEXP Y, SEXP family, SEXP link,
|
||||
ifX = 1;
|
||||
else
|
||||
error("Argument error - class(Z)");
|
||||
- if (!IS_S4_OBJECT(Z)) {
|
||||
+ if (!Rf_isS4(Z)) {
|
||||
error("Z in snp_rhs_score is missing S4 Object bit");
|
||||
}
|
||||
|
||||
@@ -1008,7 +1008,7 @@ SEXP snp_lhs_estimate(const SEXP Y, const SEXP X, const SEXP Stratum,
|
||||
} else {
|
||||
classY = CHAR(STRING_ELT(getAttrib(Y, R_ClassSymbol), 0));
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Y)) {
|
||||
+ if(!Rf_isS4(Y)) {
|
||||
error("Y in snp_lhs_score is missing S4 Object bit");
|
||||
}
|
||||
int ifX = 0;
|
||||
@@ -1365,7 +1365,7 @@ SEXP snp_rhs_estimate(SEXP Y, SEXP family, SEXP link,
|
||||
} else {
|
||||
classZ = CHAR(STRING_ELT(getAttrib(Z, R_ClassSymbol), 0));
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Z)) {
|
||||
+ if(!Rf_isS4(Z)) {
|
||||
error("Z in snp_rhs_score is missing S4 Object bit");
|
||||
}
|
||||
int ifX = 0;
|
||||
diff --git a/src/single_snp_tests.c b/src/single_snp_tests.c
|
||||
index 08bd098..b577300 100644
|
||||
--- a/src/single_snp_tests.c
|
||||
+++ b/src/single_snp_tests.c
|
||||
@@ -67,7 +67,7 @@ SEXP score_single(const SEXP Phenotype, const SEXP Stratum, const SEXP Snps,
|
||||
ifX = 0; /* to avoid warning message */
|
||||
error("Argument error - class(Snps)");
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Snps)) {
|
||||
+ if(!Rf_isS4(Snps)) {
|
||||
error("Argument error - Snps is not S4 object");
|
||||
}
|
||||
|
||||
diff --git a/src/snp_summary.c b/src/snp_summary.c
|
||||
index 6f181c9..c2f1c73 100644
|
||||
--- a/src/snp_summary.c
|
||||
+++ b/src/snp_summary.c
|
||||
@@ -24,7 +24,7 @@ SEXP X_snp_summary(const SEXP Snps, const SEXP Rules, const SEXP Uncertain) {
|
||||
if (Snps == R_NilValue) {
|
||||
error("Argument error - Snps = NULL");
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Snps)) {
|
||||
+ if(!Rf_isS4(Snps)) {
|
||||
error("Argument error - Snps is not S4 object");
|
||||
}
|
||||
const unsigned char *snps = RAW(Snps);
|
||||
@@ -298,7 +298,7 @@ SEXP snp_summary(const SEXP Snps, const SEXP Rules, const SEXP Uncertain) {
|
||||
if (Snps == R_NilValue) {
|
||||
error("Argument error - Snps = NULL");
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Snps)) {
|
||||
+ if(!Rf_isS4(Snps)) {
|
||||
error("Argument error - Snps is not S4 object");
|
||||
}
|
||||
const unsigned char *snps = RAW(Snps);
|
||||
@@ -538,7 +538,7 @@ SEXP row_summary(const SEXP Snps) {
|
||||
if (Snps == R_NilValue) {
|
||||
error("Argument error - Snps = NULL");
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Snps)) {
|
||||
+ if(!Rf_isS4(Snps)) {
|
||||
error("Argument error - Snps is not S4 object");
|
||||
}
|
||||
const unsigned char *snps = RAW(Snps);
|
||||
diff --git a/src/tdt.c b/src/tdt.c
|
||||
index 000d1c7..634e1b3 100644
|
||||
--- a/src/tdt.c
|
||||
+++ b/src/tdt.c
|
||||
@@ -57,7 +57,7 @@ SEXP score_tdt(const SEXP Proband, const SEXP Father, const SEXP Mother,
|
||||
ifX = 0; /* to avoid warning message */
|
||||
error("Argument error - class(Snps)");
|
||||
}
|
||||
- if(!IS_S4_OBJECT(Snps)) {
|
||||
+ if(!Rf_isS4(Snps)) {
|
||||
error("Argument error - Snps is not S4 object");
|
||||
}
|
||||
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@@ -0,0 +1,259 @@
|
||||
From 633aa6e3f671e9b58b3508b3944ff0dd45f34f8a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
|
||||
Date: Thu, 5 Mar 2026 14:58:23 -0800
|
||||
Subject: [PATCH] SparseArray 1.11.11: Get rid of non-API calls to R
|
||||
|
||||
From 65383c02f986832b1416c6ad39da800d8ced05df Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Herv=C3=A9=20Pag=C3=A8s?= <hpages.on.github@gmail.com>
|
||||
Date: Tue, 31 Mar 2026 11:38:20 -0700
|
||||
Subject: [PATCH] SparseArray 1.11.13: Use R_getVar() instead of findVar() when
|
||||
R >= 4.6.0
|
||||
|
||||
---
|
||||
DESCRIPTION | 2 +-
|
||||
src/Makevars | 1 +
|
||||
src/Rvector_utils.c | 15 ++++++++-------
|
||||
src/SparseArray_aperm.c | 2 +-
|
||||
src/SparseArray_matrixStats.c | 5 +++--
|
||||
src/SparseArray_subassignment.c | 6 +++---
|
||||
src/SparseVec.h | 3 ++-
|
||||
src/leaf_utils.c | 5 +++--
|
||||
src/test.c | 3 +++
|
||||
9 files changed, 25 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/src/Makevars b/src/Makevars
|
||||
index 0ee3615..1c5b86e 100644
|
||||
--- a/src/Makevars
|
||||
+++ b/src/Makevars
|
||||
@@ -1,2 +1,3 @@
|
||||
+## See https://cran.r-project.org/doc/manuals/r-release/R-exts.html#OpenMP-support
|
||||
PKG_CFLAGS = $(SHLIB_OPENMP_CFLAGS)
|
||||
PKG_LIBS = $(SHLIB_OPENMP_CFLAGS)
|
||||
diff --git a/src/Rvector_utils.c b/src/Rvector_utils.c
|
||||
index ad80168..7e61ac1 100644
|
||||
--- a/src/Rvector_utils.c
|
||||
+++ b/src/Rvector_utils.c
|
||||
@@ -4,6 +4,7 @@
|
||||
****************************************************************************/
|
||||
#include "Rvector_utils.h"
|
||||
|
||||
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
|
||||
#include <string.h> /* for memset() and memcpy() */
|
||||
|
||||
|
||||
@@ -242,7 +243,7 @@ void _fill_Rvector_block_with_val(SEXP Rvector,
|
||||
(const SEXP) val);
|
||||
return;
|
||||
}
|
||||
- _set_elts_to_val(TYPEOF(Rvector), DATAPTR(Rvector),
|
||||
+ _set_elts_to_val(TYPEOF(Rvector), DATAPTR_RW(Rvector),
|
||||
block_offset, block_len, val);
|
||||
}
|
||||
|
||||
@@ -260,7 +261,7 @@ void _fill_Rvector_block_with_zeros(SEXP Rvector,
|
||||
R_NilValue);
|
||||
return;
|
||||
}
|
||||
- _set_elts_to_zero(Rtype, DATAPTR(Rvector), block_offset, block_len);
|
||||
+ _set_elts_to_zero(Rtype, DATAPTR_RW(Rvector), block_offset, block_len);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -268,7 +269,7 @@ void _fill_Rvector_block_with_zeros(SEXP Rvector,
|
||||
void _fill_Rvector_block_with_ones(SEXP Rvector,
|
||||
R_xlen_t block_offset, R_xlen_t block_len)
|
||||
{
|
||||
- _set_elts_to_one(TYPEOF(Rvector), DATAPTR(Rvector),
|
||||
+ _set_elts_to_one(TYPEOF(Rvector), DATAPTR_RW(Rvector),
|
||||
block_offset, block_len);
|
||||
return;
|
||||
}
|
||||
@@ -277,7 +278,7 @@ void _fill_Rvector_block_with_ones(SEXP Rvector,
|
||||
void _fill_Rvector_block_with_minus_one(SEXP Rvector,
|
||||
R_xlen_t block_offset, R_xlen_t block_len)
|
||||
{
|
||||
- _set_elts_to_minus_one(TYPEOF(Rvector), DATAPTR(Rvector),
|
||||
+ _set_elts_to_minus_one(TYPEOF(Rvector), DATAPTR_RW(Rvector),
|
||||
block_offset, block_len);
|
||||
return;
|
||||
}
|
||||
@@ -293,7 +294,7 @@ void _fill_Rvector_block_with_NA(SEXP Rvector,
|
||||
NA_STRING);
|
||||
return;
|
||||
}
|
||||
- _set_elts_to_NA(Rtype, DATAPTR(Rvector), block_offset, block_len);
|
||||
+ _set_elts_to_NA(Rtype, DATAPTR_RW(Rvector), block_offset, block_len);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -460,7 +461,7 @@ void _fill_Rvector_subset_with_zeros(SEXP Rvector,
|
||||
R_NilValue);
|
||||
return;
|
||||
}
|
||||
- _set_selected_elts_to_zero(Rtype, DATAPTR(Rvector),
|
||||
+ _set_selected_elts_to_zero(Rtype, DATAPTR_RW(Rvector),
|
||||
selection, selection_len, selection_offset);
|
||||
return;
|
||||
}
|
||||
@@ -470,7 +471,7 @@ void _fill_Rvector_subset_with_ones(SEXP Rvector,
|
||||
const int *selection, int selection_len,
|
||||
R_xlen_t selection_offset)
|
||||
{
|
||||
- _set_selected_elts_to_one(TYPEOF(Rvector), DATAPTR(Rvector),
|
||||
+ _set_selected_elts_to_one(TYPEOF(Rvector), DATAPTR_RW(Rvector),
|
||||
selection, selection_len, selection_offset);
|
||||
return;
|
||||
}
|
||||
diff --git a/src/SparseArray_aperm.c b/src/SparseArray_aperm.c
|
||||
index 0bd092e..bbeaf2c 100644
|
||||
--- a/src/SparseArray_aperm.c
|
||||
+++ b/src/SparseArray_aperm.c
|
||||
@@ -721,7 +721,7 @@ static SEXP REC_grow_output_tree(const int *dim, int ndim,
|
||||
const type *nzvals_p = NULL; /* -Wmaybe-uninitialized */ \
|
||||
type v; \
|
||||
if (nzvals != R_NilValue) { /* standard leaf */ \
|
||||
- nzvals_p = (const type *) DATAPTR(nzvals); \
|
||||
+ nzvals_p = DATAPTR_RO(nzvals); \
|
||||
} else { /* lacunar leaf */ \
|
||||
v = type ## 1; \
|
||||
} \
|
||||
diff --git a/src/SparseArray_matrixStats.c b/src/SparseArray_matrixStats.c
|
||||
index b626553..debacf6 100644
|
||||
--- a/src/SparseArray_matrixStats.c
|
||||
+++ b/src/SparseArray_matrixStats.c
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "leaf_utils.h"
|
||||
#include "SparseArray_summarization.h"
|
||||
|
||||
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
|
||||
#include <string.h> /* for memcpy() and memset() */
|
||||
|
||||
|
||||
@@ -272,7 +273,7 @@ SEXP C_colStats_SVT(SEXP x_dim, SEXP x_dimnames, SEXP x_type,
|
||||
int warn = 0;
|
||||
REC_colStats_SVT(x_SVT, x_bg_is_na, INTEGER(x_dim), LENGTH(x_dim),
|
||||
&summarize_op,
|
||||
- DATAPTR(ans), ans_Rtype,
|
||||
+ DATAPTR_RW(ans), ans_Rtype,
|
||||
out_incs, ans_ndim, pardim,
|
||||
&warn);
|
||||
if (warn)
|
||||
@@ -1175,7 +1176,7 @@ SEXP C_rowStats_SVT(SEXP x_dim, SEXP x_dimnames, SEXP x_type,
|
||||
SVT_rowMinsMaxs(x_SVT, x_Rtype, x_bg_is_na,
|
||||
INTEGER(x_dim), LENGTH(x_dim),
|
||||
opcode, narm,
|
||||
- DATAPTR(ans), LENGTH(ans), ans_Rtype,
|
||||
+ DATAPTR_RW(ans), LENGTH(ans), ans_Rtype,
|
||||
out_incs, ans_ndim, nstrata);
|
||||
break;
|
||||
case SUM_OPCODE:
|
||||
diff --git a/src/SparseArray_subassignment.c b/src/SparseArray_subassignment.c
|
||||
index 4cf1c3d..c3b2d5e 100644
|
||||
--- a/src/SparseArray_subassignment.c
|
||||
+++ b/src/SparseArray_subassignment.c
|
||||
@@ -966,13 +966,13 @@ static inline int next_coords0(NindexIterator *Nindex_iter)
|
||||
midx_p++;
|
||||
coords0_p++;
|
||||
}
|
||||
- printf("coords0: ");
|
||||
+ //printf("coords0: ");
|
||||
coords0_p = Nindex_iter->coords0_buf;
|
||||
for (along = Nindex_iter->margin; along < Nindex_iter->ndim; along++) {
|
||||
- printf(" %3d", *coords0_p);
|
||||
+ //printf(" %3d", *coords0_p);
|
||||
coords0_p++;
|
||||
}
|
||||
- printf("\n");
|
||||
+ //printf("\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
diff --git a/src/SparseVec.h b/src/SparseVec.h
|
||||
index 894709b..73cd841 100644
|
||||
--- a/src/SparseVec.h
|
||||
+++ b/src/SparseVec.h
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#include "Rvector_utils.h"
|
||||
|
||||
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
|
||||
#include <limits.h> /* for INT_MAX */
|
||||
|
||||
|
||||
@@ -122,7 +123,7 @@ static inline SparseVec toSparseVec(SEXP nzvals, SEXP nzoffs,
|
||||
if (IS_STRSXP_OR_VECSXP(Rtype)) {
|
||||
sv.nzvals = nzvals;
|
||||
} else {
|
||||
- sv.nzvals = DATAPTR(nzvals);
|
||||
+ sv.nzvals = DATAPTR_RW(nzvals);
|
||||
}
|
||||
}
|
||||
sv.nzoffs = INTEGER(nzoffs);
|
||||
diff --git a/src/leaf_utils.c b/src/leaf_utils.c
|
||||
index e8066c3..c5ff3aa 100644
|
||||
--- a/src/leaf_utils.c
|
||||
+++ b/src/leaf_utils.c
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "SparseVec_subsetting.h"
|
||||
#include "SparseVec_subassignment.h"
|
||||
|
||||
+#include <R_ext/Altrep.h> /* only for DATAPTR_RW() */
|
||||
#include <string.h> /* for memcpy() */
|
||||
|
||||
|
||||
@@ -129,7 +130,7 @@ SEXP _make_leaf_from_two_arrays(SEXPTYPE Rtype,
|
||||
return ans;
|
||||
}
|
||||
ans_nzvals = PROTECT(allocVector(Rtype, nzcount));
|
||||
- memcpy(DATAPTR(ans_nzvals), nzvals_p, Rtype_size * nzcount);
|
||||
+ memcpy(DATAPTR_RW(ans_nzvals), nzvals_p, Rtype_size * nzcount);
|
||||
}
|
||||
SEXP ans = zip_leaf(ans_nzvals, ans_nzoffs, 0);
|
||||
UNPROTECT(2);
|
||||
@@ -156,7 +157,7 @@ static SEXP make_leaf_from_Rvector_subset(SEXP Rvector,
|
||||
|
||||
if (avoid_copy_if_all_selected &&
|
||||
selection_offset == 0 && selection_len == XLENGTH(Rvector) &&
|
||||
- ATTRIB(Rvector) == R_NilValue)
|
||||
+ !ANY_ATTRIB(Rvector))
|
||||
{
|
||||
/* The full 'Rvector' is selected so can be reused as-is
|
||||
with no need to copy the selected elements to a new SEXP. */
|
||||
diff --git a/src/test.c b/src/test.c
|
||||
index 493538f..2205fa2 100644
|
||||
--- a/src/test.c
|
||||
+++ b/src/test.c
|
||||
@@ -111,6 +111,9 @@ SEXP C_simple_omp_parallel_for_loop(SEXP nloop)
|
||||
for (int i = 0; i < INTEGER(nloop)[0]; i++) {
|
||||
#ifdef _OPENMP
|
||||
int thread_num = omp_get_thread_num();
|
||||
+ /* Can't use Rprintf() here because it's not thread-safe (it
|
||||
+ can trigger R's garbage collector which itself is not
|
||||
+ thread-safe). */
|
||||
printf("thread_num = %d\n", thread_num);
|
||||
#endif
|
||||
}
|
||||
diff --git a/src/readSparseCSV.c b/src/readSparseCSV.c
|
||||
index a3d8da0..de1cb95 100644
|
||||
--- a/src/readSparseCSV.c
|
||||
+++ b/src/readSparseCSV.c
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "ExtendableJaggedArray.h"
|
||||
|
||||
#include <R_ext/Connections.h>
|
||||
+#include <Rversion.h>
|
||||
|
||||
#include <string.h> /* for memcpy() */
|
||||
|
||||
@@ -111,7 +112,11 @@ static SEXP dump_env_as_list_or_R_NilValue(SEXP env, int ans_len)
|
||||
is_empty = 1;
|
||||
for (i = 0; i < ans_len; i++) {
|
||||
key = PROTECT(idx0_to_key(i));
|
||||
+#if R_VERSION < R_Version(4, 6, 0)
|
||||
ans_elt = findVar(install(translateChar(key)), env);
|
||||
+#else
|
||||
+ ans_elt = R_getVar(install(translateChar(key)), env, FALSE);
|
||||
+#endif
|
||||
UNPROTECT(1);
|
||||
if (ans_elt == R_UnboundValue)
|
||||
continue;
|
||||
@@ -1,46 +0,0 @@
|
||||
From 1654599ea228efdd7b378ff44ed4e19d547641e0 Mon Sep 17 00:00:00 2001
|
||||
From: Bradley Lowekamp <blowekamp@mail.nih.gov>
|
||||
Date: Wed, 29 Apr 2026 16:22:49 +0000
|
||||
Subject: [PATCH 1/8] BUG: Replace removed CLOENV with R_ClosureEnv for R 4.6.0
|
||||
compatibility
|
||||
|
||||
R 4.6.0 removed the non-API macro CLOENV from its public headers.
|
||||
The replacement R_ClosureEnv() was added in R 4.5.0. Add a version-
|
||||
guarded backport so that builds against older R versions (< 4.5.0)
|
||||
continue to work.
|
||||
|
||||
Fixes #2574
|
||||
---
|
||||
Wrapping/R/sitkRCommand.cxx | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Wrapping/R/sitkRCommand.cxx b/Wrapping/R/sitkRCommand.cxx
|
||||
index 216a9327b8..c3a62bead9 100644
|
||||
--- a/Wrapping/R/sitkRCommand.cxx
|
||||
+++ b/Wrapping/R/sitkRCommand.cxx
|
||||
@@ -19,10 +19,15 @@
|
||||
// The python header defines _POSIX_C_SOURCE without a preceding #undef
|
||||
#include <iostream>
|
||||
#include <Rinternals.h>
|
||||
+#include <Rversion.h>
|
||||
|
||||
#include "sitkRCommand.h"
|
||||
#include "sitkExceptionObject.h"
|
||||
|
||||
+// R_ClosureEnv was added in R 4.5.0, CLOENV was removed in R 4.6.0
|
||||
+#if R_VERSION < R_Version(4, 5, 0)
|
||||
+# define R_ClosureEnv(x) CLOENV(x)
|
||||
+#endif
|
||||
|
||||
namespace itk
|
||||
{
|
||||
@@ -86,7 +91,7 @@ RCommand::SetFunctionClosure(SEXP FN)
|
||||
// element
|
||||
R_fcall = PROTECT(Rf_lang1(this->m_FunctionClosure));
|
||||
this->SetCallbackRCallable(R_fcall);
|
||||
- this->SetCallbackREnviron(CLOENV(this->m_FunctionClosure));
|
||||
+ this->SetCallbackREnviron(R_ClosureEnv(this->m_FunctionClosure));
|
||||
UNPROTECT(1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,171 +0,0 @@
|
||||
From 494259f19b3ca4ad0b11c858bc3ba9b587fa2ed5 Mon Sep 17 00:00:00 2001
|
||||
From: Bradley Lowekamp <blowekamp@mail.nih.gov>
|
||||
Date: Thu, 30 Apr 2026 16:09:54 +0000
|
||||
Subject: [PATCH 1/2] [R] Fix compilation with R 4.6.0 which removed non-API
|
||||
macros #3407
|
||||
|
||||
R 4.6.0 (April 2025) removed the non-API macro SET_S4_OBJECT and made
|
||||
CHARACTER_POINTER return a const pointer, breaking compilation of SWIG
|
||||
generated R code.
|
||||
|
||||
Replace with proper R API equivalents:
|
||||
- SET_S4_OBJECT(x) -> x = Rf_asS4(x, TRUE, 0) (3 sites in rrun.swg)
|
||||
- CHARACTER_POINTER(v)[i] = ... -> SET_STRING_ELT(v, i, ...) (2 sites in std_vector.i)
|
||||
- CHARACTER_POINTER() via pstr -> STRING_ELT(, i) directly (argcargv.i)
|
||||
|
||||
All replacement APIs have been available since R 2.x so no version
|
||||
guards are required.
|
||||
---
|
||||
CHANGES.current | 6 ++++++
|
||||
Lib/r/argcargv.i | 4 +---
|
||||
Lib/r/rrun.swg | 6 +++---
|
||||
Lib/r/std_vector.i | 4 ++--
|
||||
4 files changed, 12 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/Lib/r/argcargv.i b/Lib/r/argcargv.i
|
||||
index 73380f4e2c9..af7aa14d66c 100644
|
||||
--- a/Lib/r/argcargv.i
|
||||
+++ b/Lib/r/argcargv.i
|
||||
@@ -14,7 +14,6 @@
|
||||
%}
|
||||
%typemap(in) (int ARGC, char **ARGV) {
|
||||
$1_ltype i;
|
||||
- SEXP *pstr;
|
||||
if ($input == R_NilValue) {
|
||||
/* Empty array */
|
||||
$1 = 0;
|
||||
@@ -22,14 +21,13 @@
|
||||
SWIG_exception_fail(SWIG_RuntimeError, "Wrong array type.");
|
||||
} else {
|
||||
$1 = Rf_length($input);
|
||||
- pstr = CHARACTER_POINTER($input);
|
||||
}
|
||||
$2 = ($2_ltype) malloc(($1+1)*sizeof($*2_ltype));
|
||||
if ($2 == NULL) {
|
||||
SWIG_exception_fail(SWIG_MemoryError, "Memory allocation failed.");
|
||||
}
|
||||
for (i = 0; i < $1; i++) {
|
||||
- $2[i] = ($*2_ltype)STRING_VALUE(pstr[i]);
|
||||
+ $2[i] = ($*2_ltype)STRING_VALUE(STRING_ELT($input, i));
|
||||
}
|
||||
$2[i] = NULL;
|
||||
}
|
||||
diff --git a/Lib/r/rrun.swg b/Lib/r/rrun.swg
|
||||
index 4c03d5884d7..5dee391f32f 100644
|
||||
--- a/Lib/r/rrun.swg
|
||||
+++ b/Lib/r/rrun.swg
|
||||
@@ -267,7 +267,7 @@ SWIG_MakePtr(void *ptr, const char *typeName, int flags)
|
||||
R_RegisterCFinalizer(external, R_SWIG_ReferenceFinalizer);
|
||||
|
||||
r_obj = SET_SLOT(r_obj, Rf_mkString((char *) "ref"), external);
|
||||
- SET_S4_OBJECT(r_obj);
|
||||
+ r_obj = Rf_asS4(r_obj, TRUE, 0);
|
||||
Rf_unprotect(2);
|
||||
|
||||
return(r_obj);
|
||||
@@ -285,7 +285,7 @@ R_SWIG_create_SWIG_R_Array(const char *typeName, SEXP ref, int len)
|
||||
Rf_protect(arr = R_do_slot_assign(arr, Rf_mkString("dims"), Rf_ScalarInteger(len)));
|
||||
|
||||
Rf_unprotect(3);
|
||||
- SET_S4_OBJECT(arr);
|
||||
+ arr = Rf_asS4(arr, TRUE, 0);
|
||||
return arr;
|
||||
}
|
||||
|
||||
@@ -308,7 +308,7 @@ SWIG_R_NewPointerObj(void *ptr, swig_type_info *type, int flags) {
|
||||
}
|
||||
rptr = R_MakeExternalPtr(ptr,
|
||||
R_MakeExternalPtr(type, R_NilValue, R_NilValue), R_NilValue);
|
||||
- SET_S4_OBJECT(rptr);
|
||||
+ rptr = Rf_asS4(rptr, TRUE, 0);
|
||||
return rptr;
|
||||
}
|
||||
|
||||
diff --git a/Lib/r/std_vector.i b/Lib/r/std_vector.i
|
||||
index 6b32c9f6fc2..7db6d3814ac 100644
|
||||
--- a/Lib/r/std_vector.i
|
||||
+++ b/Lib/r/std_vector.i
|
||||
@@ -203,7 +203,7 @@
|
||||
PROTECT(result = Rf_allocVector(STRSXP, val->size()));
|
||||
for (unsigned pos = 0; pos < val->size(); pos++)
|
||||
{
|
||||
- CHARACTER_POINTER(result)[pos] = Rf_mkChar(((*val)[pos]).c_str());
|
||||
+ SET_STRING_ELT(result, pos, Rf_mkChar(((*val)[pos]).c_str()));
|
||||
}
|
||||
UNPROTECT(1);
|
||||
return(result);
|
||||
@@ -669,7 +669,7 @@
|
||||
// Fill the R vector
|
||||
for (unsigned vpos = 0; vpos < val->at(pos).size(); ++vpos)
|
||||
{
|
||||
- CHARACTER_POINTER(VECTOR_ELT(result, pos))[vpos] = Rf_mkChar(val->at(pos).at(vpos).c_str());
|
||||
+ SET_STRING_ELT(VECTOR_ELT(result, pos), vpos, Rf_mkChar(val->at(pos).at(vpos).c_str()));
|
||||
}
|
||||
}
|
||||
UNPROTECT(1);
|
||||
|
||||
From 77d8826b46a967af158e982d56008aea2c8f6cb1 Mon Sep 17 00:00:00 2001
|
||||
From: Erez Geva <ErezGeva2@gmail.com>
|
||||
Date: Fri, 1 May 2026 18:47:42 +0200
|
||||
Subject: [PATCH 2/2] Add versioned `R` testing
|
||||
|
||||
Signed-off-by: Erez Geva <ErezGeva2@gmail.com>
|
||||
---
|
||||
.github/workflows/linux.yml | 7 +++++++
|
||||
Tools/CI-linux-install.sh | 20 +++++++++++++++++++-
|
||||
configure.ac | 11 +++++++++++
|
||||
3 files changed, 37 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Tools/CI-linux-install.sh b/Tools/CI-linux-install.sh
|
||||
index ad74ad3f21f..8f459899906 100644
|
||||
--- a/Tools/CI-linux-install.sh
|
||||
+++ b/Tools/CI-linux-install.sh
|
||||
@@ -181,7 +181,25 @@ case "$SWIGLANG" in
|
||||
fi
|
||||
;;
|
||||
"r")
|
||||
- $RETRY sudo apt-get -qq install r-base
|
||||
+ if [[ -n "$VER" ]]; then
|
||||
+ # Should helps with old version, but do not work
|
||||
+ #$RETRY sudo apt-get -qq remove r-base r-base-core r-base-dev r-base-html r-doc-html r-recommended
|
||||
+ sudo sed -i 's%^# deb-src %deb-src %' /etc/apt/sources.list
|
||||
+ sudo sed -i 's%^Types: deb$%Types: deb deb-src%' /etc/apt/sources.list.d/*
|
||||
+ $RETRY sudo apt-get -qq update
|
||||
+ $RETRY sudo apt-get -qq build-dep r-base
|
||||
+ r_build=`mktemp -d`
|
||||
+ r_tarball=R-$VER.tar.gz
|
||||
+ URL=https://cran.r-project.org/src/base/R-${VER:0:1}
|
||||
+ $RETRY wget $URL/$r_tarball
|
||||
+ tar -xf "$r_tarball" --strip-components=1 -C "$r_build"
|
||||
+ cd "$r_build"
|
||||
+ ./configure
|
||||
+ make
|
||||
+ sudo make install
|
||||
+ else
|
||||
+ $RETRY sudo apt-get -qq install r-base
|
||||
+ fi
|
||||
;;
|
||||
"ruby")
|
||||
if [[ "$VER" ]]; then
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index e113f4b877c..e309b36ff45 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -2292,6 +2292,17 @@ else
|
||||
if test "x$RBIN" = xyes; then
|
||||
AC_PATH_PROG(RBIN, R)
|
||||
fi
|
||||
+if test -n "$RBIN" && test -x "$RBIN"; then
|
||||
+ r_min_version=2.4.0
|
||||
+ AC_MSG_CHECKING([for R version])
|
||||
+ r_version=`R --version | grep 'R version' | sed 's%^R version %%;s% (.*%%'`
|
||||
+ AS_VERSION_COMPARE(["$r_version"], ["$r_min_version"],
|
||||
+ [AC_MSG_RESULT([older then $r_min_version])
|
||||
+ AS_UNSET([RBIN])], dnl bellow r_min_version
|
||||
+ [AC_MSG_RESULT([$r_version])], dnl equal r_min_version
|
||||
+ [AC_MSG_RESULT([$r_version])]) dnl above r_min_version
|
||||
+fi
|
||||
+
|
||||
fi
|
||||
|
||||
AC_SUBST(RBIN)
|
||||
@@ -237,7 +237,7 @@ it.")
|
||||
(define-public trealla
|
||||
(package
|
||||
(name "trealla")
|
||||
(version "2.100.15")
|
||||
(version "2.100.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -246,7 +246,7 @@ it.")
|
||||
(url "https://github.com/trealla-prolog/trealla")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1fr3h0hqk5bbzr8n415pd24n2nvxhyaxi03hn5s78q1yklynw13f"))
|
||||
(base32 "09aqszk3kwjb8qznaywzvhir3nxkf6mkib68mkyn4f7siswb3apg"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
||||
@@ -18311,21 +18311,9 @@ is binding LibSass.")
|
||||
(sha256
|
||||
(base32 "1fj4zkcnx3mk7kbnf4d6pjgv331n17wzpphpwdnmr498ghbsph9k"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;circular dependency with python-aiohttp
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'python3.12-compatibility
|
||||
(lambda _
|
||||
(substitute* '("idna_ssl.py"
|
||||
"tests/test_base.py")
|
||||
(("import ssl")
|
||||
"import ssl\nimport urllib3")
|
||||
(("ssl.match_hostname")
|
||||
"urllib3.util.ssl_match_hostname")))))))
|
||||
(arguments (list #:tests? #f)) ;circular dependency with python-aiohttp
|
||||
(native-inputs (list python-setuptools))
|
||||
(propagated-inputs (list python-idna python-urllib3))
|
||||
(propagated-inputs (list python-idna))
|
||||
(home-page "https://github.com/aio-libs/idna-ssl")
|
||||
(synopsis "Support Unicode(idna) domains for Python's @code{ssl} module")
|
||||
(description
|
||||
|
||||
@@ -1255,7 +1255,7 @@ base, via the @file{pythoncapi_compat.h} header file.")
|
||||
(define-public micropython
|
||||
(package
|
||||
(name "micropython")
|
||||
(version "1.28.0")
|
||||
(version "1.26.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@@ -1263,7 +1263,7 @@ base, via the @file{pythoncapi_compat.h} header file.")
|
||||
"releases/download/v" version
|
||||
"/micropython-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "05d2gd3g8v3paxf4fin4cv5scgnc4yl0jdahpjs37nmqaybcahsf"))
|
||||
(base32 "165c8g60f5zf82gw2d94snyjmcgn999jn4i8ngyc0wk2vwa6bghj"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
||||
+30
-31
@@ -202,7 +202,7 @@
|
||||
;;
|
||||
;; CODE:
|
||||
|
||||
(define %racket-version "9.1") ; Remember to update chez-scheme-for-racket!
|
||||
(define %racket-version "8.18") ; Remember to update chez-scheme-for-racket!
|
||||
(define %racket-commit
|
||||
(string-append "v" %racket-version))
|
||||
(define %racket-origin
|
||||
@@ -212,7 +212,7 @@
|
||||
(url "https://github.com/racket/racket")
|
||||
(commit %racket-commit)))
|
||||
(sha256
|
||||
(base32 "1yc6lkydg32998ajnqws83zakksmbp3hb21spq0sfaq4v7wg2ng6"))
|
||||
(base32 "0m38im7a3b3w7sdl15vpsrx7dxw5iz22f1zzffy1bkbbqz45pm87"))
|
||||
(file-name (git-file-name "racket" %racket-version))
|
||||
(patches (search-patches "racket-chez-scheme-bin-sh.patch"
|
||||
"racket-launcher-config-dir.patch"
|
||||
@@ -695,7 +695,6 @@ DrRacket IDE, are not included.")
|
||||
("net-lib" "pkgs/net-lib")
|
||||
("racket-doc" "pkgs/racket-doc")
|
||||
("racket-index" "pkgs/racket-index")
|
||||
("racket-index-exe" "pkgs/racket-index-exe")
|
||||
("scheme-doc" "pkgs/scheme-doc")
|
||||
("sandbox-lib" "pkgs/sandbox-lib")
|
||||
("sequence-tools-lib" "pkgs/sequence-tools-lib")
|
||||
@@ -707,10 +706,10 @@ DrRacket IDE, are not included.")
|
||||
"class-iop" (base32 "08z57q83cr7wnh6g8ah3hdhmsmf9zp1jfs7yvxv188l3hzvygy5l")
|
||||
'("class-iop-lib"))
|
||||
(simple-racket-origin
|
||||
"compatibility" (base32 "0q5k4p44sf2y4gl69js11qvicyzqwy16ry74bvj1vrn8i8xws55b")
|
||||
"compatibility" (base32 "1d1py9wizi4jnzak7b6d0p9filxv1x9mlx5gsp3yhcjajigq182p")
|
||||
'("compatibility" "compatibility-doc" "compatibility-lib"))
|
||||
(simple-racket-origin
|
||||
"contract-profile" (base32 "068z8flwcznqg0bjk227i2qapqbciyrckgqf8mvk57gxmr6zh3d3")
|
||||
"contract-profile" (base32 "1xm2z8g0dpv5d9h2sg680vx1a8ix9gbsdpxxb8qv1w7akp73paj3")
|
||||
'(("contract-profile" ".")))
|
||||
(simple-racket-origin
|
||||
"data" (base32 "11ai6c9h0brbblc6xn045ajj4gyrvbjpk1pqcqm1m0dy9q2rzd4a")
|
||||
@@ -719,7 +718,7 @@ DrRacket IDE, are not included.")
|
||||
"datalog" (base32 "0nf6cy4djpyhfvgpa6yn72apbz9s83gp0qg95pzjd0az4v6qwq1s")
|
||||
'(("datalog" ".")))
|
||||
(simple-racket-origin
|
||||
"db" (base32 "09f2wysqmgs46nbzmwrhbn6jqnkpj6bsabm6s6kw8qmp6azca9q2")
|
||||
"db" (base32 "0qwl8gyd71sm56kcs021g99cpw5bibaycvk1x7ng69jhkylg6q6f")
|
||||
'("db" "db-doc" "db-lib"))
|
||||
(simple-racket-origin
|
||||
"deinprogramm" (base32 "1zkasf94gzp97q0fhrd065d56zv10h0j0ncmaghzglkmjj8c3vvx")
|
||||
@@ -732,10 +731,10 @@ DrRacket IDE, are not included.")
|
||||
"distributed-places" (base32 "1dajpkj9balqcpv6cdk9hwjz592h1vq8rrx5vncariiac4vbdpa0")
|
||||
'("distributed-places" "distributed-places-doc" "distributed-places-lib"))
|
||||
(simple-racket-origin
|
||||
"draw" (base32 "157r861rx2avbjpqhrrxwdqxwf5ksvw38km3pw7rxiwvwh9nys8k")
|
||||
"draw" (base32 "1nny22h0hnd40qs3ndkhfrgg793y6f4gl9jpdz1g2k0cpr3818rg")
|
||||
'("draw" "draw-doc" "draw-lib"))
|
||||
(simple-racket-origin
|
||||
"drracket" (base32 "17sszhx5nd549w7kj6pd3c3cyjps2swbp7rmg36yaxm71pli5gs5")
|
||||
"drracket" (base32 "07qh9dzgd2xhd0375z78vcsf32za08cacj4s2mcrhilcvcgw9s0j")
|
||||
'("drracket"
|
||||
"drracket-core"
|
||||
"drracket-core-lib"
|
||||
@@ -754,7 +753,7 @@ DrRacket IDE, are not included.")
|
||||
"eopl" (base32 "0qihajdpwf2q7hbs6fsw6mmmzy57kgzgry3vyp9z8w7ay8df3w15")
|
||||
'(("eopl" ".")))
|
||||
(simple-racket-origin
|
||||
"errortrace" (base32 "02z80khr4kqhcpq1k3djz7jgkwa31vnacid4qx8naab9dkbcp5x8")
|
||||
"errortrace" (base32 "0l9k2rx6z4jkid7kxhbs763s66pxbzvfrgxajykbrmqkv77lhb3w")
|
||||
'("errortrace" "errortrace-doc" "errortrace-lib"))
|
||||
(simple-racket-origin
|
||||
"expeditor" (base32 "1nk88jq0blzcw45fr8nwp024cysplayi3paaay4z824lkn1smzaa")
|
||||
@@ -771,13 +770,13 @@ DrRacket IDE, are not included.")
|
||||
"games" (base32 "13z7fnbr48s98lmfxc0nbfhbqkd4hphymy2r63hqm783xzn6ylzi")
|
||||
'(("games" ".")))
|
||||
(simple-racket-origin
|
||||
"gui" (base32 "1c47622y5cf1p7nnbycaf53m8vakf55lqzv8byqzj7zcvcsh8s16")
|
||||
"gui" (base32 "0qkxa8cq0cblriamd7x502g918kjvq4348l6c8qmqdpn9cw9mg2h")
|
||||
'("gui" "gui-doc" "gui-lib" "tex-table"))
|
||||
(simple-racket-origin
|
||||
"gui-pkg-manager" (base32 "1f0ssg37kdk3xn9js616ns345565q39j9h51wzd99753iqd45m92")
|
||||
"gui-pkg-manager" (base32 "024880k3wmvkqhjc954prrkavwv3bgafcw00ajz7h2llygh0aqpl")
|
||||
'("gui-pkg-manager-lib"))
|
||||
(simple-racket-origin
|
||||
"htdp" (base32 "02a5zny1njys40jfsi2spw82ar0kkbfddpk10al822ajs1manhak")
|
||||
"htdp" (base32 "14bdv86zxs87rvvvbwvq3x0sqpg1hj16whjcv20r96c26b1xxj36")
|
||||
'("htdp" "htdp-doc" "htdp-lib"))
|
||||
(simple-racket-origin
|
||||
"html" (base32 "18n1jnjgzfknc8nv8dppi85nb8q08gqdwkg6hfjk08x0p00anx2x")
|
||||
@@ -792,16 +791,16 @@ DrRacket IDE, are not included.")
|
||||
"lazy" (base32 "0rn8kd0ih7aw6fj1g7jdvi5978a6q4hyd6gbh89nb6j5ijvlgn43")
|
||||
'(("lazy" ".")))
|
||||
(simple-racket-origin
|
||||
"macro-debugger" (base32 "08qmkrvm3qvac4829izmlwl9qrlsc1f6y8yqiradibhm05k7rwg7")
|
||||
"macro-debugger" (base32 "133b74pxavbafcsmp34kgvwmx1l6xx4bykzvgwwjg3kg2fa5bg1g")
|
||||
'("macro-debugger" "macro-debugger-text-lib"))
|
||||
(simple-racket-origin
|
||||
"main-distribution" (base32 "0gk7wrwy0r1yllk827h8awfswngl1lhlq765d6s42y841v33jn0i")
|
||||
"main-distribution" (base32 "0m2n9s32s8a4a2gn4ywrm9l8jycdm5ayi5w9kh5wchhrrw7qzq7y")
|
||||
'(("main-distribution" ".")))
|
||||
(simple-racket-origin
|
||||
"make" (base32 "10852fj30bz5r46c3d99s37fkgy5yh44gb01j29sf3kxnhi0g2sa")
|
||||
'(("make" ".")))
|
||||
(simple-racket-origin
|
||||
"math" (base32 "1mgqxx9lbwhd8if3mxz7ji2wryvihjmq5imn2316skkvr16yy8mx")
|
||||
"math" (base32 "1399mynmcrybipjsy2ikzs600jjxda0lah653w3vx2lfspsn31if")
|
||||
'("math" "math-doc" "math-lib"))
|
||||
(simple-racket-origin
|
||||
"mysterx" (base32 "11p9jzrafw0hizhl0cs4sxx7rv281185q8hryic2rpk0kzjdyr48")
|
||||
@@ -810,7 +809,7 @@ DrRacket IDE, are not included.")
|
||||
"mzcom" (base32 "0rc9pfj7gwm5azghqvcibz6si1x5s2v8mr2yngk7ssq9gzfbi6a4")
|
||||
'(("mzcom" ".")))
|
||||
(simple-racket-origin
|
||||
"mzscheme" (base32 "0p7bp8rmzw7k12sjxdqlxf31d8ama4wv9qz6ryvnmjn2qyhrr3d1")
|
||||
"mzscheme" (base32 "04kyrhznq46mklacf7pms4fv47zsimqqk3948r3w2ym9n04fhjsx")
|
||||
'("mzscheme" "mzscheme-doc" "mzscheme-lib"))
|
||||
(racket-packages-origin
|
||||
"net-cookies" (origin
|
||||
@@ -819,7 +818,7 @@ DrRacket IDE, are not included.")
|
||||
(url "https://github.com/RenaissanceBug/racket-cookies")
|
||||
(commit %racket-commit)))
|
||||
(sha256 (base32
|
||||
"0v6lbpv8ly4jwpjr3rk0q6izpsnfp45ysgrhngpw7jshkjc5wgyd"))
|
||||
"1fbl717w5801bydx3nzwxddd1rh1cc0gxwpjc7ka9zh5ak09sb0w"))
|
||||
(file-name
|
||||
(git-file-name "RenaissanceBug-racket-cookies" %racket-version)))
|
||||
'("net-cookies" "net-cookies-doc" "net-cookies-lib"))
|
||||
@@ -839,16 +838,16 @@ DrRacket IDE, are not included.")
|
||||
"option-contract" (base32 "1914dcxy6qzpg3cpnzdm9lj0kwyw8xdb85mwiamqfkbg0xlyyhpa")
|
||||
'("option-contract" "option-contract-doc" "option-contract-lib"))
|
||||
(simple-racket-origin
|
||||
"parser-tools" (base32 "0dp99d1a47kqyg2iqdijm5781qnd571iwvg85dvrjc76ab4pccgd")
|
||||
"parser-tools" (base32 "0i822p7ik6q03l7mrlf0qb63xdxvx06yl5lg1g1qri5wmi5xj0pb")
|
||||
'("parser-tools" "parser-tools-doc" "parser-tools-lib"))
|
||||
(simple-racket-origin
|
||||
"pconvert" (base32 "0xw9f9692v2qp16fwmwmwmrb118kpz259vmx8cq6s9vsw0112zpq")
|
||||
'("pconvert-lib" "pconvert-doc"))
|
||||
(simple-racket-origin
|
||||
"pict" (base32 "1xs1k98nr052p5v30abn7kl8pm1rdwj8xqvrghw8b62bvhhb072a")
|
||||
"pict" (base32 "17pldgiifmwi968dwlk23c1wnrlks0x7aj5jdmdfsf9xgq31wkb5")
|
||||
'("pict" "pict-doc" "pict-lib"))
|
||||
(simple-racket-origin
|
||||
"pict-snip" (base32 "1qrqbigw6arhccqgqzblfqqcpsdy15dwb0y22axwxgpw1ax0ki6f")
|
||||
"pict-snip" (base32 "081nwiy4a0n4f7xws16hqbhf0j3kz5alizndi3nnyr3chm4kng6x")
|
||||
'("pict-snip" "pict-snip-doc" "pict-snip-lib"))
|
||||
(simple-racket-origin
|
||||
"picturing-programs" (base32 "1a3d6nw9n827b4711nvgrnw7w47k4fxvk8c2a8br6a1l748kxkwy")
|
||||
@@ -866,7 +865,7 @@ DrRacket IDE, are not included.")
|
||||
"preprocessor" (base32 "1p5aid58ifnjy4xl0ysh85cq39k25661v975jrpk182z3k5621mg")
|
||||
'(("preprocessor" ".")))
|
||||
(simple-racket-origin
|
||||
"profile" (base32 "1n6jlhkq0zs2sd132k92nvw08qscadjz3d6p2r5pjlcdawkmkik0")
|
||||
"profile" (base32 "10lv3iz58hqk043llnbqrkmjnm1pbvr4j1j188g85zg798rqyjzs")
|
||||
'("profile" "profile-doc" "profile-lib"))
|
||||
(racket-packages-origin
|
||||
"quickscript" (origin
|
||||
@@ -896,7 +895,7 @@ DrRacket IDE, are not included.")
|
||||
(git-file-name "jeapostrophe-racket-cheat" %racket-version)))
|
||||
'(("racket-cheat" ".")))
|
||||
(simple-racket-origin
|
||||
"racklog" (base32 "0i2jnghb5vqmk2f0cppgggyp73zy1q0dlhpvxrzdxw39skmhmgkc")
|
||||
"racklog" (base32 "0fr8xij0sssfnmwn6dfdi4jj3l62f2yj3jrjljv13kaycrfls032")
|
||||
'(("racklog" ".")))
|
||||
(simple-racket-origin
|
||||
"rackunit" (base32 "191x4lgxg1bbkimdndg6j562zyxq48l0g21f9j2ln2hmh9s1v065")
|
||||
@@ -915,7 +914,7 @@ DrRacket IDE, are not included.")
|
||||
"realm" (base32 "0rlvwyd6rpyl0zda4a5p8dp346fvqzc8555dgfnrhliymkxb6x4g")
|
||||
'(("realm" ".")))
|
||||
(simple-racket-origin
|
||||
"redex" (base32 "1gg36wpd5kw01dwz353j5xvd2c673aws5l3jn2h2rzqlslk49dw7")
|
||||
"redex" (base32 "1h60mhaaiiwqcnmskqfrl6jhg4d97xjdcxnhw9krm4aysa9b9bwf")
|
||||
'("redex"
|
||||
"redex-benchmark"
|
||||
"redex-doc"
|
||||
@@ -930,7 +929,7 @@ DrRacket IDE, are not included.")
|
||||
"scheme-lib" (base32 "0pcf0y8rp4qyjhaz5ww5sr5diq0wpcdfrrnask7zapyklzx1jx8x")
|
||||
'(("scheme-lib" ".")))
|
||||
(simple-racket-origin
|
||||
"scribble" (base32 "1h6rkkbvxa6fwcpv6y5n14y984z4bxlhn04hhv8r7398a6jsldg6")
|
||||
"scribble" (base32 "0pg8brgyyziw3y8fp6ls6ii7i02cmm5168i4zmqfxjzywswljf17")
|
||||
'("scribble"
|
||||
"scribble-doc"
|
||||
"scribble-html-lib"
|
||||
@@ -956,13 +955,13 @@ DrRacket IDE, are not included.")
|
||||
"slatex" (base32 "0pkm2isbbdk63slrbsxcql7rr0wdrw5kapw1xq4ps5k8dhlzv8x0")
|
||||
'(("slatex" ".")))
|
||||
(simple-racket-origin
|
||||
"slideshow" (base32 "1aprcapyj0362lfh2pbcyxf4r2k01zmp6yy9ppag0xbz0jw437im")
|
||||
"slideshow" (base32 "0dyg20qs40s2d6ha28zb9h5x4v7phkddinqm446b4jishyrg7dqc")
|
||||
'("slideshow" "slideshow-doc" "slideshow-exe" "slideshow-lib" "slideshow-plugin"))
|
||||
(simple-racket-origin
|
||||
"snip" (base32 "10727bi2ybn2ahlkpikdknwfzfsppaw5wkvjmzd380jp1fw91q67")
|
||||
"snip" (base32 "1jpy5728w9bszgsjczlzrjjxsvqlcn4ah6gd3rp0plp8zzk9mq0s")
|
||||
'("snip" "snip-lib"))
|
||||
(simple-racket-origin
|
||||
"typed-racket" (base32 "1cmp3065fp9lm6rsfml7x5bvnilh1fs9k0511l11qdismz2sndpy")
|
||||
"typed-racket" (base32 "00d5pb5h34066q4prb9v5s5m9ggbby31f3anshd9vfsrzhd38p4n")
|
||||
'("source-syntax"
|
||||
"typed-racket"
|
||||
"typed-racket-compatibility"
|
||||
@@ -973,7 +972,7 @@ DrRacket IDE, are not included.")
|
||||
"srfi" (base32 "07q7wdgnf88z1rq0bfpn4b41abhfswa38c0s2hkn325blk53k4a6")
|
||||
'("srfi" "srfi-doc" "srfi-lib" "srfi-lite-lib"))
|
||||
(simple-racket-origin
|
||||
"string-constants" (base32 "085anm6s5ghg5bfggavknpr52py1a72qwjihvp0rnxpkf181sn8c")
|
||||
"string-constants" (base32 "0llalgdncn18ix5xnx82yyms221g47xh7s3w6inch53ip3yc6ksr")
|
||||
'("string-constants" "string-constants-doc" "string-constants-lib"))
|
||||
(simple-racket-origin
|
||||
"swindle" (base32 "1q8vdxpzczzwdw2mys2caab45yvadmqkixsr29k8pl03n8dsg8j9")
|
||||
@@ -985,16 +984,16 @@ DrRacket IDE, are not included.")
|
||||
"trace" (base32 "1zx0kfbacidg5rllbvx842x949ra22n004irs3vm1hqmwmixy3is")
|
||||
'(("trace" ".")))
|
||||
(simple-racket-origin
|
||||
"unix-socket" (base32 "039r2aqc6xc4b3x95ggjg4ab1pfiff6pavi4d40662zgwbi61pwk")
|
||||
"unix-socket" (base32 "02dfwas5ynbpyz74w9kwb4wgb37y5wys7svrlmir8k0n9ph9vq0y")
|
||||
'("unix-socket" "unix-socket-doc" "unix-socket-lib"))
|
||||
(simple-racket-origin
|
||||
"web-server" (base32 "0v66z9dklf02lc0g357h4rnfq5pnk87d1qz59sfrlzz24phxg9g6")
|
||||
"web-server" (base32 "0ry5vwjd06ml9hmspgrwci8c99syx7zhp9sgldmhwwfvf5m1g29d")
|
||||
'("web-server" "web-server-doc" "web-server-lib"))
|
||||
(simple-racket-origin
|
||||
"wxme" (base32 "1qp5gr9gqsakiq3alw6m4yyv5vw4i3hp4y4nhq8vl2nkjmirvn0b")
|
||||
'("wxme" "wxme-lib"))
|
||||
(simple-racket-origin
|
||||
"xrepl" (base32 "1kkcm68qyck2d6mp56h1j5fnfbx938a15dnyn1cf5yqpj9cc637m")
|
||||
"xrepl" (base32 "0sw531zvd8xqckmrh5da4fiq0sfjyg1nj5d508l7bl3azn35khil")
|
||||
'("xrepl" "xrepl-doc" "xrepl-lib"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
;;; Copyright © 2022-2025 Remco van 't Veer <remco@remworks.net>
|
||||
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
|
||||
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
|
||||
;;; Copyright © 2023, 2024, 2025, 2026 gemmaro <gemmaro.dev@gmail.com>
|
||||
;;; Copyright © 2023, 2024, 2025 gemmaro <gemmaro.dev@gmail.com>
|
||||
;;; Copyright © 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2023-2025 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
@@ -8201,27 +8201,19 @@ differences (added or removed nodes) between two XML/HTML documents.")
|
||||
(define-public ruby-racc
|
||||
(package
|
||||
(name "ruby-racc")
|
||||
(version "1.8.1")
|
||||
(version "1.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ;for tests
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ruby/racc")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "racc" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1sg2mqp6yxdxrn9kbbsxkd6930fxvm4yjl8knsc0wq6fkipnhm8q"))))
|
||||
"178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'compile
|
||||
(lambda _
|
||||
(invoke "rake" "compile"))))))
|
||||
`(#:tests? #f)) ; Fails while parsing test instructions.
|
||||
(native-inputs
|
||||
(list ruby-rake-compiler ruby-test-unit-ruby-core))
|
||||
(list ruby-hoe ruby-rake-compiler))
|
||||
(synopsis "LALR(1) parser generator for Ruby")
|
||||
(description
|
||||
"Racc is a LALR(1) parser generator. It is written in Ruby itself, and
|
||||
|
||||
+223
-939
File diff suppressed because it is too large
Load Diff
@@ -37,8 +37,6 @@
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages rust)
|
||||
#:use-module (gnu packages statistics)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages virtualization))
|
||||
|
||||
@@ -248,48 +246,6 @@ transliterating them. It supports Emoji and Chinese.")
|
||||
;; checkout and does not need a cargo input.
|
||||
(inputs (cargo-inputs 'rust-deunicode-1.6.2.cfb8552))))))
|
||||
|
||||
;; Workspace dependency of r-pizzarr.
|
||||
(define-public rust-extendr-0.8.1.93d7244
|
||||
(let ((commit "93d7244e3145d94186bc2f35258ad0ef25a28908")
|
||||
(revision "1"))
|
||||
(hidden-package
|
||||
(package
|
||||
(name "rust-extendr")
|
||||
(version (git-version "0.8.1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/extendr/extendr")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"03d16y7f1r0y1s8gwzw7wzn5yhcqr1wn0vga9dvdjxpbga372vx7"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:cargo-package-crates
|
||||
;; Note that the order matters!
|
||||
'(list "extendr-ffi"
|
||||
"extendr-macros"
|
||||
"extendr-api"
|
||||
"extendr-engine")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-R_HOME
|
||||
(lambda _
|
||||
(delete-file-recursively ".cargo")
|
||||
(setenv "R_HOME"
|
||||
(string-append
|
||||
#$(this-package-input "r-minimal")
|
||||
"/lib/R")))))))
|
||||
(inputs (cons r-minimal (cargo-inputs 'extendr)))
|
||||
(home-page "https://extendr.rs/")
|
||||
(synopsis "R extension library for Rust")
|
||||
(description "This library allows you to extend R with Rust. It can be
|
||||
used to write R packages that link with Rust libraries.")
|
||||
(license license:expat)))))
|
||||
|
||||
;; Workspace dependency of zed.
|
||||
;;
|
||||
;; Cargo side: Cargo unifies dependency versions across zed's
|
||||
|
||||
@@ -244,21 +244,26 @@ This Guix package is built to use the nettle cryptographic library.")
|
||||
(define-public sequoia-wot-tools
|
||||
(package
|
||||
(name "sequoia-wot-tools")
|
||||
(version "0.15.2")
|
||||
(version "0.15.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/sequoia-pgp/sequoia-wot.git/")
|
||||
(commit (string-append "sequoia-wot/v" version))))
|
||||
(url "https://gitlab.com/sequoia-pgp/sequoia-wot")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18v713n36sq5pvd1pbs34v7dly1bi614kwra09qxpsxk0ffp225z"))))
|
||||
(base32 "03wa4l582hx0qq28pkhrf0pagckyx6df01pb4chyngadk49q1xn7"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:features '(list "sequoia-openpgp/crypto-nettle")
|
||||
#:cargo-package-crates ''("tools")
|
||||
#:cargo-test-flags
|
||||
'(list "--"
|
||||
"--skip=gpg_trust_roots"
|
||||
"--skip=backward_propagation::tests::cliques"
|
||||
"--skip=tests::cliques")
|
||||
#:install-source? #f
|
||||
#:cargo-install-paths ''("tools")
|
||||
#:phases
|
||||
@@ -271,12 +276,11 @@ This Guix package is built to use the nettle cryptographic library.")
|
||||
(for-each (lambda (file)
|
||||
(install-file file man1))
|
||||
(find-files "target/release" "\\.1$"))
|
||||
(mkdir-p (string-append out "/share/bash-completion/completions"))
|
||||
(mkdir-p (string-append out "/etc/bash_completion.d"))
|
||||
(mkdir-p (string-append share "/fish/vendor_completions.d"))
|
||||
(mkdir-p (string-append share "/elvish/lib"))
|
||||
(copy-file (car (find-files "target/release" "sq-wot.bash"))
|
||||
(string-append
|
||||
out "/share/bash-completion/completions/sq-wot"))
|
||||
(string-append out "/etc/bash_completion.d/sq-wot"))
|
||||
(copy-file (car (find-files "target/release" "sq-wot.fish"))
|
||||
(string-append
|
||||
share "/fish/vendor_completions.d/sq-wot.fish"))
|
||||
@@ -288,7 +292,7 @@ This Guix package is built to use the nettle cryptographic library.")
|
||||
(inputs
|
||||
(cons* nettle openssl sqlite (cargo-inputs 'sequoia-wot-tools)))
|
||||
(native-inputs
|
||||
(list clang gnupg pkg-config))
|
||||
(list clang pkg-config))
|
||||
(home-page "https://sequoia-pgp.org/")
|
||||
(synopsis "Implementation of OpenPGP's web of trust")
|
||||
(description
|
||||
|
||||
@@ -88,9 +88,7 @@ you tailor the wrapping process to suit your application.")
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kqz533599d00rrz0g2ryf8w2ynb25ayylpx10nmkxsndiq2l5j0"))
|
||||
(patches
|
||||
(search-patches "swig-support-r-4.6.0.patch"))))
|
||||
"1kqz533599d00rrz0g2ryf8w2ynb25ayylpx10nmkxsndiq2l5j0"))))
|
||||
(native-inputs (list boost
|
||||
pcre2 ; for pcre2-config
|
||||
;; The following are for tests and examples:
|
||||
|
||||
+7
-7
@@ -1677,13 +1677,13 @@ tiled on several screens.")
|
||||
(define-public ghc-xmobar
|
||||
(package
|
||||
(name "ghc-xmobar")
|
||||
(version "0.50")
|
||||
(version "0.48.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (hackage-uri "xmobar" version))
|
||||
(sha256
|
||||
(base32
|
||||
"026s0q718z89vzjgva19vg58dm1l016i67mzi0wbj7kgai89w909"))))
|
||||
"1infcisv7l00a4z4byjwjisg4yndk0cymibfii1c7yzyzrlvavhl"))))
|
||||
(build-system haskell-build-system)
|
||||
(properties '((upstream-name . "xmobar")))
|
||||
(native-inputs
|
||||
@@ -2804,7 +2804,7 @@ XDG-Output for wlclock to work.")
|
||||
(define-public wlroots
|
||||
(package
|
||||
(name "wlroots")
|
||||
(version "0.20.1")
|
||||
(version "0.20.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@@ -2813,7 +2813,7 @@ XDG-Output for wlclock to work.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0n9wkmqnja5fnwn8an36jqn6nzlb1vjdzi0v932pn5bpgmv3brxs"))))
|
||||
(base32 "1gdmy4mpi7x23g81cdmcr9aakk3g6csl69h9j98yzssa48k6all5"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
@@ -4717,7 +4717,7 @@ read and write, and compatible with JSON.")
|
||||
(define-public labwc
|
||||
(package
|
||||
(name "labwc")
|
||||
(version "0.20.0")
|
||||
(version "0.9.7")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@@ -4726,7 +4726,7 @@ read and write, and compatible with JSON.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hq88p8ij1zd595rrfr6pxxkzbflgnafdvqjdw7p1y9l5dgkaar5"))))
|
||||
"12mm4w9djgh7q30lswhl1q1cxf6h0pf8xr744jkcyjcqqsavynpf"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config gettext-minimal scdoc))
|
||||
@@ -4739,7 +4739,7 @@ read and write, and compatible with JSON.")
|
||||
libxcb
|
||||
libxml2
|
||||
pango
|
||||
wlroots-0.20))
|
||||
wlroots-0.19))
|
||||
(home-page "https://labwc.github.io")
|
||||
(synopsis "Window-stacking compositor for Wayland")
|
||||
(description
|
||||
|
||||
@@ -84,6 +84,7 @@ and parameters ~s~%"
|
||||
(lib (assoc-ref outputs "lib"))
|
||||
(name-version (strip-store-file-name out))
|
||||
(extra-dirs (filter-map (cut assoc-ref inputs <>) extra-directories))
|
||||
(ghc-path (getenv "GHC_PACKAGE_PATH"))
|
||||
(params `(,(string-append "--prefix=" out)
|
||||
,(string-append "--libdir=" (or lib out) "/lib")
|
||||
,(string-append "--docdir=" (or doc out)
|
||||
@@ -119,7 +120,9 @@ and parameters ~s~%"
|
||||
;; <https://www.haskell.org/cabal/users-guide/developing-packages.html>.
|
||||
(when (file-exists? "configure")
|
||||
(setenv "CONFIG_SHELL" "sh"))
|
||||
(run-setuphs "configure" params)))
|
||||
(run-setuphs "configure" params)
|
||||
|
||||
(setenv "GHC_PACKAGE_PATH" ghc-path)))
|
||||
|
||||
(define* (build #:key parallel-build? #:allow-other-keys)
|
||||
"Build a given Haskell package."
|
||||
|
||||
@@ -202,9 +202,9 @@ package definition."
|
||||
(define %cran-canonical-url "https://cran.r-project.org/package=")
|
||||
(define %bioconductor-url "https://bioconductor.org/packages/")
|
||||
|
||||
;; The latest Bioconductor release is 3.23. Bioconductor packages should be
|
||||
;; The latest Bioconductor release is 3.22. Bioconductor packages should be
|
||||
;; updated together.
|
||||
(define %bioconductor-version "3.23")
|
||||
(define %bioconductor-version "3.22")
|
||||
|
||||
(define* (bioconductor-packages-list-url #:optional type)
|
||||
(string-append "https://bioconductor.org/packages/"
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
(make-parameter "https://www.stackage.org/api/v1/snapshot"))
|
||||
|
||||
;; Latest LTS version compatible with current GHC.
|
||||
(define %default-lts-version "24.9")
|
||||
(define %default-lts-version "20.26")
|
||||
|
||||
(define-json-mapping <stackage-lts> make-stackage-lts
|
||||
stackage-lts?
|
||||
|
||||
Reference in New Issue
Block a user