diff options
Diffstat (limited to 'elenq')
-rw-r--r-- | elenq/documentation.scm | 119 | ||||
-rw-r--r-- | elenq/graphics.scm | 109 | ||||
-rw-r--r-- | elenq/tools.scm | 60 |
3 files changed, 274 insertions, 14 deletions
diff --git a/elenq/documentation.scm b/elenq/documentation.scm index 3ce728f..f255fe9 100644 --- a/elenq/documentation.scm +++ b/elenq/documentation.scm @@ -1,31 +1,122 @@ (define-module (elenq documentation) + #:use-module (elenq graphics) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system copy) #:use-module (guix gexp) #:use-module (guix git-download) - #:use-module (guix packages)) + #:use-module (guix packages) + #:use-module (gnu packages haskell-xyz)) -(define-public pandoc-templates - (let ((revision "1") - (commit "39ad0e6cf9ed895b88041f8babe59506178a6fcb")) +(define-public elenq-pandoc-templates + (let ((revision "4") + (commit "4d65ed1bf92e46d04565b9cc1188db5e57f20f37")) (package - (name "pandoc-templates") + (name "elenq-pandoc-templates") (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "git://git.elenq.tech/pandoc-templates") - (commit commit))) - (sha256 - (base32 "1z2p1dxlgivdgw79f74n2ax84xr8g0q62fsxpwag4dfdmik7131b")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "git://git.elenq.tech/pandoc-templates") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12260xxs293g527vnpy7vs634vmd59irsy005f15320rxjbrblq7")))) (build-system copy-build-system) - (arguments (list #:install-plan ''(("pandoc" "/share/pandoc")))) + (inputs (list elenq-logos)) + (arguments + (list + #:install-plan ''(("pandoc" "/share/pandoc")) + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'set-url + (lambda _ + (for-each + (lambda (f) + (substitute* f + (("\\$elenq-directory\\$") + (string-append #$elenq-logos "/share/elenq/")))) + (list "pandoc/templates/elenq-article.latex" + "pandoc/templates/elenq-book.latex"))))))) (native-search-paths (list (search-path-specification - (variable "XDG_DATA_HOME") + (variable "XDG_DATA_DIRS") ;; Not supported by pandoc _yet_ (files '("share"))))) (home-page "http://git.elenq.tech/pandoc-templates") (synopsis "Pandoc templates for ElenQ Technology") (description "A set of well configured Pandoc templates for ElenQ Technology's documents.") (license license:asl2.0)))) + + +(define-public elenqdoc + (let ((revision "1") + (commit "1cb21742a69f681e6452a7ddd0adc9543aefd72a")) + (package + (name "elenqdoc") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "git://git.elenq.tech/elenqdoc") + (commit commit))) + (sha256 + (base32 "0fdxskf3h14vdr9w5pi18svrz40p9qkbwcn4c4rp1b1azpbfsa6s")))) + (build-system copy-build-system) + (inputs (list elenq-pandoc-templates)) + (propagated-inputs (list pandoc)) + (arguments + (list + #:install-plan ''(("elenqdoc" "/bin/elenqdoc")) + #:phases #~(modify-phases %standard-phases + (add-after 'install 'wrap + (lambda _ + (wrap-program (string-append #$output "/bin/elenqdoc") + `("ELENQDOC_DATADIR" = + (,(string-append #$elenq-pandoc-templates + "/share/pandoc/"))))))))) + (home-page "http://git.elenq.tech/") + (synopsis "Simplified pandoc wrapper for ElenQ documents") + (description "Provides `elenqdoc` command.") + (license license:asl2.0)))) + +(define-public tiddlywiki5-bob + (package + (name "tiddlywiki5-bob") + (version "1.7.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OokTech/TW5-Bob") + (commit version))) + (sha256 + (base32 "0s8ssmxfc5ydn52xh8l1s8qyczy0vk6nrnwspc4in8f336vm8y4c")))) + (build-system copy-build-system) + (arguments + (list + #:install-plan ''(("./" "tiddlywiki/plugins/OokTech/Bob")))) + (home-page "https://github.com/OokTech/TW5-Bob") + (synopsis "A plugin that makes tiddlywiki a multi-user wiki on node") + (description "What does it do? +@itemize +@item Multi-User support for using/editing the same wiki(s) simultaneously +@item Multi-Wiki support - run it once and serve multiple wikis +@item Create and configure new wikis from inside the root wiki +@item Export single file wikis in a variety of ways +@item Two-way real-time syncing between the browser and file system +@item All configuration can be done from inside the wiki +@item Serve external files (like images) so you can include them in your wikis +@item Allows you to run shell scripts and commands from inside the wiki +@item Can be used as a plugin library to make plugins available to other wikis + (requires the TWederBob plugin on the other wikis to connect) +@item Inter-server federation. Different Bob servers can communicate to share + tiddlers and as chat servers/relays +@item HTTP API for interacting with the server +@end itemize") + (native-search-paths + (list (search-path-specification + (variable "TIDDLYWIKI_PLUGIN_PATH") + (files '("tiddlywiki/plugins"))))) + (license license:bsd-3))) diff --git a/elenq/graphics.scm b/elenq/graphics.scm new file mode 100644 index 0000000..172aa93 --- /dev/null +++ b/elenq/graphics.scm @@ -0,0 +1,109 @@ +(define-module (elenq graphics) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system font) + #:use-module (guix build-system copy) + #:use-module (guix gexp) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (gnu packages guile) + #:use-module (gnu packages gnome)) + +(define-public font-armata + (package + (name "font-armata") + (version "0.9.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ekaitz-zarraga/font-armata/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1pdlydanpay93pgkbpawii11j62m643pqkv6i6crvia198i9fnrd")))) + (build-system font-build-system) + (home-page "https://fontlibrary.org/en/font/armata") + (synopsis "Armata Font") + (description + "Armata is a new Sans Serif font by Jasper @ Cannot Into Space +Fonts. It is named after the new Russian T-14 Armata Main Battle Tank.") + (license license:silofl1.1))) + +(define-public font-b612-better + (let ((revision "1") + (commit "ab287a9876083f29d9bf83e4b71a60e79d8b657e")) + (package + (name "font-b612-better") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ekaitz-zarraga/font-b612-better/") + (commit commit))) + (sha256 + (base32 "11r2blm2v82rsrl0jypi8x9r8im14q1gx57jhzdby4dia6jslsjv")))) + (build-system font-build-system) + (home-page "https://github.com/ekaitz-zarraga/font-b612-better") + (synopsis "B612 Font (improved)") + (description + "Fork of the B612 font developed by AIRBUS with a few +improvements: +@itemize +@item Proper Monospace support +@item Slashed Zero by default +@item Cleaned source blob files that required proprietary software. +@end itemize") + (license license:silofl1.1)))) + +(define-public elenq-logos + (let ((revision "1") + (commit "3612f4a88e6a06a9c0fa7cfdb81cbbf6f081a1a9")) + (package + (name "elenq-logos") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "git://git.elenq.tech/elenq-logos/") + (commit commit))) + (sha256 + (base32 "0q0a5p84vxwcj3516snnwq09i3g36idfmvpp46vsl9hcq9z53ha3")))) + (native-inputs (list librsvg font-armata guile-3.0-latest)) + (arguments + (list + #:install-plan ''(("out/" "share/elenq")) + #:phases + #~(modify-phases %standard-phases + (add-before 'install 'build + (lambda _ + (define out "out") + + (define (redirected-to-file filename . command) + (with-output-to-file filename + (lambda () (apply invoke command)))) + + (define (make-all-logo-formats subname) + (let ((base (string-append out "/elenq-" subname ".svg"))) + (redirected-to-file base "guile" "logo/elenq.scm" subname) + (invoke + "rsvg-convert" base "--format=svg" "--output" + (string-append out "/elenq-" subname ".optimized.svg")) + (for-each + (lambda (size) + (invoke + "rsvg-convert" base "--format=png" "--output" + (string-append out "/elenq-" subname "-" size ".png") + "-w" size "--keep-aspect-ratio")) + (map (lambda (x) (number->string (integer-expt 2 x))) + (iota 6 5 1))))) + + (mkdir "out") + (for-each make-all-logo-formats + (list "technology" "publishing"))))))) + (build-system copy-build-system) + (home-page "https://elenq.tech") + (synopsis "ElenQ logos") + (description "ElenQ Technology logos in different sizes and formats.") + (license license:cc-by-sa4.0)))) diff --git a/elenq/tools.scm b/elenq/tools.scm new file mode 100644 index 0000000..17b2a40 --- /dev/null +++ b/elenq/tools.scm @@ -0,0 +1,60 @@ +(define-module (elenq tools) + #:use-module (guix gexp) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system guile) + #:use-module ((guix build utils) #:select (with-directory-excursion)) + #:use-module (gnu packages) + #:use-module (gnu packages guile) + #:use-module (gnu packages guile-xyz)) + +(define-public guile-simple-site-builder + (package + (name "guile-simple-site-builder") + (version "0.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "git://git.elenq.tech/guile-simple-site-builder") + (commit version))) + (sha256 + (base32 "1gfbckg34ws2nf6ng85ip82ixvdscz1dfw1wd0yn43gd336n268v")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'remove-guix.scm + (lambda _ (delete-file "guix.scm")))))) + (propagated-inputs (list guile-3.0)) + (build-system guile-build-system) + (home-page "https://git.elenq.tech/guile-simple-site-builder/") + (synopsis "Atom and an HTML index generator") + (description "A simple tool to generate an Atom and an HTML index from a +very simple scheme file.") + (license license:gpl3+))) + +(define-public reminder + (let ((revision "1") + (commit "cd2cbbb6511f6be57de2dcdcca20c76ca73e8f06")) + (package + (name "reminder") + (version "0.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ekaitz-zarraga/reminder.git") + (commit commit))) + (sha256 + (base32 "0giykd6x040xd2d75sra6ziyhfic8dgr3fpyzv5v4bwzv6wafh35")))) + (arguments + `(#:phases (modify-phases %standard-phases + (add-before 'build 'delete-guix.scm + (lambda _ (delete-file "guix.scm")))))) + (build-system guile-build-system) + (native-inputs (list guile-3.0)) + (propagated-inputs (list guile-libnotify)) + (synopsis "Remind you things periodically") + (description "Reminder triggers desktop notifications periodically according +to a configuration file you provided.") + (home-page "none") + (license license:asl2.0)))) |