;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
;; These should be inputs but moar.h can't find them when building rakudo
(propagated-inputs
`(("libatomic-ops" ,libatomic-ops)
+ ("libffi" ,libffi)
("libtommath" ,libtommath-1.0)
("libuv" ,libuv)))
- (inputs
- `(("libffi" ,libffi)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(synopsis "VM for NQP And Rakudo Perl 6")
specification and runs on top of several virtual machines.")
(license license:artistic2.0)))
+(define-public perl6-grammar-debugger
+ ;; Last commit was September 2017
+ (let ((commit "0375008027c8caa216bd869476ce59ae09b2a702")
+ (revision "1"))
+ (package
+ (name "perl6-grammar-debugger")
+ (version (git-version "1.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jnthn/grammar-debugger")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0y826z3m276n7ia810hgcb3div67nxmx125m2fzlc16994zd5vm5"))))
+ (build-system rakudo-build-system)
+ (propagated-inputs
+ `(("perl6-terminal-ansicolor" ,perl6-terminal-ansicolor)))
+ (home-page "https://github.com/jnthn/grammar-debugger")
+ (synopsis "Simple tracing and debugging support for Perl 6 grammars")
+ (description "This module provides a simple debugger for grammars. Just
+@code{use} it: use @code{Grammar::Debugger;} and any grammar in the lexical
+scope of the use statement will automatically have debugging enabled. The
+debugger will break execution when you first enter the grammar, and provide a
+prompt.")
+ (license license:artistic2.0))))
+
+(define-public perl6-grammar-profiler-simple
+ ;; Last commit was June 2017
+ (let ((commit "c0aca5fab323b2974821dabd6b89330c609e0b7d")
+ (revision "1"))
+ (package
+ (name "perl6-grammar-profiler-simple")
+ (version (git-version "0.02" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/perlpilot/Grammar-Profiler-Simple")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1qcsa4lmcilp3vp0jng0hrgzyzxin9ayg2wjvkcd0k6h7djx9dff"))))
+ (build-system rakudo-build-system)
+ (arguments '(#:with-zef? #f))
+ (home-page "https://github.com/perlpilot/Grammar-Profiler-Simple")
+ (synopsis "Simple rule profiling for Perl 6 grammars")
+ (description "This module provides a simple profiler for Perl 6 grammars.
+To enable profiling simply add use @code{Grammar::Profiler::Simple;} to your
+code. Any grammar in the lexical scope of the use statement will automatically
+have profiling information collected when the grammar is used.")
+ (license license:artistic2.0))))
+
+(define-public perl6-json
+ (package
+ (name "perl6-json")
+ (version "1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/moritz/json")
+ ;; The commit where 1.0 was "tagged"
+ (commit "a5ef8c179350dae44ce7fb1abb684fc62c1c2b99")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1kzryxkqyr129rcckd4jh0dfxdgzv71qx8dpkpm1divbfjyknlay"))))
+ (build-system rakudo-build-system)
+ (arguments '(#:with-zef? #f))
+ (home-page "https://github.com/moritz/json")
+ (synopsis "A minimal JSON (de)serializer")
+ (description "This module is a simple Perl 6 module for serializing and
+deserializing JSON.")
+ (license license:artistic2.0)))
+
(define-public perl6-json-class
(package
(name "perl6-json-class")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/jonathanstowe/JSON-Class.git")
+ (url "https://github.com/jonathanstowe/JSON-Class")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(synopsis "Provide simple serialisation/deserialisation of objects to/from JSON")
(description "This is a simple role that provides methods to instantiate a
class from a JSON string that (hopefully,) represents it, and to serialise an
-object of the class to a JSON string. The JSON created from an instance should
-round trip to a new instance with the same values for the @quot{public
-attributes}. @quot{Private} attributes (that is ones without accessors,) will
-be ignored for both serialisation and de-serialisation. The exact behaviour
-depends on that of @code{JSON::Marshal} and @code{JSON::Unmarshal} respectively.")
+object of the class to a JSON string. The JSON created from an instance
+should round trip to a new instance with the same values for the public
+attributes. Private attributes (that is ones without accessors,) will be
+ignored for both serialisation and de-serialisation. The exact behaviour
+depends on that of @code{JSON::Marshal} and @code{JSON::Unmarshal}
+respectively.")
(license license:artistic2.0)))
(define-public perl6-json-fast
(package
(name "perl6-json-fast")
- (version "0.8")
+ (version "0.10")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/timo/json_fast.git")
+ (url "https://github.com/timo/json_fast")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32
- "1fif081gdxdnja14vkj523p9dyzdcdj81lmjv9fvfazvpagb6dg2"))))
+ (base32 "1g8hr1mdrxwdpzc7hvs9l5r12phvba6y6a5chgkj90ing77ji4b2"))))
(build-system rakudo-build-system)
(arguments '(#:with-zef? #f))
(home-page "https://github.com/timo/json_fast")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/jonathanstowe/JSON-Marshal.git")
+ (url "https://github.com/jonathanstowe/JSON-Marshal")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/jonathanstowe/JSON-Name.git")
+ (url "https://github.com/jonathanstowe/JSON-Name")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/tadzik/JSON-Unmarshal.git")
+ (url "https://github.com/tadzik/JSON-Unmarshal")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/jonathanstowe/META6.git")
+ (url "https://github.com/jonathanstowe/META6")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
specification - the META file data can be read, created, parsed and written in a
manner that is conformant with the specification.
-Where they are known about it also makes allowance for @quot{customary} usage in
+Where they are known about it also makes allowance for customary usage in
existing software (such as installers and so forth.)
-The intent of this is allow the generation and testing of META files for module
-authors, so it can provide meta-information whether the attributes are mandatory
-as per the spec and where known the places that @quot{customary} attributes are
-used.")
+The intent of this is allow the generation and testing of META files for
+module authors, so it can provide meta-information whether the attributes are
+mandatory as per the spec and where known the places that customary attributes
+are used.")
+ (license license:artistic2.0)))
+
+(define-public perl6-mime-base64
+ (package
+ (name "perl6-mime-base64")
+ (version "1.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/perl6/Perl6-MIME-Base64")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0l67m8mvz3gxml425sd1ggfnhzh4lf754k7w8fngfr453s6lsza1"))))
+ (build-system rakudo-build-system)
+ (arguments '(#:with-zef? #f))
+ (home-page "https://github.com/perl6/Perl6-MIME-Base64")
+ (synopsis "Encoding and decoding Base64 ASCII strings")
+ (description "This Perl 6 module implements encoding and decoding to and
+from base64.")
+ (license license:artistic2.0)))
+
+(define-public perl6-oo-monitors
+ (package
+ (name "perl6-oo-monitors")
+ (version "1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jnthn/oo-monitors")
+ ;; The commit where 1.1 was "tagged"
+ (commit "494db3a3852854f30a80c9bd1489a7d5e429e7c5")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1sbw2x54wwjjanghjnc7ipmplaw1srvbrphsdv4ym6cipnbmbj9x"))))
+ (build-system rakudo-build-system)
+ (arguments '(#:with-zef? #f))
+ (home-page "https://github.com/jnthn/oo-monitors")
+ (synopsis "Monitors with condition variables for Perl 6")
+ (description "A monitor provides per-instance mutual exclusion for objects.
+This means that for a given object instance, only one thread can ever be inside
+its methods at a time. This is achieved by a lock being associated with each
+object. The lock is acquired automatically at the entry to each method in the
+monitor. Condition variables are also supported.")
(license license:artistic2.0)))
(define-public perl6-svg
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/perl6/tap-harness6.git")
+ (url "https://github.com/perl6/tap-harness6")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
minimal wrapper around an instance of this module.")
(license license:artistic2.0)))
+(define-public perl6-terminal-ansicolor
+ (package
+ (name "perl6-terminal-ansicolor")
+ (version "0.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tadzik/Terminal-ANSIColor")
+ ;; The commit where 0.5 was "tagged"
+ (commit "edded4a7116ce11cbc9fb5a83669c7ba119d0212")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1apm999azkyg5s35gid12wq019aqnvzrkz7qjmipd74mdxgr00x7"))))
+ (build-system rakudo-build-system)
+ (arguments '(#:with-zef? #f))
+ (home-page "https://github.com/tadzik/Terminal-ANSIColor")
+ (synopsis "Colorize terminal output")
+ (description "This is a @code{Terminal::ANSIColor} module for Perl 6.")
+ (license license:expat)))
+
(define-public perl6-test-meta
(package
(name "perl6-test-meta")
some confidence that they have a working distribution META description file.")
(license license:artistic2.0)))
+(define-public perl6-test-mock
+ (package
+ (name "perl6-test-mock")
+ (version "1.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jnthn/test-mock")
+ ;; The commit where 1.5 was "tagged"
+ (commit "6eddb42f73f40b9ac29c14badb41ce4a04d876f2")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "07yr3qimc8fl29p23562ayj2j9h53madcnf9sgqvgf2kcprh0zd2"))))
+ (build-system rakudo-build-system)
+ (propagated-inputs
+ `(("perl6-oo-monitors" ,perl6-oo-monitors)))
+ (home-page "https://github.com/jnthn/test-mock")
+ (synopsis "Module for simply generating and checking mock objects")
+ (description "@code{Test::Mock} is a module that works alongside the
+standard Test module to help you write tests when you want to verify what
+methods are called on an object, while still having calls to undefined methods
+die. You get started just as normal with the test file, but also add a use
+statement for @code{Test::Mock}.")
+ (license license:artistic2.0)))
+
(define-public perl6-uri
(package
(name "perl6-uri")
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/perl6-community-modules/uri.git")
+ (url "https://github.com/perl6-community-modules/uri")
(commit version)))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/ugexe/zef.git")
+ (url "https://github.com/ugexe/zef")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256