summaryrefslogtreecommitdiff
path: root/guix/vkraus/packages/webid-oidc.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/vkraus/packages/webid-oidc.scm')
-rw-r--r--guix/vkraus/packages/webid-oidc.scm140
1 files changed, 140 insertions, 0 deletions
diff --git a/guix/vkraus/packages/webid-oidc.scm b/guix/vkraus/packages/webid-oidc.scm
new file mode 100644
index 0000000..f05477a
--- /dev/null
+++ b/guix/vkraus/packages/webid-oidc.scm
@@ -0,0 +1,140 @@
+(define-module (vkraus packages webid-oidc)
+ #:use-module (guix packages)
+ #:use-module (guix gexp)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages guile)
+ #:use-module (gnu packages guile-xyz)
+ #:use-module (gnu packages nettle)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages man)
+ #:use-module (gnu packages tls))
+
+(define-public webid-oidc-snapshot
+ (package
+ (name "webid-oidc-snapshot")
+ (version "SNAPSHOT")
+ (source "./webid-oidc-SNAPSHOT.tar.gz")
+ (build-system gnu-build-system)
+ (arguments
+ '(#:modules ((guix build utils)
+ (guix build gnu-build-system)
+ (ice-9 rdelim)
+ (ice-9 popen))
+ #:phases
+ (modify-phases
+ %standard-phases
+ (add-after
+ 'install 'wrap-program
+ (lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (the-guile (assoc-ref (or native-inputs inputs) "guile"))
+ (the-guile-exec (format #f "~a/bin/guile" the-guile))
+ (effective-version
+ (read-line
+ (open-pipe* OPEN_READ
+ the-guile-exec
+ "-c"
+ "(display (effective-version))")))
+ (guile-propagated-inputs
+ (cons out
+ (map (lambda (name)
+ (assoc-ref inputs name))
+ '("guile-json" "guile-rdf" "gnutls"))))
+ (mod-paths
+ (map (lambda (prop-input)
+ (format #f "~a/share/guile/site/~a"
+ prop-input effective-version))
+ guile-propagated-inputs))
+ (go-paths
+ (map (lambda (prop-input)
+ (format #f "~a/lib/guile/~a/site-ccache"
+ prop-input effective-version))
+ guile-propagated-inputs)))
+ (wrap-program
+ (format #f "~a/bin/webid-oidc-issuer" out)
+ `("GUILE_LOAD_PATH" ":" = ,mod-paths)
+ `("GUILE_LOAD_COMPILED_PATH" ":" = ,go-paths))))))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("guile" ,guile-3.0)
+ ("texinfo" ,texinfo)
+ ("autoconf" ,autoconf)
+ ("autoconf-archive" ,autoconf-archive)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("gettext" ,gnu-gettext)
+ ("coreutils" ,coreutils) ;; for link (wrap-program)
+ ("help2man" ,help2man)
+ ("which" ,which)))
+ (inputs `(("guile" ,guile-3.0)
+ ("nettle" ,nettle)))
+ (propagated-inputs
+ `(("guile" ,guile-3.0)
+ ("guile-json" ,guile-json-4)
+ ("guile-rdf" ,guile-rdf)
+ ("gnutls" ,gnutls)))
+ (synopsis "")
+ (description "")
+ (home-page "https://labo.planete-kraus.eu/webid-oidc.git")
+ (license license:gpl3+)
+ (native-search-paths
+ (list (search-path-specification
+ (variable "LTDL_LIBRARY_PATH")
+ (files '("lib")))))))
+
+(define-public (webid-oidc-release version commit hash)
+ (package
+ (inherit webid-oidc-snapshot)
+ (name "webid-oidc")
+ (version version)
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://labo.planete-kraus.eu/webid-oidc.git")
+ (commit commit)))
+ (sha256 (base32 hash))
+ (snippet
+ `(begin
+ (with-output-to-file ".tarball-version"
+ (lambda _ (format #t "~a~%" ,version)))
+ #t))))))
+
+(define-public (webid-oidc-htmlize webid-oidc)
+ (package
+ (inherit webid-oidc)
+ (name "webid-oidc-html")
+ (arguments
+ '(#:phases
+ (modify-phases
+ %standard-phases
+ (add-after
+ 'build 'build-html
+ (lambda* (#:key make-flags parallel-build? #:allow-other-keys)
+ (apply invoke "make" "html"
+ `(,@(if parallel-build?
+ `("-j" ,(number->string (parallel-job-count)))
+ '())
+ ,@make-flags))))
+ (replace
+ 'install
+ (lambda* (#:key make-flags parallel-build? #:allow-other-keys)
+ (apply invoke "make" "install-html"
+ `(,@(if parallel-build?
+ `("-j" ,(number->string (parallel-job-count)))
+ '())
+ ,@make-flags)))))))
+ (synopsis "HTML documentation for webid-oidc")
+ (description "The manual for webid-oidc is provided as a texinfo
+file, which is exported to HTML.")))
+
+(define-public (make-website webid-oidc)
+ (file-append (webid-oidc-htmlize webid-oidc) "/share/doc/webid-oidc/webid-oidc.html"))