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 <sharlatanus@gmail.com>
This commit is contained in:
Nicolas Graves 2025-12-21 20:00:35 +01:00 committed by Sharlatan Hellseher
parent 16dd4a36ea
commit 4897f70905
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5

View file

@ -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