aboutsummaryrefslogtreecommitdiff
(define-module (gn packages javascript)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (gnu packages base)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix git-download)
  #:use-module (guix utils)
  #:use-module (guix build-system gnu)
  #:use-module (guix build-system trivial)
  #:use-module (srfi srfi-1))

;; see color-make package for great example - also install-file and invoke

(define-public javascript-twitter-post-fetcher
  (let ((commit "27440ffebd4c1ba7abc9aec92a581155715f2e4e"))
    (package
     (name "javascript-twitter-post-fetcher")
     (version (string-append "17.0.3" "-" (string-take commit 7)))
     (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/jasonmayes/Twitter-Post-Fetcher.git")
                    (commit commit)))
              (file-name (string-append name "-" commit))
              (sha256
               (base32
                "159z8izf510086d8sa79k4mml6sw1gycb1r1r9ri1kyw2k9knmqa"))))
     (build-system trivial-build-system)
     (native-inputs `(("source" ,source)))
     (arguments
      `(#:modules ((guix build utils))
        #:builder
        (let* ((out (assoc-ref %outputs "out"))
               (name "Twitter-Post-Fetcher")
               (targetdir (string-append out "/share/genenetwork2/javascript/" name))
               )
          (begin
            (use-modules (guix build utils))
            (let ((source (assoc-ref %build-inputs "source"))
                  )
              (and
                                        ; (mkdir-p targetdir)
               (copy-recursively source targetdir)
               ))))))
     (home-page "http://jasonmayes.com/projects/twitterApi/")
     (synopsis "Twitter post fetching")
     (description "Twitter post fetching.")
     (license license:expat))))

(define-public javascript-cytoscape
  (package
    (name "javascript-cytoscape")
    (version "2.7.8") ; ancient version
    (source
     (origin
       (method url-fetch)
       (uri (string-append "https://github.com/cytoscape/cytoscape.js/archive/v" version ".tar.gz"))
       (file-name (string-append name "-" version ".tar.gz"))
       (sha256
        (base32 "08ks2nd7ccmdmahn151i180pvhn4vdzgpw99g4g4f2baz9pkz4w3"))))
    (build-system trivial-build-system)
    (native-inputs `(("gzip" ,gzip)
                     ("tar" ,tar)
                     ("source" ,source)))
    (arguments
     `(#:modules ((guix build utils))
       #:builder
       (begin
         (use-modules (guix build utils))
         (let* ((out (assoc-ref %outputs "out"))
                (tarcmd (string-append (assoc-ref %build-inputs "tar") "/bin/tar"))
                (targetdir (string-append out "/share/genenetwork2/javascript/cytoscape"))
                (source (assoc-ref %build-inputs "source")))
           (setenv "PATH" (string-append
                           (assoc-ref %build-inputs "tar") "/bin" ":"
                           (assoc-ref %build-inputs "gzip") "/bin"))
           (invoke "tar" "xvf" (assoc-ref %build-inputs "source") "--strip-components=1")
           (mkdir-p targetdir)
           (copy-recursively "dist" targetdir)
           ))))

    (home-page "https://github.com/cytoscape/cytoscape.js")
    (synopsis "Cytoscape.js")
    (description "Cytoscape.")
    (license license:expat)))

