From 12f02c9bb87b8ea756e5c09806522e6df8b7e1ca Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Sun, 7 Apr 2024 10:13:52 +0100 Subject: gnu: automatic-component-toolkit: Swap to go-build-system. * gnu/packages/code.scm (automatic-component-toolkit): [build-system]: Swap to go-build-system to make the package more maintainable and build predictable. [arguments] <#:phases>: Swap to default 'build and 'install phases, revert 'configure phase. Add 'pretend-cmd-act phase to satisfy go-build-system. [native-inputs]: Remove go. Change-Id: Iba7bd4c87bdbbb91381f81a77c7811cb9f1f4943 --- gnu/packages/code.scm | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) (limited to 'gnu/packages/code.scm') diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 1f0d72a544..62b6bea7d8 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2022 Michael Rohleder ;;; Copyright © 2023 Fries ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2024 Sharlatan Hellseher ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,7 +62,6 @@ (define-module (gnu packages code) #:use-module (gnu packages emacs) #:use-module (gnu packages flex) #:use-module (gnu packages gcc) - #:use-module (gnu packages golang) ; for automatic-component-toolkit #:use-module (gnu packages golang-build) #:use-module (gnu packages golang-crypto) #:use-module (gnu packages golang-web) @@ -101,23 +101,24 @@ (define-public automatic-component-toolkit (sha256 (base32 "1r0sbw82cf9dbcj3vgnbd4sc1lklzvijic2z5wgkvs21azcm0yzh")))) - (build-system gnu-build-system) + (build-system go-build-system) (arguments - (list #:tests? #false ;no tests - #:phases - #~(modify-phases %standard-phases - (delete 'configure) - (replace 'build - (lambda _ - (setenv "HOME" "/tmp") - (invoke "bash" "Build/build.sh"))) - (replace 'install - (lambda _ - (let ((bin (string-append #$output "/bin"))) - (mkdir-p bin) - (copy-file "act.linux" - (string-append #$output "/bin/act")))))))) - (native-inputs (list go)) + (list + #:tests? #f ;no tests + #:install-source? #f + #:import-path "github.com/Autodesk/AutomaticComponentToolkit/cmd/act" + #:unpack-path "github.com/Autodesk/AutomaticComponentToolkit/" + #:phases + #~(modify-phases %standard-phases + ;; Golang produces the final binary based on the current directory + ;; name if -o options is not provided, utilize this assumption to + ;; completely relay on go-build-system. + (add-before 'build 'pretend-cmd-act + (lambda* (#:key unpack-path #:allow-other-keys) + (let ((act (string-append "src/" unpack-path "/cmd/act")) + (source (string-append "src/" unpack-path "/Source"))) + (mkdir-p act) + (copy-recursively source act))))))) (synopsis "Automatically generate software components") (description "The Automatic Component Toolkit (@dfn{ACT}) is a code generator that -- cgit v1.2.3