540 lines
18 KiB
Scheme
540 lines
18 KiB
Scheme
;; (C) Copyright Collin J. Doering 2022
|
|
;;
|
|
;; This program 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.
|
|
;;
|
|
;; This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
;; File: perl.scm
|
|
;; Author: Collin J. Doering <collin.doering@rekahsoft.ca>
|
|
;; Date: Jan 16, 2022
|
|
|
|
(define-module (rekahsoft-gnu packages perl)
|
|
#:use-module (srfi srfi-1)
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
#:use-module (guix packages)
|
|
#:use-module (guix download)
|
|
#:use-module (guix git-download)
|
|
#:use-module (gnu packages version-control)
|
|
#:use-module (gnu packages admin)
|
|
#:use-module (gnu packages web)
|
|
#:use-module (gnu packages tls)
|
|
#:use-module (gnu packages networking)
|
|
#:use-module (gnu packages perl)
|
|
#:use-module (gnu packages perl-check)
|
|
#:use-module (gnu packages perl-compression)
|
|
#:use-module (gnu packages tcl)
|
|
#:use-module (guix build-system perl)
|
|
#:use-module (guix build-system gnu))
|
|
|
|
(define-public perl-ntlm
|
|
(package
|
|
(name "perl-ntlm")
|
|
(version "1.09")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/N/NB/NBEBOUT/NTLM-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "118z2n9qhjalfj7l9hhpjppyxdg2c34h4hsqdriibg3nv86f68y8"))))
|
|
(build-system perl-build-system)
|
|
(propagated-inputs `(("perl-digest-hmac" ,perl-digest-hmac)))
|
|
(home-page "https://metacpan.org/release/NTLM")
|
|
(synopsis "An NTLM authentication module")
|
|
(description "An NTLM authentication module.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-encode-imaputf7
|
|
(package
|
|
(name "perl-encode-imaputf7")
|
|
(version "1.05")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/P/PM/PMAKHOLM/Encode-IMAPUTF7-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "1q9pgjckjxz0qfwaqmzm1dh1y09819vi6vf1sglcz0vlqgfha0s7"))))
|
|
(build-system perl-build-system)
|
|
(propagated-inputs `(("perl-test-nowarnings" ,perl-test-nowarnings)))
|
|
(home-page "https://metacpan.org/release/Encode-IMAPUTF7")
|
|
(synopsis "Modification of UTF-7 encoding for IMAP")
|
|
(description "Modification of UTF-7 encoding for IMAP")
|
|
(license #f)))
|
|
|
|
(define-public perl-file-tail
|
|
(package
|
|
(name "perl-file-tail")
|
|
(version "1.3")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/M/MG/MGRABNAR/File-Tail-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "1ixg6kn4h330xfw3xgvqcbzfc3v2wlzjim9803jflhvfhf0rzl16"))))
|
|
(build-system perl-build-system)
|
|
(home-page "https://metacpan.org/release/File-Tail")
|
|
(synopsis "Perl extension for reading from continously updated files")
|
|
(description "Perl extension for reading from continously updated files.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-io-socket-ssl
|
|
(package
|
|
(name "perl-io-socket-ssl")
|
|
(version "2.073")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/S/SU/SULLR/IO-Socket-SSL-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "1j2prw40s3m3i41q3nnbdjw8kz8y992y5ki1ca0smcbwz56v7h5j"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs `(("perl-net-ssleay" ,perl-net-ssleay)))
|
|
(propagated-inputs
|
|
`(("perl-mozilla-ca" ,perl-mozilla-ca)
|
|
("perl-net-ssleay" ,perl-net-ssleay)))
|
|
(home-page "https://metacpan.org/release/IO-Socket-SSL")
|
|
(synopsis "Nearly transparent SSL encapsulation for IO::Socket::INET.")
|
|
(description "Nearly transparent SSL encapsulation for IO::Socket::INET.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-io-tee
|
|
(package
|
|
(name "perl-io-tee")
|
|
(version "0.66")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/N/NE/NEILB/IO-Tee-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "1q2jhp02rywrbyhvl2lv6qp70dcv5cfalrx3cc4c7y8nclhfg71d"))))
|
|
(build-system perl-build-system)
|
|
(home-page "https://metacpan.org/release/IO-Tee")
|
|
(synopsis "Multiplex output to multiple output handles")
|
|
(description "Multiplex output to multiple output handles")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-json-webtoken
|
|
(package
|
|
(name "perl-json-webtoken")
|
|
(version "0.10")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/X/XA/XAICRON/JSON-WebToken-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "12r40z7j8gs1p6wqn4k9f3k97p5lngaliidgh96p3w98hnlq5hbp"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs
|
|
`(("perl-module-build" ,perl-module-build)
|
|
("perl-test-mock-guard" ,perl-test-mock-guard)
|
|
("perl-test-requires" ,perl-test-requires)))
|
|
(propagated-inputs
|
|
`(("perl-json" ,perl-json) ("perl-module-runtime" ,perl-module-runtime)))
|
|
(home-page "https://metacpan.org/release/JSON-WebToken")
|
|
(synopsis "JSON Web Token (JWT) implementation")
|
|
(description "JSON Web Token (JWT) implementation")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-mail-imapclient
|
|
(package
|
|
(name "perl-mail-imapclient")
|
|
(version "3.43")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/P/PL/PLOBBES/Mail-IMAPClient-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "0vxl3xfr9fr844nhjx5br1yggavpycnyydi99pzahisvq7x9fg09"))))
|
|
(build-system perl-build-system)
|
|
(propagated-inputs `(("perl-parse-recdescent" ,perl-parse-recdescent)))
|
|
(home-page "https://metacpan.org/release/Mail-IMAPClient")
|
|
(synopsis "IMAP4 client library")
|
|
(description "IMAP4 client library.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-getopt-argvfile
|
|
(package
|
|
(name "perl-getopt-argvfile")
|
|
(version "1.11")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/J/JS/JSTENZEL/Getopt-ArgvFile-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "08jvhfqcjlsn013x96qa6paif0095x6y60jslp8p3zg67i8sl29p"))))
|
|
(build-system perl-build-system)
|
|
(home-page "https://metacpan.org/release/Getopt-ArgvFile")
|
|
(synopsis
|
|
"Interpolates script options from files into @ARGV or another array")
|
|
(description "Interpolates script options from files into @ARGV or another array.")
|
|
(license #f)))
|
|
|
|
(define-public perl-module-signature
|
|
(package
|
|
(name "perl-module-signature")
|
|
(version "0.88")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/A/AU/AUDREYT/Module-Signature-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "14i6yg7z4shsmzzdjzamcyjxpci8jxr0z336a3iy7n9plmss2z3p"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-ipc-run))
|
|
(home-page "https://metacpan.org/release/Module-Signature")
|
|
(synopsis "Module signature file manipulation")
|
|
(description "Module signature file manipulation.")
|
|
(license #f)))
|
|
|
|
(define-public perl-par
|
|
(package
|
|
(name "perl-par")
|
|
(version "1.017")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/R/RS/RSCHUPP/PAR-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "0l4nfab7sh7452wgfnn0gdlh8pnrlnvim8njrfgkhk3miqjmnzf3"))))
|
|
(build-system perl-build-system)
|
|
(propagated-inputs
|
|
`(("perl-archive-zip" ,perl-archive-zip) ("perl-par-dist" ,perl-par-dist)))
|
|
(home-page "https://metacpan.org/release/PAR")
|
|
(synopsis "Perl Archive Toolkit")
|
|
(description "Perl Archive Toolkit.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-tk-canvas-gradientcolor
|
|
(package
|
|
(name "perl-tk-canvas-gradientcolor")
|
|
(version "1.06")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/D/DJ/DJIBEL/Tk-Canvas-GradientColor-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "07nw0xm30kb6mxjxgla2m28npnmrxz46xmvi9n2rhr5fv99jfymj"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs
|
|
`(("perl-module-build" ,perl-module-build) ("perl-tk" ,perl-tk)))
|
|
(home-page "https://metacpan.org/release/Tk-Canvas-GradientColor")
|
|
(synopsis "To create a Canvas widget with background gradient color")
|
|
(description "To create a Canvas widget with background gradient color.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-tk-coloredbutton
|
|
(package
|
|
(name "perl-tk-coloredbutton")
|
|
(version "1.05")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/D/DJ/DJIBEL/Tk-ColoredButton-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "0hngxviz5jbqchicjdqgby2ibwgr1glyimf88bfmbwk0i4x7h5zj"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs
|
|
(list perl-module-build
|
|
perl-tk
|
|
perl-tk-canvas-gradientcolor))
|
|
(home-page "https://metacpan.org/release/Tk-ColoredButton")
|
|
(synopsis "Button widget with background gradient color")
|
|
(description "Button widget with background gradient color.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-tk-entrycheck
|
|
(package
|
|
(name "perl-tk-entrycheck")
|
|
(version "0.04")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/S/ST/STRAT/Tk-EntryCheck-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "0phx2ppgf8flcv7ap2zx705glz97mnc0cyp0pfibbwqlj3a4hcg8"))))
|
|
(build-system perl-build-system)
|
|
; (native-inputs (list perl-tk)) ; TODO: needed for tests, but tests fail to open display :0 (depend on xorg)
|
|
(arguments `(#:tests? #f))
|
|
(home-page "https://metacpan.org/release/Tk-EntryCheck")
|
|
(synopsis
|
|
"Interface to Tk::Entry for controlling its maximum length and content in an easy way")
|
|
(description "Interface to Tk::Entry for controlling its maximum length and content in an easy way.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-tk-fontdialog
|
|
(package
|
|
(name "perl-tk-fontdialog")
|
|
(version "0.18")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/S/SR/SREZIC/Tk-FontDialog-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "0ck3h2ssiisbk46l66shzpj7n06pjilx8h007appz2ry46vyh03w"))))
|
|
(build-system perl-build-system)
|
|
(propagated-inputs `(("perl-tk" ,perl-tk)))
|
|
(home-page "https://metacpan.org/release/Tk-FontDialog")
|
|
(synopsis "A font dialog widget for perl/Tk")
|
|
(description "A font dialog widget for perl/Tk.")
|
|
(license #f)))
|
|
|
|
(define-public perl-tk-getopt
|
|
(package
|
|
(name "perl-tk-getopt")
|
|
(version "0.51")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/S/SR/SREZIC/Tk-Getopt-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "0b7kln2614a9sycbbfjj23vpfn3r5rbshi0571wbcrmkjjpm90kg"))))
|
|
(build-system perl-build-system)
|
|
(propagated-inputs
|
|
(list perl-tk perl-tk-fontdialog))
|
|
(home-page "https://metacpan.org/release/Tk-Getopt")
|
|
(synopsis "User configuration window for Tk with interface to Getopt::Long")
|
|
(description "User configuration window for Tk with interface to Getopt::Long.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-par-packer
|
|
(package
|
|
(name "perl-par-packer")
|
|
(version "1.052")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/R/RS/RSCHUPP/PAR-Packer-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "16il9sgcnjg9w07grwrxagvk30bfn0hhrqa9f5z606k7yhvdbypz"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-ipc-run3))
|
|
(propagated-inputs
|
|
(list perl-archive-zip
|
|
perl-getopt-argvfile
|
|
perl-module-scandeps
|
|
; perl-module-signature ;; TODO: this dep fails to build currently
|
|
perl-par
|
|
perl-par-dist
|
|
perl-tk
|
|
perl-tk-coloredbutton
|
|
perl-tk-entrycheck
|
|
perl-tk-getopt))
|
|
(home-page "https://metacpan.org/release/PAR-Packer")
|
|
(synopsis "PAR Packager")
|
|
(description "PAR Packager.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-sys-meminfo
|
|
(package
|
|
(name "perl-sys-meminfo")
|
|
(version "0.99")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/S/SC/SCRESTO/Sys-MemInfo-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "0fryrzj06wk2kxg4swsj9xqhn53yy55j8fbrf9fsx2rs7afk31h7"))))
|
|
(build-system perl-build-system)
|
|
(home-page "https://metacpan.org/release/Sys-MemInfo")
|
|
(synopsis "Query the total free and used physical memory")
|
|
(description "Query the total free and used physical memory.")
|
|
(license #f)))
|
|
|
|
(define-public perl-test-mock-guard
|
|
(package
|
|
(name "perl-test-mock-guard")
|
|
(version "0.10")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/X/XA/XAICRON/Test-Mock-Guard-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "0gdx1nahk5sgg5ns1v1m50di4wshx09hl244lwmbkknnz1iql8kz"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs `(("perl-module-build" ,perl-module-build)))
|
|
(propagated-inputs `(("perl-class-load" ,perl-class-load)))
|
|
(home-page "https://metacpan.org/release/Test-Mock-Guard")
|
|
(synopsis "Simple mock test library using RAII")
|
|
(description "Simple mock test library using RAII.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-unicode-string
|
|
(package
|
|
(name "perl-unicode-string")
|
|
(version "2.10")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/G/GA/GAAS/GAAS/Unicode-String-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "0s4vp8k7ag7z9lsnnkpa9mnch83kxhp9gh7yiapld5a7rq712jl9"))))
|
|
(build-system perl-build-system)
|
|
(home-page "https://metacpan.org/release/Unicode-String")
|
|
(synopsis "String of Unicode characters (UTF-16BE)")
|
|
(description "String of Unicode characters (UTF-16BE).")
|
|
(license #f)))
|
|
|
|
(define-public perl-app-cpanminus
|
|
(package
|
|
(name "perl-app-cpanminus")
|
|
(version "1.7044")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-"
|
|
version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "1ww11x87b6z14yc3xk1sqajqjcx6c28g24rzkmxfylh7wizpcq4v"))))
|
|
(build-system perl-build-system)
|
|
(home-page "https://metacpan.org/release/App-cpanminus")
|
|
(synopsis "Get, unpack, build and install modules from CPAN")
|
|
(description "Get, unpack, build and install modules from CPAN.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public imapsync
|
|
(package
|
|
(name "imapsync")
|
|
(version "2.140")
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://github.com/imapsync/imapsync")
|
|
(commit (string-append "imapsync-" version))))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1k4rf582c3434yxj9brsjz0awakd84xwikghyq0h54darqwfm23j"))))
|
|
(build-system gnu-build-system)
|
|
(native-inputs (list inetutils perl))
|
|
;; TODO: these should be normal inputs, but currently the executable produced is not wrapped, so it fails to load the required libs
|
|
(propagated-inputs
|
|
(list perl-cgi
|
|
perl-app-cpanminus
|
|
perl-crypt-openssl-rsa
|
|
perl-data-uniqid
|
|
perl-digest-hmac
|
|
perl-dist-checkconflicts
|
|
perl-encode
|
|
perl-encode-imaputf7
|
|
perl-file-copy-recursive
|
|
perl-file-tail
|
|
perl-io-socket-inet6
|
|
perl-io-socket-ssl
|
|
perl-io-tee
|
|
perl-json
|
|
perl-json-webtoken
|
|
perl-libwww
|
|
perl-mail-imapclient
|
|
perl-module-implementation
|
|
perl-module-scandeps
|
|
perl-net-ssleay
|
|
perl-ntlm
|
|
perl-package-stash
|
|
perl-par-packer
|
|
perl-parse-recdescent
|
|
perl-readonly
|
|
perl-regexp-common
|
|
perl-sys-meminfo
|
|
perl-term-readkey
|
|
perl-test-deep
|
|
perl-test-fatal
|
|
perl-test-mock-guard
|
|
perl-test-mockobject
|
|
perl-test-pod
|
|
perl-test-requires
|
|
perl-unicode-string
|
|
perl-uri
|
|
perl-try-tiny))
|
|
(arguments
|
|
`(#:phases
|
|
(modify-phases %standard-phases
|
|
(delete 'configure)
|
|
(replace 'build
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
(bin (string-append out "/bin")))
|
|
(invoke "make")
|
|
#t)))
|
|
(delete 'check)
|
|
(replace 'install
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
(let* ((out (assoc-ref outputs "out")))
|
|
(mkdir-p "./W") ;; make install fails unless a W directory exists
|
|
(invoke "make" "install" "PREFIX=/" (string-append "DESTDIR=" out))
|
|
#t))))))
|
|
(synopsis "Imapsync is an IMAP transfers tool")
|
|
(description
|
|
"Imapsync is an IMAP transfers tool. The purpose of imapsync is to
|
|
migrate IMAP accounts or to backup IMAP accounts. IMAP is one of the three
|
|
current standard protocols to access mailboxes, the two others are POP3 and HTTP
|
|
with webmails, webmails are often tied to an IMAP server.")
|
|
(home-page "https://imapsync.lamiral.info/")
|
|
(license license:public-domain)))
|