* [bug#56576] [PATCH] gnu: Add nuklear. @ 2022-07-15 14:57 Antero Mejr via Guix-patches via 2022-08-05 3:03 ` 宋文武 via Guix-patches via ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: Antero Mejr via Guix-patches via @ 2022-07-15 14:57 UTC (permalink / raw) To: 56576 * gnu/packages/c.scm (nuklear): New variable. --- gnu/packages/c.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index b1f68c706b..61bc1f13dc 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -1219,3 +1219,38 @@ (define-public utest-h (description "This package provides a header-only unit testing library for C/C++.") (license license:unlicense)))) + +(define-public nuklear + (package + (name "nuklear") + (version "4.9.6") + (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 + "18hvrmynycv5msc20f5v4drgapbig85s67iqq6k87n9l816zi1qg")))) + (build-system python-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")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (install-file "nuklear.h" + (string-append #$output "/include"))))))) + (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.") + (license (list license:unlicense license:expat)))) -- 2.36.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#56576] [PATCH] gnu: Add nuklear. 2022-07-15 14:57 [bug#56576] [PATCH] gnu: Add nuklear Antero Mejr via Guix-patches via @ 2022-08-05 3:03 ` 宋文武 via Guix-patches via 2022-08-06 22:57 ` [bug#56576] [PATCH 1/2] gnu: Add stddoc Antero Mejr via Guix-patches via 2024-04-03 22:46 ` [bug#56576] [PATCH v3 1/3] gnu: Add markdeep Christina O'Donnell 2 siblings, 0 replies; 9+ messages in thread From: 宋文武 via Guix-patches via @ 2022-08-05 3:03 UTC (permalink / raw) To: Antero Mejr; +Cc: 56576 Antero Mejr <antero@mailbox.org> writes: > * gnu/packages/c.scm (nuklear): New variable. > --- > gnu/packages/c.scm | 35 +++++++++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) Hello, I think better put it in toolkits.scm, as imgui is there. > > diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm > index b1f68c706b..61bc1f13dc 100644 > --- a/gnu/packages/c.scm > +++ b/gnu/packages/c.scm > @@ -1219,3 +1219,38 @@ (define-public utest-h > (description > "This package provides a header-only unit testing library for C/C++.") > (license license:unlicense)))) > + > +(define-public nuklear > + (package > + (name "nuklear") > + (version "4.9.6") 4.10.1 was released yesterday, time to update! > + (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 > + "18hvrmynycv5msc20f5v4drgapbig85s67iqq6k87n9l816zi1qg")))) > + (build-system python-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")))) > + (replace 'install > + (lambda* (#:key outputs #:allow-other-keys) > + (install-file "nuklear.h" > + (string-append #$output > "/include"))))))) How about install the html doc too? > + (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.") > + (license (list license:unlicense license:expat)))) Could you send an update, thank you! ^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#56576] [PATCH 1/2] gnu: Add stddoc. 2022-07-15 14:57 [bug#56576] [PATCH] gnu: Add nuklear Antero Mejr via Guix-patches via 2022-08-05 3:03 ` 宋文武 via Guix-patches via @ 2022-08-06 22:57 ` Antero Mejr via Guix-patches via 2022-08-06 22:57 ` [bug#56576] [PATCH 2/2] gnu: Add nuklear Antero Mejr via Guix-patches via 2022-08-07 12:10 ` [bug#56576] [PATCH 1/2] gnu: Add stddoc Maxime Devos 2024-04-03 22:46 ` [bug#56576] [PATCH v3 1/3] gnu: Add markdeep Christina O'Donnell 2 siblings, 2 replies; 9+ messages in thread From: Antero Mejr via Guix-patches via @ 2022-08-06 22:57 UTC (permalink / raw) To: 56576; +Cc: Antero Mejr, iyzsong * gnu/packages/documentation.scm (stddoc): New variable. --- Need this to generate Nuklear's HTML doc from source (code comments). gnu/packages/documentation.scm | 42 ++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index 6f24149b5d..9b98db4d40 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -393,3 +393,45 @@ (define-public zeal (description "Zeal is a simple offline documentation browser inspired by Dash.") (license gpl3+)))) + +(define-public stddoc + (let ((commit "6eef9deaf2e36bae812f50e448a8012b3e5efb14")) + (package + (name "stddoc") + (version "1.0.2") + (home-page "https://github.com/r-lyeh/stddoc.c") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "06phjp7wbf4x1sagxwfapgv6iyiixmijxxbg2clb48kyvjg5mlwn")) + (snippet #~(delete-file "stddoc.c.html")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no tests + #:phases #~(modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + (invoke "gcc" "-O2" "-g" "-o" "stddoc" "stddoc.c") + (with-input-from-file "stddoc.c" + (lambda _ + (with-output-to-file "stddoc.c.html" + (lambda _ + (invoke "./stddoc"))))))) + (replace 'install + (lambda _ + (install-file "stddoc" + (string-append #$output "/bin")) + (install-file "stddoc.c.html" + (string-append #$output + "/share/doc"))))))) + (synopsis "Documentation generator for 60 programming languages") + (description "@code{stddoc.c} is a tiny documentation generator for 60 +programming languages. Markdeep code comments are extracted from stdin and +printed into stdout as a HTML file.") + (license unlicense)))) -- 2.37.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#56576] [PATCH 2/2] gnu: Add nuklear. 2022-08-06 22:57 ` [bug#56576] [PATCH 1/2] gnu: Add stddoc Antero Mejr via Guix-patches via @ 2022-08-06 22:57 ` Antero Mejr via Guix-patches via 2022-08-07 12:10 ` [bug#56576] [PATCH 1/2] gnu: Add stddoc Maxime Devos 1 sibling, 0 replies; 9+ messages in thread From: Antero Mejr via Guix-patches via @ 2022-08-06 22:57 UTC (permalink / raw) To: 56576; +Cc: Antero Mejr, iyzsong * gnu/packages/toolkits.scm (nuklear): New variable. --- Package moved to toolkits.scm, updated to 4.10.1, installs HTML doc generated using stddoc. gnu/packages/toolkits.scm | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/toolkits.scm b/gnu/packages/toolkits.scm index 3030e3aa49..79ea8068f1 100644 --- a/gnu/packages/toolkits.scm +++ b/gnu/packages/toolkits.scm @@ -19,6 +19,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages toolkits) + #:use-module (gnu packages documentation) #:use-module (gnu packages fontutils) #:use-module (gnu packages gl) #:use-module (gnu packages sdl) @@ -27,6 +28,7 @@ (define-module (gnu packages toolkits) #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (guix git-download)) (define-public imgui @@ -141,3 +143,50 @@ (define-public imgui-1.86 (sha256 (base32 "02a7b05zrka20jhzag2jb4jl624i1m456bsv69jb9zgys2p9dv1n")))))) + +(define-public nuklear + (package + (name "nuklear") + (version "4.10.1") + (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 + "0qmaza0iiq3da3qya23znnajmv9prm6rv0nbqg58qdrl23207kar")) + (snippet #~(begin (delete-file "nuklear.h") + (delete-file "doc/index.html"))))) + (build-system python-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)) + (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.") + (license (list license:unlicense license:expat)))) -- 2.37.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#56576] [PATCH 1/2] gnu: Add stddoc. 2022-08-06 22:57 ` [bug#56576] [PATCH 1/2] gnu: Add stddoc Antero Mejr via Guix-patches via 2022-08-06 22:57 ` [bug#56576] [PATCH 2/2] gnu: Add nuklear Antero Mejr via Guix-patches via @ 2022-08-07 12:10 ` Maxime Devos 1 sibling, 0 replies; 9+ messages in thread From: Maxime Devos @ 2022-08-07 12:10 UTC (permalink / raw) To: Antero Mejr, 56576; +Cc: iyzsong [-- Attachment #1.1.1: Type: text/plain, Size: 2364 bytes --] On 07-08-2022 00:57, Antero Mejr via Guix-patches via wrote: > + (invoke "gcc" "-O2" "-g" "-o" "stddoc" "stddoc.c") For cross-compilation, you need to use #$(cc-for-target) instead of "gcc", otherwise it will be compiled for the wrong architecture. > + (with-input-from-file "stddoc.c" > + (lambda _ > + (with-output-to-file "stddoc.c.html" > + (lambda _ > + (invoke "./stddoc"))))))) Except when emulation is used, cross-compiled binaries cannot be run. However, you can add 'this-package' to native-inputs (conditional on cross-compilation, otherwise you get a loop) and run that stddoc: (native-inputs (if (%current-target-system) (list this-package) '())) [...] (invoke #$(if (%current-target-system) "stddoc" "./stddoc")) (untested!). It includes Javascript and CSS from external sources: > static void stddoc( FILE *in, FILE *out ) { > fprintf(out, "%s\n", "<meta charset='utf-8' emacsmode='-*- > markdown -*-'>"); > fprintf(out, "%s\n", "<link rel='stylesheet' > href='https://casual-effects.com/m""arkdeep/latest/apidoc.css?'>"); > I don't think this is good, privacy-wise, could you substitute them with a local copy? Also, on <https://github.com/r-lyeh/stddoc.c/blob/6eef9deaf2e36bae812f50e448a8012b3e5efb14/stddoc.c#L111>, it looks like it forgets to quote things like &. I don't know if that's important in this particular case but often forgetting to quote things can be pretty bad. (Ignoring the return value of printf also isn't ideal, but less important) > + (description "@code{stddoc.c} is a tiny documentation generator for 60 > +programming languages. Markdeep code comments are extracted from stdin and > +printed into stdout as a HTML file.") This seems misleading to me, the Markdown->HTML happens at runtime, via the Javascript. Also, instead of mentioning the number 60, you could refer to the Javascript package; that way, the user can check if their language is in the list. I also don't think that the generator 'https://morgan3d.github.io/markdeep/latest/markdeep.js' counts as tiny. stdout -> output, stdin -> input Greetings, Maxime [-- Attachment #1.1.2: OpenPGP public key --] [-- Type: application/pgp-keys, Size: 929 bytes --] [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 236 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* [bug#56576] [PATCH v3 1/3] gnu: Add markdeep. 2022-07-15 14:57 [bug#56576] [PATCH] gnu: Add nuklear Antero Mejr via Guix-patches via 2022-08-05 3:03 ` 宋文武 via Guix-patches via 2022-08-06 22:57 ` [bug#56576] [PATCH 1/2] gnu: Add stddoc Antero Mejr via Guix-patches via @ 2024-04-03 22:46 ` Christina O'Donnell 2024-04-03 22:46 ` [bug#56576] [PATCH v3 2/3] gnu: Add stddoc Christina O'Donnell ` (2 more replies) 2 siblings, 3 replies; 9+ messages in thread From: Christina O'Donnell @ 2024-04-03 22:46 UTC (permalink / raw) To: 56576; +Cc: Maxime Devos, Christina O'Donnell, Steve George * gnu packages/documentation.scm (markdeep): New variable. Change-Id: I34303377f50740ba357c1bb299c9434079a6e23d --- gnu/packages/documentation.scm | 65 ++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) Hi, I've gone through these patches, making the changes that Maxime listed and that came up from `guix lint`. I've added the additional package markdeep, which is a css/javascript rendering library needed for stddoc. I checked these very carefully, but I'm new to this so it's likely that I've made at least a few mistakes. Everything appears to be working as far as I've tested it. I had anything to test nuklear with, so I'm taking that part on faith. Let me know whether there's anything that I could change or do better for next time. Kind regards, Christina diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index 83c4313bd7..da930c7304 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -37,6 +37,7 @@ (define-module (gnu packages documentation) #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system qt) @@ -57,11 +58,13 @@ (define-module (gnu packages documentation) #:use-module (gnu packages graphviz) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages javascript) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages qt) #:use-module (gnu packages sqlite) #:use-module (gnu packages sphinx) + #:use-module (gnu packages uglifyjs) #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) @@ -453,3 +456,65 @@ (define-public zeal (description "Zeal is a simple offline documentation browser inspired by Dash.") (license license:gpl3+)))) + +(define-public markdeep + (package + (name "markdeep") + (version "1.16") + (home-page "https://casual-effects.com/markdeep/") + (source + (origin (method git-fetch) + (uri (git-reference + (url "https://github.com/morgan3d/markdeep") + (commit (string-append "v0" version)))) + (sha256 + (base32 "05bvw3993xh1260ckclwk4jw38hvgiff0b2940ryhbhz0p1k41l8")))) + (build-system copy-build-system) + (arguments + (list #:modules '((guix build utils) + (guix build copy-build-system) + (ice-9 popen)) + #:install-plan ''(("." "/share/markdeep/")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-urls + (lambda _ + (for-each (lambda (filename) + + (substitute* filename + ;; Don't include a reference to the remote version. + (("<script src=\"https://casual-effects\\.com/\ +markdeep/latest/markdeep\\.min\\.js\\?\"></script>") + "") + (("MATHJAX_URL = .*$") + ;; Use our local copy of mathjax + (string-append "MATHJAX_URL = 'file://" #$js-mathjax + "/share/javascript/es5/tex-mml-chtml.js'")))) + (find-files "." (lambda (file stat) + (string-suffix? ".js" file)))))) + (add-before 'install 'minify + (lambda _ + (for-each (lambda (filename) + (let ((minified-filename + (string-append (string-drop-right filename 3) + ".min.js"))) + (format #t "~a -> ~a~%" filename minified-filename) + (let ((minified (open-pipe* OPEN_READ "uglifyjs" filename))) + (call-with-output-file minified-filename + (lambda (port) + (dump-port minified port))) + + (let ((exit (close-pipe minified))) + (unless (zero? exit) + (error "uglifyjs failed" exit)))))) + (find-files "latest" + (lambda (path stat) + (and (string-suffix? ".js" path) + (not (string-suffix? ".min.js" path))))))))))) + (inputs (list js-mathjax)) + (native-inputs (list uglifyjs)) + (synopsis "Tool for displaying markdown documents in a web-browser") + (description "Markdeep is a technology for writing plain text documents that can +be displayed in any web browser, whether local or remote. It supports diagrams, +calendars, equations, and other features as extensions of Markdown syntax.") + (license license:bsd-2))) base-commit: 4d994f98a49e1a6e58b9b0b512a05efc1c431a50 -- 2.41.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#56576] [PATCH v3 2/3] gnu: Add stddoc. 2024-04-03 22:46 ` [bug#56576] [PATCH v3 1/3] gnu: Add markdeep Christina O'Donnell @ 2024-04-03 22:46 ` Christina O'Donnell 2024-04-03 22:46 ` [bug#56576] [PATCH v3 3/3] gnu: Add nuklear Christina O'Donnell 2024-04-11 10:37 ` bug#56576: [PATCH v3 1/3] gnu: Add markdeep Ludovic Courtès 2 siblings, 0 replies; 9+ messages in thread From: Christina O'Donnell @ 2024-04-03 22:46 UTC (permalink / raw) To: 56576; +Cc: Maxime Devos, Christina O'Donnell, Steve George * gnu/packages/documentation.scm (stddoc): New variable. Change-Id: I0f60126ef78a45733ad7395352e9bad49561437b --- gnu/packages/documentation.scm | 57 ++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index da930c7304..c9ec860fef 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -518,3 +518,60 @@ (define-public markdeep be displayed in any web browser, whether local or remote. It supports diagrams, calendars, equations, and other features as extensions of Markdown syntax.") (license license:bsd-2))) + +(define-public stddoc + (let ((commit "6eef9deaf2e36bae812f50e448a8012b3e5efb14") + (revision "1")) + (package + (name "stddoc") + (version (git-version "1.0.2" revision commit)) + (home-page "https://github.com/r-lyeh/stddoc.c") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "06phjp7wbf4x1sagxwfapgv6iyiixmijxxbg2clb48kyvjg5mlwn")) + (snippet #~(delete-file "stddoc.c.html")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ; no tests + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda _ + (substitute* "stddoc.c" + ;; Note: For some reason quote characters are being + ;; inserted into urls and tags, eg. + ;; 'https://morgan3d.github.io/m""arkdeep/latest/markdeep.min.js?' + (("https://casual-effects.com/m\"*arkdeep/latest/") + (string-append #$markdeep "/share/markdeep/latest/")) + (("https://morgan3d.github.io/m\"*arkdeep/latest/") + (string-append #$markdeep "/share/markdeep/latest/"))))) + (replace 'build + (lambda _ + (invoke #$(cc-for-target) + "-O2" "-g" "-o" "stddoc" "stddoc.c") + (with-input-from-file "stddoc.c" + (lambda _ + (with-output-to-file "stddoc.c.html" + (lambda _ + (invoke #$(if (%current-target-system) + "stddoc" + "./stddoc")))))))) + (replace 'install + (lambda _ + (install-file "stddoc" + (string-append #$output "/bin")) + (install-file "stddoc.c.html" + (string-append #$output + "/share/doc"))))))) + (native-inputs (if (%current-target-system) (list this-package) '())) + (synopsis "Documentation generator for multiple programming languages") + (description "@code{stddoc.c} is a tiny documentation generator with many +supported programming languages. Markdeep code comments are extracted from stdin and +printed into stdout as a HTML file.") + (license license:unlicense)))) -- 2.41.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [bug#56576] [PATCH v3 3/3] gnu: Add nuklear. 2024-04-03 22:46 ` [bug#56576] [PATCH v3 1/3] gnu: Add markdeep Christina O'Donnell 2024-04-03 22:46 ` [bug#56576] [PATCH v3 2/3] gnu: Add stddoc Christina O'Donnell @ 2024-04-03 22:46 ` Christina O'Donnell 2024-04-11 10:37 ` bug#56576: [PATCH v3 1/3] gnu: Add markdeep Ludovic Courtès 2 siblings, 0 replies; 9+ messages in thread From: Christina O'Donnell @ 2024-04-03 22:46 UTC (permalink / raw) To: 56576; +Cc: Maxime Devos, Antero Mejr, Steve George From: Antero Mejr <antero@mailbox.org> * gnu/packages/toolkits.scm (nuklear): New variable. --- gnu/packages/toolkits.scm | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/toolkits.scm b/gnu/packages/toolkits.scm index 9d002ecab1..3ba3399899 100644 --- a/gnu/packages/toolkits.scm +++ b/gnu/packages/toolkits.scm @@ -19,6 +19,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages toolkits) + #:use-module (gnu packages documentation) #:use-module (gnu packages fontutils) #:use-module (gnu packages gl) #:use-module (gnu packages sdl) @@ -27,6 +28,7 @@ (define-module (gnu packages toolkits) #:use-module (guix packages) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (guix git-download)) (define-public imgui @@ -181,3 +183,50 @@ (define-public imgui-1.86 (inputs (modify-inputs (package-inputs imgui) (delete "freetype"))))) + +(define-public nuklear + (package + (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) + (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)) + (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.") + (license (list license:unlicense license:expat)))) -- 2.41.0 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* bug#56576: [PATCH v3 1/3] gnu: Add markdeep. 2024-04-03 22:46 ` [bug#56576] [PATCH v3 1/3] gnu: Add markdeep Christina O'Donnell 2024-04-03 22:46 ` [bug#56576] [PATCH v3 2/3] gnu: Add stddoc Christina O'Donnell 2024-04-03 22:46 ` [bug#56576] [PATCH v3 3/3] gnu: Add nuklear Christina O'Donnell @ 2024-04-11 10:37 ` Ludovic Courtès 2 siblings, 0 replies; 9+ messages in thread From: Ludovic Courtès @ 2024-04-11 10:37 UTC (permalink / raw) To: Christina O'Donnell; +Cc: Maxime Devos, Steve George, 56576-done Hi Christina, Christina O'Donnell <cdo@mutix.org> skribis: > * gnu packages/documentation.scm (markdeep): New variable. > > Change-Id: I34303377f50740ba357c1bb299c9434079a6e23d > --- > gnu/packages/documentation.scm | 65 ++++++++++++++++++++++++++++++++++ > 1 file changed, 65 insertions(+) > > Hi, > > I've gone through these patches, making the changes that Maxime listed > and that came up from `guix lint`. I've added the additional package > markdeep, which is a css/javascript rendering library needed for stddoc. > > I checked these very carefully, but I'm new to this so it's likely that > I've made at least a few mistakes. Everything appears to be working as > far as I've tested it. I had anything to test nuklear with, so I'm > taking that part on faith. > > Let me know whether there's anything that I could change or do better > for next time. It’s perfect! There was a tiny indentation issue for phases in ‘markdeep’ but the rest looks good to me. Applied, thanks! Ludo’. ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2024-04-11 10:39 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-07-15 14:57 [bug#56576] [PATCH] gnu: Add nuklear Antero Mejr via Guix-patches via 2022-08-05 3:03 ` 宋文武 via Guix-patches via 2022-08-06 22:57 ` [bug#56576] [PATCH 1/2] gnu: Add stddoc Antero Mejr via Guix-patches via 2022-08-06 22:57 ` [bug#56576] [PATCH 2/2] gnu: Add nuklear Antero Mejr via Guix-patches via 2022-08-07 12:10 ` [bug#56576] [PATCH 1/2] gnu: Add stddoc Maxime Devos 2024-04-03 22:46 ` [bug#56576] [PATCH v3 1/3] gnu: Add markdeep Christina O'Donnell 2024-04-03 22:46 ` [bug#56576] [PATCH v3 2/3] gnu: Add stddoc Christina O'Donnell 2024-04-03 22:46 ` [bug#56576] [PATCH v3 3/3] gnu: Add nuklear Christina O'Donnell 2024-04-11 10:37 ` bug#56576: [PATCH v3 1/3] gnu: Add markdeep Ludovic Courtès
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).