guix.scm 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. (use-modules (guix packages)
  2. (guix build-system guile)
  3. (guix build utils)
  4. (guix gexp)
  5. (guix git)
  6. (guix git-download)
  7. ((guix licenses) #:prefix license:)
  8. (gnu packages guile)
  9. (gnu packages guile-xyz)
  10. (gnu packages tls)
  11. (ice-9 popen)
  12. (ice-9 textual-ports)
  13. (srfi srfi-1))
  14. (define %source-dir
  15. (dirname (current-filename)))
  16. (define %git-commit
  17. (with-directory-excursion %source-dir
  18. (get-line (open-input-pipe "git rev-parse HEAD"))))
  19. (define guile-gemini
  20. (package
  21. (name "guile-gemini")
  22. (version (git-version "0.1" "HEAD" %git-commit))
  23. (source (local-file %source-dir
  24. #:recursive? #t
  25. #:select? (git-predicate %source-dir)))
  26. (build-system guile-build-system)
  27. (arguments '(#:source-directory "src"))
  28. (inputs (list guile-3.0-latest))
  29. (propagated-inputs (list guile-fibers-1.1 guile-gnutls))
  30. (home-page "https://notabug.org/flatwhatson/guile-gemini")
  31. (synopsis "Guile implementation of the Gemini protocol")
  32. (description
  33. "Guile Gemini is an implementation of the Gemini protocol in Guile Scheme,
  34. providing both client and server functionality. It uses GnuTLS to meet
  35. Gemini's TLS requirements, and Guile Fibers for concurrency.")
  36. (license license:lgpl3+)))
  37. guile-gemini