(define-public javascript-cytoscape-panzoom
  (package
   ;; (inherit javascript-cytoscape)
   (name "javascript-cytoscape-panzoom")
   (version "2.5.2") ; ancient version
   (source
    (origin
     (method url-fetch)
     (uri (string-append "https://github.com/cytoscape/cytoscape.js-panzoom/archive/" version ".tar.gz"))
     (file-name (string-append name "-" version ".tar.gz"))
     (sha256
      (base32 "154xzi693gbv89y221gkpi03k84lccmr55v5z43mn1i1s1fdhm2b"))))
   (inputs `(("javascript-cytoscape" ,javascript-cytoscape)))
   (build-system trivial-build-system)
   (native-inputs `(("gzip" ,gzip)
                    ("tar" ,tar)
                    ("source" ,source)))
   (arguments
    `(#:modules ((guix build utils))
      #:builder
      (begin
        (use-modules (guix build utils))
        (let* ((out (assoc-ref %outputs "out"))
               (tarcmd (string-append (assoc-ref %build-inputs "tar") "/bin/tar"))
               (targetdir (string-append out "/share/genenetwork2/javascript/cytoscape-panzoom"))
               (source (assoc-ref %build-inputs "source")))
          (setenv "PATH" (string-append
                          (assoc-ref %build-inputs "tar") "/bin" ":"
                          (assoc-ref %build-inputs "gzip") "/bin"))
          (invoke "tar" "xvf" (assoc-ref %build-inputs "source") "--strip-components=1")
          (mkdir-p targetdir)
          (install-file "cytoscape-panzoom.js" targetdir)
          (install-file "cytoscape.js-panzoom.css" targetdir)
          ))))
    (home-page "https://github.com/cytoscape/cytoscape.js")
    (synopsis "Cytoscape.js")
    (description "Cytoscape.")
    (license license:expat)))

;; https://github.com/cytoscape/cytoscape.js-qtip/archive/2.7.1.tar.gz
(define-public javascript-cytoscape-qtip
  (package
   ;; (inherit javascript-cytoscape)
   (name "javascript-cytoscape-qtip")
   (version "2.7.1") ; ancient version
   (source
    (origin
     (method url-fetch)
     (uri (string-append "https://github.com/cytoscape/cytoscape.js-qtip/archive/" version ".tar.gz"))
     (file-name (string-append name "-" version ".tar.gz"))
     (sha256
      (base32 "0f2qhxi9qx5r3rcmxqgdqnwd9apnjlb4s4hckwhaqgsp6rf8lzlb"))))
   (inputs `(("javascript-cytoscape" ,javascript-cytoscape)))
   (build-system trivial-build-system)
   (native-inputs `(("gzip" ,gzip)
                    ("tar" ,tar)
                    ("source" ,source)))
   (arguments
    `(#:modules ((guix build utils))
      #:builder
      (begin
        (use-modules (guix build utils))
        (let* ((out (assoc-ref %outputs "out"))
               (tarcmd (string-append (assoc-ref %build-inputs "tar") "/bin/tar"))
               (targetdir (string-append out "/share/genenetwork2/javascript/cytoscape-qtip"))
               (source (assoc-ref %build-inputs "source")))
          (setenv "PATH" (string-append
                          (assoc-ref %build-inputs "tar") "/bin" ":"
                          (assoc-ref %build-inputs "gzip") "/bin"))
          (invoke "tar" "xvf" (assoc-ref %build-inputs "source") "--strip-components=1")
          (mkdir-p targetdir)
          (install-file "cytoscape-qtip.js" targetdir)
          ))))
    (home-page "https://github.com/cytoscape/cytoscape.js")
    (synopsis "Cytoscape.js")
    (description "Cytoscape.")
    (license license:expat)))

;; https://github.com/DataTables/DataTables/archive/1.10.12.tar.gz
(define-public javascript-datatables
  (package
   (name "javascript-datatables")
   (version "1.10.12") ; ancient version
   (source
    (origin
     (method url-fetch)
     (uri (string-append "https://github.com/DataTables/DataTables/archive/" version ".tar.gz"))
     (file-name (string-append name "-" version ".tar.gz"))
     (sha256
      (base32 "0blzsd2zqmvnqi6pl1xq0dr457kjrdaaa86d2cmdakls0j2mj92s"))))
   (inputs `(("javascript-cytoscape" ,javascript-cytoscape)))
   (build-system trivial-build-system)
   (native-inputs `(("gzip" ,gzip)
                    ("tar" ,tar)
                    ("source" ,source)))
   (arguments
    `(#:modules ((guix build utils))
      #:builder
      (begin
        (use-modules (guix build utils))
        (let* ((out (assoc-ref %outputs "out"))
               (tarcmd (string-append (assoc-ref %build-inputs "tar") "/bin/tar"))
               (targetdir (string-append out "/share/genenetwork2/javascript/DataTables"))
               (source (assoc-ref %build-inputs "source")))
          (setenv "PATH" (string-append
                          (assoc-ref %build-inputs "tar") "/bin" ":"
                          (assoc-ref %build-inputs "gzip") "/bin"))
          (invoke "tar" "xvf" (assoc-ref %build-inputs "source") "--strip-components=1")
          (mkdir-p targetdir)
           (copy-recursively "media" targetdir)
          ))))
    (home-page "https://github.com/DataTables/")
    (synopsis "Datatables")
    (description "Datatables.")
    (license license:expat)))