diff options
| author | pjotrp | 2026-03-22 12:07:54 +0100 |
|---|---|---|
| committer | pjotrp | 2026-03-22 12:07:54 +0100 |
| commit | 21a6be8995bed3e5460665380a31c9ae2f3d2730 (patch) | |
| tree | e7fc1de097e516b62d45f8c801c3c4b13a217b84 | |
| parent | cc0e9d2657010350066af7a995307d3e725179e9 (diff) | |
| download | guix-bioinformatics-21a6be8995bed3e5460665380a31c9ae2f3d2730.tar.gz | |
Continue cleanup
| -rw-r--r-- | gn/deploy/octopus.scm | 161 | ||||
| -rw-r--r-- | gn/packages/afnumpy.scm | 51 | ||||
| -rw-r--r-- | gn/packages/arrayfire.scm | 235 | ||||
| -rw-r--r-- | gn/packages/bioinformatics.scm | 206 | ||||
| -rw-r--r-- | gn/packages/edash.scm | 24 | ||||
| -rw-r--r-- | gn/packages/globus.scm | 19 | ||||
| -rw-r--r-- | gn/packages/gnulib.scm | 36 | ||||
| -rw-r--r-- | gn/packages/java.scm | 382 | ||||
| -rw-r--r-- | gn/packages/javascript.scm | 47 | ||||
| -rw-r--r-- | gn/packages/julia.scm | 74 | ||||
| -rw-r--r-- | gn/packages/jupyterhub.scm | 261 | ||||
| -rw-r--r-- | gn/packages/kubernetes.scm | 313 | ||||
| -rw-r--r-- | gn/packages/mouse-longevity.scm | 87 | ||||
| -rw-r--r-- | gn/packages/notebooks.scm | 80 | ||||
| -rw-r--r-- | gn/packages/python.scm | 44 | ||||
| -rw-r--r-- | gn/packages/r-shiny.scm | 337 | ||||
| -rw-r--r-- | gn/packages/ruby.scm | 5832 | ||||
| -rw-r--r-- | gn/packages/traefik.scm | 52 | ||||
| -rw-r--r-- | gn/packages/twint.scm | 150 | ||||
| -rw-r--r-- | gn/packages/yaj.scm | 62 | ||||
| -rw-r--r-- | gn/services/bxd-power-container.scm | 24 | ||||
| -rw-r--r-- | gn/services/jumpsem-container.scm | 27 | ||||
| -rw-r--r-- | gn/services/jumpshiny-container.scm | 25 | ||||
| -rw-r--r-- | gn/services/rn6-assembly-container.scm | 24 | ||||
| -rw-r--r-- | gn/services/rshiny.scm | 86 |
25 files changed, 450 insertions, 8189 deletions
diff --git a/gn/deploy/octopus.scm b/gn/deploy/octopus.scm deleted file mode 100644 index fc631b8..0000000 --- a/gn/deploy/octopus.scm +++ /dev/null @@ -1,161 +0,0 @@ -(define-module (gn deploy octopus)) - -(use-modules (gnu) - (gn services file-systems) - (gn services science) - (srfi srfi-26)) -(use-service-modules networking ssh sysctl web) -(use-package-modules parallel shells) - -(define %efraimf-ssh-pubkey - (plain-file "efraim-id_rsa.pub" - "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDUCDY8ZKFF/ln0yzDt3CNmKz3cT4wzNv9bzCKvOBXcL0O7JtPWwqgLlZgmMHfzhzgReAkHcrt+Gdsyduzm/s9Y8c6QpyfaH6uoDwjfoOs6GrAjZaOXmAdncf+9HZEAy/IrygQ1YFRu6BvYogsdhhtN+O6IXBuvQQDRzldHs53Y53DK06Nrs19vAPwELXcDxcx1FvO+/L9nT8RHkI1Z0ucgTS+F/BWXl8+mh89r4j+4IRpZXOuCD0DrW5rgEE1EygF2dVdWZQESi23gU5Mt6vnmysXzwixB7j6I+xTih8LH4pz7hewEx6754e/cs9Gm7ZtfXKfXUt6+GtsBSBF3ULKl efraimf@octopus01")) - - -(operating-system - (host-name "octopus") - (timezone "Etc/UTC") - (locale "en_US.utf8") - - (bootloader (bootloader-configuration - (bootloader grub-bootloader) - (targets '("/dev/sda")) - (terminal-outputs '(console serial)))) - (kernel-arguments '("console=tty1" "console=ttyS0,115200n8")) - - (file-systems - (append (list - (file-system - (device "/dev/sda3") - (mount-point "/") - (type "ext4") - (options "errors=remount-ro")) - ;(file-system - ; (device "/dev/sdb1") - ; (mount-point "/mnt/sdb1") - ; (type "xfs") - ; (flags '(no-exec no-dev no-atime)) - ; (options "rw,nodiratime,largeio,inode64") - ; (create-mount-point? #t)) - (file-system - (device "octopus01:/export") - (mount-point "/export") - (type "nfs") - (mount? #f) ; VM can't find octopus01 - (check? #f))(file-system - (device "octopus01:/home") - (mount-point "/home") - (type "nfs") - (mount? #f) ; VM can't find octopus01 - (check? #f))) - %base-file-systems)) - - (swap-devices '("/dev/sda2")) - ;; No firmware needed - (firmware '()) - - (users (cons* - (user-account - (name "wrk") - (comment "Pjotr Prins") - (uid 502) - (group "users") - (supplementary-groups '("wheel" "kvm"))) - (user-account - (name "efraimf") - (comment "Efraim Flashner") - (uid 1000) - (group "users") - (supplementary-groups '("wheel" "kvm"))) - (user-account - (name "erikg") - (comment "Erik Garrison") - (uid 1001) - (group "users") - (shell (file-append zsh "/bin/zsh"))) - (user-account - (name "hchen") - (comment "Hao Chen") - (uid 1002) - (group "users")) - %base-user-accounts)) - - - (packages (append - (map (cut specification->package <>) - '("nss-certs" - "screen" "tmux" - "vim" - "htop")) - %base-packages)) - - (services - (append (list - (service openssh-service-type - (openssh-configuration - (authorized-keys - `(("efraimf" ,%efraimf-ssh-pubkey))))) - - (service sysctl-service-type - (sysctl-configuration - (settings '(("vm.overcommit_memory" . "2") - ("vm.overcommit_ratio" . "90"))))) - - (service munge-service-type) - (service slurm-service-type - (slurm-configuration - (package slurm-18.08) - (SlurmdLogFile "/var/log/slurmd.log") - (SlurmctldLogFile "/var/log/slurmctld.log") - (ClusterName "linux") - (SlurmUser "slurm") - (SlurmctldHost '("octopus")) - (DbdHost "localhost") - (StorageType "accounting_storage/none") - (slurm-extra-content - (string-append - "StateSaveLocation=/var/spool/slurmd/ctld # default /var/spool\n" - "ReturnToService=1 # default 0\n" - "DebugFlags=NO_CONF_HASH # default empty\n" - "SelectType=select/cons_res # default select/linear\n" - "SelectTypeParameters=CR_CPU # default 0\n" - "# COMPUTE NODES\n" - "NodeName=octopus CPUs=1 Boards=1 SocketsPerBoard=1 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=1024\n" - "PartitionName=debug Nodes=ALL Default=YES MaxTime=INFINITE State=UP")) - (cgroup-extra-content - (string-append - "CgroupAutomount=yes # default no\n" - "ConstrainCores=yes # default no\n" - "MaxRAMPercent=95 # default 100")) - (slurmdbd-extra-content - (string-append - "LogFile=/var/log/slurmdbd.log # default none, syslog")) - (run-slurmdbd? #t) - (run-slurmctld? #t))) - - (service lizardfs-service-type - (lizardfs-configuration - (mfsmetalogger-config - (lizardfs-mfsmetalogger-config-file - (master-host "octopus"))) - (mfschunkserver-config - (lizardfs-mfschunkserver-config-file - (master-host "octopus"))) - (mfshdd-config - (lizardfs-mfshdd-config-file - (disks-to-use (list "/mnt")))) - (mfsmaster-config - (lizardfs-mfsmaster-config-file - (personality "master") - (master-host "octopus"))) - (mfsexports-config - (plain-file "mfsexports.cfg" - "* / rw\n")) - (run-mfsmetalogger-service? #t) - )) - - (service dhcp-service-type) - (service openntpd-service-type)) - %base-services)) - - (name-service-switch %mdns-host-lookup-nss)) diff --git a/gn/packages/afnumpy.scm b/gn/packages/afnumpy.scm deleted file mode 100644 index 1322aee..0000000 --- a/gn/packages/afnumpy.scm +++ /dev/null @@ -1,51 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (gn packages afnumpy) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix git-download) - #:use-module (guix utils) - #:use-module (guix build-system python) - #:use-module (gnu packages python)) - -(define-public afnumpy - (let ((commit "c5594c1")) - (package - (name "afnumpy") - (version (string-append "rel1-" commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/FilipeMaia/afnumpy.git") - (commit commit))) - (file-name (string-append name "-" commit)) - (sha256 - (base32 - "0n30xn8cz0ww7czb3m6dz5sh87khan7ag3vb192narmxj37l8qy7")))) - (build-system python-build-system) - ;; (native-inputs - ;; `(("python-setuptools" ,python-setuptools))) - (arguments - `(#:python ,python-2 - #:tests? #f)) - (home-page "https://github.com/FilipeMaia/afnumpy") - (synopsis "Numerical library array processing of numbers, strings, records and objects") - (description - "A GPGPU-accelerated drop-in of python's numpy") - (license license:gpl2)))) diff --git a/gn/packages/arrayfire.scm b/gn/packages/arrayfire.scm deleted file mode 100644 index 9cb86fa..0000000 --- a/gn/packages/arrayfire.scm +++ /dev/null @@ -1,235 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Dennis Mungai <dmngaie@gmail.com> -;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (gn packages arrayfire) - #:use-module (guix packages) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix git-download) - #:use-module (guix build-system cmake) - #:use-module (gnu packages) - #:use-module (guix utils) - #:use-module (gnu packages algebra) - #:use-module (gnu packages boost) - #:use-module (gnu packages check) - #:use-module (gnu packages gcc) - #:use-module (gnu packages maths) - #:use-module (gnu packages opencl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages python)) - -(define-public arrayfire -(package - (name "arrayfire") - (version "3.3.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/arrayfire/arrayfire.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "113ldnqsil4p84sayv7jh8vnn0nalxibhdyvvwp94vqk20kqg4lw")) - (patches (search-patches "arrayfire-lapack-detection.patch" - "arrayfire-newer-boost-compute.patch")))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("googletest" ,googletest) - ("assets" ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/arrayfire/assets.git") - (commit "729c7b64039e6433ae5ee521658ba20147efcb02"))) ; March 4, 2019 - (file-name (git-file-name "arrayfire-assets" "submodule")) - (sha256 - (base32 - "05zg7m6zlwi3llbv7l5wd9qi9ppb9p3ad2i5xmqwvcbgx5ry4l2s")))) - ("threads" ,(origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/alltheflops/threads.git") - (commit "5e778ce0a7f0f80af9d32ea3569df3dbec834f59"))) ; Dec 16, 2015 - (file-name (git-file-name "arrayfire-threads" "submodule")) - (sha256 - (base32 - "1rj2357r124b4ry0s467fz9hs4jxcyacliwprggvai85a39pqabx")))))) - (inputs - `(("boost" ,boost) - ("clBLAS" ,clBLAS) - ("clFFT" ,clFFT) - ("fftw-openmpi" ,fftw-openmpi) - ("fftwf" ,fftwf) - ("ocl-icd" ,ocl-icd) - ("openblas" ,openblas) - ("opencl-headers" ,opencl-headers))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags - '("-DBUILD_OPENCL=ON" - "-DBUILD_CUDA=OFF" - "-DBUILD_GRAPHICS=OFF" - "-DBUILD_TEST=OFF" ; building tests segfaults - "-DUSE_SYSTEM_CLBLAS=ON" - "-DUSE_SYSTEM_CLFFT=ON" - "-DUSE_SYSTEM_GTEST=ON") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'add-more-sources - (lambda* (#:key inputs #:allow-other-keys) - (let ((assets (assoc-ref inputs "assets")) - (threads (assoc-ref inputs "threads"))) - (copy-recursively assets "assets") - (copy-recursively threads "src/backend/cpu/threads")) - #t)) - (add-after 'unpack 'fix-sources - (lambda _ - (substitute* "src/backend/opencl/blas.cpp" - ;; https://github.com/arrayfire/arrayfire/commit/90a9ffbce5c38352a365e03a634ffaf0d2fb9933 - (("#undef BLAS_FUNC_DEF") - "#undef BLAS_FUNC_DEF\n#undef BLAS_FUNC")) - (substitute* '("src/backend/cpu/blas.cpp" - "src/backend/opencl/cpu/cpu_blas.cpp") - ;; https://github.com/arrayfire/arrayfire/pull/2538/files - (("&cblas_##PREFIX##FUNC;") - "(FUNC##_func_def<TYPE>)&cblas_##PREFIX##FUNC;")) - #t))) - #:tests? #f)) ; Building the tests fail linking, so we build the examples as a test. - (home-page "https://arrayfire.com/") - (synopsis "High performance library for parallel computing") - (description - "ArrayFire is a high performance software library for parallel computing -with an easy-to-use API. Its array based function set makes parallel -programming simple.") - (license (list license:bsd-3 ; everything except CMakeModules folder - license:cc0)))) ; assets - -(define-public clBLAS - (package - (name "clBLAS") - (version "2.12") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/clMathLibraries/clBLAS.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "154mz52r5hm0jrp5fqrirzzbki14c1jkacj75flplnykbl36ibjs")))) - (build-system cmake-build-system) - (arguments - `(#:tests? #f - #:configure-flags - (list "../source/src" - "-DUSE_SYSTEM_GTEST=ON" - ;"-DBoost_USE_STATIC_LIBS=OFF" ; this does not seem to apply - "-DBUILD_TEST=OFF") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (substitute* "src/CMakeLists.txt" - (("Boost_USE_STATIC_LIBS ON") - "Boost_USE_STATIC_LIBS OFF")) - #t))))) - (native-inputs - `(("gfortran" ,gfortran) - ("openblas" ,openblas) - ("opencl-headers" ,opencl-headers) - ("python" ,python-2))) - (inputs - `(("boost" ,boost) - ("ocl-icd" ,ocl-icd))) - (home-page "https://github.com/clMathLibraries/clBLAS") - (synopsis "Library containing BLAS functions written in OpenCL") - (description - "The primary goal of @code{clBLAS} is to make it easier for developers to -utilize the inherent performance and power efficiency benefits of heterogeneous -computing. @code{clBLAS} interfaces do not hide nor wrap @code{OpenCL} -interfaces, but rather leaves @code{OpenCL} state management to the control of -the user to allow for maximum performance and flexibility. The @code{clBLAS} -library does generate and enqueue optimized @code{OpenCL} kernels, relieving the -user from the task of writing, optimizing and maintaining kernel code themselves.") - (license license:asl2.0))) - -(define-public clFFT - (package - (name "clFFT") - (version "2.12.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/clMathLibraries/clFFT.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "134vb6214hn00qy84m4djg4hqs6hw19gkp8d0wlq8gb9m3mfx7na")))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags '("../source/src" - "-DBUILD_TEST=ON" - "-DUSE_SYSTEM_GTEST=ON" - "-DBoost_USE_STATIC_LIBS=OFF") - #:test-target "Test")) - (native-inputs - `(("boost" ,boost) - ("fftw-openmpi" ,fftw-openmpi) - ("fftwf" ,fftwf) - ("googletest" ,googletest))) - (inputs - `(("ocl-icd" ,ocl-icd) - ("opencl-headers" ,opencl-headers))) - (home-page "https://github.com/clMathLibraries/clFFT/") - (synopsis "Library containing FFT functions written in OpenCL") - (description "@code{clFFT} is a software library containing FFT functions -written in @code{OpenCL}. In addition to GPU devices, the library also supports -running on CPU devices to facilitate debugging and heterogeneous programming.") - (license license:asl2.0))) - -(define-public compute ; superceeded by boost-1.61+ - (package - (name "compute") - (version "0.5") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/boostorg/compute.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0jc04k43br49hqgzrxfn3wfz2m94q1z45zfg5nahqb7p0lbfgwyx")))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON" - "-DCMAKE_BUILD_TYPE=Release") - #:tests? #f)) ; tests require OpenCL device - (native-inputs - `(("boost" ,boost-for-mysql) ; 1.59.0 - ("opencl-headers" ,opencl-headers) - ("ocl-icd" ,ocl-icd))) - (home-page "http://boostorg.github.io/compute/") - (synopsis "C++ GPU Computing Library for OpenCL") - (description - "@code{Boost.Compute} is a GPU/parallel-computing library for C++ based on -@code{OpenCL}. The core library is a thin C++ wrapper over the @code{OpenCL -API} and provides access to compute devices, contexts, command queues and memory -buffers.") - (license license:boost1.0))) diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm index 8d488d6..7c88afa 100644 --- a/gn/packages/bioinformatics.scm +++ b/gn/packages/bioinformatics.scm @@ -757,3 +757,209 @@ annotated in the reference.") (description "A dendrogram object in R are is a list structure with attributes in its nodes and leaves.") (license license:gpl3))) +(define-public delly + (package + (name "delly") + (version "0.7.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/tobiasrausch/delly/archive/v" + version ".tar.gz")) + (sha256 + (base32 "173mmg43dbxqkyq0kiffz63xbmggr2kzd55mwxci9yfh5md1zprn")) + (patches (list (search-patch "delly-use-system-libraries.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("python" ,python-2))) + (inputs + `(("boost" ,boost-delly) ; Use version 1.57.0 instead. + ("htslib" ,htslib) + ("zlib" ,zlib) + ("bzip2" ,bzip2))) + (arguments + `(#:tests? #f ; There are no tests to run. + #:phases + (modify-phases %standard-phases + (delete 'configure) ; There is no configure phase. + (replace 'install + (lambda _ + (let ((bin (string-append (assoc-ref %outputs "out") "/bin"))) + (install-file "src/cov" bin) + (install-file "src/delly" bin) + (install-file "src/extract" bin) + (install-file "src/iover" bin) + (install-file "src/stats" bin))))))) + (home-page "https://github.com/tobiasrausch/delly") + (synopsis "Integrated structural variant prediction method") + (description "Delly is an integrated structural variant prediction method +that can discover and genotype deletions, tandem duplications, inversions and +translocations at single-nucleotide resolution in short-read massively parallel +sequencing data. It uses paired-ends and split-reads to sensitively and +accurately delineate genomic rearrangements throughout the genome. Structural +variants can be visualized using Delly-maze and Delly-suave.") + (license license:gpl3))) + +(define-public plink-ng-gn + (let ((commit "5d1db4313ba0cc976562da233db4aced78975d10")) + (package + (name "plink-ng-gn") + (version (string-append "1.90b3-" commit )) ; Aug 11, 2016 + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/genenetwork/plink-ng.git") + (commit commit))) + (file-name (string-append name "-" commit)) + (sha256 + (base32 + "1366li3ks9076bblvd1rpzkjq4j8f8f08lhga4c1ckrkil3xww4m")))) + ;; no longer (patches (list (search-patch "plink-ng-Makefile-zlib-git.patch"))))) + (inputs + `(("zlib" ,zlib) + ("openblas" ,openblas) + ;; ("atlas" ,atlas) ; openblas replaces atlas + ("lapack" ,lapack) ; lapack is disabled in GUIX openblas + ;; ("gfortran" ,gfortran) + ;; ("python" ,python-2) ;; for tests - currently disabled + )) + (native-inputs + `(("unzip" ,unzip))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ;no "check" target. Some of the python-based tests fail + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + (zero? (system* "make" "-f" "Makefile.guix")) + )) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") + "/bin/"))) + (install-file "plink2" bin) + #t)))))) + (home-page "https://www.cog-genomics.org/plink2") + (synopsis "Whole genome association analysis toolset") + (description + "PLINK is a whole genome association analysis toolset, designed to +perform a range of basic, large-scale analyses in a computationally efficient +manner. The focus of PLINK is purely on analysis of genotype/phenotype data, +so there is no support for steps prior to this (e.g. study design and +planning, generating genotype or CNV calls from raw data). Through +integration with gPLINK and Haploview, there is some support for the +subsequent visualization, annotation and storage of results.") + (license license:gpl3+)))) + +(define-public gfaffix + (package + (name "gfaffix") + (version "0.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/marschall-lab/GFAffix") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0yn8i70ww3x544qm4fwr33vklsxf3fvivpfpv46prkfz9hsmd9ps")))) + (build-system cargo-build-system) + (arguments + `(#:install-source? #f)) + (inputs (cargo-inputs 'gfaffix + #:module '(gn packages rust-crates))) + (home-page "https://github.com/marschall-lab/GFAffix") + (synopsis "Identify walk-preserving shared affixes in variation graphs") + (description + "GFAffix identifies walk-preserving shared affixes in variation graphs and +collapses them into a non-redundant graph structure.") + (license license:expat))) + +(define-public graphaligner + (package + (name "graphaligner") + (version "1.0.20") + (source (origin + (method url-fetch) + (uri "https://github.com/user-attachments/files/17976913/GraphAligner.tar.gz") + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1gs6jds4lazljb1s7s8f1vp0l4j8jvqy6qhb9sck7x66z8157ndm")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ; no tests + #:make-flags + #~(list (string-append "VERSION=" #$version)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ; no configure phase + (add-after 'unpack 'patch-source + (lambda* (#:key inputs #:allow-other-keys) + (delete-file-recursively "concurrentqueue") + (substitute* "makefile" + (("-Iconcurrentqueue") + (string-append "-I" (search-input-directory inputs "/include/concurrentqueue"))) + (("^JEMALLOCFLAGS.*") + "JEMALLOCFLAGS= `pkg-config --libs jemalloc`\n") + (("`pkg-config --cflags zlib`/bamtools") + (string-append "-I " (search-input-directory inputs "include/bamtools"))) + ;; No need to build statically. + (("-Wl,-Bstatic") "") + (("-static-libstdc\\+\\+") "")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (for-each + (lambda (program) + (install-file program (string-append out "/bin"))) + (find-files "bin")) + (for-each + (lambda (header) + (install-file header (string-append out "/include"))) + (find-files "src" "\\.h(pp)?$")))))))) + (native-inputs + (list (list jemalloc "bin") + pkg-config + sparsehash)) + (inputs + (list bamtools + boost + concurrentqueue + jemalloc + libdivsufsort + mummer + protobuf + sdsl-lite + zlib)) + (home-page "https://github.com/maickrau/GraphAligner") + (synopsis "Seed-and-extend program for aligning genome graphs") + (description "Seed-and-extend program for aligning long error-prone reads to +genome graphs. For a description of the bitvector alignment extension +algorithm, see +@url{https://academic.oup.com/bioinformatics/advance-article/doi/10.1093/bioinformatics/btz162/5372677 +here}.") + (license license:expat))) + +(define-public mummer + (package + (name "mummer") + (version "4.0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/mummer4/mummer/releases/" + "download/v" version "/mummer-" version ".tar.gz")) + (sha256 + (base32 "0gix9qay0bcv515q9xag9arhq3wal77vf5g5whiy7cm004ksw85w")))) + (build-system gnu-build-system) + (inputs + (list gnuplot + perl)) + (home-page "http://mummer.sourceforge.net/") + (synopsis "Efficient sequence alignment of full genomes") + (description "MUMmer is a versatil alignment tool for DNA and protein sequences.") + (license license:artistic2.0))) + diff --git a/gn/packages/edash.scm b/gn/packages/edash.scm index e46ebae..8781bfc 100644 --- a/gn/packages/edash.scm +++ b/gn/packages/edash.scm @@ -346,3 +346,27 @@ necessary.") (synopsis "EMTech's edash service") (description "EMTech's edash service package.") (license license:agpl3+)))) + +(define-public python-flask-cors + (package + (name "python-flask-cors") + (version "3.0.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Flask-Cors" version)) + (sha256 + (base32 + "1v6gq4vjgyxi8q8lxawpdfhq01adb4bznnabp08ks5nzbwibz43y")))) + (build-system python-build-system) + (inputs + `(("python-flask" ,python-flask) + ("python-six" ,python-six) + ("python-nose" ,python-nose))) + (home-page + "https://github.com/corydolphin/flask-cors") + (synopsis + "A Flask extension adding a decorator for CORS support") + (description + "A Flask extension adding a decorator for CORS support") + (license license:expat))) diff --git a/gn/packages/globus.scm b/gn/packages/globus.scm index edf25e8..a8c9212 100644 --- a/gn/packages/globus.scm +++ b/gn/packages/globus.scm @@ -55,3 +55,22 @@ options and arguments match your type annotations.") (description "@code{globus-cli} provides a command-line interface to Globus APIs.") (license license:asl2.0))) + +(define-public python-globus-sdk + (package + (name "python-globus-sdk") + (version "3.37.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "globus-sdk" version)) + (sha256 + (base32 + "19w3pjzfycaqvvr11nq8c91i6pkkkic95yf170hr39dwj70lrkc7")))) + (build-system pyproject-build-system) + (propagated-inputs (list python-cryptography python-pyjwt python-requests + python-typing-extensions)) + (home-page "https://github.com/globus/globus-sdk-python") + (synopsis "Globus SDK for Python") + (description "@code{python-globus-sdk} provides a convenient Pythonic interface to +Globus APIs.") + (license license:asl2.0))) diff --git a/gn/packages/gnulib.scm b/gn/packages/gnulib.scm index 254b30a..12379ea 100644 --- a/gn/packages/gnulib.scm +++ b/gn/packages/gnulib.scm @@ -4,3 +4,39 @@ #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (gnu packages texinfo)) +(define-public gnulib + (let ((commit "de255f87357354e0f2422d9321fe9701b776ead5") + (revision "2877")) ; as reported from gnulib + (package + (name "gnulib") + (version (git-version "0.1" revision commit)) ; Sept. 30, 2019 + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/gnulib.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00zjjldhj8ckr47fkqmb4d0lkpn6awwi8k8pngkfn2g30ccz7hji")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; the test suite doesn't help us + #:make-flags '("info") + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "doc/gnulib.info" + (string-append (assoc-ref outputs "out") + "/share/info"))))))) + (native-inputs + `(("texinfo" ,texinfo))) + (home-page "https://www.gnu.org/software/gnulib/") + (synopsis "Common GNU code") + (description + "Gnulib is a central location for common GNU code, intended to be shared +among GNU packages.") + (license (list license:gpl2+ + license:lgpl2.0+))))) diff --git a/gn/packages/java.scm b/gn/packages/java.scm deleted file mode 100644 index 38e3473..0000000 --- a/gn/packages/java.scm +++ /dev/null @@ -1,382 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016 Roel Janssen <roel@gnu.org> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (gn packages java) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix gexp) - #:use-module (guix utils) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix svn-download) - #:use-module (guix build-system gnu) - #:use-module (guix build-system ant) - #:use-module (gnu packages) - #:use-module (gnu packages autotools) - #:use-module (gnu packages bash) - #:use-module (gnu packages bioinformatics) - #:use-module ((gnu packages nss) #:select (nss-certs)) - #:use-module (gnu packages compression) - #:use-module (gnu packages cups) - #:use-module (gnu packages gcc) - #:use-module (gnu packages java) - #:use-module (gnu packages java-compression) - #:use-module (gnu packages perl) - #:use-module (srfi srfi-1)) - -;; This is an attempt to make a smaller version of openjdk -(define openjdk11-minimal - (package/inherit openjdk11 - (inputs - (modify-inputs (package-inputs openjdk11) - (replace "cups" cups-minimal))))) - -;; ---------------------------------------------------------------------------- -;; WORKING PACKAGES -;; ---------------------------------------------------------------------------- - -(define-public xz-java - (package - (name "xz-java") - (version "1.5") - (source (origin - (method url-fetch) - (uri (string-append "http://tukaani.org/xz/" - name "-" version ".zip")) - (sha256 - (base32 "0x6vn9dp9kxk83x2fp3394n95dk8fx9yg8jns9371iqsn0vy8ih1")))) - (build-system ant-build-system) - (arguments - `(#:tests? #f ; There's no test target. - #:jdk ,icedtea-7 - #:phases - (modify-phases %standard-phases - (replace 'unpack - (lambda _ - (mkdir-p "source") - (chdir "source") - (zero? (system* "unzip" (assoc-ref %build-inputs "source"))))) - (replace 'install - (lambda _ - (let ((out (string-append (assoc-ref %outputs "out") - "/share/java/xz/"))) - (mkdir-p out) - (copy-file "build/jar/xz.jar" (string-append out "/xz-1.5.jar")))))))) - (native-inputs - `(("unzip" ,unzip))) - (home-page "http://tukaani.org/xz/java.html") - (synopsis "Implementation of XZ data compression in pure Java") - (description "This aims to be a complete implementation of XZ data -compression in pure Java. Single-threaded streamed compression and -decompression and random access decompression have been fully implemented.") - (license license:public-domain))) - -(define-public jakarta-oro - (package - (name "jakarta-oro") - (version "2.0.8") - (source (origin - (method url-fetch) - (uri (string-append "http://archive.apache.org/dist/jakarta/oro/" - name "-" version ".tar.gz")) - (sha256 - (base32 "0rpmnsskiwmsy8r0sckz5n5dbvh3vkxx8hpm177c754r8xy3qksc")))) - (build-system ant-build-system) - (arguments - `(#:tests? #f ; There is no 'check' target - #:phases - (modify-phases %standard-phases - (replace 'install - (lambda _ - (let ((out (string-append (assoc-ref %outputs "out") - "/share/java/oro/"))) - (mkdir-p out) - (copy-file "jakarta-oro-2.0.8.jar" (string-append out "/oro-2.0.8.jar")))))) - )) - (home-page "http://jakarta.apache.org/oro/") - (synopsis "Set of text-processing Java classes") - (description "The Jakarta-ORO Java classes are a set of text-processing -Java classes that provide Perl5 compatible regular expressions, AWK-like regular -expressions, glob expressions, and utility classes for performing substitutions, -splits, filtering filenames, etc.") - (license license:asl1.1))) - -;; ---------------------------------------------------------------------------- -;; IN PROGRESS -;; ---------------------------------------------------------------------------- - -(define-public jsch - (package - (name "jsch") - (version "0.1.53") - (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge.net/jsch/" name "/" - version "/" name "-" version ".zip")) - (sha256 - (base32 "1729j7khwj6yvkr26fjaf273i3krhz2n1m3mbv5ms4x00qrhrxdn")))) - (build-system ant-build-system) - (home-page "http://www.jcraft.com/jsch/") - (synopsis "JSch is a pure Java implementation of SSH2") - (description "JSch is a pure Java implementation of SSH2. JSch allows you -to connect to an sshd server and use port forwarding, X11 forwarding, file -transfer, etc., and you can integrate its functionality into your own Java -programs.") - (license license:bsd-3))) - -(define-public commons-vfs - (package - (name "commons-vfs") - (version "2.0") - (source (origin - (method url-fetch) - (uri (string-append - "http://mirrors.supportex.net/apache/commons/vfs/source/" - name "-" version "-src.tar.gz")) - (sha256 - (base32 "1gkfg9g14kjkh2kf041ssdz9xnw7hpfmdsyrs1bbhyzikwg4s3d9")))) - (build-system ant-build-system) - (home-page "https://commons.apache.org/proper/commons-vfs/") - (synopsis "Commons Virtual File System API for Java") - (description "Commons VFS provides a single API for accessing various -different file systems. It presents a uniform view of the files from various -different sources, such as the files on local disk, on an HTTP server, or -inside a Zip archive. ") - (license license:asl2.0))) - -(define-public ivy -;; Ivy tries to download the following packages: -;; - https://repo1.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.jar => We have ant-1.9.6 -;; - https://repo1.maven.org/maven2/org/apache/ant/ant-nodeps/1.7.1/ant-nodeps-1.7.1.jar => Probably not needed -;; - https://repo1.maven.org/maven2/org/apache/ant/ant-trax/1.7.1/ant-trax-1.7.1.jar => Classes moved to ant.jar -;; - https://repo1.maven.org/maven2/commons-httpclient/commons-httpclient/3.0/commons-httpclient-3.0.jar -;; - https://repo1.maven.org/maven2/oro/oro/2.0.8/oro-2.0.8.jar => Packaged -;; - https://repo1.maven.org/maven2/commons-vfs/commons-vfs/1.0/commons-vfs-1.0.jar -;; - https://repo1.maven.org/maven2/com/jcraft/jsch/0.1.50/jsch-0.1.50.jar -;; - https://repo1.maven.org/maven2/com/jcraft/jsch.agentproxy/0.0.6/jsch.agentproxy-0.0.6.jar -;; - https://repo1.maven.org/maven2/com/jcraft/jsch.agentproxy.connector-factory/0.0.6/jsch.agentproxy.connector-factory-0.0.6.jar -;; - https://repo1.maven.org/maven2/com/jcraft/jsch.agentproxy.jsch/0.0.6/jsch.agentproxy.jsch-0.0.6.jar -;; - https://repo1.maven.org/maven2/org/bouncycastle/bcpg-jdk14/1.45/bcpg-jdk14-1.45.jar -;; - https://repo1.maven.org/maven2/org/bouncycastle/bcprov-jdk14/1.45/bcprov-jdk14-1.45.jar -;; - https://repo1.maven.org/maven2/junit/junit/3.8.2/junit-3.8.2.jar -;; - https://repo1.maven.org/maven2/commons-lang/commons-lang/2.6/commons-lang-2.6.jar -;; - https://repo1.maven.org/maven2/org/apache/ant/ant-testutil/1.7.0/ant-testutil-1.7.0.jar -;; - https://repo1.maven.org/maven2/ant/ant-launcher/1.6.2/ant-launcher-1.6.2.jar -;; - https://repo1.maven.org/maven2/ant-contrib/ant-contrib/1.0b3/ant-contrib-1.0b3.jar -;; - https://repo1.maven.org/maven2/xerces/xercesImpl/2.6.2/xercesImpl-2.6.2.jar -;; - https://repo1.maven.org/maven2/xerces/xmlParserAPIs/2.6.2/xmlParserAPIs-2.6.2.jar - (package - (name "ivy") - (version "2.4.0") - (source (origin - (method url-fetch) - (uri (string-append "http://ftp.nluug.nl/internet/apache/ant/" name "/" - version "/apache-" name "-" version "-src.tar.gz")) - (sha256 - (base32 "1xkfn57g2m7l6y0xdq75x5rnrgk52m9jx2xah70g3ggl8750hbr0")))) - (build-system ant-build-system) - (inputs - `(("nss-certs" ,nss-certs))) - (home-page "http://ant.apache.org/ivy/") - (synopsis "Dependency manager for Ant") - (description "Apache Ivy is a popular dependency manager focusing on -flexibility and simplicity.") - (license license:asl2.0))) - - -;; ---------------------------------------------------------------------------- -;; ON HOLD: WAITING FOR MAVEN PACKAGES -;; ---------------------------------------------------------------------------- - -;; TODO: Needs commons-compress -;; (define-public ant-compress -;; (package -;; (name "ant-compress") -;; (version "1.4") -;; (source (origin -;; (method url-fetch) -;; (uri "https://www.apache.org/dist/ant/antlibs/compress/source/apache-ant-compress-1.4-src.tar.gz")) -;; (sha256 -;; (base32 "17v5i11srmi12ckgrvhlwn0gvapgizs5672x252h143r0ya4c04d"))) -;; )) - -;; TODO: Needs Maven. -;; (define-public commons-compress -;; (package -;; (name "apache-commons-compress") -;; (version "1.10") -;; (source (origin -;; (method url-fetch) -;; (uri ("http://ftp.tudelft.nl/apache//commons/compress/source/commons-compress-1.10-src.tar.gz"))) -;; (sha256 -;; (base32 "06b40k9dmgqkga3qmfpgzq87jf3fkcxnwaiyczclh58yibg19604"))) -;; )) - -;; TODO: Needs Maven. -;; (define-public jcommander -;; (package -;; (name "jcommander") -;; (version "1.48") -;; (source (origin -;; (method url-fetch) -;; (uri (string-append "https://github.com/cbeust/jcommander/archive/" -;; name "-" version ".tar.gz")) -;; (sha256 -;; (base32 "1qn56hd6sxkfdv9j6pwf8c7ia00n39zry236a6achc87wq2kmfnw")))) -;; (build-system ant-build-system) -;; (home-page "http://jcommander.org/") -;; (synopsis "Java framework for parsing command line parameters") -;; (description "JCommander is a very small Java framework that makes it -;; trivial to parse command line parameters. ") -;; (license license:asl2.0))) - -;; TODO: Needs Maven. -;; (define-public maven-remote-resources-plugin -;; (package -;; (name "maven-remote-resources-plugin") -;; (version "1.5") -;; (source (origin -;; (method svn-fetch) -;; (uri (svn-reference -;; (url (string-append "http://svn.apache.org/viewvc/maven/plugins/tags/" -;; name "-" version)) -;; (revision 1513840))) -;; (file-name (string-append name "-" version "-checkout")) -;; (sha256 -;; (base32 "1g0iavyb34kvs3jfrx2hfnr8lr11m39sj852cy7528wva1glfl4i")))) -;; (build-system ant-build-system) -;; (home-page "https://maven.apache.org/plugins/maven-remote-resources-plugin/") -;; (synopsis "") -;; (description "") -;; (license license:asl2.0))) - -;; TODO: Needs Maven. -;; (define-public junit -;; (package -;; (name "junit") -;; (version "4.12") -;; (source (origin -;; (method url-fetch) -;; (uri (string-append "https://github.com/junit-team/" -;; name "/archive/r" version ".tar.gz")) -;; (sha256 -;; (base32 "1r6ww2y3jpbpqh03r0966xxiz2vs8n72g6n6l0sjs3aspy56v8b1")))) -;; (build-system ant-build-system) -;; (home-page "http://junit.org/") -;; (synopsis "Framework to write repeatable tests") -;; (description "JUnit is a simple framework to write repeatable tests. It is -;; an instance of the xUnit architecture for unit testing frameworks.") -;; (license license:asl2.0))) - -;; TODO: Remove bundled jars from buildLib, lib, testLib and javascript -(define-public rtg-tools - (package - (name "rtg-tools") - (version "3.11") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/RealTimeGenomics/rtg-tools") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "13fjhhcjgnynxscaymkn3rpdciplbg2m2qmihc7fxsylgn4m6gxk")))) - (build-system ant-build-system) - (arguments - `(#:jdk ,openjdk11-minimal - #:build-target "zip-nojre" - #:test-target "runalltests" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'adjust-source - (lambda _ - (substitute* "build.xml" - (("\"git\"") "\"echo\"") - (("\\$\\{vcs\\.cmd\\.out\\}") "${product.version}") - (("\\$\\{build\\.time\\}") "1970-01-01") - (("-\\$\\{rtg\\.vcs\\.commit\\.revision\\}") "")))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (pkg (string-append ,name "-" ,version))) - (install-file (string-append "dist/" pkg "-nojre.zip") - out) - (with-directory-excursion out - (invoke "unzip" (string-append pkg "-nojre.zip")) - (copy-recursively (string-append pkg "/") ".") - (delete-file-recursively pkg) - (delete-file (string-append pkg "-nojre.zip")))))) - (add-after 'install 'create-rtg.cfg - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (with-output-to-file (string-append out "/rtg.cfg") - (lambda _ - (format #t "RTG_JAVA=\"~a\"~@ - RTG_TALKBACK=false~@ - RTG_USAGE=false~%" - (search-input-file inputs "/bin/java"))))))) - (add-after 'install 'create-wrapper-script - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (wrapper (string-append out "/bin/rtg"))) - ;; We want an executable in the bin directory without rewriting - ;; the existing wrapper script. - (mkdir-p (dirname wrapper)) - (with-output-to-file wrapper - (lambda _ - (format #t "#!~a~@ - exec -a \"$0\" \"~a/rtg\" \"$@\"~%" - (search-input-file inputs "/bin/bash") - out))) - (chmod wrapper #o555)))) - (add-after 'install 'install-completions - (lambda* (#:key outputs #:allow-other-keys) - (install-file "installer/resources/common/scripts/rtg-bash-completion" - (string-append (assoc-ref outputs "out") - "/share/bash-completion/completions")))) - (delete 'generate-jar-indices)))) ; manually installed - (inputs - (list bash-minimal ; for the wrapper script - java-commons-collections - java-commons-compress - java-commons-lang - ;java-gzipfix - ;java-sam-rtg - ;java-json-simple - ;java-rplot - java-snappy - ;java-velocity - ;java-velocity-tools-generic - )) - (native-inputs - (list ;java-findbugs-annotations - ;java-findbugs-jsr305 - ;java-jumble-annotations - ;; for tests - java-hamcrest-core - java-junit - ;java-spelling - ;; For the 'install phase. - unzip)) - (home-page "https://github.com/RealTimeGenomics/rtg-tools/") - (synopsis "Utilities for accurate VCF comparison and manipulation") - (description "RTG Tools is a subset of RTG Core that includes several useful -utilities for dealing with VCF files and sequence data. Probably the most -interesting is the @code{vcfeval} command which performs sophisticated -comparison of VCF files.") - (license license:bsd-2))) diff --git a/gn/packages/javascript.scm b/gn/packages/javascript.scm index d289bd2..2bb511e 100644 --- a/gn/packages/javascript.scm +++ b/gn/packages/javascript.scm @@ -2484,3 +2484,50 @@ for developing fast and powerful web interfaces.") (copy-file source (string-append targetdir "/default.min.css")))))) (native-inputs `(("source" ,source))))) + +(define-public javascript-ckeditor ; version 4 + (package + (name "javascript-ckeditor") + (version "4.13.0") ; Sept. 26, 2019 + (source + (origin + (method url-fetch) + (uri (string-append "http://download.cksource.com/CKEditor/CKEditor/CKEditor%20" version + "/ckeditor_4.13.0_standard.zip")) + (sha256 + (base32 + "1n2xynmbr2v4wm2g2vqcqd16n93phsbq4sqrnljzb7wzjq9svl36")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (name "ckeditor") + (unzip (string-append (assoc-ref %build-inputs "unzip") + "/bin/unzip")) + (targetdir + (string-append (string-append out "/share/genenetwork2/javascript/" name))) + (source (assoc-ref %build-inputs "source"))) + (mkdir-p targetdir) + (invoke unzip source) + (copy-recursively "ckeditor" targetdir))))) + (native-inputs + `(("source" ,source) + ("unzip" ,unzip))) + (home-page "https://ckeditor.com/") + (synopsis "Smart WYSIWYG HTML editor") + (description + "CKEditor is a proven, enterprise-grade WYSIWYG HTML editor with wide +browser compatibility, including legacy browsers. +@enumerate +@item Paste from Word and Excel, spell check, accessibility checker, tables. +@item Autocomplete, mentions, widgets, code snippets, emoji plugins. +@item Full control over content: HTML filtering, view source mode. +@item Great accessibility: WCAG 2.0 AA and Section 508 compliant. +@item Long-term support (LTS) until 2023. +@end enumerate") + (license (list license:gpl2+ + license:lgpl2.1+ + license:mpl1.1)))) diff --git a/gn/packages/julia.scm b/gn/packages/julia.scm index 4fdb403..5993a8d 100644 --- a/gn/packages/julia.scm +++ b/gn/packages/julia.scm @@ -2529,3 +2529,77 @@ for long-running computations.") written in Julia for Bayesian multiple regression methods applied to genomic prediction and genome-wide association studies.") (license license:gpl2))) + +(define-public julia-staticarrayscore + (package + (name "julia-staticarrayscore") + (version "1.4.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaArrays/StaticArraysCore.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0m573mxvf0y9h7y8rxrk35haphhqisplx159r77g30qvw7zwpgar")))) + (build-system julia-build-system) + (home-page "https://github.com/JuliaArrays/StaticArraysCore.jl") + (synopsis "Interface package for StaticArrays.jl") + (description + "This package provides an interface package for @code{StaticArrays.jl}.") + (license license:expat))) + +(define-public julia-precompiletools + (package + (name "julia-precompiletools") + (version "1.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaLang/PrecompileTools.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "124qzflwnn34d8x8vz3cmj2m4a55mg5qf8i8jdcwyyrnag3si7zr")))) + (build-system julia-build-system) + (arguments + (list #:tests? #f)) ; Tries to download the Julia registry. + (propagated-inputs + (list julia-preferences)) + (home-page "https://github.com/JuliaLang/PrecompileTools.jl") + (synopsis "Reduce time-to-first-execution of Julia code") + (description "PrecompileTools allows you to reduce the latency of the first +execution of Julia code. It is applicable for package developers and for +\"ordinary users\" in their personal workflows.") + (license license:expat))) + +(define-public julia-timeroutputs + (package + (name "julia-timeroutputs") + (version "0.5.23") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/KristofferC/TimerOutputs.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "031m7d837cw4c7iz4arrm1a1ppqihhj5jsldvm7z1bc72jxgfrcv")))) + (build-system julia-build-system) + (propagated-inputs + (list julia-exprtools)) + (home-page "https://github.com/KristofferC/TimerOutputs.jl") + (synopsis "Formatted output of timed sections in Julia") + (description "TimerOutputs is a small Julia package that is used to generate +formatted output from timings made in different sections of a program. It's +main functionality is the @code{@@timeit} macro, similar to the @code{@@time} +macro in Base except one also assigns a label to the code section being timed. +Multiple calls to code sections with the same label (and in the same \"scope\") +will accumulate the data for that label. After the program has executed, it is +possible to print a nicely formatted table presenting how much time, +allocations and number of calls were made in each section. The output can be +customized as to only show the things you are interested in.") + (license license:expat))) diff --git a/gn/packages/jupyterhub.scm b/gn/packages/jupyterhub.scm deleted file mode 100644 index 5763641..0000000 --- a/gn/packages/jupyterhub.scm +++ /dev/null @@ -1,261 +0,0 @@ -(define-module (gn packages jupyterhub) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix build-system python) - #:use-module (gnu packages check) - #:use-module (gnu packages databases) - #:use-module (gnu packages docker) - #:use-module (gnu packages jupyter) - #:use-module (gnu packages libffi) - #:use-module (gnu packages linux) - #:use-module (gnu packages monitoring) - #:use-module (gnu packages openstack) - #:use-module (gnu packages protobuf) - #:use-module (gnu packages python-build) - #:use-module (gnu packages python-crypto) - #:use-module (gnu packages python-web) - #:use-module (gnu packages python-xyz) - #:use-module (gnu packages jupyter) - #:use-module (gnu packages rpc) - #:use-module (gnu packages serialization) - #:use-module (gnu packages time) - #:use-module (gn packages node)) - -(define-public jupyterhub - (package - (name "jupyterhub") - (version "1.0.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "jupyterhub" version)) - (sha256 - (base32 - "0zx6gw9yhgki05j21p6x1x2sf5a2mg2c2mx0ii8rl6q4b98ilm1k")) - (patches - (list - (origin - (method url-fetch) - (uri "https://github.com/jupyterhub/jupyterhub/commit/b624116be79168f37af728195af663498f3c55c0.patch") - (file-name "jupyterhub-fix-first-launch-errors.patch") - (sha256 - (base32 - "00rbqz0rz2642ypfgpd49fv7wzpc9n0pdfqixqp3zxs6vqf3x372"))))))) - (build-system python-build-system) - (arguments - '(#:tests? #f ; Tests require a webserver, postgresql database and npm. - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? inputs #:allow-other-keys) - (if tests? - ((let* ((postgres (assoc-ref inputs "postgresql")) - (initdb (string-append postgres "/bin/initdb")) - (pg_ctl (string-append postgres "/bin/pg_ctl")) - (psql (string-append postgres "/bin/psql")) - ) - ;; From .travis.yml - (invoke initdb "main") - (invoke pg_ctl "-D" "main" "start") - (invoke psql "--list") - ;; From ci/init-db.sh - (invoke psql "-d" "postgres" "-c" - "CREATE DATABASE jupyterhub_upgrade_072;") - (invoke psql "-d" "postgres" "-c" - "CREATE DATABASE jupyterhub_upgrade_081;") - (invoke psql "-d" "postgres" "-c" - "CREATE DATABASE jupyterhub_upgrade_094;") - (invoke "pytest" "-v" "--maxfail=2" "jupyterhub/tests")) - ) - #t)))))) - (propagated-inputs - `(;("node-configurable-http-proxy" ,node-configurable-http-proxy) - ("python-alembic" ,python-alembic) - ("python-async-generator" ,python-async-generator) - ("python-certipy" ,python-certipy) - ("python-dateutil" ,python-dateutil) - ("python-entrypoints" ,python-entrypoints) - ("python-jinja2" ,python-jinja2) - ("python-oauthlib" ,python-oauthlib) - ("python-pamela" ,python-pamela) - ("python-prometheus-client" ,python-prometheus-client) - ("python-requests" ,python-requests) - ("python-sqlalchemy" ,python-sqlalchemy) - ("python-tornado" ,python-tornado) - ("python-traitlets" ,python-traitlets) - ;; Recommended but not required: - ("python-pycurl" ,python-pycurl))) - (native-inputs - `( - ("postgresql" ,postgresql) - ("python-psycopg2" ,python-psycopg2) - - ("python-beautifulsoup4" ,python-beautifulsoup4) - ("python-jupyter-client" ,python-jupyter-client) - ("python-notebook" ,python-notebook) - ("python-pytest" ,python-pytest) - ("python-pyzmq" ,python-pyzmq) - ("python-requests-mock" ,python-requests-mock))) - (home-page "https://jupyter.org") - (synopsis "Multi-user server for Jupyter notebooks") - (description - "JupyterHub is the best way to serve Jupyter notebook for multiple users. -It can be used in a classes of students, a corporate data science group or -scientific research group. It is a multi-user Hub that spawns, manages, and -proxies multiple instances of the single-user Jupyter notebook server.") - (license license:bsd-3))) - -(define-public the-littlest-jupyterhub - (let ((commit "29e8bcc4865d26ef67910862a567f55f46f96593") ; Dec 6, 2019 - (revision "2")) - (package - (name "the-littlest-jupyterhub") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jupyterhub/the-littlest-jupyterhub.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "10xrmia8w9vd9zmgww426kyd95jx81l5c4zpq84gqbvkibq61rsa")))) - (build-system python-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'loosen-input-requirements - (lambda _ - (substitute* "setup.py" - (("==.*'") "'")) - #t)) - (add-after 'unpack 'patch-some-sources - (lambda* (#:key inputs #:allow-other-keys) - (let ((python (assoc-ref inputs "python"))) - ;; Delete some tests that we're not going to run. - (delete-file "tests/test_conda.py") - (delete-file "tests/test_user.py") - (delete-file "tests/test_utils.py") - ;; No need to make node available for the test suite. - (substitute* "tests/test_installer.py" - (("installer.ensure_node.*") "") - (("/usr/bin/node") (string-append python "/bin/python"))) - ;; Don't download traefik. - (substitute* "tests/test_traefik.py" - (("traefik.ensure_traefik_binary") - "#traefik.ensure_traefik_binary") - (("assert traefik") "#assert traefik") - (("assert \\(traefik") "#assert (traefik")) - #t))) - (replace 'check - (lambda _ - (invoke "python3" "-m" "pytest" "-v" "tests/")))))) - (propagated-inputs - `(("python-ruamel.yaml" ,python-ruamel.yaml) - ("python-jinja2" ,python-jinja2) - ("python-pluggy" ,python-pluggy) - ("python-passlib" ,python-passlib) - ("python-backoff" ,python-backoff) - ("python-requests" ,python-requests) - ("python-jupyterhub-traefik-proxy" ,python-jupyterhub-traefic-proxy))) - (native-inputs - `(("python-pytest" ,python-pytest) - ("python-pytoml" ,python-pytoml))) - (home-page "https://the-littlest-jupyterhub.readthedocs.io/en/latest/") - (synopsis "JupyterHub server for a single server") - (description - "The Littlest JupyterHub (TLJH) distribution helps you provide Jupyter -Notebooks to 1-50 users on a single server. Administrators who do not consider -themselves 'system administrators' but would like to provide hosted Jupyter -Notebooks for their students / users are the primary audience. All users are -provided with the same environment, and administrators can easily install -libraries into this environment without any specialized knowledge.") - (license license:bsd-3)))) - -(define-public python-backoff - (package - (name "python-backoff") - (version "1.8.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "backoff" version)) - (sha256 - (base32 - "0g2s4p34ml8dnldbj5qkg7ni5bwsq492nhry2inc2pn66qyx47iz")))) - (build-system python-build-system) - (home-page "https://github.com/litl/backoff") - (synopsis "Function decoration for backoff and retry") - (description - "Function decoration for backoff and retry") - (license license:expat))) - -(define-public python-jupyterhub-traefic-proxy - (package - (name "python-jupyterhub-traefic-proxy") - (version "0.1.4") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jupyterhub/traefik-proxy.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "021lqll3b84qmyw417wj15wpvs8ckvabx8ygm4fjy9bdllaxmmag")))) - (build-system python-build-system) - (propagated-inputs - `(("jupyterhub" ,jupyterhub) - ("python-etcd3" ,python-etcd3) - ("python-aiohttp" ,python-aiohttp) - ("python-passlib" ,python-passlib) - ("python-py-consul" ,python-py-consul) - ("python-toml" ,python-toml) - ("python-escapism" ,python-escapism))) - (native-inputs - `(("python-jupyter-client" ,python-jupyter-client) - ("python-notebook" ,python-notebook) - ("python-numpy" ,python-numpy) - ("python-pyzmq" ,python-pyzmq) - ("python-websockets" ,python-websockets))) - (home-page "https://jupyterhub-traefik-proxy.readthedocs.io/") - (synopsis "JupyterHub proxy implementation with traefik") - (description "An implementation of the JupyterHub proxy api with traefik: an -extremely lightweight, portable reverse proxy implementation, that supports load -balancing and can configure itself automatically and dynamically.") - (license license:bsd-3))) - -(define-public python-jupyter-repo2docker - (package - (name "python-jupyter-repo2docker") - (version "0.10.0") - (source - (origin - (method url-fetch) - (uri (pypi-uri "jupyter-repo2docker" version)) - (sha256 - (base32 - "0nn0vcm3pmsrb0hhjwkqy80kgyab7mgny0f8ch7fcsxy2cljcrbr")))) - (build-system python-build-system) - (propagated-inputs - `(("python-docker" ,python-docker) - ("python-escapism" ,python-escapism) - ("python-jinja2" ,python-jinja2) - ("python-json-logger" ,python-json-logger) - ("python-ruamel.yaml" ,python-ruamel.yaml) - ("python-semver" ,python-semver) - ("python-toml" ,python-toml) - ("python-traitlets" ,python-traitlets))) - (native-inputs - `(("python-requests" ,python-requests) - ("python-websocket-client" ,python-websocket-client))) - (home-page "https://repo2docker.readthedocs.io/en/latest/") - (synopsis "Turn git repositories into Jupyter enabled Docker Images") - (description - "@code{repo2docker} fetches a git repository and builds a container image -based on the configuration files found in the repository.") - (license license:bsd-3))) diff --git a/gn/packages/kubernetes.scm b/gn/packages/kubernetes.scm deleted file mode 100644 index 4619f5e..0000000 --- a/gn/packages/kubernetes.scm +++ /dev/null @@ -1,313 +0,0 @@ -(define-module (gn packages kubernetes) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix git-download) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix build-system go) - #:use-module (guix build-system trivial) - #:use-module (gnu packages base) - #:use-module (gnu packages compression) - #:use-module (gnu packages linux) - #:use-module (gnu packages rsync)) - -(define-public kubernetes - (package - (name "kubernetes") - (version "1.16.4") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kubernetes/kubernetes.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0snk4jr5is8rwx0px2kwx802dg770mrgp11irnwy2z50p327jrcs")))) - (build-system go-build-system) - (arguments - `(#:import-path "k8s.io/kubernetes" - #:install-source? #f - #:tests? #f ; Skip tests for now. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'make-files-writable - (lambda _ - (for-each make-file-writable (find-files ".")) - #t)) - (add-before 'build 'prepare-build - (lambda* (#:key inputs #:allow-other-keys) - (with-directory-excursion "src/k8s.io/kubernetes" - (substitute* '("build/root/Makefile" - "build/root/Makefile.generated_files" - "build/pause/Makefile") - (("/bin/bash") (which "bash"))) - (substitute* "pkg/util/mount/mount.go" - (("defaultMountCommand.*") - (string-append "defaultMountCommand = \"" - (assoc-ref inputs "util-linux") - "/bin/mount\"\n")))) - #t)) - (add-before 'build 'fix-version-numbers - (lambda _ - (with-directory-excursion "src/k8s.io/kubernetes" - (substitute* '("cmd/kubeadm/app/version/base.go" - "staging/src/k8s.io/client-go/pkg/version/base.go" - "staging/src/k8s.io/kubectl/pkg/version/base.go" - "staging/src/k8s.io/component-base/version/base.go" - "staging/src/k8s.io/component-base/metrics/version_parser_test.go" - "pkg/version/base.go" - "vendor/k8s.io/client-go/pkg/version/base.go" - "vendor/k8s.io/kubectl/pkg/version/base.go" - "vendor/k8s.io/component-base/metrics/version_parser_test.go") - (("v0.0.0-master\\+\\$Format:\\%h\\$") (string-append "v" ,version)) - (("v0.0.0-master") (string-append "v" ,version)) - (("gitMajor string = \"\"") - (string-append "gitMajor string = \"" ,(version-major version) "\"")) - (("gitMinor string = \"\"") - (string-append "gitMinor string = \"" - ,(string-drop (version-major+minor version) 2) "\"")))) - #t)) - (replace 'build - (lambda _ - (with-directory-excursion "src/k8s.io/kubernetes" - ;; Cannot find go-bindata otherwise. - (setenv "PATH" (string-append (getcwd) "/_output/bin:" - (getenv "PATH"))) - (invoke "make")))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (with-directory-excursion "src/k8s.io/kubernetes" - ;; This saves more than 350MiB. - (delete-file "_output/local/go/bin/e2e.test") - (delete-file "_output/local/go/bin/e2e_node.test") - (for-each - (lambda (file) - (install-file file (string-append out "/bin"))) - (find-files "_output/local/go/bin" ".*")) - ;(mkdir-p (string-append out "/share/bash-completion/completions")) - ;(call-with-output-file (string-append out "/share/bash-completion/completions/kubectl") - ; (lambda (port) - ; (format port (invoke "_output/local/go/bin/kubectl" "completion" "bash")))) - ;(mkdir-p (string-append out "/share/zsh/site-function")) - ;(call-with-output-file (string-append out "/share/zsh/site-functions/_kubectl") - ; (lambda (port) - ; (format port (invoke "_output/local/go/bin/kubectl" "completion" "zsh")))) - (install-file "LICENSE" - (string-append out "/share/doc/" - ,name "-" ,version))) - #t))) - (add-after 'install 'install-man-pages - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (mkdir-p (string-append out "/share/man/man1")) - (with-directory-excursion "src/k8s.io/kubernetes" - (for-each - (lambda (file) - (invoke "_output/local/go/bin/genman" - (string-append out "/share/man/man1") file)) - '("kube-apiserver" "kube-controller-manager" "kube-proxy" - "kube-scheduler" "kubelet" "kubectl"))) - #t)))))) - (native-inputs - `(("which" ,which))) - (inputs - `(("rsync" ,rsync) - ("util-linux" ,util-linux))) - (propagated-inputs - `(("crictl" ,crictl))) ; Must be the same major+minor version as kubernetes. - (home-page "https://kubernetes.io/") - (synopsis "Production-Grade Container Scheduling and Management") - (description "Kubernetes is an open source system for managing containerized -applications across multiple hosts. It provides basic mechanisms for -deployment, maintenance, and scaling of applications.") - (license license:asl2.0))) - -(define-public kubernetes-1.15 - (package - (inherit kubernetes) - (name "kubernetes") - (version "1.15.7") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kubernetes/kubernetes.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0xk5cx0ihvnfb3y6s0xhkfyb7a62dy2bkxsarq4wdis5nkc2jdim")))) - (arguments - (substitute-keyword-arguments (package-arguments kubernetes) - ((#:phases phases) - `(modify-phases ,phases - (delete 'fix-version-numbers))))) - (propagated-inputs - `(("crictl" ,crictl-1.15))))) - -(define-public minikube - (package - (name "minikube") - (version "1.5.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/kubernetes/minikube/" - "releases/download/v" - version "/" name "-linux-amd64")) - (sha256 - (base32 - "1sgpb5k3i6g1slz9f6lvp4br5llgm2wcklpn2804hpp8dnlsjwhr")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (bin (string-append out "/bin")) - (target (string-append bin "/minikube")) - (source (assoc-ref %build-inputs "source"))) - (mkdir-p bin) - (copy-file source target) - (chmod target #o555)) - #t))) - (home-page "https://minikube.sigs.k8s.io/") - (synopsis "Run Kubernetes locally") - (description "Minikube implements a local Kubernetes cluster. Minikube's -primary goals are to be the best tool for local Kubernetes application -development and to support all Kubernetes features that fit.") - (supported-systems '("x86_64-linux")) - (license license:asl2.0))) - -(define-public crictl - (package - (name "crictl") - (version "1.16.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kubernetes-sigs/cri-tools.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0qsbqml7jlhf73hlpqrh10bidz4v219bi2m5xg7914dzi0mzm733")))) - (build-system go-build-system) - (arguments - `(;#:import-path "github.com/kubernetes-sigs/cri-tools" - #:install-source? #f - #:tests? #f ; tests require 'framwork' from kubernetes - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'change-directory - (lambda _ - (chdir "src") #t)) - (add-before 'build 'prepare-source - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* "Makefile" - (("/usr/local") out) - (("^VERSION .*") (string-append "VERSION := " ,version "\n"))) - #t))) - (replace 'build - (lambda _ - (invoke "make"))) - ;(replace 'check - ; (lambda _ - ; (invoke "make" "test-e2e"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (setenv "BINDIR" (string-append out "/bin")) - (invoke "make" "install"))))))) - (home-page "https://github.com/kubernetes-sigs/cri-tools") - (synopsis "CLI and validation tools for Kubelet Container Runtime Interface") - (description "Cri-tools aims to provide a series of debugging and validation -tools for Kubelet CRI.") - (license license:asl2.0))) - -(define-public crictl-1.15 - (package - (inherit crictl) - (name "crictl") - (version "1.15.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kubernetes-sigs/cri-tools.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "03fhddncwqrdyxz43m3bak9dlrsqzibqqja3p94nic4ydk2hry62")))) - (arguments - (substitute-keyword-arguments (package-arguments crictl) - ((#:phases phases) - `(modify-phases ,phases - (replace 'build - (lambda _ - (invoke "make" "windows"))) ; This is the correct invocation - (add-after 'prepare-source 'update-version - (lambda _ - (substitute* "Makefile" - (("^VERSION .*") (string-append "VERSION := " ,version "\n"))) - #t)) - (replace 'prepare-source - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (substitute* "Makefile" - (("/usr/local") out) - ;; So we can use 'make windows'. - ((".exe") "") - (("GOOS=windows") "CGO_ENABLED=0") - (("_output") "../bin")) - #t))))))))) - -(define-public crictl-1.14 - (package - (inherit crictl-1.15) - (name "crictl") - (version "1.14.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kubernetes-sigs/cri-tools.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0yzb2vpypf2psrmbaqfh1fw6nba5mzdqr99lkga1204xygs863by")))) - (arguments - (substitute-keyword-arguments (package-arguments crictl-1.15) - ((#:phases phases) - `(modify-phases ,phases - (replace 'update-version - (lambda _ - (substitute* "Makefile" - (("^VERSION .*") (string-append "VERSION := " ,version "\n"))) - #t)))))))) - -(define-public crictl-1.13 - (package - (inherit crictl-1.15) - (name "crictl") - (version "1.13.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/kubernetes-sigs/cri-tools.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0xq3fvarx1x2bjyg3cj2jh3vz4lghb5mw2hhqb8ylflr8phd22cx")))) - (arguments - (substitute-keyword-arguments (package-arguments crictl-1.15) - ((#:phases phases) - `(modify-phases ,phases - (replace 'update-version - (lambda _ - (substitute* "Makefile" - (("^VERSION .*") (string-append "VERSION := " ,version "\n"))) - #t)))))))) diff --git a/gn/packages/mouse-longevity.scm b/gn/packages/mouse-longevity.scm deleted file mode 100644 index f11a7b9..0000000 --- a/gn/packages/mouse-longevity.scm +++ /dev/null @@ -1,87 +0,0 @@ -;;; guix-bioinformatics --- Bioinformatics packages for GNU Guix -;;; Copyright © 2024 jgart <jgart@dismail.de> -;;; -;;; This file is part of guix-bioinformatics. -;;; -;;; genenetwork-machines is free software: you can redistribute it -;;; and/or modify it under the terms of the GNU General Public License -;;; as published by the Free Software Foundation, either version 3 of -;;; the License, or (at your option) any later version. -;;; -;;; genenetwork-machines is distributed in the hope that it will be -;;; useful, but WITHOUT ANY WARRANTY; without even the implied -;;; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -;;; See the GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with genenetwork-machines. If not, see -;;; <https://www.gnu.org/licenses/>. - -(define-module (gn packages mouse-longevity) - #:use-module (guix) - #:use-module (gnu) - #:use-module (gnu services shepherd) - #:use-module (gn services rshiny) - #:use-module (guix git-download) - #:use-module (guix modules) - #:use-module (guix records) - #:use-module (srfi srfi-1) - #:use-module (ice-9 match) - #:use-module (gnu packages cran) - #:use-module (gnu packages statistics) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix build-system trivial) - #:use-module ((gnu packages admin) #:select (shepherd)) - #:use-module ((gnu packages web) #:select (nginx))) - -(define-public mouse-longevity-app - (let ((commit "8a7fdd353e1babcdc3c0453bdfba2aa0dead7c3f") - (revision "2")) - (package - (name "mouse-longevity-app") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.genenetwork.org/mouse-longevity-app/") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1bmiq9xmsq8wgxv3nqg3r2j1kwy2m6pw8agapj31agbyw81agyna")))) - (build-system trivial-build-system) - (arguments - (list #:modules '((guix build utils)) - #:builder - #~(begin - (use-modules (guix build utils)) - (let* ((source (assoc-ref %build-inputs "source")) - (targetdir (string-append #$output "/share/" #$name)) - (app (string-append #$output "/bin/" #$name)) - (Rbin (search-input-file %build-inputs "/bin/Rscript"))) - (copy-recursively source targetdir) - (mkdir-p (string-append #$output "/bin")) - (call-with-output-file app - (lambda (port) - (format port - "#!~a -library(shiny) -setwd(\"~a\") -runApp(launch.browser=0, port=3979)~%\n" - Rbin targetdir))) - (chmod app #o555))))) - (propagated-inputs - (list r - r-ggplot2 - r-dplyr - r-plotly - r-shinydashboard - ;; TODO: https://ci.genenetwork.org/jobs/genenetwork3/581 - ;; r-shinydashboardplus - r-shinyjs - r-shiny)) - (home-page "https://github.com/Dashbrook/Mouse_Longevity_app/") - (synopsis "R shiny app to visualize mouse lifespan data") - (description - "This package provides an R shiny app to visualize mouse strain -longevity data.") - (license license:gpl3+)))) diff --git a/gn/packages/notebooks.scm b/gn/packages/notebooks.scm deleted file mode 100644 index b4ebde1..0000000 --- a/gn/packages/notebooks.scm +++ /dev/null @@ -1,80 +0,0 @@ -(define-module (gn packages notebooks) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix utils) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix build-system python) - #:use-module (guix build-system asdf) - #:use-module (gnu packages python-web) - #:use-module (gnu packages python-xyz) - #:use-module (gnu packages lisp-check) - #:use-module (gnu packages lisp-xyz) - #:use-module (gnu packages)) - -(define-public nb-upload - (let ((commit "b2853028a2ef2b1670074aa08c9e25d799ba4cb4") - (revision "2")) - (package - (name "nb-upload") - (version (git-version "20220414" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://git.genenetwork.org/jgart/nb-upload") - (commit commit))) - (file-name (git-file-name name commit)) - (sha256 - (base32 - "1wdghsq4wj1bgcvxx604q7piknbwapj7facc1xfn1fqvw0cra7wg")))) - (build-system python-build-system) - (arguments - (list #:tests? #f)) ; There are no tests. - (inputs - (list python-requests - python-yaspin - python-rich)) - (synopsis "Upload notebooks via CLI") - (description -"@code{nb-upload} allows a user to upload notebooks to a @code{nb} -instance.") - (home-page "https://git.genenetwork.org/jgart/nb-upload/") - (license license:unlicense)))) - -(define-public sbcl-nb - (let ((commit "bb9bb6cd2ac8e9aac48e97a4c68b4b9811aa817a") - (revision "0")) - (package - (name "sbcl-nb") - (version (git-version "20220414" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://git.genenetwork.org/jgart/nb") - (commit commit))) - (sha256 - (base32 "03wnfb2g9b9kawd9iw5hsdkzdlj0r7pkzwshhjiwn1cc04rqdi5m")) - (file-name (git-file-name name commit)))) - (build-system asdf-build-system/sbcl) - (arguments - `(#:tests? #f)) ; There are no tests. - (inputs - (list sbcl-ningle - sbcl-clack - sbcl-drakma - sbcl-find-port - sbcl-jzon - sbcl-legit - sbcl-cl-interpol)) - (home-page "https://git.genenetwork.org/jgart/nb/") - (synopsis "Launching interactive notebooks in GNU Guix containers") - (description -"{cl-nb} is a Common Lisp system and API for launching interactive -notebooks in GNU Guix containers.") - (license license:unlicense)))) - -(define-public cl-nb - (sbcl-package->cl-source-package sbcl-nb)) - diff --git a/gn/packages/python.scm b/gn/packages/python.scm index 6a0bc40..bc0d662 100644 --- a/gn/packages/python.scm +++ b/gn/packages/python.scm @@ -1724,3 +1724,47 @@ a general image processing tool.") library written in C. It features a fast HTML renderer and functionality to make custom renderers (e.g. man pages or LaTeX).") (license license:expat))) + +(define-public python-jupyter-server + (package + (name "python-jupyter-server") + (version "1.8.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "jupyter-server" version)) + (sha256 + (base32 + "0dqj51fj5ikklbl0gnb939pp80ngnzml5932mljn2lvplph7a34g")))) + (build-system python-build-system) + (propagated-inputs + `(("python-anyio" ,python-anyio) + ("python-argon2-cffi" ,python-argon2-cffi) + ("python-ipython-genutils" ,python-ipython-genutils) + ("python-jinja2" ,python-jinja2) + ("python-jupyter-client" ,python-jupyter-client) + ("python-jupyter-core" ,python-jupyter-core) + ("python-nbconvert" ,python-nbconvert) + ("python-nbformat" ,python-nbformat) + ("python-prometheus-client" ,python-prometheus-client) + ("python-pyzmq" ,python-pyzmq) + ("python-send2trash" ,python-send2trash) + ("python-terminado" ,python-terminado) + ("python-tornado" ,python-tornado) + ("python-traitlets" ,python-traitlets) + ("python-websocket-client" ,python-websocket-client))) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-ipykernel" ,python-ipykernel) + ("python-pytest" ,python-pytest) + ; ("python-pytest-console-scripts" ,python-pytest-console-scripts) - gone missing + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-mock" ,python-pytest-mock) + ; ("python-pytest-tornasync" ,python-pytest-tornasync) - gone missing + ("python-requests" ,python-requests))) + (home-page "https://jupyter.org") + (synopsis + "The backend--i.e. core services, APIs, and REST endpoints--to Jupyter web applications.") + (description + "The backend--i.e. core services, APIs, and REST endpoints--to Jupyter web applications.") + (license #f))) diff --git a/gn/packages/r-shiny.scm b/gn/packages/r-shiny.scm deleted file mode 100644 index 8660bd3..0000000 --- a/gn/packages/r-shiny.scm +++ /dev/null @@ -1,337 +0,0 @@ -(define-module (gn packages r-shiny) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix gexp) - #:use-module (guix download) - #:use-module (guix git-download) - #:use-module (guix utils) - #:use-module (guix build-system r) - #:use-module (guix build-system trivial) - #:use-module (guix packages) - #:use-module (gnu packages bioconductor) - #:use-module (gnu packages cran) - #:use-module (gnu packages javascript) - #:use-module (gnu packages statistics)) - -(define-public r-shiny-gn - (deprecated-package "r-shiny-gn" r-shiny)) - -(define-public r-org-rn-eg-db ; used by jumpshiny service - (package - (name "r-org-rn-eg-db") - (version "3.20.0") - (source (origin - (method url-fetch) - (uri (bioconductor-uri "org.Rn.eg.db" version 'annotation)) - (sha256 - (base32 - "009c22ry5nnklzdc5dywnf8lq41cj3141yr5vw1kgifys6lanj01")))) - (properties - `((upstream-name . "org.Rn.eg.db"))) - (build-system r-build-system) - (propagated-inputs - (list r-annotationdbi)) - (native-inputs (list r-runit)) - (home-page "https://www.bioconductor.org/packages/org.Rn.eg.db/") - (synopsis "Genome wide annotation for Rat") - (description - "This package provides mappings from Entrez gene identifiers to various -annotations for the genome of the rat.") - (license license:artistic2.0))) - -(define-public r-shinytoastr - (package - (name "r-shinytoastr") - (version "2.2.0") - (source - (origin - (method url-fetch) - (uri (cran-uri "shinytoastr" version)) - (sha256 - (base32 "1zcf4ya9anlq6n97iq0b86ybcqbbd2h66vrr41m80zvlkav3z46z")))) - (properties `((upstream-name . "shinytoastr"))) - (build-system r-build-system) - (propagated-inputs (list r-shiny)) - (home-page "https://github.com/gaborcsardi/shinytoastr") - (synopsis "Notifications from Shiny") - (description "Browser notifications in Shiny apps, using toastr.") - (license license:expat))) - -(define-public r-spscomps - (package - (name "r-spscomps") - (version "0.3.4.0") - (source - (origin - (method url-fetch) - (uri (cran-uri "spsComps" version)) - (sha256 - (base32 "1l69yigdabwwsixk364jvmc1c5nc8d4djc77cf0jlzshhdsjbqx8")))) - (properties `((upstream-name . "spsComps"))) - (build-system r-build-system) - (propagated-inputs (list r-assertthat - r-crayon - r-glue - r-htmltools - r-magrittr - r-r6 - r-shiny - r-shinyace - r-shinytoastr - r-stringr)) - (home-page "https://github.com/lz100/spsComps") - (synopsis "systemPipeShiny UI and Server Components") - (description - "UI and server components from the systemPipeShiny framework for use -in Shiny applications.") - (license license:gpl3+))) - -(define-public r-scatterd3 - (package - (name "r-scatterd3") - (version "1.0.1") - (source - (origin - (method url-fetch) - (uri (cran-uri "scatterD3" version)) - (sha256 - (base32 "187jq1y5va5npsmpkfyi6mhgynq956590q4z8v1ibadsrcldw34m")))) - (properties `((upstream-name . "scatterD3"))) - (build-system r-build-system) - (propagated-inputs (list r-digest r-ellipse r-htmlwidgets)) - (native-inputs (list r-knitr)) - (home-page "https://juba.github.io/scatterD3/") - (synopsis "D3 JavaScript Scatterplot from R") - (description - "Creates D3 JavaScript scatterplots from R with interactive features: -panning, zooming, tooltips, etc.") - (license license:gpl3+))) - -(define-public r-shinywidgets - (package - (name "r-shinywidgets") - (version "0.9.1") - (source - (origin - (method url-fetch) - (uri (cran-uri "shinyWidgets" version)) - (sha256 - (base32 "118yqylidnlc1ixwang4bvhyy3hjmsimkcv1cz73s8wsj45hmyzb")))) - (properties `((upstream-name . "shinyWidgets"))) - (build-system r-build-system) - (arguments (list #:tests? #f)) - (propagated-inputs (list r-bslib - r-htmltools - r-jsonlite - r-rlang - r-sass - r-shiny)) - (home-page "https://github.com/dreamRs/shinyWidgets") - (synopsis "Custom Inputs Widgets for Shiny") - (description - "Collection of custom input controls and user interface components for -Shiny applications.") - (license license:gpl3))) - -(define-public jumpshiny - (let ((commit "3489f3265a2eca45c9b6d251013b313bf55f975d") - (revision "1")) - (package - (name "jumpshiny") - (version (git-version "0.0.0" revision commit)) - (source (local-file "/fast/pjotr/tmp/claude/factory/jumpshiny" - "jumpshiny-checkout" - #:recursive? #t - #:select? (git-predicate - "/fast/pjotr/tmp/claude/factory/jumpshiny"))) - (build-system trivial-build-system) - (arguments - (list #:modules '((guix build utils)) - #:builder - #~(begin - (use-modules (guix build utils)) - (let* ((source (assoc-ref %build-inputs "source")) - (targetdir (string-append #$output "/share/" #$name)) - (app (string-append #$output "/bin/" #$name)) - (Rbin (search-input-file %build-inputs "/bin/Rscript"))) - (copy-recursively source targetdir) - (mkdir-p (string-append #$output "/bin")) - (call-with-output-file app - (lambda (port) - (format port - "#!~a -library(shiny) -setwd(\"~a\") -options(shiny.maxRequestSize = 60*1024^2) -runApp(launch.browser=0, port=3978)~%\n" - Rbin targetdir))) - (chmod app #o555))))) - (propagated-inputs - (list r - ;; Core shiny - r-shiny - r-shinycssloaders - r-shinybs - r-shinyjs - r-shinythemes - r-shinydashboard - r-shinywidgets - r-fresh - ;; Data processing - r-dplyr - r-tidyr - r-tidyverse - r-data-table - r-plyr - r-readxl - r-writexl - r-devtools - r-pacman - ;; Visualization - r-ggplot2 - r-plotly - r-heatmaply - r-gplots - r-scatterd3 - r-rcolorbrewer - r-pheatmap - r-complexheatmap - r-circlize - ;; Stats and bioinformatics - r-limma - r-cluster - r-clusterprofiler - r-enrichplot - r-wgcna - r-annotate - r-org-hs-eg-db - r-org-mm-eg-db - r-org-rn-eg-db - r-igraph - r-visnetwork - ;; Utilities - r-dt - r-markdown - r-bookdown - r-scales - r-curl - r-glue - r-spscomps - r-ggnewscale - r-stringr - r-zoo - r-officer - r-r-utils - r-mass - r-knitr - r-rmarkdown)) - (home-page "https://git.genenetwork.org/jumpshiny/") - (synopsis "JUMPshiny - proteomics data analysis Shiny app") - (description - "JUMPshiny is an R Shiny application for proteomics data analysis, -including data import, batch normalization, differential expression, -enrichment analysis, and network analysis with WGCNA.") - (license license:gpl3+)))) - -(define-public r-efatools - (package - (name "r-efatools") - (version "0.6.1") - (source - (origin - (method url-fetch) - (uri (cran-uri "EFAtools" version)) - (sha256 - (base32 "0x2c1a1fwa79pdam2day57rpcyxf195a4kqsnwzr2xh6x1fjrnad")))) - (properties `((upstream-name . "EFAtools"))) - (build-system r-build-system) - (arguments (list #:tests? #f)) - (propagated-inputs (list r-checkmate - r-cli - r-crayon - r-dplyr - r-future - r-future-apply - r-ggplot2 - r-gparotation - r-lavaan - r-magrittr - r-progress - r-progressr - r-psych - r-rcpp - r-rcpparmadillo - r-rlang - r-stringr - r-tibble - r-tidyr - r-viridislite)) - (native-inputs (list r-knitr)) - (home-page "https://github.com/mdsteiner/EFAtools") - (synopsis "Fast and flexible exploratory factor analysis tools") - (description - "Functions to perform exploratory factor analysis (EFA) procedures and -compare their solutions.") - (license license:gpl3))) - -(define-public jumpsem-web - (let ((commit "a134ab0b10f3d2393ca19870e154ab8bafd45757") - (revision "1")) - (package - (name "jumpsem-web") - (version (git-version "0.0.0" revision commit)) - (source (local-file "/fast/pjotr/tmp/claude/factory/jumpsem_web" - "jumpsem-web-checkout" - #:recursive? #t)) - (build-system trivial-build-system) - (arguments - (list #:modules '((guix build utils)) - #:builder - #~(begin - (use-modules (guix build utils)) - (let* ((source (assoc-ref %build-inputs "source")) - (targetdir (string-append #$output "/share/" #$name)) - (app (string-append #$output "/bin/" #$name)) - (Rbin (search-input-file %build-inputs "/bin/Rscript"))) - (copy-recursively source targetdir) - (mkdir-p (string-append #$output "/bin")) - (call-with-output-file app - (lambda (port) - (format port - "#!~a -library(shiny) -setwd(\"~a\") -options(shiny.maxRequestSize = 500*1024^2) -runApp(launch.browser=0, port=3979)~%\n" - Rbin targetdir))) - (chmod app #o555))))) - (propagated-inputs - (list r - r-shiny - r-shinycssloaders - r-shinybs - r-shinyjs - r-shinywidgets - r-shinydashboard - r-dplyr - r-tidyr - r-tidyverse - r-data-table - r-devtools - r-pacman - r-ggplot2 - r-plotly - r-heatmaply - r-gplots - r-rcolorbrewer - r-scales - r-markdown - r-dt - r-lavaan - r-efatools - r-rcpparmadillo)) - (home-page "https://git.genenetwork.org/jumpsem_web/") - (synopsis "JUMPsem - structural equation modeling web app") - (description - "JUMPsem is an R Shiny application for kinase activity inference -using structural equation modeling on post-translational modification data.") - (license license:gpl3+)))) diff --git a/gn/packages/ruby.scm b/gn/packages/ruby.scm deleted file mode 100644 index e8f1e59..0000000 --- a/gn/packages/ruby.scm +++ /dev/null @@ -1,5832 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015 Pjotr Prins <pjotr.guix@thebird.nl> -;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (gn packages ruby) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (gnu packages) - #:use-module (gnu packages compression) - #:use-module (gnu packages databases) - #:use-module (gnu packages readline) - #:use-module (gnu packages autotools) - #:use-module (gnu packages java) - #:use-module (gnu packages libffi) - #:use-module (gnu packages python) - #:use-module (gnu packages ragel) - #:use-module (gnu packages rails) - #:use-module (gnu packages rdf) - #:use-module (gnu packages ruby) - #:use-module (gnu packages ruby-check) - #:use-module (gnu packages ruby-xyz) - #:use-module (gnu packages ruby-check) - #:use-module (gnu packages tls) - #:use-module (gnu packages version-control) - #: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 meson) - #:use-module (guix build-system python) - #:use-module (gnu packages python-xyz) - #:use-module (gnu packages xml) - #:use-module (gnu packages web) - #:use-module (guix build-system ruby)) - -(define-public apache-maven - (package - (name "apache-maven") - (version "3.3.9") - (source (origin - (method url-fetch) - (uri (string-append - "http://ftp.tudelft.nl/apache/maven/maven-3/3.3.9/source/apache-maven-" version "-src.tar.gz")) - (sha256 (base32 - "1g0iavyb34kvs3jfrx2hfnr8lr11m39sj852cy7528wva1glfl4i")))) - (build-system gnu-build-system) - (home-page "http://ant.apache.org") - (synopsis "Build tool for Java") - (description - "Ant is a platform-independent build tool for Java. It is similar to -make but is implemented using the Java language, requires the Java platform, -and is best suited to building Java projects. Ant uses XML to describe the -build process and its dependencies, whereas Make uses Makefile format.") - (license license:asl2.0))) - -(define-public jruby - (package - (name "jruby") - (version "9.0.5.0") - (source - (origin - (method url-fetch) - (uri (string-append "https://s3.amazonaws.com/jruby.org/downloads/9.0.5.0/jruby-bin-" - version ".tar.gz")) - (sha256 - (base32 - "1wysymqzc7591743f2ycgwpm232y6i050izn72lck44nhnyr5wwy")) - )) - (build-system gnu-build-system) - (native-inputs - `(("ant" ,ant) - ;; ("maven" ,maven) - ("jdk" ,icedtea "jdk"))) - (inputs - `(("readline" ,readline) - ("openssl" ,openssl) - ("zlib" ,zlib))) - (native-search-paths - (list (search-path-specification - (variable "GEM_PATH") - (files (list (string-append "lib/ruby/gems/" - (version-major+minor version) - ".0")))))) - (synopsis "Programming language interpreter") - (description "Ruby is a dynamic object-oriented programming language with -a focus on simplicity and productivity.") - (home-page "https://ruby-lang.org") - (license license:ruby))) - -(define-public bio-table ; guix ready with tests - (package - (name "bio-table") - (version "1.0.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "bio-table" version)) - (sha256 - (base32 - "1jlpls734kd41rffn2y2747nr14k5rwgaj2g3k48i9xgsfcmrn6r")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; There are no tests. - )) - (propagated-inputs - `(("ruby-bio-logger" ,ruby-bio-logger))) - (synopsis - "Functions and tools for tranforming and changing tab delimited -and comma separated table files - useful for Excel sheets and SQL/RDF -output") - (description - "Functions and tools for tranforming and changing tab delimited -and comma separated table files - useful for Excel sheets and SQL/RDF -output") - (home-page - "http://github.com/pjotrp/bioruby-table") - (license license:expat))) - -(define-public ruby-ntlm-http - (package - (name "ruby-ntlm-http") - (version "0.1.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "ntlm-http" version)) - (sha256 - (base32 - "0yx01ffrw87wya1syivqzf8hz02axk7jdpw6aw221xwvib767d36")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) - (synopsis - "Ruby/NTLM HTTP provides NTLM authentication over http.") - (description - "Ruby/NTLM HTTP provides NTLM authentication over http.") - (home-page "http://www.mindflowsolutions.net") - (license (license:non-copyleft - "will fill in later")))) - -(define-public ruby-webrobots - (package - (name "ruby-webrobots") - (version "0.1.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "webrobots" version)) - (sha256 - (base32 - "19ndcbba8s8m62hhxxfwn83nax34rg2k5x066awa23wknhnamg7b")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) - (synopsis - "This library helps write robots.txt compliant web robots in Ruby. -") - (description - "This library helps write robots.txt compliant web robots in Ruby. -") - (home-page "https://github.com/knu/webrobots") - (license (license:non-copyleft - "will fill in later")))) - -(define-public ruby-mechanize ; guix maybe ready - (package - (name "ruby-mechanize") - (version "2.7.5") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "mechanize" version)) - (sha256 - (base32 - "1f861x62kmggy60krv229s5jl7afq9nblwcfih3kp9bm5c5jn16y")))) - (build-system ruby-build-system) - (arguments '(#:tests? #f)) ; one test fails - (inputs - `(("ruby" ,ruby))) - (propagated-inputs - `(("ruby-domain-name" ,ruby-domain-name) - ("ruby-http-cookie" ,ruby-http-cookie) - ("ruby-mime-types" ,ruby-mime-types) - ("ruby-net-http-digest-auth" - ,ruby-net-http-digest-auth) - ("ruby-net-http-persistent" - ,ruby-net-http-persistent) - ("ruby-nokogiri" ,ruby-nokogiri) - ("ruby-ntlm-http" ,ruby-ntlm-http) - ("ruby-webrobots" ,ruby-webrobots))) - (synopsis - "The Mechanize library is used for automating interaction with websites. -Mechanize automatically stores and sends cookies, follows redirects, -and can follow links and submit forms. Form fields can be populated and -submitted. Mechanize also keeps track of the sites that you have visited as -a history.") - (description - "The Mechanize library is used for automating interaction with websites. -Mechanize automatically stores and sends cookies, follows redirects, -and can follow links and submit forms. Form fields can be populated and -submitted. Mechanize also keeps track of the sites that you have visited as -a history.") - (home-page - "http://docs.seattlerb.org/mechanize/") - (license license:expat))) - -(define-public ruby-elasticsearch-transport -(package - (name "ruby-elasticsearch-transport") - (version "6.0.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "elasticsearch-transport" version)) - (sha256 - (base32 - "0gpwbw70qisx681j1bw8xq6shg5kdxmcdzg6425af0b5881jg7iy")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-faraday" ,ruby-faraday) - ("ruby-multi-json" ,ruby-multi-json))) - (arguments - `(#:tests? #f)) ;; no bundler/cucumber - (synopsis - "Ruby client for Elasticsearch. See the `elasticsearch` gem for full integration. -") - (description - "Ruby client for Elasticsearch. See the `elasticsearch` gem for full integration. -") - (home-page - "https://github.com/elasticsearch/elasticsearch-ruby/tree/master/elasticsearch-transport") - (license (license:non-copyleft "will fill in later")))) - -(define-public ruby-elasticsearch-api -(package - (name "ruby-elasticsearch-api") - (version "6.0.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "elasticsearch-api" version)) - (sha256 - (base32 - "1vkahknqn85vvwr1gzh8jf3pvdial0c0d524icg8x06vibqgzd5h")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-multi-json" ,ruby-multi-json))) - (arguments - `(#:tests? #f)) ;; no bundler/cucumber - (synopsis - "Ruby API for Elasticsearch. See the `elasticsearch` gem for full integration. -") - (description - "Ruby API for Elasticsearch. See the `elasticsearch` gem for full integration. -") - (home-page - "https://github.com/elasticsearch/elasticsearch-ruby/tree/master/elasticsearch-api") - (license (license:non-copyleft "will fill in later")))) - -(define-public ruby-elasticsearch - (package - (name "ruby-elasticsearch") - (version "6.0.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "elasticsearch" version)) - (sha256 - (base32 - "0a08ynvxz5clfm2ndqpgjrv4aiga9m2y1ab34s3qkihdfdzdzhj8")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-elasticsearch-api" - ,ruby-elasticsearch-api) - ("ruby-elasticsearch-transport" - ,ruby-elasticsearch-transport))) - (arguments - `(#:tests? #f)) ;; no bundler/cucumber - (synopsis - "Ruby integrations for Elasticsearch (client, API, etc.) -") - (description - "Ruby integrations for Elasticsearch (client, API, etc.) -") - (home-page - "http://github.com/elasticsearch/elasticsearch-ruby") - (license (license:non-copyleft "will fill in later")))) - -;;; - -(define-public discourse - (package - (name "discourse") - (version "2.6.3") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/discourse/discourse") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "06ykn53m7mmdk71szk86nlq87rspqlb3fjpdmqi133z63dbj20ll")))) - (build-system ruby-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'replace-git-ls-files) - (add-before 'build 'delete-gemfile-lock - (lambda _ - (delete-file "Gemfile.lock") - #t)) - (add-after 'unpack 'adjust-version-dependencies - (lambda _ - (substitute* "Gemfile" - ;; Don't require specific versions of these gems - (("6.0.3.3") ,(package-version ruby-rails)) - (("2.0.1") ,(package-version ruby-sassc)) - (("active_model_serializers.*") "active_model_serializers'\n") - ;; Add tzinfo-data and figure out how to use non-Ruby version later - (("active_model_serializers'") - "active_model_serializers'\ngem 'tzinfo-data'") - ;; ruby-cppjieba-rb never finishes the install phase with ruby-2.6 - ((".*cppjieba_rb.*") "") - ) - #t)) - (replace 'build - (lambda _ - ;; https://github.com/discourse/discourse/blob/v2.6.3/docs/DEVELOPER-ADVANCED.md - (setenv "HOME" (getcwd)) - (setenv "RAILS_ENV" "test") - - ;; Launch Redis and Postgresql before continuing - - ;(invoke "bundle" "exec" "rake" "db:create" "db:migrate") - ;(invoke "bundle" "exec" "rake" "autospec") - )) - ;(replace 'check - ; (lambda _ - ; (invoke "rubocop") - ; (invoke "rubocop" "plugins"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vendor-dir (string-append out "/lib/ruby/vendor_ruby")) - ) - (copy-recursively (getcwd) out) - (for-each make-file-writable (find-files out "\\.gz$")) - ;(with-output-to-file (string-append out "/bundler") - ; (lambda _ - - ;(setenv "GEM_VENDOR" vendor-dir) - ;(setenv "BUNDLE_PATH" (getenv "GEM_PATH")) - ;(invoke "bundle" "install" - ; "--path" out - ; "--verbose" - ; "--deployment" - ; "--local" - ; "--standalone" - ; ) - ;(invoke "gem" "install" - ; "--verbose" - ; ;"--vendor" - ; "--local" - ; "--bindir" (string-append out "/bin") - ))) - ) - )) - ;;TODO: What should be moved to native-inputs? - (inputs - `( - ("node" ,(@ (gnu packages node) node)) - ("ruby-actionmailer" ,ruby-actionmailer) - ("ruby-actionview-precompiler" ,ruby-actionview-precompiler) - ("ruby-active-model-serializers" ,ruby-active-model-serializers) - ("ruby-activemodel" ,ruby-activemodel) - ("ruby-activerecord" ,ruby-activerecord) - ("ruby-aws-sdk-s3" ,ruby-aws-sdk-s3) - ("ruby-aws-sdk-sns" ,ruby-aws-sdk-sns) - ("ruby-bootsnap" ,ruby-bootsnap) - ("ruby-cbor" ,ruby-cbor) - ;("ruby-cppjieba-rb" ,ruby-cppjieba-rb) - ("ruby-colored2" ,ruby-colored2) - ("ruby-cose" ,ruby-cose) - ("ruby-css-parser" ,ruby-css-parser) - ("ruby-diffy" ,ruby-diffy) - ("ruby-discourse-ember-rails" ,ruby-discourse-ember-rails) - ("ruby-discourse-ember-source" ,ruby-discourse-ember-source) - ("ruby-discourse-fonts" ,ruby-discourse-fonts) - ("ruby-discourse-image-optim" ,ruby-discourse-image-optim) - ("ruby-email-reply-trimmer" ,ruby-email-reply-trimmer) - ("ruby-excon" ,ruby-excon) - ("ruby-fast-blank" ,ruby-fast-blank) - ("ruby-fast-xs" ,ruby-fast-xs) - ("ruby-fastimage" ,ruby-fastimage) - ("ruby-flamegraph" ,ruby-flamegraph) - ("ruby-gc-tracer" ,ruby-gc-tracer) - ("ruby-highline" ,ruby-highline) - ("ruby-http-accept-language" ,ruby-http-accept-language) - ("ruby-lograge" ,ruby-lograge) - ("ruby-logstash-event" ,ruby-logstash-event) - ("ruby-logstash-logger" ,ruby-logstash-logger) - ("ruby-logster" ,ruby-logster) - ("ruby-lru-redux" ,ruby-lru-redux) - ("ruby-lz4-ruby" ,ruby-lz4-ruby) - ("ruby-maxminddb" ,ruby-maxminddb) - ("ruby-memory-profiler" ,ruby-memory-profiler) - ("ruby-message-bus" ,ruby-message-bus) - ("ruby-mini-mime" ,ruby-mini-mime) - ("ruby-mini-racer" ,ruby-mini-racer-0.2.4) - ("ruby-mini-scheduler" ,ruby-mini-scheduler) - ("ruby-mini-sql" ,ruby-mini-sql) - ("ruby-mini-suffix" ,ruby-mini-suffix) - ("ruby-oj" ,ruby-oj) - ("ruby-omniauth" ,ruby-omniauth) - ("ruby-omniauth-facebook" ,ruby-omniauth-facebook) - ("ruby-omniauth-github" ,ruby-omniauth-github) - ("ruby-omniauth-google-oauth2" ,ruby-omniauth-google-oauth2) - ("ruby-omniauth-twitter" ,ruby-omniauth-twitter) - ("ruby-onebox" ,ruby-onebox) - ("ruby-pg" ,ruby-pg) - ("ruby-pry-byebug" ,ruby-pry-byebug) - ("ruby-pry-rails" ,ruby-pry-rails) - ("ruby-puma" ,ruby-puma) - ("ruby-r2" ,ruby-r2) - ("ruby-rack-mini-profiler" ,ruby-rack-mini-profiler) - ("ruby-rack-protection" ,ruby-rack-protection) - ("ruby-rails-failover" ,ruby-rails-failover) - ("ruby-rails-multisite" ,ruby-rails-multisite) - ("ruby-railties" ,ruby-railties) - ("ruby-rake" ,ruby-rake) - ("ruby-rbtrace" ,ruby-rbtrace) - ("ruby-rchardet" ,ruby-rchardet) - ("ruby-redis" ,ruby-redis) - ("ruby-redis-namespace" ,ruby-redis-namespace) - ("ruby-rinku" ,ruby-rinku) - ("ruby-rotp" ,ruby-rotp) - ("ruby-rqrcode" ,ruby-rqrcode) - ("ruby-rtlit" ,ruby-rtlit) - ("ruby-ruby-readability" ,ruby-ruby-readability) - ("ruby-rubyzip" ,ruby-rubyzip) - ("ruby-sassc" ,ruby-sassc) - ("ruby-sassc-rails" ,ruby-sassc-rails) - ("ruby-seed-fu" ,ruby-seed-fu) - ("ruby-shoulda-matchers" ,ruby-shoulda-matchers) - ("ruby-sidekiq" ,ruby-sidekiq) - ("ruby-sprockets-rails" ,ruby-sprockets-rails) - ("ruby-sshkey" ,ruby-sshkey) - ("ruby-stackprof" ,ruby-stackprof) - ("ruby-uglifier" ,ruby-uglifier) - ("ruby-unf" ,ruby-unf) - ("ruby-unicorn" ,ruby-unicorn) - ("ruby-webpush" ,ruby-webpush) - ("ruby-xorcist" ,ruby-xorcist) - )) - (native-inputs - `( - ("ruby-annotate" ,ruby-annotate) - ("ruby-better-errors" ,ruby-better-errors) - ("ruby-binding-of-caller" ,ruby-binding-of-caller) - ("ruby-bullet" ,ruby-bullet) - ("ruby-certified" ,ruby-certified) - ("ruby-fabrication" ,ruby-fabrication) - ("ruby-fakeweb" ,ruby-fakeweb) - ("ruby-listen" ,ruby-listen) - ("ruby-mocha" ,ruby-mocha) - ("ruby-mock-redis" ,ruby-mock-redis) - ("ruby-parallel-tests" ,ruby-parallel-tests) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rspec-html-matchers" ,ruby-rspec-html-matchers) - ("ruby-rspec-rails" ,ruby-rspec-rails) - ("ruby-rswag-specs" ,ruby-rswag-specs) - ("ruby-rubocop-discourse" ,ruby-rubocop-discourse) - ("ruby-ruby-prof" ,ruby-ruby-prof) - ("ruby-simplecov" ,ruby-simplecov) - ("ruby-test-prof" ,ruby-test-prof) - ("ruby-webmock" ,ruby-webmock) - ("ruby-yaml-lint" ,ruby-yaml-lint) - ;("tzdata" ,(@ (gnu packages base) tzdata)) - )) - (synopsis "Platform for community discussion") - (description "Discourse is the 100% open source discussion platform built -for the next decade of the Internet. Use it as a mailing list, discussion -forum, long-form chat room, and more!") - (home-page "https://www.discourse.org/") - (license license:gpl2))) - -(define-public ruby-seed-fu - (package - (name "ruby-seed-fu") - (version "2.3.9") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "seed-fu" version)) - (sha256 - (base32 - "0y7lzcshsq6i20qn1p8zczir4fivr6nbl1km91ns320vvh92v43d")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no tests - (propagated-inputs - `(("ruby-activerecord" ,ruby-activerecord) - ("ruby-activesupport" ,ruby-activesupport))) - (synopsis "Advanced seed data handling for Rails") - (description - "Seed Fu is an attempt to once and for all solve the problem of inserting -and maintaining seed data in a database. It uses a variety of techniques -gathered from various places around the web and combines them to create what is -hopefully the most robust seed data system around.") - (home-page "https://github.com/mbleigh/seed-fu") - (license license:expat))) - -;; TODO: deal with bundled libraries -(define-public ruby-mini-suffix - (package - (name "ruby-mini-suffix") - (version "0.3.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "mini_suffix" version)) - (sha256 - (base32 - "1r6pwyv1vpyza0rn1pyxls4qdw5jd3vg4k5dp1iaqa57n6fiqrvi")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "spec" - #:phases - (modify-phases %standard-phases - ;(add-after 'unpack 'remove-vendored-libraries - ; (lambda _ - ; (delete-file-recursively "vendor") #t)) - (add-after 'install 'replace-vendored-libraries - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (vendor (string-append out "/lib/ruby/vendor_ruby/gems" - "/mini_suffix-" ,version "/vendor/"))) - (for-each delete-file (find-files vendor)) - (symlink (string-append (assoc-ref inputs "libpsl") - "/lib/libpsl.so") - (string-append vendor "libpsl.x86_64.so")) - #t))) - ) - #:tests? #f)) ; cannot load such file -- spec_helper - (propagated-inputs - `(("ruby-ffi" ,ruby-ffi))) - (inputs - `(("libpsl" ,libpsl))) - (native-inputs - `(("ruby-rake" ,ruby-rake) - ("ruby-rspec" ,ruby-rspec))) - (synopsis "FFI wrapper for libpsl") - (description "This package provides an FFI wrapper for libpsl in Ruby.") - (home-page "https://github.com/discourse/mini_suffix") - (license license:expat))) - -(define-public ruby-redis-namespace - (package - (name "ruby-redis-namespace") - (version "1.8.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/resque/redis-namespace") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0dk8kgx6ii3xfv39x7m62bmahp29gv7pz8c8105mxqyxnx9pl525")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; cannot load such file -- rspec - (propagated-inputs - `(("ruby-redis" ,ruby-redis))) - (native-inputs - `( - ("ruby-rspec" ,ruby-rspec) - ("ruby-rspec-its" ,ruby-rspec-its) - )) - (synopsis "Namespace calls to Redis") - (description - "This package provides a @code{Redis::Namespace} class which can be used to -namespace calls to Redis. This is useful when using a single instance of Redis -with multiple, different applications.") - (home-page "https://github.com/resque/redis-namespace") - (license license:expat))) - -(define-public ruby-jsonapi-renderer - (package - (name "ruby-jsonapi-renderer") - (version "0.2.2") - (source - (origin - ;; No rakefile included in gem - (method git-fetch) - (uri (git-reference - (url "https://github.com/jsonapi-rb/jsonapi-renderer") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "11i4jbliidi7r04fg4g33hgn1yvfi1rjbsrc7m6gjj06zhflzn5s")))) - (build-system ruby-build-system) - (native-inputs - `(("ruby-rspec" ,ruby-rspec) - ("ruby-simplecov" ,ruby-simplecov))) - (synopsis "Render JSON API documents") - (description - "This package provides a ruby gem for rendering JSON API documents.") - (home-page "https://github.com/jsonapi-rb/jsonapi-renderer") - (license license:expat))) - -(define-public ruby-case-transform - (let ((commit "b957f9c933efa3894589af0ee7313660ebb552d8") - (revision "1")) - (package - (name "ruby-case-transform") - (version (git-version "0.2" revision commit)) - (source - (origin - ;; No rakefile included in gem - (method git-fetch) - (uri (git-reference - (url "https://github.com/rails-api/case_transform") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0z6pn2c4ksnphy3rbjy2ml40lhl7dznxi19ny4nlk9m071cb0l93")))) - (build-system ruby-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (delete-file "Gemfile.lock") - #t))))) - (propagated-inputs - `(("ruby-activesupport" ,ruby-activesupport))) - (native-inputs - `(("ruby-awesome-print" ,ruby-awesome-print) - ("ruby-codeclimate-test-reporter" ,ruby-codeclimate-test-reporter) - ("ruby-pry-byebug" ,ruby-pry-byebug) - ("ruby-rubocop" ,ruby-rubocop))) - (synopsis "@code{key_transform} abilities of ActiveModelSerializers") - (description - "This package provides the extraction of the @code{key_transform} abilities -of @code{ActiveModelSerializers}.") - (home-page "https://github.com/rails-api/case_transform") - (license license:expat)))) - -(define-public ruby-active-model-serializers - (package - (name "ruby-active-model-serializers") - (version "0.10.12") - (source - (origin - ;; No rakefile included in gem - (method git-fetch) - (uri (git-reference - (url "https://github.com/rails-api/active_model_serializers") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1d2lywfzj4h117b67cwl76a6zl7q1vmgajzn51w5ifvdpc5rssli")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; TODO: enable - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'adjust-dependency-version-contstriants - (lambda _ - (setenv "RAILS_VERSION" - ,(version-major+minor (package-version ruby-rails))) - (substitute* "active_model_serializers.gemspec" - (("grape.*") "grape'\n") - (("kaminari.*") "kaminari'\n") - (("minitest.*") "minitest'\n") - ((".*json_schema.*") "") ; can't seem to find it during the 'check phase - ) - (substitute* "Gemfile" - (("rubocop.*") "rubocop'\n") - ) - #t))))) - (propagated-inputs - `(("ruby-actionpack" ,ruby-actionpack) - ("ruby-activemodel" ,ruby-activemodel) - ("ruby-case-transform" ,ruby-case-transform) - ("ruby-jsonapi-renderer" ,ruby-jsonapi-renderer))) - (native-inputs - `( - ("ruby-benchmark-ips" ,ruby-benchmark-ips) - ("ruby-codeclimate-test-reporter" ,ruby-codeclimate-test-reporter) - ("ruby-grape" ,ruby-grape) - ("ruby-json-schema" ,ruby-json-schema) - ("ruby-kaminari" ,ruby-kaminari) - ("ruby-m" ,ruby-m) - ("ruby-minitest" ,ruby-minitest) - ("ruby-pry" ,ruby-pry) - ("ruby-rails" ,ruby-rails) - ("ruby-rubocop" ,ruby-rubocop) - ("ruby-simplecov" ,ruby-simplecov) - ("ruby-sqlite3" ,ruby-sqlite3-1.3) - ("ruby-timecop" ,ruby-timecop) - ("ruby-will-paginate" ,ruby-will-paginate) - ("ruby-yard" ,ruby-yard) - )) - (synopsis "Generate JSON in an object-oriented manner") - (description - "@code{ActiveModel::Serializers} allows one to generate your JSON in an -object-oriented and convention-driven manner.") - (home-page "https://github.com/rails-api/active_model_serializers") - (license license:expat))) - -(define-public ruby-onebox - (package - (name "ruby-onebox") - (version "2.2.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "onebox" version)) - (sha256 - (base32 - "1lj5x8jrs9whgynfksvlnlds4crdi6dm9bb3vh654s8vpqxbjcbn")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; Tests require ancient version of ruby-twitter. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'adjust-version-requirements - (lambda _ - (substitute* "onebox.gemspec" - (("twitter.*") "twitter'\n")) - #t))))) - (propagated-inputs - `(("ruby-addressable" ,ruby-addressable) - ("ruby-htmlentities" ,ruby-htmlentities) - ("ruby-multi-json" ,ruby-multi-json) - ("ruby-mustache" ,ruby-mustache) - ("ruby-nokogiri" ,ruby-nokogiri) - ("ruby-sanitize" ,ruby-sanitize))) - (native-inputs - `(("ruby-fakeweb" ,ruby-fakeweb) - ("ruby-mocha" ,ruby-mocha) - ("ruby-pry" ,ruby-pry) - ("ruby-rake" ,ruby-rake) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rubocop-discourse" ,ruby-rubocop-discourse) - ("ruby-twitter" ,ruby-twitter))) - (synopsis "Generate embeddable HTML previews from URLs") - (description "This package provides a gem for generating embeddable HTML -previews from URLs.") - (home-page "https://github.com/discourse/onebox") - (license license:expat))) - -(define-public ruby-discourse-ember-source - (package - (name "ruby-discourse-ember-source") - (version "3.12.2.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "discourse-ember-source" version)) - (sha256 - (base32 - "0mqkwiqb5n64lc5jdjnmpgb9apq08ywkz9yk8mj1sx2lqcsw11pc")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis "Fork of Ember source to permit latest ember versions") - (description "This package provides a fork of Ember source to permit the -latest ember versions.") - (home-page "https://github.com/discourse/discourse-ember-source") - (license license:expat))) - -(define-public ruby-jquery-rails - (package - (name "ruby-jquery-rails") - (version "4.4.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "jquery-rails" version)) - (sha256 - (base32 - "0dkhm8lan1vnyl3ll0ks2q06576pdils8a1dr354vfc1y5dqw15i")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-rails-dom-testing" ,ruby-rails-dom-testing) - ("ruby-railties" ,ruby-railties) - ("ruby-thor" ,ruby-thor))) - (synopsis - "This gem provides jQuery and the jQuery-ujs driver for your Rails 4+ application.") - (description - "This gem provides jQuery and the jQuery-ujs driver for your Rails 4+ application.") - (home-page "https://github.com/rails/jquery-rails") - (license license:expat))) - -(define-public ruby-barber - (package - (name "ruby-barber") - (version "0.12.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "barber" version)) - (sha256 - (base32 - "07rnlbh7kgamcbnl1sqlcdrjj8src4qc687klqq4a3vqq2slnscx")))) - (build-system ruby-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - #t))))) - (propagated-inputs - `(("ruby-ember-source" ,ruby-ember-source) - ("ruby-execjs" ,ruby-execjs))) - (native-inputs - `( - ("ruby-handlebars-source" ,ruby-handlebars-source-4.1) ; < 4.2 - ("ruby-mocha" ,ruby-mocha) - ("ruby-simplecov" ,ruby-simplecov) - )) - (synopsis "Handlebars precompilation") - (description "Handlebars precompilation") - (home-page "https://github.com/tchak/barber") - (license license:expat))) - -(define-public ruby-ember-handlebars-template - (package - (name "ruby-ember-handlebars-template") - (version "0.8.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri - "ember-handlebars-template" - version)) - (sha256 - (base32 - "1wxj3vi4xs3vjxrdbzi4j4w6vv45r5dkz2rg2ldid3p8dp3irlf4")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-barber" ,ruby-barber) - ("ruby-sprockets" ,ruby-sprockets))) - (synopsis - "The sprockets template for Ember Handlebars.") - (description - "The sprockets template for Ember Handlebars.") - (home-page "https://github.com/tricknotes/ember-handlebars-template") - (license license:expat))) - -(define-public ruby-babel-source - (package - (name "ruby-babel-source") - (version "5.8.35") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "babel-source" version)) - (sha256 - (base32 - "1ncq8h82k6hypzfb5dk7z95mmcdwnhsxmc53xz17m1nbklm25vvr")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis "Babel JS source") - (description "Babel JS source") - (home-page "https://github.com/babel/ruby-babel-transpiler") - (license license:expat))) - -(define-public ruby-babel-transpiler - (package - (name "ruby-babel-transpiler") - (version "0.7.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "babel-transpiler" version)) - (sha256 - (base32 - "0w0minwxj56w96xps1msm6n75fs0y7r1vqcr9zlsn74fksnz81jc")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-babel-source" ,ruby-babel-source) - ("ruby-execjs" ,ruby-execjs))) - (synopsis - " Ruby Babel is a bridge to the JS Babel transpiler. -") - (description - " Ruby Babel is a bridge to the JS Babel transpiler. -") - (home-page "https://github.com/babel/ruby-babel-transpiler") - (license license:expat))) - -(define-public ruby-ember-es6-template - (package - (name "ruby-ember-es6-template") - (version "0.7.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "ember-es6_template" version)) - (sha256 - (base32 - "0cb9yfwwxvi615k1vg20zkm6czkpapcncwbznbch58zkp5rdw7i9")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-babel-transpiler" ,ruby-babel-transpiler) - ("ruby-sprockets" ,ruby-sprockets))) - (synopsis - "The tilt template for Ember specified ES6.") - (description - "The tilt template for Ember specified ES6.") - (home-page "https://github.com/tricknotes/ember-es6_template") - (license license:expat))) - -(define-public ruby-ember-cli-assets - (package - (name "ruby-ember-cli-assets") - (version "0.0.37") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "ember-cli-assets" version)) - (sha256 - (base32 - "057dhafsdr4lbagx5k7sdrh2vfmy1llqpv347qy7d5jkhxdmns96")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; cannot load such file -- ember/cli/assets - (synopsis "The assets for Ember CLI.") - (description "The assets for Ember CLI.") - (home-page "https://github.com/tricknotes/ember-cli-assets") - (license license:expat))) - -(define-public ruby-ember-source - (package - (name "ruby-ember-source") - (version "2.18.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "ember-source" version)) - (sha256 - (base32 - "0sixy30ym9j2slhlr0lfq943g958w8arlb0lsizh59iv1w5gmxxy")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis - "Ember.js source code wrapper for use with Ruby libs.") - (description - "Ember.js source code wrapper for use with Ruby libs.") - (home-page "https://github.com/emberjs/ember.js") - (license license:expat))) - -(define-public ruby-ember-data-source - (package - (name "ruby-ember-data-source") - (version "3.0.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "ember-data-source" version)) - (sha256 - (base32 - "1803nh3knvwl12h63jd48qvbbrp42yy291wcb35960daklip0fd8")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-ember-source" ,ruby-ember-source))) - (synopsis - "ember-data source code wrapper for use with Ruby libs.") - (description - "ember-data source code wrapper for use with Ruby libs.") - (home-page "https://github.com/emberjs/data") - (license license:expat))) - -(define-public ruby-active-model-adapter-source - (package - (name "ruby-active-model-adapter-source") - (version "2.1.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri - "active-model-adapter-source" - version)) - (sha256 - (base32 - "0hr8a4nyppnqs053i1badjwhm095scrp0x1w7v742r9s5sxp8pyd")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-ember-data-source" ,ruby-ember-data-source))) - (synopsis - "ember-data active-model-adapter code wrapper for use with Ruby libs.") - (description - "ember-data active-model-adapter code wrapper for use with Ruby libs.") - (home-page "https://github.com/ember-data/active-model-adapter") - (license license:expat))) - -(define-public ruby-ember-rails - (package - (name "ruby-ember-rails") - (version "0.21.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "ember-rails" version)) - (sha256 - (base32 - "0f1vd6l35d4q589sbmyxpjfs777kf0r5x6s6aap1v2r0i1x342a3")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-active-model-adapter-source" ,ruby-active-model-adapter-source) - ("ruby-active-model-serializers" ,ruby-active-model-serializers) - ("ruby-ember-cli-assets" ,ruby-ember-cli-assets) - ("ruby-ember-data-source" ,ruby-ember-data-source) - ("ruby-ember-es6-template" ,ruby-ember-es6-template) - ("ruby-ember-handlebars-template" ,ruby-ember-handlebars-template) - ("ruby-ember-source" ,ruby-ember-source) - ("ruby-jquery-rails" ,ruby-jquery-rails) - ("ruby-railties" ,ruby-railties))) - (synopsis "Ember for Rails 3.1+") - (description "Ember for Rails 3.1+") - (home-page "https://github.com/emberjs/ember-rails") - (license license:expat))) - -(define-public ruby-handlebars-source - (package - (name "ruby-handlebars-source") - (version "4.7.7") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "handlebars-source" version)) - (sha256 - (base32 - "0sjir1fwrqajkcc8blr32vnkamcqma8b0na6fm562hh9rdzcxb0c")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis - "Handlebars.js source code wrapper for (pre)compilation gems.") - (description - "Handlebars.js source code wrapper for (pre)compilation gems.") - (home-page "https://github.com/wycats/handlebars.js/") - (license license:expat))) - -(define-public ruby-handlebars-source-4.1 - (package - (inherit ruby-handlebars-source) - (name "ruby-handlebars-source") - (version "4.1.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "handlebars-source" version)) - (sha256 - (base32 - "0w8xq7nnrwhz5bfcamkvkkcb10rw7kjb809n7w949mc5h0b4l8r5")))))) - -(define-public ruby-discourse-ember-rails - (package - (name "ruby-discourse-ember-rails") - (version "0.18.6") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "discourse-ember-rails" version)) - (sha256 - (base32 - "0ax5x2d6q6hkm7r58ai9p0sahlg842aqlm7dpv6svrfpnjlaz7sf")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-active-model-serializers" ,ruby-active-model-serializers) - ("ruby-ember-data-source" ,ruby-ember-data-source) - ("ruby-ember-handlebars-template" ,ruby-ember-handlebars-template) - ("ruby-ember-source" ,ruby-ember-source) - ("ruby-jquery-rails" ,ruby-jquery-rails) - ("ruby-railties" ,ruby-railties))) - (synopsis "Ember for Rails 3.1+") - (description "Ember for Rails 3.1+") - (home-page "https://github.com/emberjs/ember-rails") - (license license:expat))) - -(define-public ruby-discourse-fonts - (package - (name "ruby-discourse-fonts") - (version "0.0.6") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "discourse-fonts" version)) - (sha256 - (base32 - "101fhmgzrkwa8rvqrac3ccqp54aizm553n167ikzg7mcgbyrxw4a")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis - "Bundle of fonts which can be used to customize the look of Discourse") - (description - "Bundle of fonts which can be used to customize the look of Discourse") - (home-page "https://github.com/discourse/discourse-fonts") - (license license:expat))) - -(define-public ruby-message-bus - (package - (name "ruby-message-bus") - (version "3.3.4") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "message_bus" version)) - (sha256 - (base32 - "0hckijk9aa628nx66vr7axfsk7zfdkskaxj1mdzikk019q3h54fr")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; Tests require running redis instance. - #:test-target "default" - #:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - #t))))) - (propagated-inputs - `(("ruby-rack" ,ruby-rack))) - (native-inputs - `( - ("ruby-byebug" ,ruby-byebug) - ("ruby-concurrent" ,ruby-concurrent) - ("ruby-http-parser.rb" ,ruby-http-parser.rb) - ("ruby-jasmine" ,ruby-jasmine) - ("ruby-minitest-global-expectations" ,ruby-minitest-global-expectations) - ("ruby-minitest-hooks" ,ruby-minitest-hooks) - ("ruby-pg" ,ruby-pg) - ("ruby-puma" ,ruby-puma) - ("ruby-rack-test" ,ruby-rack-test) - ("ruby-redis" ,ruby-redis) - ("ruby-rubocop-discourse" ,ruby-rubocop-discourse) - ("ruby-thin" ,ruby-thin) - ("ruby-yard" ,ruby-yard) - )) - (synopsis "Message bus for rack") - (description "This package provides a message bus for rack.") - (home-page "https://github.com/SamSaffron/message_bus") - (license license:expat))) - -(define-public ruby-phantomjs - (package - (name "ruby-phantomjs") - (version "2.1.1.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "phantomjs" version)) - (sha256 - (base32 - "0y8pbbyq9dirxb7igkb2s5limz2895qmr41c09fjhx6k6fxcz4mk")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; don't know how to build task 'test' - (synopsis - "Auto-install phantomjs on demand for current platform. Comes with poltergeist integration.") - (description - "Auto-install phantomjs on demand for current platform. Comes with poltergeist integration.") - (home-page "https://github.com/colszowka/phantomjs-gem") - (license license:expat))) - -(define-public ruby-jasmine-core - (package - (name "ruby-jasmine-core") - (version "3.6.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "jasmine-core" version)) - (sha256 - (base32 - "0072bf0l1y6gnqw3mm4mlq7ivs19lyzr074sjibpfvryi7b449r6")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis - "Test your JavaScript without any framework dependencies, in any environment, and with a nice descriptive syntax.") - (description - "Test your JavaScript without any framework dependencies, in any environment, and with a nice descriptive syntax.") - (home-page "http://jasmine.github.io") - (license license:expat))) - -(define-public ruby-jasmine - (package - (name "ruby-jasmine") - (version "3.6.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "jasmine" version)) - (sha256 - (base32 - "1zbsr1d6507pvcfr3ji5hv0ksaaygi8jfp4dz1y1k1jdkkapy24b")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; cannot load such file -- rpsec - (propagated-inputs - `(("ruby-jasmine-core" ,ruby-jasmine-core) - ("ruby-phantomjs" ,ruby-phantomjs) - ("ruby-rack" ,ruby-rack) - ("ruby-rake" ,ruby-rake))) - (synopsis - "Test your JavaScript without any framework dependencies, in any environment, and with a nice descriptive syntax.") - (description - "Test your JavaScript without any framework dependencies, in any environment, and with a nice descriptive syntax.") - (home-page "http://jasmine.github.io/") - (license license:expat))) - -(define-public ruby-rubocop-discourse - (package - (name "ruby-rubocop-discourse") - (version "2.4.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rubocop-discourse" version)) - (sha256 - (base32 - "1z1h8spsjnsqz6c25n9ib1yimkwr7a76bas8w1k9c404hcqhlahv")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; don't know how to build task 'test' - (propagated-inputs - `(("ruby-rubocop" ,ruby-rubocop) - ("ruby-rubocop-rspec" ,ruby-rubocop-rspec))) - (synopsis - "Custom rubocop cops used by Discourse") - (description - "Custom rubocop cops used by Discourse") - (home-page "https://github.com/discourse/rubocop-discourse") - (license license:expat))) - -;; 2.1.0+ have ActiveRecord::ConnectionAdapters::ConnectionSpecification which causes failures -(define-public ruby-rails-multisite - (package - (name "ruby-rails-multisite") - (version "2.0.7") - (source - (origin - (method git-fetch) - (uri (git-reference - ;; No tests included in release gem. - (url "https://github.com/discourse/rails_multisite") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1k6bvymilcg0mvaszc5g14f87p6bvbm911dv6g4sa3asfgw62cdp")))) - (build-system ruby-build-system) - (arguments - '(#:tests? #f)) ; tests not working with 2.0.7. - (propagated-inputs - `(("ruby-activerecord" ,ruby-activerecord) - ("ruby-railties" ,ruby-railties))) - (native-inputs - `(("ruby-byebug" ,ruby-byebug) - ("ruby-rspec" ,ruby-rspec) - ("ruby-sqlite3" ,ruby-sqlite3-1.3))) - (synopsis "Multi tenancy support for Rails") - (description "This gem provides multi-db support for Rails applications. -Using its middleware you can partition your app so each hostname has its own db. -It provides a series of helper for working with multiple database, and some -additional rails tasks for working with them.") - (home-page "https://github.com/discourse/rails_multisite") - (license license:expat))) - -(define-public ruby-fast-xs - (package - (name "ruby-fast-xs") - (version "0.8.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "fast_xs" version)) - (sha256 - (base32 - "1iydzaqmvqq7ncxkr182aybkk6xap0cb2w9amr73vbdxi2qf3wjz")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; undefined method `url=' - (propagated-inputs - `(("ruby-hoe" ,ruby-hoe))) - (synopsis "Ruby extensions for escaping text") - (description - "@code{fast_xs} escapes text so it can be embedded more directly into XML -and HTML without having to deal with character set issues.") - (home-page "http://fast-xs.rubyforge.org/") - (license license:expat))) - -(define-public ruby-xorcist - (package - (name "ruby-xorcist") - (version "1.1.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "xorcist" version)) - (sha256 - (base32 - "1q7hr3qyn1hczv9fglqc2cbaax0fb37gjjr0y24x19mmp817csdn")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis - "Blazing-fast-cross-platform-monkey-patch-free string XOR. Yes, that means JRuby too.") - (description - "Blazing-fast-cross-platform-monkey-patch-free string XOR. Yes, that means JRuby too.") - (home-page "https://github.com/fny/xorcist") - (license license:expat))) - -(define-public ruby-fastimage - (package - (name "ruby-fastimage") - (version "2.2.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "fastimage" version)) - (sha256 - (base32 - "1zgv6588jiaisgng3bkcf5a3rlia82yrs39g7n27jhmpmhgk8j1w")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis - "FastImage finds the size or type of an image given its uri by fetching as little as needed.") - (description - "FastImage finds the size or type of an image given its uri by fetching as little as needed.") - (home-page "https://github.com/sdsykes/fastimage") - (license license:expat))) - -(define-public ruby-progress - (package - (name "ruby-progress") - (version "3.5.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "progress" version)) - (sha256 - (base32 - "1pm3bv5n8c8j0vfm7wghd7xf6yq4m068cksxjldmna11qi0h0s8s")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis "Show progress of long running tasks") - (description - "Show progress of long running tasks") - (home-page "https://github.com/toy/progress") - (license license:expat))) - -(define-public ruby-in-threads - (package - (name "ruby-in-threads") - (version "1.5.4") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "in_threads" version)) - (sha256 - (base32 - "0m71806p1gm4kxiz4gvkyr8qip16hifn2kdf926jz44jj6kc6bbs")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis - "Run all possible enumerable methods in concurrent/parallel threads") - (description - "Run all possible enumerable methods in concurrent/parallel threads") - (home-page "https://github.com/toy/in_threads") - (license license:expat))) - -(define-public ruby-image-size - (package - (name "ruby-image-size") - (version "2.1.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "image_size" version)) - (sha256 - (base32 - "00irlgdpg67ay3wf5ljmphpdk6wc6khs6nhc5ysl5l10mmfi62p6")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis - "Measure following file dimensions: apng, bmp, cur, gif, ico, j2c, jp2, jpeg, jpx, mng, pam, pbm, pcx, pgm, png, ppm, psd, svg, swf, tiff, webp, xbm, xpm") - (description - "Measure following file dimensions: apng, bmp, cur, gif, ico, j2c, jp2, jpeg, jpx, mng, pam, pbm, pcx, pgm, png, ppm, psd, svg, swf, tiff, webp, xbm, xpm") - (home-page "https://github.com/toy/image_size") - (license license:ruby))) - -(define-public ruby-image-size-1.5 - (package - (inherit ruby-image-size) - (name "ruby-image-size") - (version "1.5.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "image_size" version)) - (sha256 - (base32 - "0zrn2mqaf1kk548wn1y35i1a6kwh3320q62m929kn9m8sqpy4fk7")))))) - -(define-public ruby-fspath - (package - (name "ruby-fspath") - (version "3.1.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "fspath" version)) - (sha256 - (base32 - "0xcxikkrjv8ws328nn5ax5pyfjs8pn7djg1hks7qyb3yp6prpb5m")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis "Better than Pathname") - (description "Better than Pathname") - (home-page "https://github.com/toy/fspath") - (license license:expat))) - -(define-public ruby-exifr - (package - (name "ruby-exifr") - (version "1.3.9") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "exifr" version)) - (sha256 - (base32 - "0mylhwmh6n4xihxr9s3zj0lc286f5maxbqd4dgk3paqnd7afz88s")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; test files missing? - (synopsis - "EXIF Reader is a module to read EXIF from JPEG and TIFF images.") - (description - "EXIF Reader is a module to read EXIF from JPEG and TIFF images.") - (home-page "https://remvee.github.io/exifr/") - (license license:expat))) - -(define-public ruby-image-optim - (package - (name "ruby-image-optim") - (version "0.28.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "image_optim" version)) - (sha256 - (base32 - "04n7xia22pr4ihzyf7bprnn630284cnfy2p3pk9q4b2cxaf5gj3s")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-exifr" ,ruby-exifr) - ("ruby-fspath" ,ruby-fspath) - ("ruby-image-size" ,ruby-image-size) - ("ruby-in-threads" ,ruby-in-threads) - ("ruby-progress" ,ruby-progress))) - (synopsis - "Command line tool and ruby interface to optimize (lossless compress, optionally lossy) jpeg, png, gif and svg images using external utilities (advpng, gifsicle, jhead, jpeg-recompress, jpegoptim, jpegrescan, jpegtran, optipng, pngcrush, pngout, pngquant, svgo)") - (description - "Command line tool and ruby interface to optimize (lossless compress, optionally lossy) jpeg, png, gif and svg images using external utilities (advpng, gifsicle, jhead, jpeg-recompress, jpegoptim, jpegrescan, jpegtran, optipng, pngcrush, pngout, pngquant, svgo)") - (home-page "https://github.com/toy/image_optim") - (license license:expat))) - -(define-public ruby-discourse-image-optim - (package - (name "ruby-discourse-image-optim") - (version "0.26.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "discourse_image_optim" version)) - (sha256 - (base32 - "11nqmga5ygxyhjmsc07gsa0fwwyhdpwi20yyr4fnh263xs1xylvv")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-exifr" ,ruby-exifr) - ("ruby-fspath" ,ruby-fspath) - ("ruby-image-size" ,ruby-image-size-1.5) - ("ruby-in-threads" ,ruby-in-threads) - ("ruby-progress" ,ruby-progress))) - (synopsis - "Optimize (lossless compress, optionally lossy) images (jpeg, png, gif, svg) using external utilities (advpng, gifsicle, jhead, jpeg-recompress, jpegoptim, jpegrescan, jpegtran, optipng, pngcrush, pngout, pngquant, svgo)") - (description - "Optimize (lossless compress, optionally lossy) images (jpeg, png, gif, svg) using external utilities (advpng, gifsicle, jhead, jpeg-recompress, jpegoptim, jpegrescan, jpegtran, optipng, pngcrush, pngout, pngquant, svgo)") - (home-page "https://github.com/toy/discourse_image_optim") - (license license:expat))) - -(define-public ruby-omniauth-facebook - (package - (name "ruby-omniauth-facebook") - (version "8.0.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "omniauth-facebook" version)) - (sha256 - (base32 - "1z0f5sr2ddnvfva0jrfd4926nlv4528rfj7z595288n39304r092")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-omniauth-oauth2" ,ruby-omniauth-oauth2))) - (native-inputs - `(("ruby-mocha" ,ruby-mocha))) - (synopsis "Facebook OAuth2 Strategy for OmniAuth") - (description - "Facebook OAuth2 Strategy for OmniAuth") - (home-page "https://github.com/simi/omniauth-facebook") - (license license:expat))) - -(define-public ruby-oauth - (package - (name "ruby-oauth") - (version "0.5.5") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "oauth" version)) - (sha256 - (base32 - "1m08365nyp0fgw2iyzj8q8qy8zml0c1hw2dd8cp82pp6656ahbh3")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis "OAuth Core Ruby implementation") - (description "OAuth Core Ruby implementation") - (home-page #f) - (license license:expat))) - -(define-public ruby-omniauth-oauth - (package - (name "ruby-omniauth-oauth") - (version "1.2.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "omniauth-oauth" version)) - (sha256 - (base32 - "0yw2vzx633p9wpdkd4jxsih6mw604mj7f6myyfikmj4d95c8d9z7")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; cannot load such file -- rspec/core/rake_task - (propagated-inputs - `(("ruby-oauth" ,ruby-oauth) - ("ruby-omniauth" ,ruby-omniauth))) - (synopsis - "A generic OAuth (1.0/1.0a) strategy for OmniAuth.") - (description - "This package provides a generic OAuth (1.0/1.0a) strategy for OmniAuth.") - (home-page "https://github.com/intridea/omniauth-oauth") - (license license:expat))) - -(define-public ruby-omniauth-twitter - (package - (name "ruby-omniauth-twitter") - (version "1.4.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "omniauth-twitter" version)) - (sha256 - (base32 - "0r5j65hkpgzhvvbs90id3nfsjgsad6ymzggbm7zlaxvnrmvnrk65")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; cannot load such file -- rspec/core/rake_task - (propagated-inputs - `(("ruby-omniauth-oauth" ,ruby-omniauth-oauth) - ("ruby-rack" ,ruby-rack))) - (synopsis "OmniAuth strategy for Twitter") - (description "OmniAuth strategy for Twitter") - (home-page "https://github.com/arunagw/omniauth-twitter") - (license license:expat))) - -(define-public ruby-omniauth-github - (package - (name "ruby-omniauth-github") - (version "2.0.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "omniauth-github" version)) - (sha256 - (base32 - "0jc66zp4bhwy7c6s817ws0nkimski3crrhwd7xyy55ss29v6b8hw")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; cannot load such file -- rspec/core/rake_task - (propagated-inputs - `(("ruby-omniauth" ,ruby-omniauth) - ("ruby-omniauth-oauth2" ,ruby-omniauth-oauth2))) - (synopsis "Official OmniAuth strategy for GitHub") - (description - "Official OmniAuth strategy for GitHub.") - (home-page "https://github.com/intridea/omniauth-github") - (license license:expat))) - -(define-public ruby-omniauth-google-oauth2 - (package - (name "ruby-omniauth-google-oauth2") - (version "0.8.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "omniauth-google-oauth2" version)) - (sha256 - (base32 - "10awaj2s3c46knpv9vawhjzbbaygp685dm9n8blq2d3j4w5m3d53")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; cannot load such file -- rspec/core/rake_task - (propagated-inputs - `(("ruby-jwt" ,ruby-jwt) - ("ruby-oauth2" ,ruby-oauth2) - ("ruby-omniauth" ,ruby-omniauth) - ("ruby-omniauth-oauth2" ,ruby-omniauth-oauth2))) - (synopsis - "A Google OAuth2 strategy for OmniAuth 1.x. This allows you to login to Google with your ruby app.") - (description - "This package provides a Google OAuth2 strategy for OmniAuth 1.x. This allows you to login to Google with your ruby app.") - (home-page "https://github.com/zquestz/omniauth-google-oauth2") - (license license:expat))) - -(define-public ruby-mini-sql - (package - (name "ruby-mini-sql") - (version "1.0.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "mini_sql" version)) - (sha256 - (base32 - "1a2s8n4nq3w86hx3ya7xs2fkzz8rp0kmz0zqzhf9r5rybprr702m")))) - (build-system ruby-build-system) - (synopsis - "A fast, safe, simple direct SQL executor for PG") - (description - "This package provides a fast, safe, simple direct SQL executor for PG") - (home-page "https://github.com/discourse/mini_sql") - (license license:expat))) - -(define-public ruby-rinku - (package - (name "ruby-rinku") - (version "2.0.6") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rinku" version)) - (sha256 - (base32 - "0zcdha17s1wzxyc5814j6319wqg33jbn58pg6wmxpws36476fq4b")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; cannot load such file -- rake/extensiontask - (synopsis - " A fast and very smart autolinking library that - acts as a drop-in replacement for Rails `auto_link` -") - (description - " A fast and very smart autolinking library that - acts as a drop-in replacement for Rails `auto_link` -") - (home-page "https://github.com/vmg/rinku") - (license (license:non-copyleft - "will fill in later")))) - -(define-public ruby-sidekiq - (package - (name "ruby-sidekiq") - (version "6.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "sidekiq" version)) - (sha256 - (base32 - "0ir95jdcv7ch57xiirmy6mjh8z2lm39nnwcpkwcjqx5698w0lsvs")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; cannot load such file -- standard/rake - (propagated-inputs - `(("ruby-connection-pool" ,ruby-connection-pool) - ("ruby-rack" ,ruby-rack) - ("ruby-redis" ,ruby-redis))) - (synopsis - "Simple, efficient background processing for Ruby.") - (description - "Simple, efficient background processing for Ruby.") - (home-page "https://sidekiq.org") - (license (license:non-copyleft - "will fill in later")))) - -(define-public ruby-mini-scheduler - (package - (name "ruby-mini-scheduler") - (version "0.13.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "mini_scheduler" version)) - (sha256 - (base32 - "1cy9c2wv19m4h2sv9fs66hh1an7hq3y9513678dzx43vm3kjvhz5")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; cannot load such file -- rspec/core/rake_task - (propagated-inputs - `(("ruby-sidekiq" ,ruby-sidekiq))) - (synopsis "Adds recurring jobs for Sidekiq") - (description "Adds recurring jobs for Sidekiq") - (home-page "https://github.com/discourse/mini_scheduler") - (license license:expat))) - -;; TODO: This package needs fixing! -(define-public ruby-libv8 - (package - (name "ruby-libv8") - (version "8.4.255.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "libv8" version)) - (sha256 - (base32 - "0317sr3nrl51sp844bps71smkrwim3fjn47wdfpbycixnbxspivm")))) - (build-system ruby-build-system) - (arguments - `( - ;#:test-target "spec binary" - #:phases - (modify-phases %standard-phases - (delete 'check) - (add-after 'install 'check - (assoc-ref %standard-phases 'check)) - (add-after 'unpack 'adjust-version-requirements - (lambda _ - (substitute* "libv8.gemspec" - (("rake-compiler.*") "rake-compiler'\n")) - #t)) - (add-before 'build 'pre-build - (lambda _ - (setenv "HOME" (getcwd)) - ;(invoke "bundle" "install") ; no network access - (invoke "bundle" "exec" "rake" "compile") - )) - ) - )) - (native-inputs - `( - ("glib" ,(@ (gnu packages glib) glib)) - ("pkg-config" ,(@ (gnu packages pkg-config) pkg-config)) - ("python" ,python-2) - ("ruby-rake" ,ruby-rake) - ("ruby-rake-compiler" ,ruby-rake-compiler) - ("ruby-rspec" ,ruby-rspec) - )) - (synopsis - "Distributes the V8 JavaScript engine in binary and source forms in order to support fast builds of The Ruby Racer") - (description - "Distributes the V8 JavaScript engine in binary and source forms in order to support fast builds of The Ruby Racer") - (home-page "https://github.com/rubyjs/libv8") - (license license:expat))) - -(define-public ruby-libv8-7.3 - (package - (name "ruby-libv8") - (version "7.3.492.27.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "libv8" version)) - (sha256 - (base32 - "1jivcckillfvd4n2jnsnnlf93z3gpvqbwsczs0fvv9hc90zpj7yh")))) - ;(method git-fetch) - ;(uri (git-reference - ; (url "https://github.com/rubyjs/libv8") - ; (commit (string-append "v" version)) - ; (recursive? #t))) - ;(file-name (git-file-name name version)) - ;(sha256 - ; (base32 - ; "0sq026lxspglvnad2w3qiplcg8dc6ffj5130zm379yz7dncwgwdf")))) - (build-system ruby-build-system) - (arguments - `( - #:tests? #f ; no test target - #:gem-flags (list "--" "--with-system-v8" - (string-append "--with-v8-dir=" (assoc-ref %build-inputs "libnode"))) - #:phases - (modify-phases %standard-phases - ;(delete 'check) - ;(add-after 'install 'check - ; (assoc-ref %standard-phases 'check)) - ;(add-after 'unpack 'patch-source - ; (lambda* (#:key inputs #:allow-other-keys) - ; (copy-file (assoc-ref inputs "cipd-client") - ; "vendor/depot_tools/.cipd_client") - ; (invoke "ls" "vendor/depot_tools/" "-la") - ; #t)) - (replace 'replace-git-ls-files - (lambda _ - (substitute* "libv8.gemspec" - ;(("git submodule.*`") "ls -d vendor/*`") - ;(("^\\s+submodules.*") "") - ;(("^\\s+end.*") "") - ;(("^\\s+s.files \\+=.*") "") - ;(("^\\s+`git.*") "") - - ;(("',.*") "'\n") - - (("`git ls-files`") "`find . -type f`") - ) - #t)) - ;; Unconditionally clones v8 for compilation. - ;(delete 'build) - ;(add-before 'build 'pre-build - ; (lambda _ - ; ;(setenv "HOME" (getcwd)) - ; (invoke "rake" "compile") - ; )) - ) - )) - (native-inputs - `( - ("glib" ,(@ (gnu packages glib) glib)) - ;("llvm" ,(@ (gnu packages llvm) llvm)) - ("pkg-config" ,(@ (gnu packages pkg-config) pkg-config)) - ("python" ,python-2) - ;("ruby-rake" ,ruby-rake) - ("ruby-rake-compiler" ,ruby-rake-compiler) - ("ruby-rspec" ,ruby-rspec) - ("which" ,(@ (gnu packages base) which)) - ;("cipd-client" - ; ,(origin - ; (method url-fetch) - ; (uri "https://chrome-infra-packages.appspot.com/client?platform=linux-amd64&version=git_revision:bd09df254cc0d6ca4319f23c16b9039091be5b00") - ; (file-name "ruby-libv8-cipd-client") - ; (sha256 - ; (base32 "1wznd036rj7a6wpqdbbp0imlxqcv20iic1xhwg0rz7fp9x9zciz6")))) - )) - (inputs - `( - ("libnode" ,(@ (gnu packages node) libnode)) - )) - (synopsis - "Distributes the V8 JavaScript engine in binary and source forms in order to support fast builds of The Ruby Racer") - (description - "Distributes the V8 JavaScript engine in binary and source forms in order to support fast builds of The Ruby Racer") - (home-page "https://github.com/rubyjs/libv8") - (license license:expat))) - -;; The last version of libv8 that can use system v8? -(define-public ruby-libv8-6.3 - (package - (name "ruby-libv8") - (version "6.3.292.48.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "libv8" version)) - (sha256 - (base32 - "0fispdxscqnghahxhcb360lly25r7zsg695ygb8d79g4n03wx2js")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; no test target / can't find rake-compiler - #:gem-flags (list "--" - "--with-system-v8" - (string-append "--with-v8-dir=" - (assoc-ref %build-inputs "libnode")) - ;(string-append "--with-v8-include=" - ; (assoc-ref %build-inputs "libnode") - ; "/include/node") - ) - #:phases - (modify-phases %standard-phases - (replace 'replace-git-ls-files - (lambda _ - (substitute* "libv8.gemspec" - (("`git ls-files`") "`find . -type f`")) - #t)) - (add-after 'unpack 'patch-source - ;; v8.h includes <memory>, which breaks the autotools-like detection scripts - (lambda _ - (substitute* "ext/libv8/location.rb" - ;((".*find_header, 'v8.h.*") "")) - ((".*find_header.*") "")) - #t)) - (add-after 'install 'remove-depot-tools - (lambda* (#:key outputs #:allow-other-keys) - (delete-file-recursively - (string-append (assoc-ref outputs "out") - "/lib/ruby/vendor_ruby/gems/libv8-" - ,version "/vendor")) - #t))))) - (native-inputs - `(("ruby-rake" ,ruby-rake) - ("ruby-rake-compiler" ,ruby-rake-compiler) - ("ruby-rspec" ,ruby-rspec))) - (inputs - `(("libnode" ,(@ (gnu packages node) libnode)))) - (synopsis "V8 JavaScript engine for The Ruby Racer") - (description - "This package provides a Ruby wrapper around the Javascript V8 engine.") - (home-page "https://github.com/rubyjs/libv8") - (license license:expat))) - -(define-public libv8-7.3 - (package - (name "libv8") - (version "7.3.492.27") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://chromium.googlesource.com/v8/v8") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0y9awgbryap4z9kb9zhih4ri3kqkw7imxnjn3fzcm9mwzbj4wn0j")))) - (build-system python-build-system) - (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (replace 'build - (lambda _ - (substitute* ".gn" - ;; Files refered to seems to not exist in repository. - ((".*dotfile_settings.*") "") - ;((".*BUILDCONFIG.*") "") - ) - ;(invoke "tools/dev/gm.py" "x64.release") - (invoke "gn" "gen" "out/x64" "--args is_debug=false target_cpu=\"x64\" v8_target_cpu=\"arm64\" use_goma=false") - )) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "tools/dev/gm.py" "x64.release.check")) - #t)) - ) - )) - (native-inputs - `( - ("gn" ,generate-ninja) - ;("python-gyp" ,python2-gyp) - )) - (synopsis "") - (description "") - (home-page "") - (license (license:non-copyleft - "will fill in later")))) - -(define-public generate-ninja ; or 'gn' - (let ((commit "dfcbc6fed0a8352696f92d67ccad54048ad182b3") - (revision "1")) - (package - (name "generate-ninja") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gn.googlesource.com/gn") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1941bzg37c4dpsk3sh6ga3696gpq6vjzpcw9rsnf6kdr9mcgdxvn")))) - (build-system meson-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'configure - (lambda _ - (setenv "CC" ,(cc-for-target)) - (setenv "CXX" ,(cxx-for-target)) - (substitute* "build/gen.py" - ((" \\['git.*\\]") - (string-append " ['" (which "echo") - "', 'initial-commit-1111-g" - ,(string-take commit 10) "']"))) - (invoke "python" "build/gen.py") - ;; This is an expected part of 'configure in the meson-build-system. - (chdir "out") - #t)) - (delete 'patch-generated-file-shebangs) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "./gn_unittests")) - #t)) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (install-file "gn" (string-append out "/bin")) - (install-file "../LICENSE" - (string-append out "/share/doc/" - ,name "-" ,version)) - #t)))))) - (native-inputs - `(("python" ,python-wrapper))) - (home-page "https://gn.googlesource.com/gn") - (synopsis "Meta-build system for ninja") - (description "Generate-Ninja, or GN, is a meta-build system that generates -Ninja build files so that you can build your project with Ninja. GN was, -originally, part of the Chromium source tree, and has since been extracted into -its own standalone repo.") - (license license:bsd-3)))) - -(define-public ruby-mini-racer - (package - (name "ruby-mini-racer") - (version "0.3.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "mini_racer" version)) - (sha256 - (base32 - "0r7j241mvhyyc017bqgp0pvf3jyrwbcqvz2pzm0r8zn2r85ks1jl")))) - (build-system ruby-build-system) - (propagated-inputs `(("ruby-libv8" ,ruby-libv8))) - (synopsis "Minimal embedded v8 engine for Ruby") - (description - "Minimal embedded v8 engine for Ruby") - (home-page "https://github.com/discourse/mini_racer") - (license license:expat))) - -(define-public ruby-mini-racer-0.2 - (package - (inherit ruby-mini-racer) - (version "0.2.15") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "mini_racer" version)) - (sha256 - (base32 - "1gm4lin39pj0xi9ip22ynafxhq9xn79fq4fspqhph6bqv02cyv6a")))) - (arguments - `(#:gem-flags (list "--" "--with-system-v8" - ;(string-append "--with-v8-dir=" - ; (assoc-ref %build-inputs "libnode")) - (string-append "--with-v8-include=" - (assoc-ref %build-inputs "libnode") - "/include/node") - ) - )) - (propagated-inputs - `( - ("ruby-libv8" ,ruby-libv8-7.3) - )) - (inputs - `(("libnode" ,(@ (gnu packages node) libnode)))) - (native-inputs - `( - ("ruby-rake-compiler" ,ruby-rake-compiler) - )) - )) - -;; The last version which uses ruby-libv8@6.3 -(define-public ruby-mini-racer-0.2.4 - (package - (inherit ruby-mini-racer) - (version "0.2.4") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "mini_racer" version)) - (sha256 - (base32 - "1c3a61l805slbvqscmc2wbv6bvw37gs2dchyhbfql178mnb7vnwg")))) - (arguments - `(#:gem-flags - (list "--" - ;; Include the correct lib directory and then fake - ;; linking to '-llibnode' / '-lv8'. - (string-append "--with-v8-lib=" - (assoc-ref %build-inputs "libnode") - "/lib") - "--with-v8lib=ruby" - (string-append "--with-v8-include=" - (assoc-ref %build-inputs "libnode") - "/include/node")))) - (propagated-inputs - `(("ruby-libv8" ,ruby-libv8-6.3))) - (inputs - `(("libnode" ,(@ (gnu packages node) libnode)))) - (native-inputs - `(("ruby-rake-compiler" ,ruby-rake-compiler))))) - -(define-public ruby-uglifier - (package - (name "ruby-uglifier") - (version "4.2.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "uglifier" version)) - (sha256 - (base32 - "0wgh7bzy68vhv9v68061519dd8samcy8sazzz0w3k8kqpy3g4s5f")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; Tests not included in gem - (propagated-inputs - `(("ruby-execjs" ,ruby-execjs))) - (native-inputs - `(("ruby-rspec" ,ruby-rspec))) - (synopsis - "Uglifier minifies JavaScript files by wrapping UglifyJS to be accessible in Ruby") - (description - "Uglifier minifies JavaScript files by wrapping UglifyJS to be accessible in Ruby") - (home-page "https://github.com/lautis/uglifier") - (license license:expat))) - -(define-public ruby-fast-blank - (package - (name "ruby-fast-blank") - (version "1.0.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "fast_blank" version)) - (sha256 - (base32 - "16s1ilyvwzmkcgmklbrn0c2pch5n02vf921njx0bld4crgdr6z56")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis - "Provides a C-optimized method for determining if a string is blank") - (description - "This package provides a C-optimized method for determining if a string is blank") - (home-page "https://github.com/SamSaffron/fast_blank") - (license license:expat))) - -(define-public ruby-lru-redux - (package - (name "ruby-lru-redux") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "lru_redux" version)) - (sha256 - (base32 - "1yxghzg7476sivz8yyr9nkak2dlbls0b89vc2kg52k0nmg6d0wgf")))) - (build-system ruby-build-system) - (native-inputs - `(("ruby-timecop" ,ruby-timecop))) - (synopsis - "An efficient implementation of an lru cache") - (description - "An efficient implementation of an lru cache") - (home-page "https://github.com/SamSaffron/lru_redux") - (license license:expat))) - -(define-public ruby-rack-mini-profiler - (package - (name "ruby-rack-mini-profiler") - (version "2.3.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rack-mini-profiler" version)) - (sha256 - (base32 - "1zir2lf9vc6h98gly4qmsd2gdvly4pn8576pl9kzx7i9j4v54ysh")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-rack" ,ruby-rack))) - (synopsis - "Profiling toolkit for Rack applications with Rails integration. Client Side profiling, DB profiling and Server profiling.") - (description - "Profiling toolkit for Rack applications with Rails integration. Client Side profiling, DB profiling and Server profiling.") - (home-page "https://miniprofiler.com") - (license license:expat))) - -(define-public ruby-logster - (package - (name "ruby-logster") - (version "2.9.5") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "logster" version)) - (sha256 - (base32 - "1r0s6y2gh81vsajnc1ny5k9lv9zdm7667v4b3kh2w0w4v82kiiw1")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; TODO: only disable network tests - (native-inputs - `( - ("ruby-byebug" ,ruby-byebug) - ("ruby-rack" ,ruby-rack) - ("ruby-redis" ,ruby-redis) - ("ruby-timecop" ,ruby-timecop) - )) - (synopsis "UI for viewing logs in Rack") - (description "UI for viewing logs in Rack") - (home-page "https://github.com/discourse/logster") - (license license:expat))) - -(define-public ruby-rqrcode-core - (package - (name "ruby-rqrcode-core") - (version "0.2.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rqrcode_core" version)) - (sha256 - (base32 - "00kqasqja8zyzqvlgiwd9r0wndqk01qk5j68a8lhlz4ayrd4qy0y")))) - (build-system ruby-build-system) - (synopsis - "rqrcode_core is a Ruby library for encoding QR Codes. The simple -interface (with no runtime dependencies) allows you to create QR Code data structures. -") - (description - "rqrcode_core is a Ruby library for encoding QR Codes. The simple -interface (with no runtime dependencies) allows you to create QR Code data structures. -") - (home-page "https://github.com/whomwah/rqrcode_core") - (license license:expat))) - -(define-public ruby-rqrcode - (package - (name "ruby-rqrcode") - (version "1.2.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rqrcode" version)) - (sha256 - (base32 - "0f1cv9a9sjqc898qm3h7zmkhwglrjw5blsskbg3gsaws01d4bc47")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-chunky-png" ,ruby-chunky-png) - ("ruby-rqrcode-core" ,ruby-rqrcode-core))) - (synopsis - "rqrcode is a library for encoding QR Codes. The simple -interface allows you to create QR Code data structures -and then render them in the way you choose. -") - (description - "rqrcode is a library for encoding QR Codes. The simple -interface allows you to create QR Code data structures -and then render them in the way you choose. -") - (home-page "https://github.com/whomwah/rqrcode") - (license license:expat))) - -(define-public ruby-sqlite3-1.3 - (package - (inherit ruby-sqlite3) - (name "ruby-sqlite3") - (version "1.3.13") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "sqlite3" version)) - (sha256 - (base32 - "01ifzp8nwzqppda419c9wcvr8n82ysmisrs0hph9pdmv1lpa4f5i")))))) - -(define-public ruby-bbcode-to-md - (let ((commit "3b9aaf2b634704a415788c94f7dee93a81f616b5") - (revision "1")) - (package - (name "ruby-bbcode-to-md") - (version (git-version "0.0.15" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/nlalonde/ruby-bbcode-to-md") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1c173jr1y4z7vxk7cshh17mjdkq8d690zzs3kc76j2wbvfbmcpcp")))) - (build-system ruby-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (delete-file "Gemfile.lock") - #t))))) - (propagated-inputs - `(("ruby-activesupport" ,ruby-activesupport))) - (native-inputs - `(("ruby-pry" ,ruby-pry))) - (synopsis - "Convert BBCode to Markdown and check whether the BBCode is valid.") - (description - "Convert BBCode to Markdown and check whether the BBCode is valid.") - (home-page "https://github.com/rikkit/ruby-bbcode-to-md") - (license license:expat)))) - -(define-public ruby-tiny-tds - (package - (name "ruby-tiny-tds") - (version "2.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "tiny_tds" version)) - (sha256 - (base32 - "0hy3kbcb6nwydy312rhjm4b30yavmayszzzyjpfdv6p0s8d9mfvb")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; File does not exist: tiny_tds/tiny_tds - (inputs - `(("freetds" ,freetds))) - (native-inputs - `(("ruby-connection-pool" ,ruby-connection-pool) - ("ruby-mini-portile" ,ruby-mini-portile-2) - ("ruby-rake" ,ruby-rake) - ("ruby-rake-compiler" ,ruby-rake-compiler) - ("ruby-rake-compiler-dock" ,ruby-rake-compiler-dock))) - (synopsis - "TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library. Developed for the ActiveRecord SQL Server adapter.") - (description - "TinyTDS - A modern, simple and fast FreeTDS library for Ruby using DB-Library. Developed for the ActiveRecord SQL Server adapter.") - (home-page "https://github.com/rails-sqlserver/tiny_tds") - (license license:expat))) - -(define-public ruby-csv - (package - (name "ruby-csv") - (version "3.1.9") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "csv" version)) - (sha256 - (base32 - "07mgyalwdxaxnff86j5p6n5szmhqz7nrlkb40826mzggrmva8v1m")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis - "The CSV library provides a complete interface to CSV files and data. It offers tools to enable you to read and write to and from Strings or IO objects, as needed.") - (description - "The CSV library provides a complete interface to CSV files and data. It offers tools to enable you to read and write to and from Strings or IO objects, as needed.") - (home-page "https://github.com/ruby/csv") - (license (list (license:non-copyleft "will fill in later") - (license:non-copyleft "will fill in later"))))) - -(define-public ruby-maxminddb - (package - (name "ruby-maxminddb") - (version "0.1.22") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "maxminddb" version)) - (sha256 - (base32 - "0zlhqilyggiryywgswfi624bv10qnkm66hggmg79vvgv73j3p4sh")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; don't how how to build task 'test' - (native-inputs - `( - ("ruby-rspec" ,ruby-rspec) - ("ruby-rspec-its" ,ruby-rspec-its) - )) - (synopsis - "Pure Ruby MaxMind DB (GeoIP2) binary file reader.") - (description - "Pure Ruby MaxMind DB (GeoIP2) binary file reader.") - (home-page "https://github.com/yhirose/maxminddb") - (license license:expat))) - -(define-public ruby-codeclimate-test-reporter - (package - (name "ruby-codeclimate-test-reporter") - (version "1.0.9") - (source - (origin - (method url-fetch) - (uri (rubygems-uri - "codeclimate-test-reporter" - version)) - (sha256 - (base32 - "1hq1f9c3f9lh0wr0apccgl6w1q2w39q93raagg50kchi7zp288cm")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-simplecov" ,ruby-simplecov-0.13))) - (synopsis - "Collects test coverage data from your Ruby test suite and sends it to Code Climate's hosted, automated code review service. Based on SimpleCov.") - (description - "Collects test coverage data from your Ruby test suite and sends it to Code Climate's hosted, automated code review service. Based on SimpleCov.") - (home-page "https://github.com/codeclimate/ruby-test-reporter") - (license license:expat))) - -(define-public ruby-simplecov-0.13 - (package - (inherit ruby-simplecov) - (name "ruby-simplecov") - (version "0.13.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "simplecov" version)) - (sha256 - (base32 - "1r46dxq6r5rc7mgfb4w68qsm27w4qrp9kwjpssch9d5ngr12g0n7")))))) - -(define-public ruby-kaminari-activerecord - (package - (name "ruby-kaminari-activerecord") - (version "1.2.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "kaminari-activerecord" version)) - (sha256 - (base32 - "02n5xxv6ilh39q2m6vcz7qrdai7ghk3s178dw6f0b3lavwyq49w3")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-activerecord" ,ruby-activerecord) - ("ruby-kaminari-core" ,ruby-kaminari-core))) - (synopsis - "kaminari-activerecord lets your Active Record models be paginatable") - (description - "kaminari-activerecord lets your Active Record models be paginatable") - (home-page "https://github.com/kaminari/kaminari") - (license license:expat))) - -(define-public ruby-kaminari-core - (package - (name "ruby-kaminari-core") - (version "1.2.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "kaminari-core" version)) - (sha256 - (base32 - "0h04cr4y1jfn81gxy439vmczifghc2cvsyw47aa32is5bbxg1wlz")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis - "kaminari-core includes pagination logic independent from ORMs and view libraries") - (description - "kaminari-core includes pagination logic independent from ORMs and view libraries") - (home-page "https://github.com/kaminari/kaminari") - (license license:expat))) - -(define-public ruby-kaminari-actionview - (package - (name "ruby-kaminari-actionview") - (version "1.2.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "kaminari-actionview" version)) - (sha256 - (base32 - "0w0p1hyv6lgf6h036cmn2kbkdv4x7g0g9q9kc5gzkpz7amlxr8ri")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-actionview" ,ruby-actionview) - ("ruby-kaminari-core" ,ruby-kaminari-core))) - (synopsis - "kaminari-actionview provides pagination helpers for your Action View templates") - (description - "kaminari-actionview provides pagination helpers for your Action View templates") - (home-page "https://github.com/kaminari/kaminari") - (license license:expat))) - -(define-public ruby-kaminari - (package - (name "ruby-kaminari") - (version "1.2.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "kaminari" version)) - (sha256 - (base32 - "1vxkqciny5v4jgmjxl8qrgbmig2cij2iskqbwh4bfcmpxf467ch3")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; cannot load such file -- kaminari - (propagated-inputs - `(("ruby-activesupport" ,ruby-activesupport) - ("ruby-kaminari-actionview" ,ruby-kaminari-actionview) - ("ruby-kaminari-activerecord" ,ruby-kaminari-activerecord) - ("ruby-kaminari-core" ,ruby-kaminari-core))) - (synopsis - "Kaminari is a Scope & Engine based, clean, powerful, agnostic, customizable and sophisticated paginator for Rails 4+") - (description - "Kaminari is a Scope & Engine based, clean, powerful, agnostic, customizable and sophisticated paginator for Rails 4+") - (home-page "https://github.com/kaminari/kaminari") - (license license:expat))) - -;; TODO? Replace ruby-kaminari-* inputs with correct version? -(define-public ruby-will-paginate - (package - (name "ruby-will-paginate") - (version "3.3.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "will_paginate" version)) - (sha256 - (base32 - "10qk4mf3rfc0vr26j0ba6vcz7407rdjfn13ph690pkzr94rv8bay")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis - "will_paginate provides a simple API for performing paginated queries with Active Record, DataMapper and Sequel, and includes helpers for rendering pagination links in Rails, Sinatra, Hanami, and Merb web apps.") - (description - "will_paginate provides a simple API for performing paginated queries with Active Record, DataMapper and Sequel, and includes helpers for rendering pagination links in Rails, Sinatra, Hanami, and Merb web apps.") - (home-page "https://github.com/mislav/will_paginate") - (license license:expat))) - -(define-public ruby-rack-accept - (package - (name "ruby-rack-accept") - (version "0.4.5") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rack-accept" version)) - (sha256 - (base32 - "18jdipx17b4ki33cfqvliapd31sbfvs4mv727awynr6v95a7n936")))) - (build-system ruby-build-system) - (propagated-inputs `(("ruby-rack" ,ruby-rack))) - (synopsis - "HTTP Accept, Accept-Charset, Accept-Encoding, and Accept-Language for Ruby/Rack") - (description - "HTTP Accept, Accept-Charset, Accept-Encoding, and Accept-Language for Ruby/Rack") - (home-page "http://mjijackson.github.com/rack-accept") - (license (license:non-copyleft - "will fill in later")))) - -(define-public ruby-mustermann-grape - (package - (name "ruby-mustermann-grape") - (version "1.0.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "mustermann-grape" version)) - (sha256 - (base32 - "0djlbi7nh161a5mwjdm1ya4hc6lyzc493ah48gn37gk6vyri5kh0")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; You must use Bundler 2 or greater with this lockfile. - (propagated-inputs - `(("ruby-mustermann" ,ruby-mustermann))) - (synopsis - "Adds Grape style patterns to Mustermman") - (description - "Adds Grape style patterns to Mustermman") - (home-page "https://github.com/ruby-grape/mustermann-grape") - (license license:expat))) - -(define-public ruby-dry-logic - (package - (name "ruby-dry-logic") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "dry-logic" version)) - (sha256 - (base32 - "17dnc3g9y2nj42rdx2bdvsvvms10vgw4qzjb2iw2gln9hj8b797c")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-concurrent-ruby" ,ruby-concurrent) - ("ruby-dry-core" ,ruby-dry-core))) - (synopsis - "Predicate logic with rule composition") - (description - "Predicate logic with rule composition") - (home-page "https://dry-rb.org/gems/dry-logic") - (license license:expat))) - -(define-public ruby-dry-inflector - (package - (name "ruby-dry-inflector") - (version "0.2.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "dry-inflector" version)) - (sha256 - (base32 - "17mkdwglqsd9fg272y3zms7rixjgkb1km1xcb88ir5lxvk1jkky7")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (synopsis "String inflections for dry-rb") - (description "String inflections for dry-rb") - (home-page "https://dry-rb.org") - (license license:expat))) - -(define-public ruby-dry-core - (package - (name "ruby-dry-core") - (version "0.5.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "dry-core" version)) - (sha256 - (base32 - "14s45hxcqpp2mbvwlwzn018i8qhcjzgkirigdrv31jd741rpgy9s")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-concurrent-ruby" ,ruby-concurrent))) - (synopsis - "A toolset of small support modules used throughout the dry-rb ecosystem") - (description - "This package provides a toolset of small support modules used throughout the dry-rb ecosystem") - (home-page "https://dry-rb.org/gems/dry-core") - (license license:expat))) - -(define-public ruby-dry-configurable - (package - (name "ruby-dry-configurable") - (version "0.12.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "dry-configurable" version)) - (sha256 - (base32 - "1fxr1352sgjbyk85qh4nfj974czw5b3rqjnl71q9p8v8fxrl6ln3")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-concurrent-ruby" ,ruby-concurrent) - ("ruby-dry-core" ,ruby-dry-core))) - (synopsis - "A mixin to add configuration functionality to your classes") - (description - "This package provides a mixin to add configuration functionality to your classes") - (home-page "https://dry-rb.org/gems/dry-configurable") - (license license:expat))) - -(define-public ruby-dry-container - (package - (name "ruby-dry-container") - (version "0.7.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "dry-container" version)) - (sha256 - (base32 - "1npnhs3x2xcwwijpys5c8rpcvymrlab0y8806nr4h425ld5q4wd0")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-concurrent-ruby" ,ruby-concurrent) - ("ruby-dry-configurable" ,ruby-dry-configurable))) - (native-inputs - `( - ("ruby-rspec" ,ruby-rspec) - )) - (synopsis - "A simple container intended for use as an IoC container") - (description - "This package provides a simple container intended for use as an IoC container") - (home-page "https://github.com/dry-rb/dry-container") - (license license:expat))) - -(define-public ruby-dry-types - (package - (name "ruby-dry-types") - (version "1.5.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "dry-types" version)) - (sha256 - (base32 - "1gv0s396lzxlr882qgwi90462wn6f99wq6g0y204r94i3yfh1lvd")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-concurrent-ruby" ,ruby-concurrent) - ("ruby-dry-container" ,ruby-dry-container) - ("ruby-dry-core" ,ruby-dry-core) - ("ruby-dry-inflector" ,ruby-dry-inflector) - ("ruby-dry-logic" ,ruby-dry-logic))) - (synopsis - "Type system for Ruby supporting coercions, constraints and complex types like structs, value objects, enums etc") - (description - "Type system for Ruby supporting coercions, constraints and complex types like structs, value objects, enums etc") - (home-page "https://dry-rb.org/gems/dry-types") - (license license:expat))) - -(define-public ruby-grape - (package - (name "ruby-grape") - (version "1.5.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "grape" version)) - (sha256 - (base32 - "0adf01kihxbmh8q84r6zyfgdmpbyb0lwcar3fi8j6bl6qcsbgwqx")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile found - (propagated-inputs - `(("ruby-activesupport" ,ruby-activesupport) - ("ruby-builder" ,ruby-builder) - ("ruby-dry-types" ,ruby-dry-types) - ("ruby-mustermann-grape" ,ruby-mustermann-grape) - ("ruby-rack" ,ruby-rack) - ("ruby-rack-accept" ,ruby-rack-accept))) - (synopsis - "A Ruby framework for rapid API development with great conventions.") - (description - "This package provides a Ruby framework for rapid API development with great conventions.") - (home-page "https://github.com/ruby-grape/grape") - (license license:expat))) - -(define-public ruby-allocation-stats - (package - (name "ruby-allocation-stats") - (version "0.1.5") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "allocation_stats" version)) - (sha256 - (base32 - "00xrlbprgnval73s0na9365zd6qapr260cgqww4d7l3ir0wb56yb")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; TODO: fix tests - #:test-target "spec")) - (native-inputs - `( - ("ruby-pry" ,ruby-pry) - ("ruby-rspec" ,ruby-rspec) - ("ruby-simplecov" ,ruby-simplecov) - ("ruby-yajl-ruby" ,ruby-yajl-ruby) - ("ruby-yard" ,ruby-yard) - )) - (synopsis - "Tooling for tracing object allocations in Ruby 2.1") - (description - "Tooling for tracing object allocations in Ruby 2.1") - (home-page "https://github.com/srawlins/allocation_stats") - (license license:asl2.0))) - -(define-public ruby-fakeweb - (package - (name "ruby-fakeweb") - (version "1.3.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "fakeweb" version)) - (sha256 - (base32 - "1a09z9nb369bvwpghncgd5y4f95lh28w0q258srh02h22fz9dj8y")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; File does not exist: samuel/net_http - (native-inputs - `( - ;("ruby-jeweler" ,ruby-jeweler) - ("ruby-mocha" ,ruby-mocha) - ;("ruby-rcov" ,ruby-rcov) - ("ruby-sdoc" ,ruby-sdoc) - )) - (synopsis - "FakeWeb is a helper for faking web requests in Ruby. It works at a global level, without modifying code or writing extensive stubs.") - (description - "FakeWeb is a helper for faking web requests in Ruby. It works at a global level, without modifying code or writing extensive stubs.") - (home-page "http://github.com/chrisk/fakeweb") - (license (license:non-copyleft - "will fill in later")))) - -(define-public ruby-simple-oauth - (package - (name "ruby-simple-oauth") - (version "0.3.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "simple_oauth" version)) - (sha256 - (base32 - "0dw9ii6m7wckml100xhjc6vxpjcry174lbi9jz5v7ibjr3i94y8l")))) - (build-system ruby-build-system) - (native-inputs - `( - ("ruby-rspec" ,ruby-rspec) - ("ruby-yardstick" ,ruby-yardstick) - )) - (synopsis "Build and verify OAuth headers") - (description - "Simply builds and verifies OAuth headers") - (home-page "https://github.com/laserlemon/simple_oauth") - (license license:expat))) - -(define-public ruby-naught - (package - (name "ruby-naught") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "naught" version)) - (sha256 - (base32 - "1wwjx35zgbc0nplp8a866iafk4zsrbhwwz4pav5gydr2wm26nksg")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "default")) - (native-inputs - `(("ruby-coveralls" ,ruby-coveralls) - ("ruby-rspec" ,ruby-rspec) - ("ruby-simplecov" ,ruby-simplecov))) - (synopsis "Toolkit for building Null Objects") - (description "Naught is a toolkit for building Null Objects.") - (home-page "https://github.com/avdi/naught") - (license license:expat))) - -(define-public ruby-memoizable - (package - (name "ruby-memoizable") - (version "0.4.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "memoizable" version)) - (sha256 - (base32 - "0v42bvghsvfpzybfazl14qhkrjvx0xlmxz0wwqc960ga1wld5x5c")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-thread-safe" ,ruby-thread-safe))) - (native-inputs - `(("ruby-coveralls" ,ruby-coveralls) - ("ruby-rspec" ,ruby-rspec) - ("ruby-simplecov" ,ruby-simplecov))) - (synopsis "Memoize method return values") - (description "Memoize method return values") - (home-page "https://github.com/dkubb/memoizable") - (license license:expat))) - -(define-public ruby-ffi-compiler - (package - (name "ruby-ffi-compiler") - (version "1.0.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "ffi-compiler" version)) - (sha256 - (base32 - "0c2caqm9wqnbidcb8dj4wd3s902z15qmgxplwyfyqbwa0ydki7q1")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; LoadError: cannot load such file -- rubygems/tasks - (propagated-inputs - `(("ruby-ffi" ,ruby-ffi) - ("ruby-rake" ,ruby-rake))) - (synopsis "Ruby FFI library") - (description "Ruby FFI library") - (home-page "http://wiki.github.com/ffi/ffi") - (license license:asl2.0))) - -(define-public ruby-http-parser - (package - (name "ruby-http-parser") - (version "1.2.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "http-parser" version)) - (sha256 - (base32 - "18qqvckvqjffh88hfib6c8pl9qwk9gp89w89hl3f2s1x8hgyqka1")))) - (build-system ruby-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'build 'pre-build - (lambda _ - (invoke "rake" "compile")))))) - (propagated-inputs - `(("ruby-ffi-compiler" ,ruby-ffi-compiler))) - (native-inputs - `(("ruby-rspec" ,ruby-rspec))) - (synopsis "Http parser for Ruby") - (description - " A super fast http parser for ruby. - Cross platform and multiple ruby implementation support thanks to ffi. -") - (home-page "https://github.com/cotag/http-parser") - (license license:expat))) - -(define-public ruby-http-form-data - (package - (name "ruby-http-form-data") - (version "2.3.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "http-form_data" version)) - (sha256 - (base32 - "1wx591jdhy84901pklh1n9sgh74gnvq1qyqxwchni1yrc49ynknc")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "default")) - (native-inputs - `(("ruby-coveralls" ,ruby-coveralls) - ("ruby-guard" ,ruby-guard) - ("ruby-rspec" ,ruby-rspec) - ("ruby-simplecov" ,ruby-simplecov))) - (synopsis - "Utility-belt to build form data request bodies. Provides support for `application/x-www-form-urlencoded` and `multipart/form-data` types.") - (description - "Utility-belt to build form data request bodies. Provides support for `application/x-www-form-urlencoded` and `multipart/form-data` types.") - (home-page "https://github.com/httprb/form_data.rb") - (license license:expat))) - -(define-public ruby-http - (package - (name "ruby-http") - (version "4.4.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "http" version)) - (sha256 - (base32 - "0z8vmvnkrllkpzsxi94284di9r63g9v561a16an35izwak8g245y")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "default" - ;; A bunch of tests require network access. Should we borrow Debain's patches? - #:tests? #f)) - (propagated-inputs - `(("ruby-addressable" ,ruby-addressable) - ("ruby-http-cookie" ,ruby-http-cookie) - ("ruby-http-form-data" ,ruby-http-form-data) - ("ruby-http-parser" ,ruby-http-parser))) - (native-inputs - `(("ruby-certificate-authority" ,ruby-certificate-authority) - ("ruby-coveralls" ,ruby-coveralls) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rspec-its" ,ruby-rspec-its) - ("ruby-rubocop" ,ruby-rubocop) - ("ruby-simplecov" ,ruby-simplecov) - ("ruby-yardstick" ,ruby-yardstick))) - (synopsis "Client library for making requests from Ruby") - (description "This package provides a client library for making requests -from Ruby. It uses a simple method chaining system for building requests, -similar to Python's Requests.") - (home-page "https://github.com/httprb/http") - (license license:expat))) - -(define-public ruby-equalizer - (package - (name "ruby-equalizer") - (version "0.0.11") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "equalizer" version)) - (sha256 - (base32 - "1kjmx3fygx8njxfrwcmn7clfhjhb6bvv3scy2lyyi0wqyi3brra4")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; Prevent cycle with ruby-devtools. - (synopsis - "Module to define equality, equivalence and inspection methods") - (description - "Module to define equality, equivalence and inspection methods") - (home-page "https://github.com/dkubb/equalizer") - (license license:expat))) - -(define-public ruby-buftok - (package - (name "ruby-buftok") - (version "0.2.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "buftok" version)) - (sha256 - (base32 - "1rzsy1vy50v55x9z0nivf23y0r9jkmq6i130xa75pq9i8qrn1mxs")))) - (build-system ruby-build-system) - (synopsis - "BufferedTokenizer extracts token delimited entities from a sequence of arbitrary inputs") - (description - "BufferedTokenizer extracts token delimited entities from a sequence of arbitrary inputs") - (home-page "https://github.com/sferik/buftok") - (license license:expat))) - -(define-public ruby-twitter - (package - (name "ruby-twitter") - (version "7.0.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/sferik/twitter") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "057d3wg3850r7xyhb5xv8xgxv7qra31ic0m317mwi2n5w1p4n480")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-addressable" ,ruby-addressable) - ("ruby-buftok" ,ruby-buftok) - ("ruby-equalizer" ,ruby-equalizer) - ("ruby-http" ,ruby-http) - ("ruby-http-form-data" ,ruby-http-form-data) - ("ruby-http-parser.rb" ,ruby-http-parser.rb) - ("ruby-memoizable" ,ruby-memoizable) - ("ruby-multipart-post" ,ruby-multipart-post) - ("ruby-naught" ,ruby-naught) - ("ruby-simple-oauth" ,ruby-simple-oauth))) - (native-inputs - `(("ruby-coveralls" ,ruby-coveralls) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rubocop" ,ruby-rubocop) - ("ruby-simplecov" ,ruby-simplecov) - ("ruby-timecop" ,ruby-timecop) - ("ruby-webmock" ,ruby-webmock) - ("ruby-yard" ,ruby-yard) - ("ruby-yardstick" ,ruby-yardstick))) - (synopsis "Ruby interface to the Twitter API") - (description "This package provides a Ruby interface to the Twitter API.") - (home-page "https://sferik.github.io/twitter/") - (license license:expat))) - -(define-public ruby-yardstick - (package - (name "ruby-yardstick") - (version "0.9.9") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "yardstick" version)) - (sha256 - (base32 - "0vn0br8x0n7b9i2raz79g480cn711zichs8rvijb3h1pk9m1d6n3")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; Prevent cycle with ruby-devtools. - (propagated-inputs - `(("ruby-yard" ,ruby-yard))) - (synopsis "Measure YARD documentation coverage") - (description - "Measure YARD documentation coverage") - (home-page "https://github.com/dkubb/yardstick") - (license license:expat))) - -(define-public ruby-kwalify - (package - (name "ruby-kwalify") - (version "0.7.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "kwalify" version)) - (sha256 - (base32 - "1ngxg3ysq5vip9dn3d32ajc7ly61kdin86hfycm1hkrcvkkn1vjf")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; old package is old - (synopsis - " Kwalify is a parser, schema validator, and data binding tool for YAML and JSON. -") - (description - " Kwalify is a parser, schema validator, and data binding tool for YAML and JSON. -") - (home-page "http://www.kuwata-lab.com/kwalify/") - (license (license:non-copyleft - "will fill in later")))) - -(define-public ruby-reek - (package - (name "ruby-reek") - (version "6.0.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "reek" version)) - (sha256 - (base32 - "1zlfvj1dh064y119sfz9w3rkj3d9qkwm1k6dkcjymr6cwj6cqqp2")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; needs aruba ~> 1.0 - (propagated-inputs - `(("ruby-kwalify" ,ruby-kwalify) - ("ruby-parser" ,ruby-parser) - ("ruby-psych" ,ruby-psych) - ("ruby-rainbow" ,ruby-rainbow))) - (native-inputs - `( - ("ruby-aruba" ,ruby-aruba) - ("ruby-cucumber" ,ruby-cucumber) - ("ruby-rspec" ,ruby-rspec) - )) - (synopsis - "Reek is a tool that examines Ruby classes, modules and methods and reports any code smells it finds.") - (description - "Reek is a tool that examines Ruby classes, modules and methods and reports any code smells it finds.") - (home-page "https://github.com/troessner/reek") - (license license:expat))) - -(define-public ruby-procto - (package - (name "ruby-procto") - (version "0.0.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "procto" version)) - (sha256 - (base32 - "13imvg1x50rz3r0yyfbhxwv72lbf7q28qx9l9nfbb91h2n9ch58c")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; Break dependency cycle with ruby-devtools. - (synopsis - "Turns your object into a method object") - (description - "Turns your object into a method object") - (home-page "https://github.com/snusnu/procto") - (license license:expat))) - -(define-public ruby-flog - (package - (name "ruby-flog") - (version "4.6.4") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "flog" version)) - (sha256 - (base32 - "0qy7s5q450wbc78av8h0w8inrdz46vp4rqnm5ikpsnh7dilh7amm")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-path-expander" ,ruby-path-expander) - ("ruby-ruby-parser" ,ruby-ruby-parser) - ("ruby-sexp-processor" ,ruby-sexp-processor))) - (native-inputs - `( - ("ruby-hoe" ,ruby-hoe) - )) - (synopsis - "Flog reports the most tortured code in an easy to read pain -report. The higher the score, the more pain the code is in.") - (description - "Flog reports the most tortured code in an easy to read pain -report. The higher the score, the more pain the code is in.") - (home-page "http://ruby.sadi.st/") - (license license:expat))) - -(define-public ruby-path-expander - (package - (name "ruby-path-expander") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "path_expander" version)) - (sha256 - (base32 - "1l40n8i959c8bk5m9cfs4m75h2cq01wjwhahnkw7jxgicpva30gv")))) - (build-system ruby-build-system) - (native-inputs - `( - ("ruby-hoe" ,ruby-hoe) - )) - (synopsis - "PathExpander helps pre-process command-line arguments expanding -directories into their constituent files. It further helps by -providing additional mechanisms to make specifying subsets easier -with path subtraction and allowing for command-line arguments to be -saved in a file. - -NOTE: this is NOT an options processor. It is a path processor -(basically everything else besides options). It does provide a -mechanism for pre-filtering cmdline options, but not with the intent -of actually processing them in PathExpander. Use OptionParser to -deal with options either before or after passing ARGV through -PathExpander.") - (description - "PathExpander helps pre-process command-line arguments expanding -directories into their constituent files. It further helps by -providing additional mechanisms to make specifying subsets easier -with path subtraction and allowing for command-line arguments to be -saved in a file. - -NOTE: this is NOT an options processor. It is a path processor -(basically everything else besides options). It does provide a -mechanism for pre-filtering cmdline options, but not with the intent -of actually processing them in PathExpander. Use OptionParser to -deal with options either before or after passing ARGV through -PathExpander.") - (home-page "https://github.com/seattlerb/path_expander") - (license license:expat))) - -(define-public ruby-flay - (package - (name "ruby-flay") - (version "2.12.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "flay" version)) - (sha256 - (base32 - "1my4ga8a8wsqb4nqbf31gvml64ngr66r0zim4mx2kvi76zygczv7")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; TODO: fix! only 1 failing test! - (propagated-inputs - `(("ruby-erubis" ,ruby-erubis) - ("ruby-path-expander" ,ruby-path-expander) - ("ruby-ruby-parser" ,ruby-ruby-parser) - ("ruby-sexp-processor" ,ruby-sexp-processor))) - (native-inputs - `( - ("ruby-hoe" ,ruby-hoe) - )) - (synopsis - "Flay analyzes code for structural similarities. Differences in literal -values, variable, class, method names, whitespace, programming style, -braces vs do/end, etc are all ignored. Making this totally rad.") - (description - "Flay analyzes code for structural similarities. Differences in literal -values, variable, class, method names, whitespace, programming style, -braces vs do/end, etc are all ignored. Making this totally rad.") - (home-page "http://ruby.sadi.st/") - (license license:expat))) - -(define-public ruby-concord - (package - (name "ruby-concord") - (version "0.1.6") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "concord" version)) - (sha256 - (base32 - "1vznyzcd3z7wiwjfgr941nq405kd7zm5vjb3sv2mzbbrcla9qkhq")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; Break dependency cycle with ruby-devtools. - (propagated-inputs - `(("ruby-adamantium" ,ruby-adamantium) - ("ruby-equalizer" ,ruby-equalizer))) - (synopsis "Helper for object composition") - (description "Helper for object composition") - (home-page "https://github.com/mbj/concord") - (license license:expat))) - -(define-public ruby-anima - (package - (name "ruby-anima") - (version "0.3.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "anima" version)) - (sha256 - (base32 - "007wrc8px9ql4nqp34w0ffb9nj2nrbrcxvy036ng28bpbig7fzs6")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; Break dependency cycle with ruby-devtools. - (propagated-inputs - `(("ruby-abstract-type" ,ruby-abstract-type) - ("ruby-adamantium" ,ruby-adamantium) - ("ruby-equalizer" ,ruby-equalizer))) - (synopsis - "Initialize object attributes via attributes hash") - (description - "Initialize object attributes via attributes hash") - (home-page "http://github.com/mbj/anima") - (license license:expat))) - -(define-public ruby-adamantium - (package - (name "ruby-adamantium") - (version "0.2.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "adamantium" version)) - (sha256 - (base32 - "0165r2ikgfwv2rm8dzyijkp74fvg0ni72hpdx8ay2v7cj08dqyak")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; Break dependency cycle with ruby-devtools. - (propagated-inputs - `(("ruby-ice-nine" ,ruby-ice-nine) - ("ruby-memoizable" ,ruby-memoizable))) - (synopsis "Immutable extensions to objects") - (description "Immutable extensions to objects") - (home-page "https://github.com/dkubb/adamantium") - (license license:expat))) - -(define-public ruby-abstract-type - (package - (name "ruby-abstract-type") - (version "0.0.7") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "abstract_type" version)) - (sha256 - (base32 - "09330cmhrc2wmfhdj9zzg82sv6cdhm3qgdkva5ni5xfjril2pf14")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; Break dependency cycle with ruby-devtools. - (synopsis - "Module to declare abstract classes and methods") - (description - "Module to declare abstract classes and methods") - (home-page "https://github.com/dkubb/abstract_type") - (license license:expat))) - -;; TODO: This package somehow hardcodes the versions of its dependencies -(define-public ruby-devtools - (package - (name "ruby-devtools") - (version "0.1.26") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "devtools" version)) - (sha256 - (base32 - "08c8j2zcq9hhxpz9wsyy9v8mfs4d4smyagi0qr398w1qryb6w4m0")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; Devtools requires devtools for the tests. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - ;; Don't require self - (substitute* "Rakefile" - (("require 'devtools'") "")) - ;; Don't hardcode version dependencies - (substitute* "devtools.gemspec" - (("',\\s+'.*") "'\n")) - #t)) - (add-after 'build 'unpin-versions - (lambda _ - ;; Don't hardcode version dependencies - (substitute* "devtools.gemspec" - ((", \\[\\\"~>.*") ")\n")) - #t)) - ) - )) - (propagated-inputs - `(("ruby-abstract-type" ,ruby-abstract-type) - ("ruby-adamantium" ,ruby-adamantium) - ("ruby-anima" ,ruby-anima) - ("ruby-concord" ,ruby-concord) - ("ruby-flay" ,ruby-flay) - ("ruby-flog" ,ruby-flog) - ("ruby-procto" ,ruby-procto) - ("ruby-rake" ,ruby-rake) - ("ruby-reek" ,ruby-reek) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rspec-core" ,ruby-rspec-core) - ("ruby-rspec-its" ,ruby-rspec-its) - ("ruby-rubocop" ,ruby-rubocop) - ("ruby-simplecov" ,ruby-simplecov) - ("ruby-yard" ,ruby-yard) - ("ruby-yardstick" ,ruby-yardstick))) - (synopsis "A metagem wrapping development tools") - (description - "This package provides a metagem wrapping development tools") - (home-page "https://github.com/rom-rb/devtools") - (license license:expat))) - -(define-public ruby-certificate-authority - (package - (name "ruby-certificate-authority") - (version "1.0.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "certificate_authority" version)) - (sha256 - (base32 - "1d4j37i40l76pdkxx9964f58d83fjv82x3c0sykrpiixcmjcax44")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "spec" - ;; An error occurred while loading spec_helper. - ;; Failure/Error: return gem_original_require(path) - #:tests? #f)) - (native-inputs - `( - ("ruby-rspec" ,ruby-rspec) - ("ruby-rubocop" ,ruby-rubocop) - )) - (synopsis - "Ruby gem for managing the core functions outlined in RFC-3280 for PKI") - (description - "Ruby gem for managing the core functions outlined in RFC-3280 for PKI") - (home-page "https://github.com/cchandler/certificate_authority") - (license license:expat))) - -(define-public ruby-actionview-precompiler - (package - (name "ruby-actionview-precompiler") - (version "0.2.3") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jhawthorn/actionview_precompiler") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0hyvzhyx3bmvnmmj247vyfznps835d0zmi3xb6y6s4v570d8mrf0")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; tests expect ruby-actionview >=6.0.a - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (substitute* "actionview_precompiler.gemspec" - (("actionview\\\".*") "actionview\"\n") - ) - #t)) - (add-before 'build 'delete-gemfile-lock - (lambda _ - (delete-file "Gemfile.lock") - #t))))) - (propagated-inputs - `(("ruby-actionview" ,ruby-actionview))) - (native-inputs - `(("ruby-minitest" ,ruby-minitest) - ("ruby-pry" ,ruby-pry))) - (synopsis - "Parses templates for render calls and uses them to precompile") - (description - "Parses templates for render calls and uses them to precompile") - (home-page "https://github.com/jhawthorn/actionview_precompiler") - (license license:expat))) - -(define-public ruby-rocco - (package - (name "ruby-rocco") - (version "0.8.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rocco" version)) - (sha256 - (base32 - "0z3wnk8848wphrzyb61adl1jbfjlsqnzkayp2m0qmisg566352l1")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; needs pygments - (propagated-inputs - `(("ruby-mustache" ,ruby-mustache) - ;; pygments - ("ruby-redcarpet" ,ruby-redcarpet))) - (synopsis "Docco in Ruby") - (description "Docco in Ruby") - (home-page "https://rtomayko.github.com/rocco/") - (license license:expat))) - -(define-public ruby-bundler - (package - (name "ruby-bundler") - (version "2.2.11") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "bundler" version)) - (sha256 - (base32 - "1izx6wsjdm6mnbxazgz1z5qbhwrrisbq0np2nmx4ij6lrqjy18jf")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile - (synopsis - "Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably") - (description - "Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably") - (home-page "https://bundler.io/") - (license license:expat))) - -(define-public ruby-appraisal - (package - (name "ruby-appraisal") - (version "2.3.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "appraisal" version)) - (sha256 - (base32 - "0j092f2zfgb6afimidgspzqg4iw6n4mrs2zp8hhs2m2giav4mkrn")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; Tests require activesupport, cycle with ruby-m - (propagated-inputs - `(("bundler" ,bundler) - ("ruby-rake" ,ruby-rake) - ("ruby-thor" ,ruby-thor))) - (synopsis - "Appraisal integrates with bundler and rake to test your library against different versions of dependencies in repeatable scenarios called \"appraisals.\"") - (description - "Appraisal integrates with bundler and rake to test your library against different versions of dependencies in repeatable scenarios called \"appraisals.\"") - (home-page - "http://github.com/thoughtbot/appraisal") - (license license:expat))) - -(define-public ruby-http-accept-language - (package - (name "ruby-http-accept-language") - (version "2.1.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "http_accept_language" version)) - (sha256 - (base32 - "0d0nlfz9vm4jr1l6q0chx4rp2hrnrfbx3gadc1dz930lbbaz0hq0")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "spec" - #:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - (substitute* "cucumber.yml" - (("~@") "'not @'")) - #t))))) - (native-inputs - `( - ("ruby-aruba" ,ruby-aruba) - ("ruby-cucumber" ,ruby-cucumber) - ("ruby-guard-rspec" ,ruby-guard-rspec) - ("ruby-rack" ,ruby-rack) - ("ruby-rack-test" ,ruby-rack-test) - ("ruby-rails" ,ruby-rails) - ("ruby-rspec" ,ruby-rspec) - )) - (synopsis - "Find out which locale the user preferes by reading the languages they specified in their browser") - (description - "Find out which locale the user preferes by reading the languages they specified in their browser") - (home-page "https://github.com/iain/http_accept_language") - (license license:expat))) - -(define-public ruby-guard-compat - (package - (name "ruby-guard-compat") - (version "1.2.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "guard-compat" version)) - (sha256 - (base32 - "1zj6sr1k8w59mmi27rsii0v8xyy2rnsi09nqvwpgj1q10yq1mlis")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "spec" ; not default, tests not upgraded for newer rubocop versions. - #:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - #t))))) - (native-inputs - `( - ("ruby-rspec" ,ruby-rspec) - ("ruby-rubocop" ,ruby-rubocop) - )) - (synopsis - "Helps creating valid Guard plugins and testing them") - (description - "Helps creating valid Guard plugins and testing them") - (home-page "https://github.com/guard/guard-compat") - (license license:expat))) - -(define-public ruby-guard-rspec - (package - (name "ruby-guard-rspec") - (version "4.7.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "guard-rspec" version)) - (sha256 - (base32 - "1jkm5xp90gm4c5s51pmf92i9hc10gslwwic6mvk72g0yplya0yx4")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; Tests not included in release. - (propagated-inputs - `(("ruby-guard" ,ruby-guard) - ("ruby-guard-compat" ,ruby-guard-compat) - ("ruby-rspec" ,ruby-rspec))) - (synopsis - "Guard::RSpec automatically run your specs (much like autotest).") - (description - "Guard::RSpec automatically run your specs (much like autotest).") - (home-page "https://github.com/guard/guard-rspec") - (license license:expat))) - -(define-public ruby-aws-sdk-kms - (package - (name "ruby-aws-sdk-kms") - (version "1.42.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "aws-sdk-kms" version)) - (sha256 - (base32 - "00wgf83cdy6z77b2y0ld0aqiidfyldi71hx0z8b73gxjdlbwpq1i")))) - (build-system ruby-build-system) - (arguments `(#:tests? #f)) ; no tests - (propagated-inputs - `(("ruby-aws-sdk-core" ,ruby-aws-sdk-core) - ("ruby-aws-sigv4" ,ruby-aws-sigv4))) - (synopsis - "Official AWS Ruby gem for AWS Key Management Service (KMS). This gem is part of the AWS SDK for Ruby.") - (description - "Official AWS Ruby gem for AWS Key Management Service (KMS). This gem is part of the AWS SDK for Ruby.") - (home-page "https://github.com/aws/aws-sdk-ruby") - (license license:asl2.0))) - -(define-public ruby-jmespath - (package - (name "ruby-jmespath") - (version "1.4.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "jmespath" version)) - (sha256 - (base32 - "1d4wac0dcd1jf6kc57891glih9w57552zgqswgy74d1xhgnk0ngf")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; tests not included - (synopsis "Implements JMESPath for Ruby") - (description "Implements JMESPath for Ruby") - (home-page "https://github.com/trevorrowe/jmespath.rb") - (license license:asl2.0))) - -(define-public ruby-aws-sigv4 - (package - (name "ruby-aws-sigv4") - (version "1.2.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "aws-sigv4" version)) - (sha256 - (base32 - "1ll9382c1x2hp750cilh01h1cycgyhdr4cmmgx23k94hyyb8chv5")))) - (build-system ruby-build-system) - (arguments `(#:tests? #f)) ; no tests - (propagated-inputs - `(("ruby-aws-eventstream" ,ruby-aws-eventstream))) - (synopsis - "Amazon Web Services Signature Version 4 signing library. Generates sigv4 signature for HTTP requests.") - (description - "Amazon Web Services Signature Version 4 signing library. Generates sigv4 signature for HTTP requests.") - (home-page "https://github.com/aws/aws-sdk-ruby") - (license license:asl2.0))) - -(define-public ruby-aws-partitions - (package - (name "ruby-aws-partitions") - (version "1.428.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "aws-partitions" version)) - (sha256 - (base32 - "13rvpllihvpksf1jqwa2i5vbv2hhb34viaidw4rkxr3dyygkdpj8")))) - (build-system ruby-build-system) - (arguments `(#:tests? #f)) ; no tests - (synopsis - "Provides interfaces to enumerate AWS partitions, regions, and services.") - (description - "This package provides interfaces to enumerate AWS partitions, regions, and services.") - (home-page "https://github.com/aws/aws-sdk-ruby") - (license license:asl2.0))) - -(define-public ruby-aws-eventstream - (package - (name "ruby-aws-eventstream") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "aws-eventstream" version)) - (sha256 - (base32 - "0r0pn66yqrdkrfdin7qdim0yj2x75miyg4wp6mijckhzhrjb7cv5")))) - (build-system ruby-build-system) - (arguments `(#:tests? #f)) ; no tests - (synopsis - "Amazon Web Services event stream library. Decodes and encodes binary stream under `vnd.amazon.event-stream` content-type") - (description - "Amazon Web Services event stream library. Decodes and encodes binary stream under `vnd.amazon.event-stream` content-type") - (home-page "https://github.com/aws/aws-sdk-ruby") - (license license:asl2.0))) - -(define-public ruby-aws-sdk-core - (package - (name "ruby-aws-sdk-core") - (version "3.112.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "aws-sdk-core" version)) - (sha256 - (base32 - "15lynby6r91p9hh5h92pg4jr8xgnjr52px5ax0p0wncdw4vz0skp")))) - (build-system ruby-build-system) - (arguments `(#:tests? #f)) ; no tests - (propagated-inputs - `(("ruby-aws-eventstream" ,ruby-aws-eventstream) - ("ruby-aws-partitions" ,ruby-aws-partitions) - ("ruby-aws-sigv4" ,ruby-aws-sigv4) - ("ruby-jmespath" ,ruby-jmespath))) - (synopsis - "Provides API clients for AWS. This gem is part of the official AWS SDK for Ruby.") - (description - "This package provides API clients for AWS. This gem is part of the official AWS SDK for Ruby.") - (home-page "https://github.com/aws/aws-sdk-ruby") - (license license:asl2.0))) - -(define-public ruby-aws-sdk-s3 - (package - (name "ruby-aws-sdk-s3") - (version "1.88.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "aws-sdk-s3" version)) - (sha256 - (base32 - "01zlv2icx3m0pq94z9fcsp1r9ivdqhfpnpbrv63fpr6m7yqww24y")))) - (build-system ruby-build-system) - (arguments `(#:tests? #f)) ; no tests - (propagated-inputs - `(("ruby-aws-sdk-core" ,ruby-aws-sdk-core) - ("ruby-aws-sdk-kms" ,ruby-aws-sdk-kms) - ("ruby-aws-sigv4" ,ruby-aws-sigv4))) - (synopsis - "Official AWS Ruby gem for Amazon Simple Storage Service (Amazon S3). This gem is part of the AWS SDK for Ruby.") - (description - "Official AWS Ruby gem for Amazon Simple Storage Service (Amazon S3). This gem is part of the AWS SDK for Ruby.") - (home-page "https://github.com/aws/aws-sdk-ruby") - (license license:asl2.0))) - -(define-public ruby-aws-sdk-sns - (package - (name "ruby-aws-sdk-sns") - (version "1.38.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "aws-sdk-sns" version)) - (sha256 - (base32 - "0cqri14igfmcxlapbagg0nmy79zzg29awzybv51gl76m3mljbafb")))) - (build-system ruby-build-system) - (arguments `(#:tests? #f)) ; no tests - (propagated-inputs - `(("ruby-aws-sdk-core" ,ruby-aws-sdk-core) - ("ruby-aws-sigv4" ,ruby-aws-sigv4))) - (synopsis - "Official AWS Ruby gem for Amazon Simple Notification Service (Amazon SNS). This gem is part of the AWS SDK for Ruby.") - (description - "Official AWS Ruby gem for Amazon Simple Notification Service (Amazon SNS). This gem is part of the AWS SDK for Ruby.") - (home-page "https://github.com/aws/aws-sdk-ruby") - (license license:asl2.0))) - -(define-public ruby-chronic - (package - (name "ruby-chronic") - (version "0.10.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "chronic" version)) - (sha256 - (base32 - "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn")))) - (build-system ruby-build-system) - (synopsis - "Chronic is a natural language date/time parser written in pure Ruby.") - (description - "Chronic is a natural language date/time parser written in pure Ruby.") - (home-page "http://github.com/mojombo/chronic") - (license license:expat))) - -(define-public ruby-delorean - (package - (name "ruby-delorean") - (version "2.1.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "delorean" version)) - (sha256 - (base32 - "0k39ix0a9rf4fd05ncml4h9r29dzwgzdbhp01gp67baid6adxwf4")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; tests not included - (propagated-inputs - `(("ruby-chronic" ,ruby-chronic))) - (synopsis - "Delorean lets you travel in time with Ruby by mocking Time.now") - (description - "Delorean lets you travel in time with Ruby by mocking Time.now") - (home-page "http://github.com/bebanjo/delorean") - (license license:expat))) - -(define-public ruby-sinatra-contrib - (package - (name "ruby-sinatra-contrib") - (version "2.0.8.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "sinatra-contrib" version)) - (sha256 - (base32 - "1mmrfm4pqh98f3irjpkvfpazhcx6q42bnx6bbms9dqvmck3mid28")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-backports" ,ruby-backports) - ("ruby-multi-json" ,ruby-multi-json) - ("ruby-mustermann" ,ruby-mustermann) - ("ruby-rack-protection" ,ruby-rack-protection) - ("ruby-sinatra" ,ruby-sinatra) - ("ruby-tilt" ,ruby-tilt))) - (native-inputs - `( - ("ruby-rspec" ,ruby-rspec) - )) - (synopsis "Collection of useful Sinatra extensions") - (description - "Collection of useful Sinatra extensions") - (home-page "http://sinatrarb.com/contrib/") - (license license:expat))) - -(define-public ruby-raindrops - (package - (name "ruby-raindrops") - (version "0.19.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "raindrops" version)) - (sha256 - (base32 - "0zjja00mzgx2lddb7qrn14k7qrnwhf4bpmnlqj78m1pfxh7svync")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; not clear how to run tests - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "ruby" "setup.rb" "tests")) - #t))))) - (synopsis "real-time stats for preforking Rack servers") - (description - "raindrops is a real-time stats toolkit to show statistics for Rack HTTP -servers. It is designed for preforking servers such as unicorn, but -should support any Rack HTTP server on platforms supporting POSIX shared -memory. It may also be used as a generic scoreboard for sharing atomic -counters across multiple processes.") - (home-page "https://yhbt.net/raindrops/") - (license license:lgpl2.1+))) - -(define-public ruby-kgio - (package - (name "ruby-kgio") - (version "2.11.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "kgio" version)) - (sha256 - (base32 - "0ai6bzlvxbzpdl466p1qi4dlhx8ri2wcrp6x1l19y3yfs3a29rng")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; not clear how to run tests - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "ruby" "setup.rb" "tests")) - #t))))) - (synopsis "kinder, gentler I/O for Ruby") - (description - "This is a legacy project, do not use it for new projects. Ruby -2.3 and later should make this obsolete. kgio provides -non-blocking I/O methods for Ruby without raising exceptions on -EAGAIN and EINPROGRESS. -") - (home-page "https://yhbt.net/kgio/") - (license (license:non-copyleft - "will fill in later")))) - -(define-public ruby-unicorn - (package - (name "ruby-unicorn") - (version "5.8.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "unicorn" version)) - (sha256 - (base32 - "0ig48f4xhrssq5d11vkc41k7nj6pbv2jh1f8k5gfskfd469mcc2y")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-kgio" ,ruby-kgio) - ("ruby-raindrops" ,ruby-raindrops))) - (synopsis - "unicorn is an HTTP server for Rack applications designed to only serve -fast clients on low-latency, high-bandwidth connections and take -advantage of features in Unix/Unix-like kernels. Slow clients should -only be served by placing a reverse proxy capable of fully buffering -both the the request and response in between unicorn and slow clients.") - (description - "unicorn is an HTTP server for Rack applications designed to only serve -fast clients on low-latency, high-bandwidth connections and take -advantage of features in Unix/Unix-like kernels. Slow clients should -only be served by placing a reverse proxy capable of fully buffering -both the the request and response in between unicorn and slow clients.") - (home-page "https://yhbt.net/unicorn/") - (license (list (license:non-copyleft "will fill in later") - (license:non-copyleft "will fill in later"))))) - -(define-public ruby-pry-rails - (package - (name "ruby-pry-rails") - (version "0.3.9") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "pry-rails" version)) - (sha256 - (base32 - "1cf4ii53w2hdh7fn8vhqpzkymmchjbwij4l3m7s6fsxvb9bn51j6")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; not clear what the test suite wants - #:test-target "appraisal" ; as per the Rakefile - #:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - #t))))) - (propagated-inputs - `(("ruby-pry" ,ruby-pry))) - (native-inputs - `( - ("ruby-appraisal" ,ruby-appraisal) - ("ruby-minitest" ,ruby-minitest) - )) - (synopsis "Use Pry as your rails console") - (description "Use Pry as your rails console") - (home-page "https://github.com/rweng/pry-rails") - (license license:expat))) - -(define-public ruby-r2 - (package - (name "ruby-r2") - (version "0.2.7") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "r2" version)) - (sha256 - (base32 - "0wk0p55zp3l96xy5ps28b33dn5z0jwsjl74bwfdn6z81pzjs5sfk")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "default")) - (native-inputs - `( - ("ruby-rspec" ,ruby-rspec) - )) - (synopsis - "CSS flipper for right-to-left processing. A Ruby port of https://github.com/ded/r2") - (description - "CSS flipper for right-to-left processing. A Ruby port of https://github.com/ded/r2") - (home-page "https://github.com/mzsanford/R2rb") - (license (license:non-copyleft - "will fill in later")))) - -(define-public ruby-openssl - (package - (name "ruby-openssl") - (version "2.2.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ruby/openssl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "01xigwxpwha9hj8r2synkl6c7xlhs02f27qv98a1b7cbhgqqs6n3")))) - (build-system ruby-build-system) - (inputs - `( - ("openssl" ,openssl) - )) - (native-inputs - `( - ("ruby-rake-compiler" ,ruby-rake-compiler) - )) - (synopsis "It wraps the OpenSSL library.") - (description "It wraps the OpenSSL library.") - (home-page "https://github.com/ruby/openssl") - (license license:ruby))) - -(define-public ruby-openssl-signature-algorithm - (package - (name "ruby-openssl-signature-algorithm") - (version "1.1.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/cedarcode/openssl-signature_algorithm") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0ilshdmky1z8azm7szzbg129v5g2n54izzckhyqwnn1g8c55bmn5")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; cannot load such file -- spec_helper - #:test-target "spec" ; not default, don't care about rubocop output - #:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - #t))))) - (propagated-inputs - `(("ruby-openssl" ,ruby-openssl))) - (native-inputs - `(("ruby-ed25519" ,ruby-ed25519) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rubocop" ,ruby-rubocop))) - (synopsis - "ECDSA, EdDSA, RSA-PSS and RSA-PKCS#1 algorithms for ruby") - (description - "ECDSA, EdDSA, RSA-PSS and RSA-PKCS#1 algorithms for ruby") - (home-page "https://github.com/cedarcode/openssl-signature_algorithm") - (license license:asl2.0))) - -(define-public ruby-cose - (package - (name "ruby-cose") - (version "1.2.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "cose" version)) - (sha256 - (base32 - "1gx239d2fracq9az74wfdwmp5zm7zpzkcgchwnv2ng33d8r33p3m")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; cannot load such file -- spec_helper - #:test-target "spec" ; not default, don't care about rubocop output - #:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - #t))))) - (propagated-inputs - `(("ruby-cbor" ,ruby-cbor) - ("ruby-openssl-signature-algorithm" ,ruby-openssl-signature-algorithm))) - (native-inputs - `( - ("ruby-rspec" ,ruby-rspec) - ("ruby-rubocop" ,ruby-rubocop) - ("ruby-rubocop-performance" ,ruby-rubocop-performance) - )) - (synopsis - "Ruby implementation of RFC 8152 CBOR Object Signing and Encryption (COSE)") - (description - "Ruby implementation of RFC 8152 CBOR Object Signing and Encryption (COSE)") - (home-page "https://github.com/cedarcode/cose-ruby") - (license license:expat))) - -(define-public ruby-rtlit - (package - (name "ruby-rtlit") - (version "0.0.5") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rtlit" version)) - (sha256 - (base32 - "0srfh7cl95srjiwbyc9pmn3w739zlvyj89hyj0bm7g92zrsd27qm")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; tests don't want to run - (native-inputs - `( - ("ruby-rake", ruby-rake) - )) - (synopsis - "Converts CSS files from left-to-right to right-to-left") - (description - "Converts CSS files from left-to-right to right-to-left") - (home-page "https://github.com/zohararad/rtlit") - (license license:expat))) - -(define-public ruby-test-prof - (package - (name "ruby-test-prof") - (version "1.0.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/test-prof/test-prof") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "092q3m56843yrd94xby2a29vg8kca4lirgvqlkmdjyjckmi3qdzr")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; seems to need running database - #:test-target "spec" ; not default, don't care about rubocop output - ;; cannot load such file -- standard/cop/semantic_blocks - )) - (native-inputs - `( - ("ruby-activerecord" ,ruby-activerecord) - ("ruby-fabrication" ,ruby-fabrication) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rubocop" ,ruby-rubocop) - ("ruby-sqlite3" ,ruby-sqlite3-1.3) - )) - (synopsis - " - Ruby applications tests profiling tools. - - Contains tools to analyze factories usage, integrate with Ruby profilers, - profile your examples using ActiveSupport notifications (if any) and - statically analyze your code with custom RuboCop cops. - ") - (description - " - Ruby applications tests profiling tools. - - Contains tools to analyze factories usage, integrate with Ruby profilers, - profile your examples using ActiveSupport notifications (if any) and - statically analyze your code with custom RuboCop cops. - ") - (home-page "https://test-prof.evilmartians.io/") - (license license:expat))) - -(define-public ruby-fabrication - (package - (name "ruby-fabrication") - (version "2.21.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "fabrication" version)) - (sha256 - (base32 - "1pdrl55xf76pbc5kjzp7diawxxvgbk2cm38532in6df823431n6z")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; TODO later - (synopsis - "Fabrication is an object generation framework for ActiveRecord, Mongoid, DataMapper, Sequel, or any other Ruby object.") - (description - "Fabrication is an object generation framework for ActiveRecord, Mongoid, DataMapper, Sequel, or any other Ruby object.") - (home-page "http://fabricationgem.org") - (license license:expat))) - -(define-public ruby-mock-redis - (package - (name "ruby-mock-redis") - (version "0.27.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "mock_redis" version)) - (sha256 - (base32 - "0fhwhp0w2n79k9ibmqhq09m88rp2jmr7dknx9ibn84wf7r8a3a8k")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; tests need a running redis server. - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "rspec")) - #t))))) - (propagated-inputs - `(("ruby-ruby2-keywords" ,ruby-ruby2-keywords))) - (native-inputs - `( - ("ruby-redis" ,ruby-redis) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rspec-its" ,ruby-rspec-its) - ("ruby-simplecov" ,ruby-simplecov) - ("ruby-timecop" ,ruby-timecop) - )) - (synopsis - "Instantiate one with `redis = MockRedis.new` and treat it like you would a normal Redis object. It supports all the usual Redis operations.") - (description - "Instantiate one with `redis = MockRedis.new` and treat it like you would a normal Redis object. It supports all the usual Redis operations.") - (home-page "https://github.com/sds/mock_redis") - (license license:expat))) - -(define-public ruby-certified - (package - (name "ruby-certified") - (version "1.0.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "certified" version)) - (sha256 - (base32 - "1706p6p0a8adyvd943af2a3093xakvislgffw3v9dvp7j07dyk5a")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile or tests - (synopsis - "Ensure net/https uses OpenSSL::SSL::VERIFY_PEER to verify SSL certificates and provides certificate bundle in case OpenSSL cannot find one") - (description - "Ensure net/https uses OpenSSL::SSL::VERIFY_PEER to verify SSL certificates and provides certificate bundle in case OpenSSL cannot find one") - (home-page "https://github.com/stevegraham/certified") - (license license:expat))) - -(define-public ruby-rspec-html-matchers - (package - (name "ruby-rspec-html-matchers") - (version "0.9.4") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rspec-html-matchers" version)) - (sha256 - (base32 - "0883rqv77n2wawnk5lp3la48l7pckyz8l013qddngzmksi5p1v3f")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no tests in gem release - (propagated-inputs - `(("ruby-nokogiri" ,ruby-nokogiri) - ("ruby-rspec" ,ruby-rspec))) - (synopsis - "Nokogiri based 'have_tag' and 'with_tag' matchers for rspec 3. Does not depend on assert_select matcher, provides useful error messages. -") - (description - "Nokogiri based 'have_tag' and 'with_tag' matchers for rspec 3. Does not depend on assert_select matcher, provides useful error messages. -") - (home-page "https://github.com/kucaahbe/rspec-html-matchers") - (license license:expat))) - -(define-public ruby-rswag-specs - (package - (name "ruby-rswag-specs") - (version "2.4.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rswag-specs" version)) - (sha256 - (base32 - "1dma3j5vfjhyclg8y0gsp44vs4wn9chf4jgfhc9r6ws018xrbxzd")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no tests in Rakefile - (propagated-inputs - `(("ruby-activesupport" ,ruby-activesupport) - ("ruby-json-schema" ,ruby-json-schema) - ("ruby-railties" ,ruby-railties))) - (synopsis - "Simplify API integration testing with a succinct rspec DSL and generate OpenAPI specification files directly from your rspecs. More about the OpenAPI initiative here: http://spec.openapis.org/") - (description - "Simplify API integration testing with a succinct rspec DSL and generate OpenAPI specification files directly from your rspecs. More about the OpenAPI initiative here: http://spec.openapis.org/") - (home-page "https://github.com/rswag/rswag") - (license license:expat))) - -(define-public ruby-uniform-notifier - (package - (name "ruby-uniform-notifier") - (version "1.13.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "uniform_notifier" version)) - (sha256 - (base32 - "05s2y76zqg391q65mvs1zsrmyn5bjxq3x54ikkqpqm3lzjjcg1pp")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; not clear how to successfully run tests - (native-inputs - `( - ("ruby-rspec" ,ruby-rspec) - )) - (synopsis "Uniform notifier for rails logger") - (description - "@code{uniform_notifier} is extracted from bullet, it gives you the ability to send notification through rails logger, customized logger, javascript alert, javascript console, growl, xmpp, airbrake and honeybadger.") - (home-page "https://rubygems.org/gems/uniform_notifier") - (license license:expat))) - -(define-public ruby-bullet - (package - (name "ruby-bullet") - (version "6.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "bullet" version)) - (sha256 - (base32 - "04wm807czdixpgnqp446vj8vc7dj96k26p90rmwll9ahlib37mmm")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; tests want rails' source directory - #:test-target "default" - #:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - #t))))) - (propagated-inputs - `(("ruby-activesupport" ,ruby-activesupport) - ("ruby-uniform-notifier" ,ruby-uniform-notifier))) - (synopsis - "help to kill N+1 queries and unused eager loading.") - (description - "help to kill N+1 queries and unused eager loading.") - (home-page "https://github.com/flyerhzm/bullet") - (license license:expat))) - -(define-public ruby-better-errors - (package - (name "ruby-better-errors") - (version "2.9.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/BetterErrors/better_errors") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "185im2i62j9f3sa0xzq8q806xlckypjmi3lwdivrzln4gw2l4z38")))) - (build-system ruby-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - ;; Don't specify version numbers. - (substitute* "better_errors.gemspec" - (("rake.*") "rake\"\n")) - (substitute* "Gemfile" - ((".*gem-release.*") "")) - #t))))) - (propagated-inputs - `(("ruby-coderay" ,ruby-coderay) - ("ruby-erubi" ,ruby-erubi) - ("ruby-rack" ,ruby-rack))) - (native-inputs - `( - ("ruby-kramdown" ,ruby-kramdown) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rspec-html-matchers" ,ruby-rspec-html-matchers) - ("ruby-rspec-its" ,ruby-rspec-its) - ("ruby-simplecov" ,ruby-simplecov) - ("ruby-simplecov-lcov" ,ruby-simplecov-lcov) - ("ruby-yard" ,ruby-yard) - )) - (synopsis "Error page for Rails and other Rack apps") - (description - "This package provides a better error page for Rails and other Rack apps. Includes source code inspection, a live REPL and local/instance variable inspection for all stack frames.") - (home-page "https://github.com/BetterErrors/better_errors") - (license license:expat))) - -;; 0.8.0 needs simplecov ~> 0.18 - -(define-public ruby-semver2 - (package - (name "ruby-semver2") - (version "3.4.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/haf/semver") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "10yj3vglkw8h1am80jpzkxq7l9ywbvd9fsdjg1mm0c33k1y2jw65")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "spec")) - (native-inputs - `( - ("ruby-rake-compiler" ,ruby-rake-compiler) - ("ruby-rspec" ,ruby-rspec) - )) - (synopsis - "maintain versions as per http://semver.org") - (description - "maintain versions as per http://semver.org") - (home-page "https://github.com/haf/semver") - (license license:expat))) - -(define-public ruby-descendants-tracker - (package - (name "ruby-descendants-tracker") - (version "0.0.4") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "descendants_tracker" version)) - (sha256 - (base32 - "15q8g3fcqyb41qixn6cky0k3p86291y7xsh1jfd851dvrza1vi79")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; old package is old - (propagated-inputs - `(("ruby-thread-safe" ,ruby-thread-safe))) - (native-inputs - `( - ;("ruby-devtools" ,ruby-devtools) - )) - (synopsis - "Module that adds descendant tracking to a class") - (description - "Module that adds descendant tracking to a class") - (home-page "https://github.com/dkubb/descendants_tracker") - (license license:expat))) - -(define-public ruby-github-api - (package - (name "ruby-github-api") - (version "0.19.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/piotrmurach/github") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "13ysd56b473m0yvjdxmqgia2w96m3qq29xzvpdqhz50xjid2mqk2")))) - (build-system ruby-build-system) - (arguments - `(;#:tests? #f ; tests depend on ruby-vcr, which is non-free - #:test-target "spec" ; default fails on the ':features' portion - #:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - ;; Don't specify version numbers. - (substitute* "github_api.gemspec" - (("cucumber.*") "cucumber\"\n") - (("vcr.*") "vcr\"\n") - ) - #t))))) - (propagated-inputs - `(("ruby-addressable" ,ruby-addressable) - ("ruby-descendants-tracker" ,ruby-descendants-tracker) - ("ruby-faraday" ,ruby-faraday) - ("ruby-hashie" ,ruby-hashie) - ("ruby-oauth2" ,ruby-oauth2))) - (native-inputs - `( - ("ruby-cucumber" ,ruby-cucumber) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rspec-its" ,ruby-rspec-its) - ("ruby-vcr" ,ruby-vcr) - ("ruby-webmock" ,ruby-webmock) - )) - (synopsis "Ruby client of GitHub API methods") - (description - "This package provides a Ruby client that supports all of the GitHub API methods.") - (home-page "https://piotrmurach.github.io/github/") - (license license:expat))) - -(define-public ruby-jeweler - (package - (name "ruby-jeweler") - (version "2.3.9") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "jeweler" version)) - (sha256 - (base32 - "0jbivh9vf9wm91kwjnlcvswqyk2g24bnxj9gavinx9jh4bphagi5")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-builder" ,ruby-builder) - ("bundler" ,bundler) - ("ruby-git" ,ruby-git) - ("ruby-github-api" ,ruby-github-api) - ("ruby-highline" ,ruby-highline) - ("ruby-nokogiri" ,ruby-nokogiri) - ("ruby-psych" ,ruby-psych) - ("ruby-rake" ,ruby-rake) - ("ruby-rdoc" ,ruby-rdoc) - ("ruby-semver2" ,ruby-semver2))) - (synopsis - "Simple and opinionated helper for creating Rubygem projects on GitHub") - (description - "Simple and opinionated helper for creating Rubygem projects on GitHub") - (home-page "https://github.com/technicalpickles/jeweler") - (license license:expat))) - -;; 5.0.0 is the last version under a free license. 5.1.0+ are under the Hippocratic License -(define-public ruby-vcr - (package - (name "ruby-vcr") - (version "5.0.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/vcr/vcr") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1anich4cgjz7adbk1sh07q494dgb757np74qdiz0nwjzl41s6iyp")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; TODO: figure out test suite - #:test-target "default")) - (native-inputs - `( - ("ruby-codeclimate-test-reporter" ,ruby-codeclimate-test-reporter) - ("ruby-cucumber" ,ruby-cucumber) - ("ruby-rspec" ,ruby-rspec) - ("ruby-simplecov" ,ruby-simplecov) - )) - (synopsis - "Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.") - (description - "Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.") - (home-page "https://relishapp.com/vcr/vcr/docs") - (license license:expat))) - -(define-public ruby-annotate - (package - (name "ruby-annotate") - (version "3.1.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "annotate" version)) - (sha256 - (base32 - "1dxrfppwfg13vqmambbs56xjj8qsdgcy58r2yc44vvy3z1g5yflw")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no tests in gem - (propagated-inputs - `(("ruby-activerecord" ,ruby-activerecord) - ("ruby-rake" ,ruby-rake))) - (synopsis - "Annotates Rails/ActiveRecord Models, routes, fixtures, and others based on the database schema.") - (description - "Annotates Rails/ActiveRecord Models, routes, fixtures, and others based on the database schema.") - (home-page "https://github.com/ctran/annotate_models") - (license (license:non-copyleft - "will fill in later")))) - -(define-public ruby-flamegraph - (package - (name "ruby-flamegraph") - (version "0.9.5") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "flamegraph" version)) - (sha256 - (base32 - "1p785nmhdzbwj0qpxn5fzrmr4kgimcds83v4f95f387z6w3050x6")))) - (build-system ruby-build-system) - (synopsis - "Flamegraph support for arbitrary ruby apps") - (description - "Flamegraph support for arbitrary ruby apps") - (home-page "https://github.com/SamSaffron/flamegraph") - (license license:expat))) - -(define-public ruby-optimist - (package - (name "ruby-optimist") - (version "3.0.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "optimist" version)) - (sha256 - (base32 - "1vg2chy1cfmdj6c1gryl8zvjhhmb3plwgyh1jfnpq4fnfqv7asrk")))) - (build-system ruby-build-system) - (native-inputs - `( - ;; https://github.com/ManageIQ/optimist/issues/109 - ("ruby-chronic" ,ruby-chronic) - )) - (synopsis - "Optimist is a commandline option parser for Ruby that just -gets out of your way. One line of code per option is all you need to write. -For that, you get a nice automatically-generated help page, robust option -parsing, command subcompletion, and sensible defaults for everything you don't -specify.") - (description - "Optimist is a commandline option parser for Ruby that just -gets out of your way. One line of code per option is all you need to write. -For that, you get a nice automatically-generated help page, robust option -parsing, command subcompletion, and sensible defaults for everything you don't -specify.") - (home-page "https://manageiq.github.io/optimist/") - (license license:expat))) - -;; TODO: Unbundle msgpack -(define-public ruby-rbtrace - (package - (name "ruby-rbtrace") - (version "0.4.14") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rbtrace" version)) - (sha256 - (base32 - "0s8prj0klfgpmpfcpdzbf149qrrsdxgnb6w6kkqc9gyars4vyaqn")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; no test suite - #:phases - (modify-phases %standard-phases - (add-before 'build 'build-msgpack-library - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((msgpack (assoc-ref inputs "msgpack"))) - ;; Don't try to build msgpack during 'install - (substitute* "rbtrace.gemspec" - ((".*s.extensions.*") "")) - - ;; Use shared library, built with -fPIC - (substitute* "ext/extconf.rb" - (("libmsgpackc.a") "libmsgpackc.so") - (("libmsgpackc_ext.a") "libmsgpackc_ext.so")) - - (mkdir-p "ext/dst/lib") - (mkdir-p "ext/dst/include") - (symlink (string-append msgpack "/lib/libmsgpackc.so") - "ext/dst/lib/libmsgpackc.so") - (symlink (string-append msgpack "/include/msgpack.h") - "ext/dst/include/msgpack.h") - - ;; compile the rbtrace binary, linking to msgpack - (setenv "CC" ,(cc-for-target)) - (with-directory-excursion "ext" - (invoke "ruby" "extconf.rb") - (invoke "make")) - #t)))))) - (propagated-inputs - `(("ruby-ffi" ,ruby-ffi) - ("ruby-msgpack" ,ruby-msgpack) - ("ruby-optimist" ,ruby-optimist))) - (inputs - `(("msgpack" ,(@ (gnu packages serialization) msgpack)))) - (synopsis - "rbtrace shows you method calls happening inside another ruby process in real time.") - (description - "rbtrace shows you method calls happening inside another ruby process in real time.") - (home-page "https://github.com/tmm1/rbtrace") - (license license:expat))) - -(define-public ruby-gc-tracer - (package - (name "ruby-gc-tracer") - (version "1.5.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "gc_tracer" version)) - (sha256 - (base32 - "1yv3mp8lx74lfzs04fd5h4g89209iwhzpc407y35p7cmzgx6a4kv")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "default")) - (native-inputs - `( - ("ruby-rake-compiler" ,ruby-rake-compiler) - ("ruby-rspec" ,ruby-rspec) - )) - (synopsis - "gc_tracer gem adds GC::Tracer module.") - (description - "gc_tracer gem adds GC::Tracer module.") - (home-page "https://github.com/ko1/gc_tracer") - (license license:expat))) - -(define-public ruby-guess-html-encoding - (package - (name "ruby-guess-html-encoding") - (version "0.0.11") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "guess_html_encoding" version)) - (sha256 - (base32 - "16700fk6kmif3q3kpc1ldhy3nsc9pkxlgl8sqhznff2zjj5lddna")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "default")) - (native-inputs - `( - ("ruby-rspec" ,ruby-rspec) - )) - (synopsis - "A small gem that attempts to guess and then force encoding of HTML documents for Ruby 1.9") - (description - "This package provides a small gem that attempts to guess and then force encoding of HTML documents for Ruby 1.9") - (home-page "https://github.com/cantino/guess_html_encoding") - (license license:expat))) - -(define-public ruby-ruby-readability - (package - (name "ruby-ruby-readability") - (version "0.7.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "ruby-readability" version)) - (sha256 - (base32 - "15ivhbry7hf82lww1bzcrwfyjymijfb3rb0wdd32g2z0942wdspa")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; ':spec" fails with newer ruby versions - #:test-target "default")) - (propagated-inputs - `(("ruby-guess-html-encoding" ,ruby-guess-html-encoding) - ("ruby-nokogiri" ,ruby-nokogiri))) - (native-inputs - `( - ("ruby-rspec" ,ruby-rspec) - )) - (synopsis - "Port of arc90's readability project to ruby") - (description - "Port of arc90's readability project to ruby") - (home-page "https://github.com/cantino/ruby-readability") - (license (license:non-copyleft - "will fill in later")))) - -;; TODO: 0.3.3 never finishes the install phase with ruby-2.6 -;; TODO: Unbundle cppjieba -(define-public ruby-cppjieba-rb - (package - (name "ruby-cppjieba-rb") - (version "0.3.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "cppjieba_rb" version)) - (sha256 - (base32 - "1sslff7yy8jvp4rcn1b6jn9v0d3iibb68i79shgd94rs2yq8k117")))) - (build-system ruby-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'build 'pre-build - (lambda _ - (invoke "rake" "compile")))))) - (native-inputs - `(("ruby-rake-compiler" ,ruby-rake-compiler))) - (synopsis "Cppjieba binding for Ruby") - (description - "This package provides Ruby bindles for @code{cppjieba}, a library to help -with processing Chinese text.") - (home-page "https://github.com/fantasticfears/cppjieba_rb") - (license license:expat))) - -(define-public ruby-request-store - (package - (name "ruby-request-store") - (version "1.5.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "request_store" version)) - (sha256 - (base32 - "0cx74kispmnw3ljwb239j65a2j14n8jlsygy372hrsa8mxc71hxi")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-rack" ,ruby-rack))) - (synopsis - "RequestStore gives you per-request global storage.") - (description - "RequestStore gives you per-request global storage.") - (home-page "https://github.com/steveklabnik/request_store") - (license license:expat))) - -(define-public ruby-lograge - (package - (name "ruby-lograge") - (version "0.11.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/roidrage/lograge") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1dlxzv0xjnjs95l4fzr1wcf2l7klnhji0fv51gl6wvkjpjdr9zcy")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; cannot find logstash-event - #:test-target "spec" ; not default, rubocop compains about all the things - #:phases - (modify-phases %standard-phases - (replace 'replace-git-ls-files - (lambda _ - (substitute* "lograge.gemspec" - (("git ls-files lib LICENSE.txt") - "find lib LICENSE.txt -type f | sort")) - #t)) - (add-before 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - #t))))) - (propagated-inputs - `(("ruby-actionpack" ,ruby-actionpack) - ("ruby-activesupport" ,ruby-activesupport) - ("ruby-railties" ,ruby-railties) - ("ruby-request-store" ,ruby-request-store))) - (native-inputs - `( - ("ruby-activerecord" ,ruby-activerecord) - ("ruby-lines" ,ruby-lines) - ("ruby-logstash-event" ,ruby-logstash-event) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rubocop" ,ruby-rubocop) - )) - (synopsis - "Tame Rails' multi-line logging into a single line per request") - (description - "Tame Rails' multi-line logging into a single line per request") - (home-page "https://github.com/roidrage/lograge") - (license license:expat))) - -(define-public ruby-logstash-event - (package - (name "ruby-logstash-event") - (version "1.2.02") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "logstash-event" version)) - (sha256 - (base32 - "1bk7fhhryjxp1klr3hq6i6srrc21wl4p980bysjp0w66z9hdr9w9")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; no rakefile - (synopsis - "Library that contains the classes required to create LogStash events") - (description - "Library that contains the classes required to create LogStash events") - (home-page "https://github.com/logstash/logstash") - (license license:asl2.0))) - -(define-public ruby-lines - (package - (name "ruby-lines") - (version "0.9.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "lines" version)) - (sha256 - (base32 - "17hrpvqvc2li4rjnk75xy5qvylk0vg0z8if7q1m00al79d0mpbma")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "default")) - (native-inputs - `(("ruby-rspec" ,ruby-rspec))) - (synopsis - "Readable log format for humans and computers") - (description - "This package provides a log format that's readable by humans and easily parseable by computers.") - (home-page "https://github.com/zimbatm/lines-ruby") - (license license:expat))) - -(define-public ruby-logstash-logger - (package - (name "ruby-logstash-logger") - (version "0.26.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "logstash-logger" version)) - (sha256 - (base32 - "1nh0jgz4rl46axqb9l0fa866kh34wb7yf11qc3j30xhprdqb8yjp")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; incompatable dependencies on simplecov - #:phases - (modify-phases %standard-phases - (add-before 'check 'pre-check - (lambda _ - (setenv "HOME" (getcwd)) - #t))))) - (propagated-inputs - `(("ruby-logstash-event" ,ruby-logstash-event))) - (native-inputs - `( - ("ruby-appraisal" ,ruby-appraisal) - ("ruby-aws-sdk-firehose" ,ruby-aws-sdk-firehose) - ("ruby-aws-sdk-kinesis" ,ruby-aws-sdk-kinesis) - ("ruby-codeclimate-test-reporter" ,ruby-codeclimate-test-reporter) - ("ruby-codecov" ,ruby-codecov) - ("ruby-poseidon" ,ruby-poseidon) - ("ruby-pry" ,ruby-pry) - ("ruby-rails" ,ruby-rails) - ("ruby-redis" ,ruby-redis) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rubocop" ,ruby-rubocop) - ("ruby-wwtd" ,ruby-wwtd) - )) - (synopsis - "Ruby logger that writes directly to LogStash") - (description - "Ruby logger that writes directly to LogStash") - (home-page "https://github.com/dwbutler/logstash-logger") - (license license:expat))) - -(define-public ruby-poseidon - (package - (name "ruby-poseidon") - (version "0.0.5") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "poseidon" version)) - (sha256 - (base32 - "0lxavrybqwa3xmsajvxp0ngqmn4jxw9q93398yxzdrx83i8a7l8p")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "default")) - (native-inputs - `( - ("ruby-coveralls" ,ruby-coveralls) - ("ruby-rspec" ,ruby-rspec) - ("ruby-simplecov" ,ruby-simplecov) - ("ruby-snappy" ,ruby-snappy) - )) - (synopsis - "A Kafka (http://kafka.apache.org/) producer and consumer") - (description - "This package provides a Kafka (http://kafka.apache.org/) producer and consumer") - (home-page "https://github.com/bpot/poseidon") - (license license:expat))) - -(define-public ruby-snappy - (package - (name "ruby-snappy") - (version "0.2.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "snappy" version)) - (sha256 - (base32 - "0xl54r1vvrhlkxf16mxqk4kz18j0igf1f7l66kqd9dbyv6x99zfg")))) - (build-system ruby-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - ;; Test "VERSION" fails for unknown reasons - (delete-file "test/snappy_test.rb") - (with-output-to-file "test/snappy_test.rb" - (lambda _ "")) - #t))))) - (inputs - `( - ("snappy" ,snappy) - )) - (native-inputs - `( - ("ruby-rake" ,ruby-rake) - ("ruby-test-unit-rr" ,ruby-test-unit-rr) - )) - (synopsis "libsnappy binding for Ruby") - (description "libsnappy binding for Ruby") - (home-page "https://github.com/miyucy/snappy") - (license license:expat))) - -(define-public ruby-test-unit-rr - (package - (name "ruby-test-unit-rr") - (version "1.0.5") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "test-unit-rr" version)) - (sha256 - (base32 - "0l42wxvqqd4g1968syy1wmr4j9z3cad8v5vv22lr7my4wjgz0sil")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-rr" ,ruby-rr) - ("ruby-test-unit" ,ruby-test-unit))) - (native-inputs - `( - ("ruby-packnga" ,ruby-packnga) - )) - (synopsis - "You don't need RR setup codes with test-unit-rr. You just require -\"test/unit/rr\". -") - (description - "You don't need RR setup codes with test-unit-rr. You just require -\"test/unit/rr\". -") - (home-page "https://github.com/test-unit/test-unit-rr") - (license (license:non-copyleft - "will fill in later")))) - -(define-public ruby-aws-sdk-kinesis - (package - (name "ruby-aws-sdk-kinesis") - (version "1.31.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "aws-sdk-kinesis" version)) - (sha256 - (base32 - "1wsnn4303q7501xp10gfr8s15cazm4a0xy8knz5b8pmaw93x0g4b")))) - (build-system ruby-build-system) - (arguments `(#:tests? #f)) ; no tests - (propagated-inputs - `(("ruby-aws-sdk-core" ,ruby-aws-sdk-core) - ("ruby-aws-sigv4" ,ruby-aws-sigv4))) - (synopsis - "Official AWS Ruby gem for Amazon Kinesis (Kinesis). This gem is part of the AWS SDK for Ruby.") - (description - "Official AWS Ruby gem for Amazon Kinesis (Kinesis). This gem is part of the AWS SDK for Ruby.") - (home-page "https://github.com/aws/aws-sdk-ruby") - (license license:asl2.0))) - -(define-public ruby-aws-sdk-firehose - (package - (name "ruby-aws-sdk-firehose") - (version "1.36.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "aws-sdk-firehose" version)) - (sha256 - (base32 - "0ji75vqfprnkjsy6gdk9qci6wd9kwm7h7lycpx7jsw0fbv6hjx0p")))) - (build-system ruby-build-system) - (arguments `(#:tests? #f)) ; no tests - (propagated-inputs - `(("ruby-aws-sdk-core" ,ruby-aws-sdk-core) - ("ruby-aws-sigv4" ,ruby-aws-sigv4))) - (synopsis - "Official AWS Ruby gem for Amazon Kinesis Firehose (Firehose). This gem is part of the AWS SDK for Ruby.") - (description - "Official AWS Ruby gem for Amazon Kinesis Firehose (Firehose). This gem is part of the AWS SDK for Ruby.") - (home-page "https://github.com/aws/aws-sdk-ruby") - (license license:asl2.0))) - -(define-public ruby-codecov - (package - (name "ruby-codecov") - (version "0.4.3") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/codecov/codecov-ruby") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "01x1n0j2awnpbnhzhsc058ni8bh2zw3vasbz9gkivydgv2r8xkpd")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) ; can't install gem - (propagated-inputs - `(("ruby-simplecov" ,ruby-simplecov))) - (synopsis "Hosted code coverage Ruby reporter") - (description - "Hosted code coverage Ruby reporter.") - (home-page "https://github.com/codecov/codecov-ruby") - (license license:expat))) - -(define-public ruby-rotp - (package - (name "ruby-rotp") - (version "6.2.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rotp" version)) - (sha256 - (base32 - "11q7rkjx40yi6lpylgl2jkpy162mjw7mswrcgcax86vgpbpjx6i3")))) - (build-system ruby-build-system) - (arguments - `( - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "rspec")) - #t))))) - (native-inputs - `( - ("ruby-rspec" ,ruby-rspec) - ("ruby-simplecov" ,ruby-simplecov) - ("ruby-timecop" ,ruby-timecop) - )) - (synopsis - "Works for both HOTP and TOTP, and includes QR Code provisioning") - (description - "Works for both HOTP and TOTP, and includes QR Code provisioning") - (home-page "https://github.com/mdp/rotp") - (license license:expat))) - -(define-public ruby-sshkey - (package - (name "ruby-sshkey") - (version "2.0.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "sshkey" version)) - (sha256 - (base32 - "03bkn55qsng484iqwz2lmm6rkimj01vsvhwk661s3lnmpkl65lbp")))) - (build-system ruby-build-system) - (synopsis - "Generate private/public SSH keypairs using pure Ruby") - (description - "Generate private/public SSH keypairs using pure Ruby") - (home-page "https://github.com/bensie/sshkey") - (license license:expat))) - -(define-public ruby-rchardet - (package - (name "ruby-rchardet") - (version "1.8.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jmhodges/rchardet") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "12xcc4dq0k5gq5r142n7rr34lirfyzlkdh5by64cwz0bg5jfn8il")))) - (build-system ruby-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'replace-git-ls-files) - (add-before 'build 'delete-gemfile-lock - (lambda _ - (delete-file "Gemfile.lock") - #t)) - ))) - (native-inputs - `( - ("ruby-bump" ,ruby-bump) - ("ruby-minitest-rg" ,ruby-minitest-rg) - ("ruby-wwtd" ,ruby-wwtd) - )) - (synopsis - "Character encoding auto-detection in Ruby. As smart as your browser. Open source.") - (description - "Character encoding auto-detection in Ruby. As smart as your browser. Open source.") - (home-page "https://github.com/jmhodges/rchardet") - (license license:lgpl2.1+))) - -(define-public ruby-lz4-ruby - (package - (name "ruby-lz4-ruby") - (version "0.3.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "lz4-ruby" version)) - (sha256 - (base32 - "12fymsvcb9kw6ycyfzc8b9svriq0afqf1qnl121xrz8c4gpfa6q1")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f ; tests require ruby-jeweler - #:phases - (modify-phases %standard-phases - (delete 'replace-git-ls-files) - (add-after 'unpack 'patch-source - (lambda _ - (substitute* "Gemfile" - (("\\\", .*") "\"\n") - ;; NO JEWELER! - ((".*jeweler.*") "") - ) - #t)) - ))) - (native-inputs - `( - ;("ruby-rdoc" ,ruby-rdoc) - ("ruby-rake-compiler" ,ruby-rake-compiler) - ("ruby-rspec" ,ruby-rspec) - )) - (synopsis - "Ruby bindings for LZ4. LZ4 is a very fast lossless compression algorithm.") - (description - "Ruby bindings for LZ4. LZ4 is a very fast lossless compression algorithm.") - (home-page "https://github.com/komiya-atsushi/lz4-ruby") - (license license:expat))) - -(define-public ruby-webpush - (package - (name "ruby-webpush") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "webpush" version)) - (sha256 - (base32 - "1z9ma580q80czw46gi1bvsr2iwxr63aiyr7i9gilav6hbhg3sxv3")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "default")) - (propagated-inputs - `(("ruby-hkdf" ,ruby-hkdf) - ("ruby-jwt" ,ruby-jwt))) - (native-inputs - `( - ("ruby-rspec" ,ruby-rspec) - )) - (synopsis - "Encryption Utilities for Web Push payload.") - (description - "Encryption Utilities for Web Push payload.") - (home-page "https://github.com/zaru/webpush") - (license license:expat))) - -(define-public ruby-colored2 - (package - (name "ruby-colored2") - (version "3.1.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "colored2" version)) - (sha256 - (base32 - "0jlbqa9q4mvrm73aw9mxh23ygzbjiqwisl32d8szfb5fxvbjng5i")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "default")) - (synopsis - "This is a heavily modified fork of http://github.com/defunkt/colored gem, with many -sensible pull requests combined. Since the authors of the original gem no longer support it, -this might, perhaps, be considered a good alternative. - -Simple gem that adds various color methods to String class, and can be used as follows: - - require 'colored2' - - puts 'this is red'.red - puts 'this is red with a yellow background'.red.on.yellow - puts 'this is red with and italic'.red.italic - puts 'this is green bold'.green.bold << ' and regular'.green - puts 'this is really bold blue on white but reversed'.bold.blue.on.white.reversed - puts 'this is regular, but '.red! << 'this is red '.yellow! << ' and yellow.'.no_color! - puts ('this is regular, but '.red! do - 'this is red '.yellow! do - ' and yellow.'.no_color! - end - end) - -") - (description - "This is a heavily modified fork of http://github.com/defunkt/colored gem, with many -sensible pull requests combined. Since the authors of the original gem no longer support it, -this might, perhaps, be considered a good alternative. - -Simple gem that adds various color methods to String class, and can be used as follows: - - require 'colored2' - - puts 'this is red'.red - puts 'this is red with a yellow background'.red.on.yellow - puts 'this is red with and italic'.red.italic - puts 'this is green bold'.green.bold << ' and regular'.green - puts 'this is really bold blue on white but reversed'.bold.blue.on.white.reversed - puts 'this is regular, but '.red! << 'this is red '.yellow! << ' and yellow.'.no_color! - puts ('this is regular, but '.red! do - 'this is red '.yellow! do - ' and yellow.'.no_color! - end - end) - -") - (home-page "https://github.com/kigster/colored2") - (license license:expat))) - -(define-public ruby-rails-failover - (package - (name "ruby-rails-failover") - (version "0.6.5") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rails_failover" version)) - (sha256 - (base32 - "1s8yfpam6qfs2bj596rfwhcgb4pjamg93ijqpa8c5d207sm45a07")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "default" - #:tests? #f)) ; cannot load such file -- spec_helper - (propagated-inputs - `(("ruby-activerecord" ,ruby-activerecord) - ("ruby-concurrent-ruby" ,ruby-concurrent) - ("ruby-railties" ,ruby-railties))) - (native-inputs - `( - ("ruby-rspec" ,ruby-rspec) - )) - (synopsis "Failover for ActiveRecord and Redis") - (description - "Failover for ActiveRecord and Redis") - (home-page "https://github.com/discourse/rails_failover") - (license license:expat))) - -(define-public ruby-regressiontest - (package - (name "ruby-regressiontest") - (version "0.0.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "regressiontest" version)) - (sha256 - (base32 - "03y5ksab6ybd2d586zmihpn2hzvqrxb9pfzh5i6a8f2ivcrfqn9k")))) - (build-system ruby-build-system) - (propagated-inputs - `(("ruby-shoulda" ,ruby-shoulda))) - (synopsis - "Regression testing for the command line, and library API") - (description - "Regression testing for the command line, and library API") - (home-page - "http://github.com/pjotrp/regressiontest") - (license license:expat))) - -(define-public ruby-lmdb ; note you may need to explicitly use ruby@3.3.8 to run the extension - the guix default - (package - (name "ruby-lmdb") - (version "0.6.5") - (source (origin - (method url-fetch) - (uri (rubygems-uri "lmdb" version)) - (sha256 - (base32 - "094vwmp97av17k9sf8f42i308240a8aikbp3hf1f8wabcy7c7ar2")))) - (build-system ruby-build-system) - (inputs - (list lmdb)) - (native-inputs - `(("ruby-rake" ,ruby-rake) - ("ruby-rake-compiler" ,ruby-rake-compiler) - ("ruby-rspec" ,ruby-rspec) - ("ruby-ruby-memcheck" ,ruby-ruby-memcheck) - )) - (arguments - `(#:tests? #f)) - (synopsis "lmdb is a Ruby binding to OpenLDAP Lightning MDB.") - (description "lmdb is a Ruby binding to OpenLDAP Lightning MDB.") - (home-page "https://github.com/doriantaylor/rb-lmdb") - (license license:expat))) ;; note that all these license statements need to be checked! - -(define-public ruby-unicode-types - (package - (name "ruby-unicode-types") - (version "1.10.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "unicode-types" version)) - (sha256 - (base32 "1mif6v3wlfpb69scikpv7i4zq9rhj19px23iym6j8m3wnnh7d2wi")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) - (synopsis - "[Unicode 16.0.0] Determines the very basic type of codepoints (one of: Graphic, Format, Control, Private-use, Surrogate, Noncharacter, Reserved)") - (description - "[Unicode 16.0.0] Determines the very basic type of codepoints (one of: Graphic, -Format, Control, Private-use, Surrogate, Noncharacter, Reserved).") - (home-page "https://github.com/janlelis/unicode-types") - (license license:expat))) - -(define-public ruby-sxp - (package - (name "ruby-sxp") - (version "2.0.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "sxp" version)) - (sha256 - (base32 "08a7ha191gdc1n1pwaqgsx133wy1p1g4fchkhr5gx0jannx1p5vr")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) - (propagated-inputs (list ruby-matrix ruby-rdf)) - (synopsis - "Universal S-expression parser with specific support for Common Lisp, Scheme, and RDF/SPARQL") - (description - "Universal S-expression parser with specific support for Common Lisp, Scheme, and -RDF/SPARQL.") - (home-page "https://github.com/dryruby/sxp") - (license license:expat))) - -(define-public ruby-scanf - (package - (name "ruby-scanf") - (version "1.0.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "scanf" version)) - (sha256 - (base32 "000vxsci3zq8m1wl7mmppj7sarznrqlm6v2x2hdfmbxcwpvvfgak")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) - (synopsis "scanf is an implementation of the C function scanf(3).") - (description "scanf is an implementation of the C function scanf(3).") - (home-page "https://github.com/ruby/scanf") - (license license:expat))) - -(define-public ruby-ebnf - (package - (name "ruby-ebnf") - (version "2.6.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "ebnf" version)) - (sha256 - (base32 "0gpnphpp7qcdjh9vrj8bfrb3k54lq7pk7p23w92wr1d8r8ba6ip7")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) - (propagated-inputs (list ruby-base64 - ruby-htmlentities - ruby-rdf - ruby-scanf - ruby-sxp - ruby-unicode-types)) - (synopsis - "EBNF is a Ruby parser for W3C EBNF and a parser generator for PEG and LL(1). Also includes parsing modes for ISO EBNF and ABNF.") - (description - "EBNF is a Ruby parser for W3C EBNF and a parser generator for PEG and LL(1). -Also includes parsing modes for ISO EBNF and ABNF.") - (home-page "https://github.com/dryruby/ebnf") - (license license:expat))) - -(define-public ruby-bigdecimal - (package - (name "ruby-bigdecimal") - (version "3.2.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "bigdecimal" version)) - (sha256 - (base32 "1p2szbr4jdvmwaaj2kxlbv1rp0m6ycbgfyp0kjkkkswmniv5y21r")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) - (synopsis - "This library provides arbitrary-precision decimal floating-point number class.") - (description - "This library provides arbitrary-precision decimal floating-point number class.") - (home-page "https://github.com/ruby/bigdecimal") - (license license:expat))) - -(define-public ruby-rdf-turtle - (package - (name "ruby-rdf-turtle") - (version "3.3.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rdf-turtle" version)) - (sha256 - (base32 "0irnlxnrkdqsk5wkjj51rwyj59lcj4j8y24s9yxplbksjy4vxwxs")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) - (propagated-inputs (list ruby-base64 ruby-bigdecimal ruby-ebnf ruby-rdf)) - (synopsis - "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite.") - (description - "RDF::Turtle is an Turtle reader/writer for the RDF.rb library suite.") - (home-page "https://github.com/ruby-rdf/rdf-turtle") - (license license:unlicense))) - -(define-public ruby-readline - (package - (name "ruby-readline") - (version "0.0.4") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "readline" version)) - (sha256 - (base32 "0shxkj3kbwl43rpg490k826ibdcwpxiymhvjnsc85fg2ggqywf31")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) - (propagated-inputs (list ruby-reline)) - (synopsis - "This is just a loader for \"readline\". If Ruby has the \"readline-ext\" gem -that is a native extension, this gem will load it. If Ruby does not have -the \"readline-ext\" gem this gem will load \"reline\", a library that is -compatible with the \"readline-ext\" gem and implemented in pure Ruby. -") - (description - "This is just a loader for \"readline\". If Ruby has the \"readline-ext\" gem that -is a native extension, this gem will load it. If Ruby does not have the -\"readline-ext\" gem this gem will load \"reline\", a library that is compatible -with the \"readline-ext\" gem and implemented in pure Ruby.") - (home-page "https://github.com/ruby/readline") - (license license:expat))) - -(define-public ruby-ostruct - (package - (name "ruby-ostruct") - (version "0.6.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "ostruct" version)) - (sha256 - (base32 "04nrir9wdpc4izqwqbysxyly8y7hsfr4fsv69rw91lfi9d5fv8lm")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) - (synopsis "Class to build custom data structures, similar to a Hash.") - (description "Class to build custom data structures, similar to a Hash.") - (home-page "https://github.com/ruby/ostruct") - (license license:expat))) - -(define-public ruby-logger - (package - (name "ruby-logger") - (version "1.7.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "logger" version)) - (sha256 - (base32 "00q2zznygpbls8asz5knjvvj2brr3ghmqxgr83xnrdj4rk3xwvhr")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) - (synopsis "Provides a simple logging utility for outputting messages.") - (description - "This package provides a simple logging utility for outputting messages.") - (home-page "https://github.com/ruby/logger") - (license license:expat))) - -(define-public ruby-bcp47-spec - (package - (name "ruby-bcp47-spec") - (version "0.2.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "bcp47_spec" version)) - (sha256 - (base32 "043qld01c163yc7fxlar3046dac2833rlcg44jbbs9n1jvgjxmiz")))) - (build-system ruby-build-system) - (arguments - `(#:tests? #f)) - (synopsis "A subset of the BCP 47 spec.") - (description "This package provides a subset of the BCP 47 spec.") - (home-page "https://github.com/dadah89/bcp47_spec") - (license license:expat))) - -(define-public ruby-rdf - (package - (name "ruby-rdf") - (version "3.3.4") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rdf" version)) - (sha256 - (base32 "1har1346p7jwrs89d5w1gv98jk2nh3cwkdyvkzm2nkjv3s1a0zx7")))) - (build-system ruby-build-system) - (propagated-inputs (list ruby-bcp47-spec - ruby-bigdecimal - ruby-link-header - ruby-logger - ruby-ostruct - ruby-readline)) - (arguments - `(#:tests? #f)) - (synopsis - "RDF.rb is a pure-Ruby library for working with Resource Description Framework (RDF) data.") - (description - "RDF.rb is a pure-Ruby library for working with Resource Description Framework -(RDF) data.") - (home-page "https://github.com/ruby-rdf/rdf") - (license license:unlicense))) - -(define-public ruby-rdf-raptor - (let ((commit "6392cea")) - (package - (name "ruby-rdf-raptor") - (version "3.3.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ruby-rdf/rdf-raptor") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "1mqdddn8s3j0j7gqw0v34jw5cxg2mkka1x9fx46vy38v15m8bbn1")))) - (build-system ruby-build-system) - (propagated-inputs (list ruby-ffi ruby-rdf raptor2)) - (arguments - `(#:tests? #f)) - (synopsis - "RDF.rb plugin for parsing/serializing NTriples, RDF/XML, Turtle and RDFa data using the Raptor RDF Parser library.") - (description - "RDF.rb plugin for parsing/serializing NTriples, RDF/XML, Turtle and RDFa data -using the Raptor RDF Parser library.") - (home-page "https://github.com/ruby-rdf/rdf-raptor") - (license license:unlicense)))) diff --git a/gn/packages/traefik.scm b/gn/packages/traefik.scm deleted file mode 100644 index d77ec93..0000000 --- a/gn/packages/traefik.scm +++ /dev/null @@ -1,52 +0,0 @@ -(define-module (gn packages traefik) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system trivial) - #:use-module (gnu packages base) - #:use-module (gnu packages compression)) - -(define-public traefik - (package - (name "traefik") - (version "2.0.4") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/containous/traefik/" - "releases/download/v" version - "/traefik_v" version "_linux_amd64.tar.gz")) - (sha256 - (base32 - "0i0c2d647ks7x3p8l46rslrmnasdk88a6caq1c6diy3ngdcwik23")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (bin (string-append out "/bin")) - (target (string-append bin "/traefik")) - (gzip (assoc-ref %build-inputs "gzip")) - (tar (assoc-ref %build-inputs "tar")) - (source (assoc-ref %build-inputs "source"))) - (setenv "PATH" (string-append gzip "/bin")) - (invoke (string-append tar "/bin/tar") "xvf" source) - (install-file "traefik" bin) - (install-file "LICENSE.md" (string-append out "/share/doc/" - ,name "-" ,version))) - #t))) - (native-inputs - `(("gzip" ,gzip) - ("source" ,source) - ("tar" ,tar))) - (home-page "https://traefik.io/") - (synopsis "Cloud Native Edge Router") - (description "Traefik (pronounced traffic) is a modern HTTP reverse proxy -and load balancer that makes deploying microservices easy. Traefik integrates -with your existing infrastructure components (Docker, Swarm mode, Kubernetes, -Marathon, Consul, Etcd, Rancher, Amazon ECS, ...) and configures itself -automatically and dynamically. Pointing Traefik at your orchestrator should be -the only configuration step you need.") - (supported-systems '("x86_64-linux")) - (license license:expat))) diff --git a/gn/packages/twint.scm b/gn/packages/twint.scm deleted file mode 100644 index a9d8476..0000000 --- a/gn/packages/twint.scm +++ /dev/null @@ -1,150 +0,0 @@ -(define-module (gn packages twint) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (gnu packages) - #:use-module (guix build-system pyproject) - #:use-module (guix build-system python) - #:use-module (guix gexp) - #:use-module (guix git-download) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (gnu packages check) - #:use-module (gnu packages geo) - #:use-module (gnu packages python) - #:use-module (gnu packages python-build) - #:use-module (gnu packages python-web) - #:use-module (gnu packages python-science) - #:use-module (gnu packages python-xyz) - #:use-module (gnu packages sphinx) - #:use-module (gnu packages time)) - -(define-public python-googletransx - (package - (name "python-googletransx") - (version "2.4.2") - (source - (origin - (method url-fetch) - (uri (pypi-uri "googletransx" version)) - (sha256 - (base32 - "1nnn08cqc57d8lq1qp82fazk1x83ccdi410hmzlbnajw6vinfrf4")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) - (propagated-inputs - `(("python-requests" ,python-requests))) - (home-page - "https://github.com/x0rkov/py-googletrans") - (synopsis - "Free Google Translate API for Python. Translates totally free of charge.") - (description - "Free Google Translate API for Python. Translates totally free of charge.") - (license license:expat))) - -(define-public python-statistics - (package - (name "python-statistics") - (version "1.0.3.5") - (source - (origin - (method url-fetch) - (uri (pypi-uri "statistics" version)) - (sha256 - (base32 - "0f61hrj25p60kvf09nqysd6xlccm5dmx1jl8akfjvgq71fw7khrd")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) - (propagated-inputs - `(("python-docutils" ,python-docutils))) - (home-page "UNKNOWN") - (synopsis - "A Python 2.* port of 3.4 Statistics Module") - (description - "A Python 2.* port of 3.4 Statistics Module") - (license #f))) - -(define-public python-fake-useragent - (package - (name "python-fake-useragent") - (version "0.1.11") - (source - (origin - (method url-fetch) - (uri (pypi-uri "fake-useragent" version)) - (sha256 - (base32 - "0dfz3bpmjmaxlhda6hfgsac7afb65pljibi8zkp9gc0ffn5rj161")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) - (home-page - "https://github.com/hellysmile/fake-useragent") - (synopsis - "Up to date simple useragent faker with real world database") - (description - "Up to date simple useragent faker with real world database") - (license #f))) - -;; TODO: Upstream - -(define-public python-twint - (package - (name "python-twint") - (version "2.1.20") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/twintproject/twint") - (commit "a45a8ac719d5710e7da92f77d9801b351e505c1f"))) - (sha256 - (base32 - "1bixwrwh1v7vpv0y6skgkml8zm82w00qwkvd6q79pkdj3hczha75")) - (patches (search-patches "python-twint-userlist.patch" - "python-twint-mentions.patch" - "python-twint-token.patch")))) - (build-system python-build-system) - (arguments - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-deps - (lambda _ - (substitute* "setup.py" - (("'dataclasses',") "")))) - (add-after 'unpack 'twint-hot-fixes - (lambda _ - ;; TODO: Upstream this fix - (begin - (substitute* "twint/format.py" - ((", t.replies_count)") - ", str(t.replies_count))")) - (substitute* "twint/format.py" - ((", t.retweets_count)") - ", str(t.retweets_count))")) - (substitute* "twint/format.py" - ((", t.quote_url)") - ", str(t.quote_url))")) - (substitute* "twint/format.py" - ((", t.likes_count)") - ", str(t.likes_count))")))))))) - (propagated-inputs - `(("python-pycares" ,python-pycares) - ("python-aiohttp-socks" ,python-aiohttp-socks) - ("python-beautifulsoup4" ,python-beautifulsoup4) - ("python-cchardet" ,python-cchardet) - ("python-elasticsearch" ,python-elasticsearch) - ("python-fake-useragent" ,python-fake-useragent) - ("python-geopy" ,python-geopy) - ("python-yarl" ,python-yarl) - ("python-googletransx" ,python-googletransx) - ("python-pandas" ,python-pandas) - ("python-schedule" ,python-schedule))) - (home-page - "https://github.com/twintproject/twint") - (synopsis - "An advanced Twitter scraping & OSINT tool.") - (description - "An advanced Twitter scraping & OSINT tool.") - (license license:expat))) diff --git a/gn/packages/yaj.scm b/gn/packages/yaj.scm deleted file mode 100644 index 668b478..0000000 --- a/gn/packages/yaj.scm +++ /dev/null @@ -1,62 +0,0 @@ -(define-module (gn packages yaj) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages) - #:use-module (guix utils) - #:use-module (guix download) - #:use-module (guix build-system python) - #:use-module (guix build-system trivial) - #:use-module (gn packages python) - #:use-module (gnu packages) - #:use-module (gnu packages check) - #:use-module (gnu packages compression) - #:use-module (gnu packages python) - #:use-module (gnu packages python-web) - #:use-module (gnu packages python-xyz) - #:use-module (gnu packages web) - #:use-module (gn packages web) - #:use-module (gn packages check)) - -(define-public yaj - (let ((md5 "93e745e9c")) - (package - (name "yaj") - (version "0.0.1") - (source - (origin - (method url-fetch) - (uri "http://biogems.info/genenetwork2-2.0-a8fcff4.svg") ; any old file - (file-name (string-append name "-" md5)) - (sha256 - (base32 "0rir1mcn3a8i1mbw3ppgnjl7wg71mapljik7n3v5i8j5ic95mqr5")))) - (build-system trivial-build-system) - (native-inputs `(("unzip" ,unzip) - ("source" ,source))) - (inputs `(("sassc" ,sassc))) - (propagated-inputs - `(("python" ,python) - ("python-elasticsearch" ,python-elasticsearch) - ("python-flask" ,python-flask) - ("python-jinja2" ,python-jinja2) - ("python-mako" ,python-mako) - ("python-markdown" ,python-markdown) - ("python-misaka" ,python-misaka) - ("python-pygit2" ,python-pygit2) - ("web-bootstrap" ,web-bootstrap) - ("sassc" ,sassc) - )) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let ((target (string-append (assoc-ref %outputs "out") - "/share"))) - (write target) - (mkdir-p target) - ; (copy-recursively (assoc-ref %build-inputs "source") target) - #t)))) - - (home-page "http://github.com/pjotrp/yaj/") - (synopsis "Yet another journal") - (description "YAJ.") - (license license:agpl3+)))) diff --git a/gn/services/bxd-power-container.scm b/gn/services/bxd-power-container.scm deleted file mode 100644 index 9191302..0000000 --- a/gn/services/bxd-power-container.scm +++ /dev/null @@ -1,24 +0,0 @@ -(define-module (gn services bxd-power-container)) - -(use-modules (gnu) - (gn packages bioinformatics) - (gn services rshiny)) - -(operating-system - (host-name "bxd-power") - (timezone "Etc/UTC") - (locale "en_US.utf8") - - (bootloader (bootloader-configuration - (bootloader grub-bootloader) - (targets '("does-not-matter")))) - (file-systems %base-file-systems) - ;; No firmware for VMs. - (firmware '()) - ;; We only need a few packages inside the container. - (packages (list coreutils)) - - (services (list (service rshiny-service-type - (rshiny-configuration - (package bxd-power-calculator-app) - (binary "bxd-power-calculator-app")))))) diff --git a/gn/services/jumpsem-container.scm b/gn/services/jumpsem-container.scm deleted file mode 100644 index 934507e..0000000 --- a/gn/services/jumpsem-container.scm +++ /dev/null @@ -1,27 +0,0 @@ -(define-module (gn services jumpsem-container)) - -(use-modules (gnu) - (gn packages r-shiny) - (gn services rshiny)) -(use-service-modules networking) -(use-package-modules base) - -(operating-system - (host-name "jumpsem") - (timezone "Etc/UTC") - (locale "en_US.utf8") - - (bootloader (bootloader-configuration - (bootloader grub-bootloader) - (targets '("does-not-matter")))) - (file-systems %base-file-systems) - (firmware '()) - (packages (list coreutils)) - - (services (list (service dhcpcd-service-type) - (service rshiny-service-type - (rshiny-configuration - (package jumpsem-web) - (binary "jumpsem-web")))))) - -;; guix system container -L guix-bioinformatics guix-bioinformatics/gn/services/jumpsem-container.scm --network diff --git a/gn/services/jumpshiny-container.scm b/gn/services/jumpshiny-container.scm deleted file mode 100644 index effcf23..0000000 --- a/gn/services/jumpshiny-container.scm +++ /dev/null @@ -1,25 +0,0 @@ -(define-module (gn services jumpshiny-container)) - -(use-modules (gnu) - (gn packages r-shiny) - (gn services rshiny)) -(use-package-modules base bash) - -(operating-system - (host-name "jumpshiny") - (timezone "Etc/UTC") - (locale "en_US.utf8") - - (bootloader (bootloader-configuration - (bootloader grub-bootloader) - (targets '("does-not-matter")))) - (file-systems %base-file-systems) - (firmware '()) - (packages (list coreutils bash)) - - (services (list (service rshiny-service-type - (rshiny-configuration - (package jumpshiny) - (binary "jumpshiny")))))) - -;; guix system container -L guix-bioinformatics guix-bioinformatics/gn/services/jumpshiny-container.scm --network diff --git a/gn/services/rn6-assembly-container.scm b/gn/services/rn6-assembly-container.scm deleted file mode 100644 index b0b5f1d..0000000 --- a/gn/services/rn6-assembly-container.scm +++ /dev/null @@ -1,24 +0,0 @@ -(define-module (gn services rn6-assembly-container)) - -(use-modules (gnu) - (gn packages bioinformatics) - (gn services rshiny)) - -(operating-system - (host-name "rn6-assembly") - (timezone "Etc/UTC") - (locale "en_US.utf8") - - (bootloader (bootloader-configuration - (bootloader grub-bootloader) - (targets '("does-not-matter")))) - (file-systems %base-file-systems) - ;; No firmware for VMs. - (firmware '()) - ;; We only need a few packages inside the container. - (packages '()) - - (services (list (service rshiny-service-type - (rshiny-configuration - (package rn6-assembly-error-app) - (binary "rn6-assembly-error-app")))))) diff --git a/gn/services/rshiny.scm b/gn/services/rshiny.scm deleted file mode 100644 index 90e4728..0000000 --- a/gn/services/rshiny.scm +++ /dev/null @@ -1,86 +0,0 @@ -(define-module (gn services rshiny) - #:export (<rshiny-configuration> - rshiny-configuration - rshiny-configuration? - rshiny-configuration-package - rshiny-configuration-binary - rshiny-shepherd-service - rshiny-service-type)) - -(use-modules (gnu) - (guix records) - (ice-9 match)) -(use-service-modules shepherd) -(use-package-modules cran) - -(define-record-type* <rshiny-configuration> - rshiny-configuration - make-rshiny-configuration - rshiny-configuration? - (package rshiny-configuration-package ; package - (default r-shiny)) - (binary rshiny-configuration-binary ; string - (default "rshiny"))) - -(define rshiny-shepherd-service - (match-lambda - (($ <rshiny-configuration> package binary) - (list - (shepherd-service - (documentation (string-append "R-Shiny service for " binary)) - (provision (list (symbol-append 'rshiny- (string->symbol - (string-take binary 9))))) - (requirement '(networking)) - (start - #~(exec-command - (list - #$(string-append "/run/current-system/profile/bin/" binary)) - ;#:log-file #$(string-append "/var/log/" binary ".log") ; kills shepherd - #:environment-variables - (list "R_LIBS_USER=/run/current-system/profile/site-library/"))) - ;; Now lets try it with fork+exec - ;; Outcome: shepherd says failed, runs in the background. - ;(start - ; #~(fork+exec-command - ; (list - ; #$(string-append "/run/current-system/profile/bin/" binary)) - ; #:environment-variables - ; (list "R_LIBS_USER=/run/current-system/profile/site-library/"))) - ;; More fork+exec trials, this time with a log file: - ;; Outcome: shepherd says failed, runs in the background, log populated. - ;(start - ; #~(fork+exec-command - ; (list - ; "/run/current-system/profile/bin/nohup" - ; #$(string-append "/run/current-system/profile/bin/" binary) "&") - ; #:log-file #$(string-append "/var/log/" binary ".log") - ; #:environment-variables - ; (list "R_LIBS_USER=/run/current-system/profile/site-library/"))) - ;; Now lets try it with make-forkexec: - ;; Outcome: Kills shepherd, does not run in the background. - ;(start - ; #~(make-forkexec-command - ; (list - ; "/run/current-system/profile/bin/nohup" - ; #$(string-append "/run/current-system/profile/bin/" binary) "&") - ; "/run/current-system/profile/bin/bash" "-c" - ; #$(string-append "/run/current-system/profile/bin/" binary)) - ; #:environment-variables - ; (list "R_LIBS_USER=/run/current-system/profile/site-library/"))) - (stop #~(make-kill-destructor))))))) - -(define rshiny-service-type - (service-type - (name 'rshiny) - (extensions - (list - (service-extension shepherd-root-service-type - rshiny-shepherd-service) - (service-extension profile-service-type - ;; We want the package installed so that it - ;; pulls in the propagated inputs as well. - (lambda (config) - (list - (rshiny-configuration-package config)))))) - (description - "Run an R-Shiny webapp as a Guix Service."))) |
