Message ID | 20230806055213.29704-1-i@dan.games |
---|---|
State | New |
Headers | show |
Series | [bug#65107] gnu: Add gf. | expand |
Hi dan, On Sun, 06 Aug 2023 13:52:12 +0800, dan wrote: > > --- > gnu/packages/debug.scm | 56 ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 56 insertions(+) > > diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm > index e2a29a3ae9..104ecc3091 100644 > --- a/gnu/packages/debug.scm > +++ b/gnu/packages/debug.scm [...] > + (build-system gnu-build-system) > + (arguments > + (list #:tests? #f ; no test > + #:phases #~(modify-phases %standard-phases > + (delete 'configure) > + (replace 'build > + (lambda* _ > + (invoke "g++" > + "gf2.cpp" > + "-o" > + "gf2" > + "-g" > + "-O2" > + "-lX11" > + "-lfreetype" > + "-pthread" > + (string-append "-I" > + #$freetype > + "/include/freetype2") I think #$freetype can be changed to #$(this-package-input "freetype") > + "-DUI_FREETYPE" > + "-DUI_NO_COLOR_PICKER" > + "-DUI_SSE2" > + "-Wall" > + "-Wextra" > + "-Wno-unused-parameter" > + "-Wno-unused-result" > + "-Wno-missing-field-initializers" > + "-Wno-format-truncation"))) Can you move these flags to #:make-flags? For example: --8<---------------cut here---------------start------------->8--- (arguments (list [...] #:make-flags #~(list "-g" "-O2" [...]) #:phases #~(modify-phases %standard-phases (replace 'build (lambda* (#:key make-flags #:allow-other-keys) (apply invoke `(#$(cxx-for-target) "gf2.cpp" "-o" "gf2" ,@make-flags))))))) --8<---------------cut here---------------end--------------->8--- > + (replace 'install > + (lambda* _ > + (install-file "gf2" > + (string-append #$output "/bin"))))))) > + (inputs (list libx11 libxext libxcursor freetype)) > + (propagated-inputs (list gdb)) There're「"gdb"」occurrences in the source, can adding gdb to inputs and substituting them avoid the propagation? --8<---------------cut here---------------start------------->8--- (substitute* "gf2.cpp" (("\"gdb\"") (format #f "\"~a\"" (search-input-file inputs "/bin/gdb")))) --8<---------------cut here---------------end--------------->8--- (A keyword argument inputs should be added to the relevant procedure) And the program seems to depend on Vim as well. > + (home-page "https://github.com/nakst/gf") > + (synopsis "GDB frontend") > + (description "A graphical GDB frontend for Linux.") > + (license license:expat)))) > > base-commit: c4b9f726e3a1889b92a4b14a2af1c25f10798469 > -- > 2.41.0 I have built the package locally, running it with xvfb-run reports "vim: command not found". XWayland is disabled in my setup so I haven't checked whether the program works. Thanks
On Sun, 06 Aug 2023 22:51:30 +0800, Hilton Chain wrote: > Can you move these flags to #:make-flags? > > For example: > --8<---------------cut here---------------start------------->8--- > (arguments > (list [...] > #:make-flags > #~(list "-g" "-O2" [...]) > #:phases > #~(modify-phases %standard-phases > (replace 'build > (lambda* (#:key make-flags #:allow-other-keys) > (apply invoke > `(#$(cxx-for-target) "gf2.cpp" "-o" "gf2" > ,@make-flags))))))) > --8<---------------cut here---------------end--------------->8--- Sorry, `quasiquote' is not necessary here because `apply' accepts one list for the last argument and the above code just makes a list. The `apply' invocation I wrote should be replaced to: --8<---------------cut here---------------start------------->8--- (apply invoke #$(cxx-for-target) "gf2.cpp" "-o" "gf2" make-flags) --8<---------------cut here---------------end--------------->8--- Thanks
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index e2a29a3ae9..104ecc3091 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2022 Matthew James Kraai <kraai@ftbfs.org> ;;; Copyright © 2023 Andy Tai <atai@atai.org> ;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2023 dan <i@dan.games> ;;; ;;; This file is part of GNU Guix. ;;; @@ -50,6 +51,7 @@ (define-module (gnu packages debug) #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages flex) + #:use-module (gnu packages fontutils) #:use-module (gnu packages gdb) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) @@ -918,3 +920,57 @@ (define-public delve (synopsis "Debugger for the Go programming language") (description "Delve is a debugger for the Go programming language.") (license license:expat))) + +(define-public gf + (let ((commit "77a1f69204ceca5e62936976f97c62085a705126") + (revision "0")) + (package + (name "gf") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nakst/gf") + (commit commit))) + (sha256 + (base32 + "167ykfv7vf5vajxd5m3ggw4avpcim0i0bfmbxb495n8rgpaiizdy")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ; no test + #:phases #~(modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda* _ + (invoke "g++" + "gf2.cpp" + "-o" + "gf2" + "-g" + "-O2" + "-lX11" + "-lfreetype" + "-pthread" + (string-append "-I" + #$freetype + "/include/freetype2") + "-DUI_FREETYPE" + "-DUI_NO_COLOR_PICKER" + "-DUI_SSE2" + "-Wall" + "-Wextra" + "-Wno-unused-parameter" + "-Wno-unused-result" + "-Wno-missing-field-initializers" + "-Wno-format-truncation"))) + (replace 'install + (lambda* _ + (install-file "gf2" + (string-append #$output "/bin"))))))) + (inputs (list libx11 libxext libxcursor freetype)) + (propagated-inputs (list gdb)) + (home-page "https://github.com/nakst/gf") + (synopsis "GDB frontend") + (description "A graphical GDB frontend for Linux.") + (license license:expat))))