summaryrefslogtreecommitdiff
path: root/guix/vkraus/packages/strats.scm
blob: e67ea93adca0110ec347af78ea696c10ad774d35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
(define-module (vkraus packages strats)
  #:use-module (guix packages)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix gexp)
  #:use-module (guix modules)
  #:use-module (guix build-system r)
  #:use-module (guix build-system copy)
  #:use-module (guix build-system trivial)
  #:use-module (gnu packages)
  #:use-module (gnu packages base)
  #:use-module (gnu packages bash)
  #:use-module (gnu packages statistics)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages cran)
  #:use-module (gnu packages emacs)
  #:use-module (gnu packages emacs-xyz)
  #:use-module (gnu packages tex)
  #:use-module (ice-9 receive))

(define-public r-strats
  (package
   (name "r-strats")
   (version "0.0.0")
   (source
    (origin
     (method git-fetch)
     (uri (git-reference
	   (url "https://labo.planete-kraus.eu/strats.git")
	   (commit "300e83ef6a7f2da9fca6e0d87a387aeee2cd6392")))
     (sha256 (base32 "0glbqvssvp0mg3zb9fvl9ddibnsvnbdaiq44jixwdw6phyc57dp5"))))
   (build-system r-build-system)
   (arguments
    `(#:phases
      (modify-phases
       %standard-phases
       (add-after
	'unpack 'run-roxygen
	(lambda* (#:key inputs #:allow-other-keys)
          (setenv "TZ" "UTC+1")
          (setenv "TZDIR"
                  (string-append (assoc-ref inputs "tzdata")
                                 "/share/zoneinfo"))
	  (mkdir ".git")
	  (call-with-output-file ".tarball-version"
	    (lambda (port)
	      (display ,version port)))
	  (invoke "Rscript" "./bootstrap")
	  #t))
       (add-after
	'install 'wrap-scripts
	(lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
	  (let* ((out (assoc-ref outputs "out"))
		 (r-libs-site
		  (getenv "R_LIBS_SITE"))
		 (tzdata (assoc-ref inputs "tzdata")))
	    (mkdir (format #f "~a/bin" out))
	    (wrap-program
	     (format #f "~a/site-library/strats/bin/strats" out)
	     `("R_LIBS_SITE" ":" = (,r-libs-site))
	     `("TZDIR" ":" = (,(format #f "~a/share/zoneinfo" tzdata))))
	    (rename-file
	     (format #f "~a/site-library/strats/bin/strats" out)
	     (format #f "~a/bin/strats" out)))
	  #t)))))
   (native-inputs
    `(("r" ,r)
      ("r-devtools" ,r-devtools)))
   (inputs
    `(("tzdata" ,tzdata)))
   (propagated-inputs
    `(("r" ,r)
      ("r-magrittr" ,r-magrittr)
      ("r-dplyr" ,r-dplyr)
      ("r-readr" ,r-readr)
      ("r-tibble" ,r-tibble)))
   (synopsis "Semi-supervised Transductive Residual Analysis of Time Series")
   (description "Implementation of for anomaly detection.")
   (home-page "https://labo.planete-kraus.eu/strats.git")
   (license ((@@ (guix licenses) license) "no" "no" "no"))))