1365 lines
54 KiB
Scheme
1365 lines
54 KiB
Scheme
(define-module (juix deploy debbugs)
|
|
#:use-module (gnu packages)
|
|
#:use-module (gnu packages admin)
|
|
#:use-module (gnu packages bash)
|
|
#:use-module (gnu packages databases)
|
|
#:use-module (gnu packages gd)
|
|
#:use-module (gnu packages graphviz)
|
|
#:use-module (gnu packages perl)
|
|
#:use-module (gnu packages perl-check)
|
|
#:use-module (gnu packages xml)
|
|
#:use-module (gnu packages web)
|
|
#:use-module (guix build-system copy)
|
|
#:use-module (guix build-system perl)
|
|
#:use-module (guix download)
|
|
#:use-module (guix gexp)
|
|
#:use-module (guix git-download)
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
#:use-module (guix packages)
|
|
#:export (debbugs-gnu/juix
|
|
debbugs-gnu-experimental/juix
|
|
perl-class-hash/juix
|
|
perl-data-messagepack/juix
|
|
perl-datetime-format-mysql/juix
|
|
perl-datetime-format-pg/juix
|
|
perl-datetime-format-sqlite/juix
|
|
perl-dbicx-testdatabase/juix
|
|
perl-dbix-class/juix
|
|
perl-dbix-class-dynamicdefault/juix
|
|
perl-dbix-class-timestamp/juix
|
|
perl-dime-tools/juix
|
|
perl-fcgi/juix
|
|
perl-fcgi-client/juix
|
|
perl-graphviz/juix
|
|
perl-hash-ordered/juix
|
|
perl-io-sessiondata/juix
|
|
perl-mail-message/juix
|
|
perl-mdlbm/juix
|
|
perl-package-variant/juix
|
|
perl-safe-hole/juix
|
|
perl-search-estraier/juix
|
|
perl-soap-lite/juix
|
|
perl-spreadsheet-parseexcel/juix
|
|
perl-sql-translator/juix
|
|
perl-test-xml/juix
|
|
perl-text-autoformat/juix
|
|
perl-text-iconv/juix
|
|
perl-text-recordparser/juix
|
|
perl-text-reform/juix
|
|
perl-text-tabulardisplay/juix
|
|
perl-text-xslate/juix
|
|
perl-time-warp/juix
|
|
perl-user-identity/juix
|
|
perl-xml-parser-lite/juix
|
|
perl-xml-semanticdiff/juix))
|
|
|
|
(define-public perl-class-hash/juix
|
|
(package
|
|
(name "perl-class-hash")
|
|
(version "1.01")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/H/HA/HANENKAMP/Class-Hash/Class-Hash-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "1kcg00ks6vica496m6dqwb1c9gkb6igndkrxr4a7ff7391yg3ywz"))))
|
|
(build-system perl-build-system)
|
|
(home-page "https://metacpan.org/release/Class-Hash")
|
|
(synopsis "Perl extension for hashes that look like classes")
|
|
(description "This component provides a method-based interface to a hash.
|
|
Occasionally, it's more convenient to have named methods to access a hash
|
|
than hash keys. This module generalizes that behavior. It tries to work
|
|
the tied hash interface inside-out.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-data-messagepack/juix
|
|
(package
|
|
(name "perl-data-messagepack")
|
|
(version "1.02")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/S/SY/SYOHEX/Data-MessagePack-" version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "1dxih8s9a5rd0vg0nd9i0gb0m5zyvxw26bl88x0jb3daj13v8gf3"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-module-build perl-module-build-xsutil
|
|
perl-test-requires))
|
|
(home-page "https://metacpan.org/release/Data-MessagePack")
|
|
(synopsis "MessagePack serializing/deserializing")
|
|
(description "MessagePack is a binary-based, efficient object
|
|
serialization format. It enables the exchange of structured objects between
|
|
many languages. In that sense it is similar to JSON. But unlike JSON, it is
|
|
very fast and small.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-datetime-format-mysql/juix
|
|
(package
|
|
(name "perl-datetime-format-mysql")
|
|
(version "0.08")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/X/XM/XMIKEW/DateTime-Format-MySQL-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "1s5r4b8n749gf4b49i1svkfh5aawriqqwsid9lsmwrc4hplp1jqr"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-module-build))
|
|
(propagated-inputs (list perl-datetime
|
|
perl-datetime-format-builder))
|
|
(home-page "https://metacpan.org/release/DateTime-Format-MySQL")
|
|
(synopsis "Parse and format MySQL dates and times")
|
|
(description "This module understands the formats used by MySQL for
|
|
its DATE, DATETIME, TIME, and TIMESTAMP data types. It can be used to
|
|
parse these formats in order to create DateTime objects, and it can
|
|
take a DateTime object and produce a string representing it in the
|
|
MySQL format.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-datetime-format-pg/juix
|
|
(package
|
|
(name "perl-datetime-format-pg")
|
|
(version "0.16014")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/D/DM/DMAKI/DateTime-Format-Pg-" version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "1f8fpv655x8w9zaa65lp1yn0pianjv5l4qvg6v1q9hsda9k9dfrq"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-module-build-tiny))
|
|
(propagated-inputs (list perl-datetime
|
|
perl-datetime-format-builder
|
|
perl-datetime-timezone))
|
|
(home-page "https://metacpan.org/release/DateTime-Format-Pg")
|
|
(synopsis "Parse and format PostgreSQL dates and times")
|
|
(description "This module understands the formats used by PostgreSQL
|
|
for its DATE, TIME, TIMESTAMP, and INTERVAL data types. It can be used
|
|
to parse these formats in order to create DateTime or DateTime::Duration
|
|
objects, and it can take a DateTime or DateTime::Duration object and
|
|
produce a string representing it in a format accepted by PostgreSQL.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-datetime-format-sqlite/juix
|
|
(package
|
|
(name "perl-datetime-format-sqlite")
|
|
(version "0.11")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/C/CF/CFAERBER/DateTime-Format-SQLite-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "1d4ln8x5bjpqmgnbbi2h16knfz674dsgvk6x7m60v6ykw454w7yc"))))
|
|
(build-system perl-build-system)
|
|
(propagated-inputs (list perl-datetime
|
|
perl-datetime-format-builder))
|
|
(home-page "https://metacpan.org/release/DateTime-Format-SQLite")
|
|
(synopsis "Parse and format SQLite dates and times")
|
|
(description "This module understands the formats used by SQLite for
|
|
its date, datetime and time functions. It can be used to parse these
|
|
formats in order to create DateTime objects. It can also take a DateTime
|
|
object and produce a timestring accepted by SQLite.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-dbicx-testdatabase/juix
|
|
(package
|
|
(name "perl-dbicx-testdatabase")
|
|
(version "0.05")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/J/JR/JROCKWAY/DBICx-TestDatabase-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "1kqaiygxiarrqkgqbq1s3xilx77msbdsqrdaqf4628811d9w4fwf"))))
|
|
(build-system perl-build-system)
|
|
(arguments
|
|
(list
|
|
#:tests? #f))
|
|
(native-inputs (list perl-dbix-class/juix
|
|
perl-module-install))
|
|
(propagated-inputs (list perl-dbd-sqlite
|
|
perl-sql-translator/juix))
|
|
(home-page "https://metacpan.org/release/DBICx-TestDatabase")
|
|
(synopsis "create a temporary database from a DBIx::Class::Schema")
|
|
(description "This module creates a temporary SQLite database, deploys
|
|
a DBIC schema, and then connects to the database. It lets you test your
|
|
DBIC schema. Since you have a fresh database for every test, you don't
|
|
have to worry about cleaning up after your tests, or about the ordering
|
|
of tests affecting failure.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-dbix-class/juix
|
|
(package
|
|
(name "perl-dbix-class")
|
|
(version "0.082842")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/"
|
|
"DBIx-Class-" version ".tar.gz"))
|
|
(sha256
|
|
(base32 "1rh7idjjbibc1zmiaaarask434lh0lx7f2xyfwmy37k9fa0xcpmh"))))
|
|
(build-system perl-build-system)
|
|
(arguments
|
|
(list
|
|
#:phases
|
|
;; strictures.pm extra testing active but couldn't load all modules. Missing
|
|
;; were:
|
|
|
|
;; indirect multidimensional bareword::filehandles
|
|
|
|
;; Extra testing is auto-enabled in checkouts only, so if you're the author
|
|
;; of a strictures-using module you need to run:
|
|
|
|
;; cpan indirect multidimensional bareword::filehandles
|
|
|
|
;; but these modules are not required by your users.
|
|
|
|
;; # Failed test 'Unexpected require of 'MRO::Compat' by
|
|
;; DBIx::Class::Componentised
|
|
;; (/tmp/guix-build-perl-dbix-class-0.082842.drv-0/DBIx-Class-0.082842/blib/li
|
|
;; b/DBIx/Class/Componentised.pm line 7)'
|
|
;; # at t/53lean_startup.t line 58.
|
|
;; # Looks like you failed 1 test of 7.
|
|
;; t/53lean_startup.t ..................................
|
|
;; Dubious, test returned 1 (wstat 256, 0x100)
|
|
;; Failed 1/7 subtests
|
|
#~(modify-phases %standard-phases
|
|
(add-after 'unpack 'fix-test
|
|
(lambda _
|
|
(substitute* "t/53lean_startup.t"
|
|
(("return [$]res if [$]req =~ /[^]DBIx::Class[|]")
|
|
"return $res if $req =~ /^MRO::Compat|DBIx::Class|")))))))
|
|
(native-inputs
|
|
(list perl-bareword-filehandles
|
|
perl-dbd-sqlite
|
|
perl-file-temp
|
|
perl-indirect
|
|
perl-module-install
|
|
perl-multidimensional
|
|
perl-package-stash
|
|
perl-test-deep
|
|
perl-test-exception
|
|
perl-test-warn))
|
|
(propagated-inputs
|
|
(list perl-class-accessor-grouped
|
|
perl-class-c3-componentised
|
|
perl-class-inspector
|
|
perl-config-any
|
|
perl-context-preserve
|
|
perl-data-dumper-concise
|
|
perl-data-page
|
|
perl-dbi
|
|
perl-devel-globaldestruction
|
|
perl-hash-merge
|
|
perl-module-find
|
|
perl-moo
|
|
perl-mro-compat
|
|
perl-namespace-clean
|
|
perl-path-class
|
|
perl-scalar-list-utils
|
|
perl-scope-guard
|
|
perl-sql-abstract-classic
|
|
perl-sub-name
|
|
perl-text-balanced
|
|
perl-try-tiny))
|
|
(home-page "https://metacpan.org/release/DBIx-Class")
|
|
(synopsis "Extensible and flexible object <-> relational mapper")
|
|
(description "An SQL to OO mapper with an object API inspired by
|
|
Class::DBI (with a compatibility layer as a springboard for porting) and a
|
|
resultset API that allows abstract encapsulation of database operations. It
|
|
aims to make representing queries in your code as perl-ish as possible while
|
|
still providing access to as many of the capabilities of the database as
|
|
possible, including retrieving related records from multiple tables in a
|
|
single query, \"JOIN\", \"LEFT JOIN\", \"COUNT\", \"DISTINCT\", \"GROUP BY\",
|
|
\"ORDER BY\" and \"HAVING\" support.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-dbix-class-dynamicdefault/juix
|
|
(package
|
|
(name "perl-dbix-class-dynamicdefault")
|
|
(version "0.04")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/M/MS/MSTROUT/DBIx-Class-DynamicDefault-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "1yssda00988hn9v96jl95apbzib74vgbcgf69m5mhhj64amm33r2"))))
|
|
(build-system perl-build-system)
|
|
(arguments
|
|
(list
|
|
#:tests? #f))
|
|
(native-inputs (list perl-dbicx-testdatabase/juix
|
|
perl-module-install))
|
|
(propagated-inputs (list perl-dbix-class/juix))
|
|
(home-page "https://metacpan.org/release/DBIx-Class-DynamicDefault")
|
|
(synopsis "Automatically set and update fields")
|
|
(description "Automatically set and update fields with values calculated
|
|
at runtime.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-dbix-class-timestamp/juix
|
|
(package
|
|
(name "perl-dbix-class-timestamp")
|
|
(version "0.14")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/R/RI/RIBASUSHI/DBIx-Class-TimeStamp-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "1zhr4r5ffihqsh2imap7zmps2y0h71piqqhg2nqhcwkjhvlxb958"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-class-accessor-grouped
|
|
perl-datetime-format-mysql/juix
|
|
perl-datetime-format-sqlite/juix
|
|
perl-dbd-sqlite ; for test
|
|
perl-module-install
|
|
perl-time-warp/juix))
|
|
(propagated-inputs (list perl-datetime
|
|
perl-dbix-class/juix
|
|
perl-dbix-class-dynamicdefault/juix))
|
|
(home-page "https://metacpan.org/release/DBIx-Class-TimeStamp")
|
|
(synopsis
|
|
"DBIx::Class extension to update and create date and time based fields")
|
|
(description "Works in conjunction with InflateColumn::DateTime to
|
|
automatically set update and create date and time based fields in a table.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-dime-tools/juix
|
|
(package
|
|
(name "perl-dime-tools")
|
|
(version "0.05")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/DIME-Tools-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "0lfc0z5ap2jyjffqvmfv5p6j7hjcr3dr4v9jfvl0r0561lay54gl"))))
|
|
(build-system perl-build-system)
|
|
(propagated-inputs (list perl-data-uuid
|
|
perl-io-stringy))
|
|
(home-page "https://metacpan.org/release/DIME-Tools")
|
|
(synopsis "modules for parsing and generate DIME messages")
|
|
(description "DIME-tools is a collection of DIME:: modules for
|
|
parsing and generating DIME encoded messages (Direct Internet
|
|
Message Encapsulation). DIME-tools support single-record and
|
|
chunked payloads for sending big attachments.")
|
|
(license license:gpl2)))
|
|
|
|
(define-public perl-fcgi/juix
|
|
(package
|
|
(name "perl-fcgi")
|
|
(version "0.82")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/FCGI-" version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "1kwyy08lc23yjwaj4m696cxjf195x4hm0d2fi82pzh52dpi60zac"))))
|
|
(build-system perl-build-system)
|
|
(arguments
|
|
(list
|
|
#:phases
|
|
#~(modify-phases %standard-phases
|
|
(add-before 'configure 'provide-shell
|
|
(lambda _
|
|
(setenv "CONFIG_SHELL" (which "sh")))))))
|
|
(native-inputs (list bash
|
|
perl-fcgi-client/juix))
|
|
(home-page "https://metacpan.org/release/FCGI")
|
|
(synopsis "Fast CGI module")
|
|
(description "This is a FastCGI application library.")
|
|
(license (license:non-copyleft "file://LICENSE" "Open Market"))))
|
|
|
|
(define-public perl-fcgi-client/juix
|
|
(package
|
|
(name "perl-fcgi-client")
|
|
(version "0.09")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/T/TO/TOKUHIROM/FCGI-Client-" version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "1s11casbv0jmkcl5dk8i2vhfy1nc8rg43d3bg923zassrq4wndym"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-module-build-tiny))
|
|
(propagated-inputs (list perl-moo perl-type-tiny))
|
|
(home-page "https://metacpan.org/release/FCGI-Client")
|
|
(synopsis "client library for fastcgi protocol")
|
|
(description "FCGI::Client is client library for fastcgi protocol.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-graphviz/juix
|
|
(package
|
|
(name "perl-graphviz")
|
|
(version "2.26")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/E/ET/ETJ/GraphViz-" version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "0a3kv92z9gykwgh8py5y67wygy25lijdfb97fl2g6ar6nch2apcs"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list graphviz))
|
|
(inputs (list graphviz))
|
|
(propagated-inputs (list perl-file-which
|
|
perl-ipc-run
|
|
perl-libwww
|
|
perl-parse-recdescent
|
|
perl-xml-twig
|
|
perl-xml-xpath))
|
|
(home-page "https://metacpan.org/release/GraphViz")
|
|
(synopsis "Interface to AT&T's GraphViz. Deprecated. See GraphViz2")
|
|
(description "This module provides an interface to layout and image
|
|
generation of directed and undirected graphs in a variety of formats
|
|
(PostScript, PNG, etc.) using the 'dot', 'neato', 'twopi', 'circo' and
|
|
'fdp' programs from the Graphviz project (http://www.graphviz.org/ or
|
|
http://www.research.att.com/sw/tools/graphviz/).
|
|
|
|
GraphViz was deprecated in favour of GraphViz2.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-hash-ordered/juix
|
|
(package
|
|
(name "perl-hash-ordered")
|
|
(version "0.014")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/D/DA/DAGOLDEN/Hash-Ordered-" version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "0yvlb4f2bicya8l8q989whqrmfpz428zvr9xiamkgbjmj7bnrhwd"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-test-deep
|
|
perl-test-failwarnings
|
|
perl-test-fatal))
|
|
(home-page "https://metacpan.org/release/Hash-Ordered")
|
|
(synopsis "A fast, pure-Perl ordered hash class")
|
|
(description "This module implements an ordered hash, meaning that it
|
|
associates keys with values like a Perl hash, but keeps the keys in a
|
|
consistent order. Because it is implemented as an object and manipulated
|
|
with method calls, it is much slower than a Perl hash.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public perl-io-sessiondata/juix
|
|
(package
|
|
(name "perl-io-sessiondata")
|
|
(version "1.03")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/P/PH/PHRED/IO-SessionData-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "1p9d77pqy9a8dbgw7h7vmmkg0rlckk19dchd4c8gvcyv7qm73934"))))
|
|
(build-system perl-build-system)
|
|
(home-page "https://metacpan.org/release/IO-SessionData")
|
|
(synopsis "IO::SessionData")
|
|
(description "This module was extracted from SOAP::Lite.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-mail-message/juix
|
|
(package
|
|
(name "perl-mail-message")
|
|
(version "3.015")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/Mail-Message-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "0nmjk4ik76hlxwd183z0c7prdpcmm85a811lz24x8gkxhxzqv1dj"))))
|
|
(build-system perl-build-system)
|
|
(propagated-inputs (list perl-io-stringy
|
|
perl-mailtools
|
|
perl-mime-types
|
|
perl-timedate
|
|
perl-uri
|
|
perl-user-identity/juix))
|
|
(home-page "https://metacpan.org/release/Mail-Message")
|
|
(synopsis "Processing MIME messages")
|
|
(description "A Mail::Message object is a container for MIME-encoded message
|
|
information, as defined by RFC2822. Everything that is not specificaly related
|
|
to storing the messages in mailboxes (folders) is implemented in this class.
|
|
Methods which are related to folders is implemented in the Mail::Box::Message
|
|
extension.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-mldbm/juix
|
|
(package
|
|
(name "perl-mldbm")
|
|
(version "2.05")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/C/CH/CHORNY/MLDBM-" version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "18hp5bq5jl6v1prc9sz6xkpys0q27vhlfivkysxim0101knq0s2q"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-module-build))
|
|
(home-page "https://metacpan.org/release/MLDBM")
|
|
(synopsis "Store multi-level Perl hash structure in single-level tied hash")
|
|
(description "This module can serve as a transparent interface to any TIEHASH
|
|
package that is required to store arbitrary perl data, including nested
|
|
references. Thus, this module can be used for storing references and other
|
|
arbitrary data within DBM databases.
|
|
|
|
It works by serializing the references in the hash into a single string. In the
|
|
underlying TIEHASH package (usually a DBM database), it is this string that gets
|
|
stored. When the value is fetched again, the string is deserialized to
|
|
reconstruct the data structure into memory.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-package-variant/juix
|
|
(package
|
|
(name "perl-package-variant")
|
|
(version "1.003002")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/M/MS/MSTROUT/Package-Variant-" version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "1p1n2ny5fb15bcbykyn523w6sv968gqs7nhjfm36dpac5yfq9vdj"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-test-fatal))
|
|
(propagated-inputs (list perl-import-into
|
|
perl-module-runtime
|
|
perl-strictures-2))
|
|
(home-page "https://metacpan.org/release/Package-Variant")
|
|
(synopsis "Parameterizable packages")
|
|
(description "This module allows you to build a variable package that
|
|
contains a package template and can use it to build variant packages at
|
|
runtime.
|
|
|
|
Your variable package will export a subroutine which will build a variant
|
|
package, combining its arguments with the template, and return the name
|
|
of the new variant package.
|
|
|
|
The implementation does not care about what kind of packages it builds,
|
|
be they simple function exporters, classes, singletons or something
|
|
entirely different.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-safe-hole/juix
|
|
(package
|
|
(name "perl-safe-hole")
|
|
(version "0.14")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/T/TO/TODDR/Safe-Hole-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "01gc2lfli282dj6a2pkpxb0vmpyavs323cbdw15gxi06pn5nxxgl"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-module-build))
|
|
(home-page "https://metacpan.org/release/Safe-Hole")
|
|
(synopsis "Make a hole to the original main compartment in the Safe compartment")
|
|
(description "From the Safe compartment, one can call outside defined subroutines or
|
|
methods through the object that is copied into the Safe compartment, but they too
|
|
run in the Safe compartment. Through Safe::Hole, we can execute outside defined
|
|
subroutines in the original main compartment from the Safe compartment.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-search-estraier/juix
|
|
(package
|
|
(name "perl-search-estraier")
|
|
(version "0.09")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/D/DP/DPAVLIN/Search-Estraier-" version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "0f3fwbvzqbgmx28cc8qjwld1xvqvjp71sdx2b2amgfjk4mvwf54p"))))
|
|
(build-system perl-build-system)
|
|
(arguments
|
|
(list
|
|
#:phases
|
|
#~(modify-phases %standard-phases
|
|
;; # Failed test 'drafts same'
|
|
;; # at t/1_Document.t line 78.
|
|
;; # got: '@uri=http://localhost/Search-Estraier/
|
|
;; # empty=
|
|
;; # foo=bar
|
|
;; # size=42
|
|
;; # zero=0
|
|
;; # %VECTOR foo 42 baz 0 bar 100
|
|
;; #
|
|
;; # This is a test
|
|
;; # of pure-perl bindings
|
|
;; # for HyperEstraier
|
|
;; # This is hidden text
|
|
;; # '
|
|
;; # expected: '@uri=http://localhost/Search-Estraier/
|
|
;; # empty=
|
|
;; # foo=bar
|
|
;; # size=42
|
|
;; # zero=0
|
|
;; # %VECTOR baz 0 bar 100 foo 42
|
|
;; #
|
|
;; # This is a test
|
|
;; # of pure-perl bindings
|
|
;; # for HyperEstraier
|
|
;; # This is hidden text
|
|
;; # '
|
|
;; # Looks like you failed 1 test of 60.
|
|
;; t/1_Document.t ........
|
|
;; Dubious, test returned 1 (wstat 256, 0x100)
|
|
;; Failed 1/60 subtests
|
|
;;
|
|
(add-after 'unpack 'drop-test
|
|
(lambda _
|
|
(delete-file "t/1_Document.t"))))))
|
|
(propagated-inputs (list perl-libwww
|
|
perl-test-exception
|
|
perl-uri))
|
|
(home-page "https://metacpan.org/release/Search-Estraier")
|
|
(synopsis "Pure perl module to use Hyper Estraier search engine")
|
|
(description "This module is implementation of node API of Hyper Estraier.
|
|
Since it's a Perl-only module with dependencies only on standard Perl modules,
|
|
it will run on all platforms on which Perl runs. It doesn't require
|
|
compilation or Hyper Estraier development files on the target machine.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-soap-lite/juix
|
|
(package
|
|
(name "perl-soap-lite")
|
|
(version "1.27")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/P/PH/PHRED/SOAP-Lite-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "00fkvmnxiy5mr45rj5qmxmflw0xdkw2gihm48iha2i8smdmi0ng3"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-io-stringy
|
|
perl-test-mockobject
|
|
perl-test-warn
|
|
perl-test-xml/juix
|
|
perl-xml-parser-lite/juix))
|
|
(propagated-inputs (list perl-class-inspector
|
|
perl-dime-tools/juix
|
|
perl-fcgi/juix
|
|
perl-http-daemon
|
|
perl-io-sessiondata/juix
|
|
perl-io-socket-ssl
|
|
perl-libwww
|
|
perl-lwp-protocol-https
|
|
perl-mime-tools
|
|
perl-task-weaken
|
|
perl-uri
|
|
perl-xml-parser))
|
|
(home-page "https://metacpan.org/release/SOAP-Lite")
|
|
(synopsis "Perl's Web Services Toolkit")
|
|
(description "SOAP::Lite is a collection of Perl modules which
|
|
provides a simple and lightweight interface to the Simple Object
|
|
Access Protocol (SOAP) both on client and server side.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-spreadsheet-parseexcel/juix
|
|
(package
|
|
(name "perl-spreadsheet-parseexcel")
|
|
(version "0.66")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/J/JM/JMCNAMARA/Spreadsheet-ParseExcel-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "0nzn8n928720lyv61nbd02d87xi5pfs77nhv0pf031lqpb7nmmxz"))))
|
|
(build-system perl-build-system)
|
|
(arguments
|
|
(list
|
|
;; test cannot find Digest::MD5
|
|
#:tests? #f))
|
|
(propagated-inputs (list perl-crypt-rc4
|
|
perl-digest-md5
|
|
perl-io-stringy
|
|
perl-ole-storage-lite))
|
|
(home-page "https://metacpan.org/release/Spreadsheet-ParseExcel")
|
|
(synopsis "Read information from an Excel file.")
|
|
(description "The Spreadsheet::ParseExcel module can be used to read
|
|
information from Excel 95-2003 binary files.
|
|
|
|
The module cannot read files in the Excel 2007 Open XML XLSX format.
|
|
See the Spreadsheet::XLSX module instead.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-sql-translator/juix
|
|
(package
|
|
(name "perl-sql-translator")
|
|
(version "1.64")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/V/VE/VEESH/SQL-Translator-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "1iykygxlsd98cxkr6np3gvcidrvgal7q59ms1id1vb76z0kd8478"))))
|
|
(build-system perl-build-system)
|
|
(arguments
|
|
(list
|
|
#:tests? #f))
|
|
(native-inputs (list perl-file-sharedir-install
|
|
perl-json-maybexs
|
|
perl-test-differences
|
|
perl-test-exception
|
|
perl-xml-writer
|
|
perl-yaml))
|
|
(propagated-inputs (list perl-carp-clan
|
|
perl-dbi
|
|
perl-file-sharedir
|
|
perl-gd
|
|
perl-graph
|
|
perl-graphviz/juix
|
|
perl-moo
|
|
perl-package-variant/juix
|
|
perl-parse-recdescent
|
|
perl-spreadsheet-parseexcel/juix
|
|
perl-sub-quote
|
|
perl-template-toolkit
|
|
perl-text-recordparser/juix
|
|
perl-try-tiny
|
|
perl-xml-libxml))
|
|
(home-page "https://metacpan.org/release/SQL-Translator")
|
|
(synopsis "SQL DDL transformations and more")
|
|
(description "SQL::Translator is a group of Perl modules that converts
|
|
vendor-specific SQL table definitions into other formats like a different
|
|
SQL dialect, into ER diagrams, into documentation (POD and HTML), into XML,
|
|
and into Class::DBI classes.
|
|
|
|
The main focus of SQL::Translator is SQL, but parsers exist for other
|
|
structured data formats, including Excel spreadsheets and arbitrarily
|
|
delimited text files.
|
|
|
|
Through the separation of the code into parsers and producers with an
|
|
object model in between, it's possible to combine any parser with any
|
|
producer, or to plug in custom parsers or producers, or to manipulate
|
|
the parsed data via the built-in object model. Presently only the
|
|
definition parts of SQL are handled CREATE, ALTER), but not the
|
|
manipulation of data (INSERT, UPDATE, DELETE).")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-test-xml/juix
|
|
(package
|
|
(name "perl-test-xml")
|
|
(version "0.08")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/S/SE/SEMANTICO/Test-XML-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "1qiym068j0f3fpci5692jpn0v383pxy6k2mcv0x0v1pcrliwqm7b"))))
|
|
(build-system perl-build-system)
|
|
(propagated-inputs (list perl-module-build
|
|
perl-xml-parser
|
|
perl-xml-sax
|
|
perl-xml-sax-writer
|
|
perl-xml-semanticdiff/juix
|
|
perl-xml-twig
|
|
perl-xml-xpath))
|
|
(home-page "https://metacpan.org/release/Test-XML")
|
|
(synopsis "Compare XML in perl tests")
|
|
(description "This module contains generic XML testing tools.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-text-autoformat/juix
|
|
(package
|
|
(name "perl-text-autoformat")
|
|
(version "1.75")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/N/NE/NEILB/Text-Autoformat-" version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "0wdpqq1cds68i1clx2y22bnnm558d12sr7dmypdv9i5f7p7g9m4x"))))
|
|
(build-system perl-build-system)
|
|
(propagated-inputs (list perl-text-reform/juix))
|
|
(home-page "https://metacpan.org/release/Text-Autoformat")
|
|
(synopsis "Automatic text wrapping and reformatting")
|
|
(description "The Text::Autoformat module provides a subroutine that
|
|
wraps text to specified margins. However, autoformat reformats its
|
|
input by analysing the text's structure.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-text-iconv/juix
|
|
(package
|
|
(name "perl-text-iconv")
|
|
(version "1.7")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/M/MP/MPIOTR/Text-Iconv-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "1hymsbkjkl43wg74p7hgpyjl8yx1chc9g25spj9l7lq9wzavg02v"))))
|
|
(build-system perl-build-system)
|
|
(home-page "https://metacpan.org/release/Text-Iconv")
|
|
(synopsis "Perl interface to iconv() codeset conversion function")
|
|
(description "The Text::Iconv module provides a Perl interface to the
|
|
iconv() function as defined by the Single UNIX Specification. The convert()
|
|
method converts the encoding of characters in the input string from the
|
|
'fromcode' codeset to the 'tocode' codeset.")
|
|
(license license:asl2.0)))
|
|
|
|
(define-public perl-text-recordparser/juix
|
|
(package
|
|
(name "perl-text-recordparser")
|
|
(version "1.6.5")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/K/KC/KCLARK/Text-RecordParser-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "0nn33c058bl957v38xhqig4ld34lifl4arqiilhxky339i0q2fys"))))
|
|
(build-system perl-build-system)
|
|
(arguments
|
|
(list
|
|
#:tests? #f
|
|
;; # Failed test 'Diagnostic OK'
|
|
;; # at t/13-tab2graph.t line 34.
|
|
;; # got: 'Fontconfig error: No writable cache directories
|
|
;; # Fontconfig error: No writable cache directories
|
|
;; # Image created "foo.png."
|
|
;; # '
|
|
;; # expected: 'Image created "foo.png."
|
|
;; # '
|
|
;; # Looks like you failed 1 test of 4.
|
|
;; t/13-tab2graph.t ....
|
|
;; Dubious, test returned 1 (wstat 256, 0x100)
|
|
;; Failed 1/4 subtests
|
|
))
|
|
(native-inputs (list graphviz
|
|
perl-module-install
|
|
perl-test-exception))
|
|
(propagated-inputs (list perl-class-accessor
|
|
perl-graphviz/juix
|
|
perl-io-stringy
|
|
perl-list-moreutils
|
|
perl-readonly
|
|
perl-text-autoformat/juix
|
|
perl-text-tabulardisplay/juix))
|
|
(home-page "https://metacpan.org/release/Text-RecordParser")
|
|
(synopsis "Parse record-oriented data in a text file")
|
|
(description "This module is for reading record-oriented data in a
|
|
delimited text file. The most common examples have records separated by
|
|
newlines and fields separated by commas or tabs, but this module aims to
|
|
provide a consistent interface for handling sequential records in a file
|
|
however they are delimited.
|
|
|
|
You can then use many methods to get to the data as arrays or hashes.")
|
|
(license license:gpl2)))
|
|
|
|
(define-public perl-text-reform/juix
|
|
(package
|
|
(name "perl-text-reform")
|
|
(version "1.20")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/C/CH/CHORNY/Text-Reform-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "0qdfnhfn8frnkbpkkw64fhnnxsbb6mmb6dr30c0p1jdaq7c2syd8"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-module-build))
|
|
(home-page "https://metacpan.org/release/Text-Reform")
|
|
(synopsis "Manual text wrapping and reformatting")
|
|
(description "The routines in this module take a series of format (or
|
|
picture) strings followed by replacement values. They interpolate those
|
|
values into the picture strings, and return the results. The effects are
|
|
similar to Perl's built-in formatting mechanism, although the field
|
|
specifications are simpler and some of the formatting behaviour is more
|
|
sophisticated.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-text-tabulardisplay/juix
|
|
(package
|
|
(name "perl-text-tabulardisplay")
|
|
(version "1.38")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/D/DA/DARREN/Text-TabularDisplay-" version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "1s46s4pg5mpfllx3icf4vnqz9iadbbdbsr5p7pr6gdjnzbx902gb"))))
|
|
(build-system perl-build-system)
|
|
(home-page "https://metacpan.org/release/Text-TabularDisplay")
|
|
(synopsis "Display text in formatted table output")
|
|
(description "Text::TabularDisplay simplifies displaying textual data
|
|
in a table. The output is identical to the columnar display of query
|
|
results in the MySQL text monitor.")
|
|
(license license:gpl2)))
|
|
|
|
(define-public perl-text-xslate/juix
|
|
(package
|
|
(name "perl-text-xslate")
|
|
(version "3.5.9")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/S/SK/SKAJI/Text-Xslate-v"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "103lhyqqv53x9rqsnxcba3pc4qkbwnjsw3gpyd7rjm0aw65mrj20"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-file-copy-recursive
|
|
perl-module-build
|
|
perl-module-build-xsutil
|
|
perl-test-requires))
|
|
(propagated-inputs (list perl-data-messagepack/juix
|
|
perl-mouse))
|
|
(home-page "https://metacpan.org/release/Text-Xslate")
|
|
(synopsis "Scalable template engine for Perl5")
|
|
(description "Xslate is a template engine, tuned for persistent
|
|
applications, safe as an HTML generator, and with rich features.
|
|
The philosophy of this module is sandboxing in the sense that the
|
|
template logic should not have no access outside the template.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-time-warp/juix
|
|
(package
|
|
(name "perl-time-warp")
|
|
(version "0.55")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/M/MA/MANWAR/Time-Warp-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "1a7g3i9nad7m2qvwl7bssnq083s2nsdnzxq42k2x6j8bimfgm8sc"))))
|
|
(build-system perl-build-system)
|
|
(home-page "https://metacpan.org/release/Time-Warp")
|
|
(synopsis "Control over the flow of time")
|
|
(description "Our external experience unfolds in 3 1/2 dimensions.
|
|
(Time has a dimensionality of 1/2.) The Time::Warp module offers
|
|
developers control over the measurement of time.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-user-identity/juix
|
|
(package
|
|
(name "perl-user-identity")
|
|
(version "1.02")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append "mirror://cpan/authors/id/M/MA/MARKOV/User-Identity-"
|
|
version ".tar.gz"))
|
|
(sha256
|
|
(base32 "16dq7s8qjc1z6r094h7ak5796ip6hryb05a1y31nb317ypksw91v"))))
|
|
(build-system perl-build-system)
|
|
(propagated-inputs (list perl-hash-ordered/juix))
|
|
(home-page "https://metacpan.org/release/User-Identity")
|
|
(synopsis "Collect information about a user")
|
|
(description "The User-Identity distribution is created to maintain a set
|
|
of informational objects which are related to one user. The module tries to
|
|
be smart providing defaults, conversions and often required combinations.
|
|
|
|
The identities are not implemented with any kind of storage, and can
|
|
therefore be created by any simple or complex Perl program. That way, the
|
|
data structures are more flexible than an XML file. For instance, you can
|
|
decide to store the data with Data::Dumper, Storable, DBI, AddressBook or
|
|
whatever.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-xml-parser-lite/juix
|
|
(package
|
|
(name "perl-xml-parser-lite")
|
|
(version "0.722")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/P/PH/PHRED/XML-Parser-Lite-" version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "1vk3jwh1kfcsmc5kvxzqdnb1cllvf0yf27fg0ra0w6jkw4ks143g"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-test-requires))
|
|
(home-page "https://metacpan.org/release/XML-Parser-Lite")
|
|
(synopsis "Lightweight pure-perl XML Parser (based on regexps)")
|
|
(description "This module implements an XML parser with a interface
|
|
similar to XML::Parser. Though not all callbacks are supported, you
|
|
should be able to use it in the same way you use XML::Parser.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public perl-xml-semanticdiff/juix
|
|
(package
|
|
(name "perl-xml-semanticdiff")
|
|
(version "1.0007")
|
|
(source
|
|
(origin
|
|
(method url-fetch)
|
|
(uri (string-append
|
|
"mirror://cpan/authors/id/P/PE/PERIGRIN/XML-SemanticDiff-" version
|
|
".tar.gz"))
|
|
(sha256
|
|
(base32 "1xd00821y795fy2rag8aizb5wsbbzfxgmdf9qwpvdxn3pgpyzz85"))))
|
|
(build-system perl-build-system)
|
|
(native-inputs (list perl-module-build))
|
|
(propagated-inputs (list perl-xml-parser))
|
|
(home-page "https://metacpan.org/release/XML-SemanticDiff")
|
|
(synopsis "Perl extension for comparing XML documents.")
|
|
(description "XML::SematicDiff provides a way to compare the contents
|
|
and structure of two XML documents. By default, it returns a list of
|
|
hashrefs where each hashref describes a single difference between the
|
|
two docs.")
|
|
(license license:perl-license)))
|
|
|
|
(define-public debbugs-gnu/juix
|
|
(let ((commit "356ec62a8702a77726609723e8ed0246236dd51d")
|
|
(revision "0"))
|
|
(package
|
|
(name "debbugs")
|
|
(version (git-version "0.0" revision commit))
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://codeberg.org/lechner/debbugs-gnu")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"0q84ivqc3w083d23cflgcvvv6hccy0bf1mf2f8qpa6im1bd8hlyb"))))
|
|
(build-system copy-build-system)
|
|
(arguments
|
|
(list
|
|
#:phases
|
|
#~(modify-phases %standard-phases
|
|
(add-after 'install 'fix-paths
|
|
(lambda _
|
|
(let ((inetutils #$(this-package-input "inetutils"))
|
|
(lib-perl (string-append #$output "/lib/perl")))
|
|
(substitute* (string-append lib-perl "/Debbugs/Config.pm")
|
|
(("hostname --fqdn") (string-append inetutils "/bin/hostname --fqdn"))
|
|
(("/usr/share/debbugs/templates") (string-append #$output "/share/templates"))))))
|
|
(add-after 'fix-paths 'wrap-executables
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
(let* ((cgi (string-append #$output "/cgi"))
|
|
(basenames (scandir cgi (lambda (name)
|
|
(string-match "[.]cgi$" name))))
|
|
(scripts (map (lambda (name)
|
|
(string-append cgi "/" name))
|
|
basenames)))
|
|
|
|
;; drop display limit for bug pagination
|
|
(substitute* (string-append cgi "/pkgreport.cgi")
|
|
(("[$]max_bugs = 400 if [$]max_bugs > 400;") ""))
|
|
|
|
;; debugging
|
|
(for-each
|
|
(lambda (script)
|
|
(substitute* script
|
|
;; turn on debugging output
|
|
(("use strict;")
|
|
"use strict;\n\nuse Carp 'verbose';\n$SIG{ __DIE__ } = sub { Carp::confess( @_ ) };")
|
|
;; enable CGI command-line debugging
|
|
(("use CGI::Simple;") "use CGI::Simple;\n$CGI::Simple::DEBUG = 1;")))
|
|
scripts)
|
|
|
|
(for-each
|
|
(lambda (script)
|
|
;; PERL5LIB is ignored in tainted mode
|
|
(substitute* script (("use strict;")
|
|
"use strict;\n\nuse lib $ENV{PERL5LIB} =~ /[^:]+/g;")))
|
|
scripts)
|
|
|
|
(use-modules (ice-9 popen)
|
|
(ice-9 textual-ports)
|
|
(srfi srfi-1))
|
|
|
|
(define (perl-version perl-executable)
|
|
(let* ((input-pipe (open-pipe* OPEN_READ perl-executable "-e" "print $^V"))
|
|
(version-output (get-string-all input-pipe)))
|
|
(close-pipe input-pipe)
|
|
(string-delete #\v version-output)))
|
|
|
|
(define* (perl-site-libs store-folders #:key perl)
|
|
(let* ((version (perl-version perl))
|
|
(lib-site-perl (string-append "/lib/perl5/site_perl/" version)))
|
|
(append-map
|
|
(lambda (folder)
|
|
(let* ((candidate (string-append folder lib-site-perl)))
|
|
(if (file-exists? candidate)
|
|
(list candidate)
|
|
'())))
|
|
store-folders)))
|
|
|
|
(let* ((perl-executable (string-append #$(this-package-input "perl") "/bin/perl"))
|
|
(without-source (filter
|
|
(lambda (input)
|
|
(not (string=? "source" (car input))))
|
|
inputs))
|
|
(store-folders (map cdr without-source))
|
|
(site-libs (perl-site-libs store-folders #:perl perl-executable))
|
|
(package-lib-perl (string-append #$output "/lib/perl"))
|
|
(variable-specs `(("PERL5LIB" prefix
|
|
(,package-lib-perl ,@site-libs)))))
|
|
(for-each
|
|
(lambda (script)
|
|
(apply wrap-program script #:sh (which "bash") variable-specs))
|
|
scripts))))))
|
|
#:modules '((ice-9 ftw)
|
|
(ice-9 regex)
|
|
(guix build utils)
|
|
(guix build copy-build-system))
|
|
#:install-plan
|
|
#~'(("Debbugs" "lib/perl/")
|
|
("html" "share/")
|
|
("templates" "share/")
|
|
("cgi/" "cgi" #:exclude-regexp ("off/.*")))))
|
|
(inputs (list
|
|
; for wrap-program
|
|
bash
|
|
inetutils
|
|
perl
|
|
perl-cgi-simple
|
|
perl-data-dumper
|
|
perl-db-file
|
|
perl-exporter-tiny
|
|
perl-html-parser
|
|
perl-io-stringy
|
|
perl-list-moreutils
|
|
perl-mailtools
|
|
perl-mime-tools
|
|
perl-mldbm/juix
|
|
perl-module-implementation
|
|
perl-module-runtime
|
|
perl-params-validate
|
|
perl-safe-hole/juix
|
|
perl-search-estraier/juix
|
|
perl-soap-lite/juix
|
|
perl-storable
|
|
perl-text-template
|
|
perl-timedate
|
|
perl-try-tiny
|
|
perl-uri))
|
|
(home-page "https://codeberg.org/lechner/debbugs-gnu")
|
|
(synopsis "Debian has a bug tracking system which files details of
|
|
bugs reported by users and developers. Each bug is given a number, and is
|
|
kept on file until it is marked as having been dealt with. The system is
|
|
mainly controlled by e-mail, but the bug reports can be viewed using the
|
|
WWW.
|
|
|
|
This is the version used by the GNU Project.")
|
|
(description
|
|
"Debian's bug tracking system as used by the GNU Project.")
|
|
(license license:gpl2+))))
|
|
|
|
(define-public debbugs-gnu-experimental/juix
|
|
(let ((commit "8beaa7ffcf5e07dd814689c28ce8ce060036d532")
|
|
(revision "0"))
|
|
(package
|
|
(name "debbugs")
|
|
(version (git-version "0.0" revision commit))
|
|
(source (origin
|
|
(method git-fetch)
|
|
(uri (git-reference
|
|
(url "https://codeberg.org/lechner/debbugs-gnu")
|
|
(commit commit)))
|
|
(file-name (git-file-name name version))
|
|
(sha256
|
|
(base32
|
|
"1l7735qcws136sk36akhx1dyfrgpzh1hy5j2cczciydwqb1bf597"))))
|
|
(build-system copy-build-system)
|
|
(arguments
|
|
(list
|
|
#:phases
|
|
#~(modify-phases %standard-phases
|
|
(add-after 'install 'fix-paths
|
|
(lambda _
|
|
(let ((inetutils #$(this-package-input "inetutils"))
|
|
(lib-perl (string-append #$output "/lib/perl")))
|
|
(substitute* (string-append lib-perl "/Debbugs/Config.pm")
|
|
(("hostname --fqdn") (string-append inetutils "/bin/hostname --fqdn"))
|
|
(("/usr/share/debbugs/templates") (string-append #$output "/share/templates"))))))
|
|
(add-after 'fix-paths 'wrap-executables
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
(let* ((cgi (string-append #$output "/cgi"))
|
|
(basenames (scandir cgi (lambda (name)
|
|
(string-match "[.]cgi$" name))))
|
|
(scripts (map (lambda (name)
|
|
(string-append cgi "/" name))
|
|
basenames)))
|
|
;; debugging
|
|
(for-each
|
|
(lambda (script)
|
|
(substitute* script
|
|
;; turn on debugging output
|
|
(("use strict;")
|
|
"use strict;\n\nuse Carp 'verbose';\n$SIG{ __DIE__ } = sub { Carp::confess( @_ ) };")
|
|
;; enable CGI command-line debugging
|
|
(("use CGI::Simple;") "use CGI::Simple;\n$CGI::Simple::DEBUG = 1;")))
|
|
scripts)
|
|
|
|
(for-each
|
|
(lambda (script)
|
|
;; PERL5LIB is ignored in tainted mode
|
|
(substitute* script (("use strict;")
|
|
"use strict;\n\nuse lib $ENV{PERL5LIB} =~ /[^:]+/g;")))
|
|
scripts)
|
|
|
|
(use-modules (ice-9 popen)
|
|
(ice-9 textual-ports)
|
|
(srfi srfi-1))
|
|
|
|
(define (perl-version perl-executable)
|
|
(let* ((input-pipe (open-pipe* OPEN_READ perl-executable "-e" "print $^V"))
|
|
(version-output (get-string-all input-pipe)))
|
|
(close-pipe input-pipe)
|
|
(string-delete #\v version-output)))
|
|
|
|
(define* (perl-site-libs store-folders #:key perl)
|
|
(let* ((version (perl-version perl))
|
|
(lib-site-perl (string-append "/lib/perl5/site_perl/" version)))
|
|
(append-map
|
|
(lambda (folder)
|
|
(let* ((candidate (string-append folder lib-site-perl)))
|
|
(if (file-exists? candidate)
|
|
(list candidate)
|
|
'())))
|
|
store-folders)))
|
|
|
|
(let* ((perl-executable (string-append #$(this-package-input "perl") "/bin/perl"))
|
|
(without-source (filter
|
|
(lambda (input)
|
|
(not (string=? "source" (car input))))
|
|
inputs))
|
|
(store-folders (map cdr without-source))
|
|
(site-libs (perl-site-libs store-folders #:perl perl-executable))
|
|
(package-lib-perl (string-append #$output "/lib/perl"))
|
|
(variable-specs `(("PERL5LIB" prefix
|
|
(,package-lib-perl ,@site-libs)))))
|
|
(for-each
|
|
(lambda (script)
|
|
(apply wrap-program script #:sh (which "bash") variable-specs))
|
|
scripts))))))
|
|
#:modules '((ice-9 ftw)
|
|
(ice-9 regex)
|
|
(guix build utils)
|
|
(guix build copy-build-system))
|
|
#:install-plan
|
|
#~'(("lib/" "lib/perl/")
|
|
("html" "share/")
|
|
("templates" "share/")
|
|
("cgi/" "cgi"))))
|
|
(inputs (list
|
|
; for wrap-program
|
|
bash
|
|
inetutils
|
|
perl
|
|
perl-b-hooks-endofscope
|
|
perl-cgi-simple
|
|
perl-class-accessor-grouped
|
|
perl-class-c3-componentised
|
|
perl-class-data-inheritable
|
|
perl-class-hash/juix
|
|
perl-class-inspector
|
|
perl-class-singleton
|
|
perl-clone-choose
|
|
perl-data-dumper
|
|
perl-data-messagepack/juix
|
|
perl-datetime
|
|
perl-datetime-format-builder
|
|
perl-datetime-format-pg/juix
|
|
perl-datetime-format-strptime
|
|
perl-datetime-locale
|
|
perl-datetime-timezone
|
|
perl-db-file
|
|
perl-dbix-class/juix
|
|
perl-dbix-class-dynamicdefault/juix
|
|
perl-dbix-class-timestamp/juix
|
|
perl-devel-globaldestruction
|
|
perl-devel-stacktrace
|
|
perl-exception-class
|
|
perl-exporter-tiny
|
|
perl-eval-closure
|
|
perl-file-sharedir
|
|
perl-hash-merge
|
|
perl-html-parser
|
|
perl-io-stringy
|
|
perl-list-allutils
|
|
perl-list-moreutils
|
|
perl-mail-message/juix
|
|
perl-mailtools
|
|
perl-mime-tools
|
|
perl-mldbm/juix
|
|
perl-module-find
|
|
perl-module-implementation
|
|
perl-module-runtime
|
|
perl-mouse
|
|
perl-mousex-nativetraits
|
|
perl-mro-compat
|
|
perl-namespace-autoclean
|
|
perl-namespace-clean
|
|
perl-package-stash
|
|
perl-params-validate
|
|
perl-params-validationcompiler
|
|
perl-role-tiny-2
|
|
perl-safe-hole/juix
|
|
perl-search-estraier/juix
|
|
perl-soap-lite/juix
|
|
perl-specio
|
|
perl-sql-abstract-classic
|
|
perl-storable
|
|
perl-strictures-2
|
|
perl-sub-exporter-progressive
|
|
perl-sub-identify
|
|
perl-sub-name
|
|
perl-sub-quote
|
|
perl-text-iconv/juix
|
|
perl-text-template
|
|
perl-text-xslate/juix
|
|
perl-timedate
|
|
perl-try-tiny
|
|
perl-uri
|
|
perl-variable-magic))
|
|
(home-page "https://codeberg.org/lechner/debbugs-gnu")
|
|
(synopsis "Debian has a bug tracking system which files details of
|
|
bugs reported by users and developers. Each bug is given a number, and is
|
|
kept on file until it is marked as having been dealt with. The system is
|
|
mainly controlled by e-mail, but the bug reports can be viewed using the
|
|
WWW.
|
|
|
|
This is the version used by the GNU Project.")
|
|
(description
|
|
"Debian's bug tracking system as used by the GNU Project.")
|
|
(license license:gpl2+))))
|