diff mbox series

[bug#65732,1/2] gnu: Add bffe.

Message ID cdf0599af2f9636e37b44f489fd2cfef1fcd74cf.1693830767.git.mail@cbaines.net
State New
Headers show
Series Add the Build Farm Front-End | expand

Commit Message

Christopher Baines Sept. 4, 2023, 12:32 p.m. UTC
* gnu/packages/package-management.scm (bffe): New variable.
---
 gnu/packages/package-management.scm | 51 +++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)


base-commit: 8d70ff3a49f7cdf0eab93b3a1c54ec2f016afc4a

Comments

Ludovic Courtès Sept. 14, 2023, 2:58 p.m. UTC | #1
Hello,

Christopher Baines <mail@cbaines.net> skribis:

> * gnu/packages/package-management.scm (bffe): New variable.


[...]

> +             ;; Guile libraries are needed here for cross-compilation.
> +             (car (assoc-ref (package-native-inputs guix) "guile"))

Rather: (lookup-package-native-input guix "guile")

Otherwise LGTM.

> +      (home-page "https://git.cbaines.net/guix/bffe")
> +      (synopsis "Build Farm Front-end for Guix")
> +      (description
> +       "The BFFE of Build Farm Front-end is an experimental frontend for Guix
> +build farms.  It works together with the Guix Data Service and Guix Build
> +Coordinator to submit builds and monitor the activity.

Looks nice!  Have you already deployed it somewhere?

Ludo’.
Christopher Baines Sept. 15, 2023, 9:06 a.m. UTC | #2
Ludovic Courtès <ludo@gnu.org> writes:

> Hello,
>
> Christopher Baines <mail@cbaines.net> skribis:
>
>> * gnu/packages/package-management.scm (bffe): New variable.
>
>
> [...]
>
>> +             ;; Guile libraries are needed here for cross-compilation.
>> +             (car (assoc-ref (package-native-inputs guix) "guile"))
>
> Rather: (lookup-package-native-input guix "guile")

I've actually changed this to guile-next now, as the bffe needs the new
scheme custom/soft ports that don't cause issues with fibers.

>> +      (home-page "https://git.cbaines.net/guix/bffe")
>> +      (synopsis "Build Farm Front-end for Guix")
>> +      (description
>> +       "The BFFE of Build Farm Front-end is an experimental frontend for Guix
>> +build farms.  It works together with the Guix Data Service and Guix Build
>> +Coordinator to submit builds and monitor the activity.
>
> Looks nice!  Have you already deployed it somewhere?

It's been running on bayfront for a while, and manages pages like:

  https://bordeaux.guix.gnu.org/
  https://bordeaux.guix.gnu.org/activity
  https://bordeaux.guix.gnu.org/build/21fa2ed8-b4d0-43ca-8531-e1fa33266708

As well as taking over the job of querying the data service for builds
and submitting them to the coordinator.
Ludovic Courtès Sept. 17, 2023, 10:11 a.m. UTC | #3
Christopher Baines <mail@cbaines.net> skribis:

> It's been running on bayfront for a while, and manages pages like:
>
>   https://bordeaux.guix.gnu.org/
>   https://bordeaux.guix.gnu.org/activity
>   https://bordeaux.guix.gnu.org/build/21fa2ed8-b4d0-43ca-8531-e1fa33266708
>
> As well as taking over the job of querying the data service for builds
> and submitting them to the coordinator.

Oh, neat!

Ludo’.
diff mbox series

Patch

diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index aa24798071..a49f302bb7 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -961,6 +961,57 @@  (define-public rpm
     ;; The whole is GPLv2+; librpm itself is dual-licensed LGPLv2+ | GPLv2+.
     (license license:gpl2+)))
 
+(define-public bffe
+  (let ((commit "3ce4613908bb4a42494323ef0597f6c3ae2dee24")
+        (revision "1"))
+    (package
+      (name "bffe")
+      (version (git-version "0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://git.cbaines.net/guix/bffe")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "0g7arfl8rwybqpmw8vc16ilvrva1bb435lqgbqypx0nphbcv2pxn"))
+                (file-name (string-append name "-" version "-checkout"))))
+      (build-system gnu-build-system)
+      (native-inputs
+       (list pkg-config
+             autoconf
+             automake
+
+             ;; Guile libraries are needed here for cross-compilation.
+             (car (assoc-ref (package-native-inputs guix) "guile"))
+             guile-gnutls
+             guile-json-4
+             guix
+             guix-data-service
+             guix-build-coordinator
+             guile-fibers-1.3
+             guile-prometheus
+             guile-lib))
+      (propagated-inputs
+       (list guile-gnutls
+             guile-json-4
+             guix
+             guix-data-service
+             guix-build-coordinator
+             guile-fibers-1.3
+             guile-prometheus
+             guile-lib))
+      (home-page "https://git.cbaines.net/guix/bffe")
+      (synopsis "Build Farm Front-end for Guix")
+      (description
+       "The BFFE of Build Farm Front-end is an experimental frontend for Guix
+build farms.  It works together with the Guix Data Service and Guix Build
+Coordinator to submit builds and monitor the activity.
+
+It functions as a Guile library, with the @code{run-bffe-service} procedure in
+the @code{(bffe)} module as the entry point.")
+      (license license:gpl3+))))
+
 (define-public python-anaconda-client
   (package
     (name "python-anaconda-client")