activity-servist/activity-servist.asd
Jaidyn Ann d652598d77 Creation & verification of RSA-SHA256 signatures
… dear lord, this is bad. :P
I’ll have to make some minimal C bindings or
something, to make this a bit sturdier.

Also removes old (shambly) code for using `openssl`
to manually convert PEM keys into Ironclad keys.
It’s easier to avoid Ironclad here, though, honestly.
2024-12-29 23:48:33 -06:00

118 lines
3.9 KiB
Common Lisp
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(require "asdf")
(asdf:defsystem "activity-servist"
:version "0.0"
:license "AGPLv3"
:description "ActitivyPub federated server framework."
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:homepage "https://hak.xwx.moe/jadedctrl/activity-servist"
:in-order-to ((test-op (test-op "activitypub/tests")))
:depends-on (:activity-servist/vocab/activity :activity-servist/signatures
:alexandria :clack :dexador
:local-time :purl :str :webtentacle :yason)
:components ((:file "src/activity-servist")))
(asdf:defsystem "activity-servist/vocab"
:version "0.0"
:license "AGPLv3"
:description "A-S subpackage providing a standard vocabulary for ActivityPub programs."
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:homepage "https://hak.xwx.moe/jadedctrl/activity-servist"
:depends-on (:activity-servist/vocab/activity :activity-servist/vocab/litepub))
(asdf:defsystem "activity-servist/vocab/activity"
:version "0.0"
:license "AGPLv3"
:description "A-S subpackage containing ActivityVocabulary class-definitions."
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:homepage "https://hak.xwx.moe/jadedctrl/activity-servist"
:depends-on (:activity-servist/json-ld)
:components ((:file "src/activity-vocabulary")))
(asdf:defsystem "activity-servist/vocab/litepub"
:version "0.0"
:license "AGPLv3"
:description "A-S subpackage providing an expanded vocabulary."
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:homepage "https://hak.xwx.moe/jadedctrl/activity-servist"
:depends-on (:activity-servist/vocab/activity)
:components ((:file "src/litepub")))
(asdf:defsystem "activity-servist/json-ld"
:version "0.0"
:license "AGPLv3"
:description "A fragile and meek JSON-LD parser and encoder."
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:homepage "https://hak.xwx.moe/jadedctrl/activity-servist"
:depends-on (:alexandria :dexador :str :yason)
:components ((:file "src/json-ld")))
(asdf:defsystem "activity-servist/signatures"
:version "0.0"
:license "AGPLv3"
:description "A-S subpackage for handling HTTP signatures."
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:homepage "https://hak.xwx.moe/jadedctrl/activity-servist"
:depends-on (:cl-base64 :flexi-streams :inferior-shell :ironclad :osicat)
:components ((:file "src/signatures")))
;;; Tests
;;; —————————————————————————————————————
(asdf:defsystem "activity-servist/tests/vocab/activity"
:version "0.0"
:license "AGPLv3"
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:description "Tests the activity-servist/vocab/activity package, and indirectly /json-ld."
:depends-on (:activity-servist/vocab/activity
:alexandria :lisp-unit2)
:components ((:file "t/vocab/activity")))
(asdf:defsystem "activity-servist/tests/signatures"
:version "0.0"
:license "AGPLv3"
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:description "Tests for the the activity-servist/signatures package."
:depends-on (:activity-servist/signatures
:lisp-unit2)
:components ((:file "t/signatures")))
(asdf:defsystem "activity-servist/tests"
:version "0.0"
:license "AGPLv3"
:author "Jaidyn Ann <jadedctrl@posteo.at>"
:description "Tests for all activity-servist subpacakges."
:depends-on (:activity-servist/tests/vocab/activity
:activity-servist/tests/signatures
:alexandria :lisp-unit2)
:components ((:file "t/t")))
;; Following method tweaked from lisp-unit2s documentation:
;; https://github.com/AccelerationNet/lisp-unit2/blob/master/README.md#asdf
(defmacro define-asdf-testing (package)
`(defmethod asdf:perform ((o asdf:test-op) (c (eql (asdf:find-system ',package))))
(eval (read-from-string (format nil "(~A:run-with-summary)" ',package)))))
(define-asdf-testing activity-servist/tests/vocab/activity)
(define-asdf-testing activity-servist/tests/signatures)
(define-asdf-testing activity-servist/tests)