From 4897f709058fceac292d309cb131e7973a8407b2 Mon Sep 17 00:00:00 2001 From: Nicolas Graves Date: Sun, 21 Dec 2025 20:00:35 +0100 Subject: [PATCH] gnu: nuklear: Switch to pyproject. * gnu/packages/toolkits.scm (nuklear): [build-system]: Switch to pyproject-build-system. [arguments, description]: Improve style. [native-inputs]: Add python-setuptools. Change-Id: I781139a2e9f4732efdd077ae2fcca322f15d57a3 Signed-off-by: Sharlatan Hellseher --- gnu/packages/toolkits.scm | 81 +++++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 38 deletions(-) diff --git a/gnu/packages/toolkits.scm b/gnu/packages/toolkits.scm index d68603f0cb2..943e01d1b07 100644 --- a/gnu/packages/toolkits.scm +++ b/gnu/packages/toolkits.scm @@ -23,12 +23,14 @@ #:use-module (gnu packages documentation) #:use-module (gnu packages fontutils) #:use-module (gnu packages gl) + #:use-module (gnu packages python-build) #:use-module (gnu packages sdl) #:use-module (guix gexp) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system pyproject) #:use-module (guix build-system python) #:use-module (guix git-download)) @@ -190,46 +192,49 @@ standard operating system features.") (name "nuklear") (version "4.12.0") (home-page "https://github.com/Immediate-Mode-UI/Nuklear") - (source (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "13cswwdys4hqdvbm4g4b9l269i16s7c4204j16v67ghj3b4mjifg")) - (snippet #~(begin (delete-file "nuklear.h") - (delete-file "doc/index.html"))))) - (build-system python-build-system) + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13cswwdys4hqdvbm4g4b9l269i16s7c4204j16v67ghj3b4mjifg")) + (snippet #~(begin + (delete-file "nuklear.h") + (delete-file "doc/index.html"))))) + (build-system pyproject-build-system) (arguments - (list #:tests? #f ;no tests - #:phases #~(modify-phases %standard-phases - (delete 'configure) - (replace 'build - (lambda _ - (with-directory-excursion "src" - (invoke "./paq.sh")) - (with-directory-excursion "doc" - (with-input-from-file "../nuklear.h" - (lambda _ - (with-output-to-file "index.html" - (lambda _ - (invoke "stddoc")))))))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (install-file "nuklear.h" - (string-append #$output "/include")) - (install-file "doc/index.html" - (string-append #$output - "/share/doc"))))))) - (native-inputs (list stddoc)) + (list + #:tests? #f ;no tests + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + (with-directory-excursion "src" + (invoke "./paq.sh")) + (with-directory-excursion "doc" + (with-input-from-file "../nuklear.h" + (lambda _ + (with-output-to-file "index.html" + (lambda _ + (invoke "stddoc")))))))) + (replace 'install + (lambda _ + (install-file "nuklear.h" + (string-append #$output "/include")) + (install-file "doc/index.html" + (string-append #$output "/share/doc"))))))) + (native-inputs (list stddoc python-setuptools)) (synopsis "Graphical user interface toolkit written in ANSI C") - (description "This package provides an immediate-mode graphical user -interface toolkit. It was designed as an embeddable user interface -for applications and does not have any dependencies, a default render backend -or OS window/input handling. The library is self contained in one single header -file and can be used either in header only mode or in implementation mode.") + (description + "This package provides an immediate-mode graphical user interface +toolkit. It was designed as an embeddable user interface for applications and +does not have any dependencies, a default render backend or OS window/input +handling. The library is self contained in one single header file and can be +used either in header only mode or in implementation mode.") (license (list license:unlicense license:expat)))) (define-public implot