diff options
author | Christopher Baines <mail@cbaines.net> | 2023-07-12 13:27:08 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2023-07-12 13:27:08 +0100 |
commit | 258f6542202cbb50b18d87f3a890ba80d4586980 (patch) | |
tree | 3ad2c1486de3629e92fef1d7389d91b586f33abe | |
parent | 20b26bd48e9a2a4aaaa5ba28a60cc888e1c0520c (diff) | |
download | bffe-258f6542202cbb50b18d87f3a890ba80d4586980.tar bffe-258f6542202cbb50b18d87f3a890ba80d4586980.tar.gz |
Remove the bffe script
The way to run the bffe is calling the run-bffe-service procedure, that
provide the easiest way of configuring and customising the behaviour directly
in Guile.
-rw-r--r-- | Makefile.am | 3 | ||||
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | scripts/bffe.in | 127 |
3 files changed, 0 insertions, 131 deletions
diff --git a/Makefile.am b/Makefile.am index 72199b1..8a195d6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -20,9 +20,6 @@ include guile.am -bin_SCRIPTS = \ - scripts/bffe - moddir = $(prefix)/share/guile/site/$(GUILE_EFFECTIVE_VERSION) godir = $(prefix)/lib/guile/$(GUILE_EFFECTIVE_VERSION)/site-ccache assetsdir = $(datadir)/@PACKAGE@ diff --git a/configure.ac b/configure.ac index 6b5f15d..8c00a94 100644 --- a/configure.ac +++ b/configure.ac @@ -30,7 +30,6 @@ AC_PATH_PROG([guix], [guix]) dnl Substitute placeholders to generate these target files AC_CONFIG_FILES([Makefile]) AC_CONFIG_FILES([bffe/config.scm]) -AC_CONFIG_FILES([scripts/bffe], [chmod +x scripts/bffe]) AC_CONFIG_FILES([pre-inst-env], [chmod +x pre-inst-env]) AC_OUTPUT diff --git a/scripts/bffe.in b/scripts/bffe.in deleted file mode 100644 index 8febcc9..0000000 --- a/scripts/bffe.in +++ /dev/null @@ -1,127 +0,0 @@ -#!@GUILE@ --no-auto-compile --*- scheme -*- --*- geiser-scheme-implementation: guile -*- -!# -;;; bffe - Build farm front-end -;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2019 Christopher Baines <mail@cbaines.net> -;;; -;;; This file is part of bffe. -;;; -;;; bffe is free software; you can redistribute it and/or modify it under the -;;; terms of the GNU General Public License as published by the Free Software -;;; Foundation; either version 3 of the License, or (at your option) any later -;;; version. -;;; -;;; bffe is distributed in the hope that it will be useful, but WITHOUT ANY -;;; WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -;;; FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -;;; details. -;;; -;;; You should have received a copy of the GNU General Public License along -;;; with the bffe. If not, see <http://www.gnu.org/licenses/>. - -(use-modules (srfi srfi-1) - (srfi srfi-37) - (ice-9 match) - (ice-9 textual-ports) - (system repl server) - (system repl repl) - (gcrypt pk-crypto) - (guix pki) - (prometheus) - (bffe)) - -(define %options - ;; Specifications of the command-line options - (list (option '("repl") #f #t - (lambda (opt name arg result) - (alist-cons 'repl #t (alist-delete 'repl result)))) - (option '("pid-file") #t #f - (lambda (opt name arg result) - (alist-cons 'pid-file - arg - result))) - (option '("port") #t #f - (lambda (opt name arg result) - (alist-cons 'port - (string->number arg) - (alist-delete 'port result)))) - (option '("host") #t #f - (lambda (opt name arg result) - (alist-cons 'host - arg - (alist-delete 'host result)))) - (option '("title") #t #f - (lambda (opt name arg result) - (alist-cons 'title - arg - result))) - (option '("event-source") #t #f - (lambda (opt name arg result) - (alist-cons 'event-source - arg - result))) - (option '("template-directory") #t #f - (lambda (opt name arg result) - (alist-cons 'template-directory - arg - result))))) - -(define %default-options - ;; Alist of default option values - `((port . 8767) - (host . "0.0.0.0") - - (assets-directory . ,(let ((install-dir - "@prefix@/share/bffe/assets") - (dev-dir - (string-append (getcwd) "/assets"))) - (if (file-exists? install-dir) - install-dir - dev-dir))) - (title . "Build farm") - (event-source . "http://localhost:8746") - (template-directory . ,(let ((install-dir - "@prefix@/share/bffe/templates") - (dev-dir - (string-append (getcwd) "/templates"))) - (if (file-exists? install-dir) - install-dir - dev-dir))))) - -(define (parse-options args) - (args-fold - args %options - (lambda (opt name arg result) - (error "unrecognized option" name)) - (lambda (arg result) - (error "extraneous argument" arg)) - %default-options)) - -(setvbuf (current-output-port) 'line) -(setvbuf (current-error-port) 'line) - -(let ((opts (parse-options (cdr (program-arguments))))) - (let ((pid-file (assq-ref opts 'pid-file))) - (when pid-file - (call-with-output-file pid-file - (lambda (port) - (simple-format port "~A\n" (getpid)))))) - - ;; Provide some visual space between the startup output and the - ;; server starting - (simple-format #t "\n\nStarting the server on http://~A:~A/\n\n" - (assq-ref opts 'host) - (assq-ref opts 'port)) - - (run-bffe-service - #:web-server-args - (list #:port (assq-ref opts 'port) - #:host (assq-ref opts 'host) - #:assets-directory (assq-ref opts 'assets-directory) - #:events-source (assq-ref opts 'event-source) - #:controller-args - (list #:title (assq-ref opts 'title) - #:template-directory (assq-ref opts 'template-directory))))) |