guix_mirror_bot pushed a commit to branch master
in repository guix.

commit c9fd6b8d4198f823daf9cdcf64885602b40e0eaa
Author: Sharlatan Hellseher <sharlata...@gmail.com>
AuthorDate: Tue Jun 10 10:03:02 2025 +0100

    gnu: go-ninefans-net-go: Consolidate and enable tests.
    
    Simplify packaging by utilizing #:skip-build? and #:test-subdirs
    parameters.
    
    * gnu/packages/golang-xyz.scm (go-ninefans-net-go) [arguments] <tests?>:
    Run portion of them.
    <skip-builds?>: Project's root does not provide any *.go files.
    <test-subdirs>: Add some directories containing tests.
    (make-go-ninefans-net-go-module): Remove procedure.
    (go-ninefans-net-go-acme, go-ninefans-net-go-draw,
    go-ninefans-net-go-plan9): Remove variables.
    
    Change-Id: Ieacace9b54e5c16c7e0e2d89a7439d4bd67624fa
---
 gnu/packages/golang-xyz.scm | 57 ++++++++++++++++++++-------------------------
 1 file changed, 25 insertions(+), 32 deletions(-)

diff --git a/gnu/packages/golang-xyz.scm b/gnu/packages/golang-xyz.scm
index 7476271f2c..c50c288dac 100644
--- a/gnu/packages/golang-xyz.scm
+++ b/gnu/packages/golang-xyz.scm
@@ -123,10 +123,9 @@
 ;; procedure in the `setup-go-environment' phase uses
 ;; `package-name->name+version', which returns 'go' as name for
 ;; go-9fans-net-go-acme, which gets removed from the results and thus GOPATH.
-(define (make-go-ninefans-net-go-module module)
-  "Return a go-ninefans-net-go package for MODULE."
+(define-public go-ninefans-net-go
   (package
-    (name (string-append "go-ninefans-net-go-" module))
+    (name "go-ninefans-net-go")
     (version "0.0.7")
     (source
      (origin
@@ -140,40 +139,34 @@
     (build-system go-build-system)
     (arguments
      (list
-      ;; This is challenging to package as it uses Go modules and modules
-      ;; inter-dependencies, and our build system lacks support for it;
-      ;; disable the tests to avoid everything getting tangled at build time.
-      #:tests? #f
-      #:import-path (string-append "9fans.net/go/" module)
-      #:unpack-path "9fans.net/go"))
-    (propagated-inputs (list go-golang-org-x-sys go-golang-org-x-exp))
+      #:skip-build? #t
+      #:import-path "9fans.net/go"
+      #:test-subdirs #~(list "acme/..."
+                             ;; "cmd/..." ; missing packages
+                             ;;
+                             ;; Tests fail with error: panic: drawfcall.New:
+                             ;; exec: "devdraw": executable file not found in
+                             ;; $PATH
+                             ;;
+                             ;; "draw/..."
+                             "games/..."
+                             "p9trace/..."
+                             "plan9/..."
+                             "plumb/...")))
+    ;; TODO: Not ready packages required to build CLI from <cmd/devdraw>.
+    ;; (native-inputs
+    ;;  (list go-golang-org-x-exp-shiny
+    ;;        go-golang-org-x-mobile))
+    (propagated-inputs
+     (list go-golang-org-x-exp
+           go-golang-org-x-sys))
     (home-page "https://9fans.net/go";)
     (synopsis "Interface for interacting with Acme windows")
-    (description "The @code{acme} Go package provides simple interface for
+    (description
+     "The @code{acme} Go package provides simple interface for
 interacting with Acme windows of the Plan 9 text editor.")
     (license license:expat)))
 
-(define go-ninefans-net-go-acme
-  (make-go-ninefans-net-go-module "acme"))
-
-(define go-ninefans-net-go-draw
-  (make-go-ninefans-net-go-module "draw"))
-
-(define go-ninefans-net-go-plan9
-  (make-go-ninefans-net-go-module "plan9"))
-
-(define-public go-ninefans-net-go
-  (let ((base (make-go-ninefans-net-go-module "")))
-    (package
-      (inherit base)
-      (name "go-ninefans-net-go")
-      (build-system trivial-build-system)
-      (arguments (list #:builder #~(mkdir #$output)))
-      (propagated-inputs
-       (list go-ninefans-net-go-acme
-             go-ninefans-net-go-draw
-             go-ninefans-net-go-plan9)))))
-
 (define-public go-atomicgo-dev-cursor
   (package
     (name "go-atomicgo-dev-cursor")

Reply via email to