* [bug#50054] [PATCH] gnu: Add bgfx
@ 2021-08-14 8:35 Andy Tai
[not found] ` <handler.50054.B.162893018622105.ack@debbugs.gnu.org>
` (6 more replies)
0 siblings, 7 replies; 32+ messages in thread
From: Andy Tai @ 2021-08-14 8:35 UTC (permalink / raw)
To: 50054
* gnu/packages/graphics.scm (bgfx): New variable
---
gnu/packages/graphics.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 38feb27c87..53ac12f731 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2000,3 +2000,41 @@ Some feature highlights:
such as VR and AR on mobile, PC/desktop, and any other device.
Monado aims to be
a complete and conforming implementation of the OpenXR API made by Khronos.")
(license license:boost1.0)))
+
+(define-public bgfx
+ (let ((commit "65513d08541ab1ead814f2c97d0502c8d13eae68")
+ (revision "0"))
+ (package
+ (name "bgfx")
+ (version
+ (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/bkaradzic/bgfx.cmake")
+ (commit commit)
+ ;; Fetch git submodules
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1k18230zw3v2l0vgz5xi0l23fa0686yx0jd6hkvvvwp3zlakqp7n"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f)) ;; no tests
+ (inputs
+ `(("glslang" ,glslang)
+ ("libxcb" ,libxcb)
+ ("opengl" ,mesa)
+ ("vulkan-loader" ,vulkan-loader)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("vulkan-headers" ,vulkan-headers)))
+ (home-page "https://github.com/bkaradzic/bgfx")
+ (synopsis "Cross-platform, graphics API agnostic. rendering library")
+ (description "bgfx is a cross-platform, graphics API agnostic,
+'Bring Your Own Engine/Framework' style rendering library supporting Direct3D,
+OpenGL, Metal, Vulkan and WebGL.")
+ (license (list license:expat license:cc0)))))
--
2.32.0
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [bug#50054] Acknowledgement ([PATCH] gnu: Add bgfx)
[not found] ` <handler.50054.B.162893018622105.ack@debbugs.gnu.org>
@ 2021-08-14 8:51 ` Andy Tai
0 siblings, 0 replies; 32+ messages in thread
From: Andy Tai @ 2021-08-14 8:51 UTC (permalink / raw)
To: 50054
[-- Attachment #1: Type: text/plain, Size: 1000 bytes --]
On Sat, Aug 14, 2021 at 1:37 AM GNU bug Tracking System
<help-debbugs@gnu.org> wrote:
>
> Thank you for filing a new bug report with debbugs.gnu.org.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> guix-patches@gnu.org
>
> If you wish to submit further information on this problem, please
> send it to 50054@debbugs.gnu.org.
>
> Please do not send mail to help-debbugs@gnu.org unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 50054: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=50054
> GNU Bug Tracking System
> Contact help-debbugs@gnu.org with problems
--
Andy Tai, atai@atai.org
Year 2021 民國110年
自動的精神力是信仰與覺悟
自動的行為力是勞動與技能
[-- Attachment #2: 0001-gnu-Add-bgfx.patch --]
[-- Type: text/x-patch, Size: 2116 bytes --]
From 998232936a491ace0383fbcff968029a81c12c1e Mon Sep 17 00:00:00 2001
From: Andy Tai <atai@atai.org>
Date: Sat, 14 Aug 2021 01:31:34 -0700
Subject: [PATCH] gnu: Add bgfx
To: guix-patches@gnu.org
* gnu/packages/graphics.scm (bgfx): New variable
---
gnu/packages/graphics.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 38feb27c87..a07c3067fb 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2000,3 +2000,41 @@ Some feature highlights:
such as VR and AR on mobile, PC/desktop, and any other device. Monado aims to be
a complete and conforming implementation of the OpenXR API made by Khronos.")
(license license:boost1.0)))
+
+(define-public bgfx
+ (let ((commit "65513d08541ab1ead814f2c97d0502c8d13eae68")
+ (revision "0"))
+ (package
+ (name "bgfx")
+ (version
+ (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/bkaradzic/bgfx.cmake")
+ (commit commit)
+ ;; Fetch git submodules
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1k18230zw3v2l0vgz5xi0l23fa0686yx0jd6hkvvvwp3zlakqp7n"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f)) ;; no tests
+ (inputs
+ `(("glslang" ,glslang)
+ ("libxcb" ,libxcb)
+ ("opengl" ,mesa)
+ ("vulkan-loader" ,vulkan-loader)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("vulkan-headers" ,vulkan-headers)))
+ (home-page "https://github.com/bkaradzic/bgfx")
+ (synopsis "Cross-platform, graphics API agnostic. rendering library")
+ (description "bgfx is a cross-platform, graphics API agnostic,
+'Bring Your Own Engine/Framework' style rendering library supporting Direct3D,
+OpenGL, Metal, Vulkan and WebGL.")
+ (license (list license:bsd-2 license:cc0)))))
--
2.32.0
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH] gnu: Add bgfx
2021-08-14 8:35 [bug#50054] [PATCH] gnu: Add bgfx Andy Tai
[not found] ` <handler.50054.B.162893018622105.ack@debbugs.gnu.org>
@ 2021-08-14 9:43 ` Leo Prikler
2021-08-14 18:07 ` Andy Tai
2021-08-27 17:49 ` [bug#50054] dependency Andy Tai
` (4 subsequent siblings)
6 siblings, 1 reply; 32+ messages in thread
From: Leo Prikler @ 2021-08-14 9:43 UTC (permalink / raw)
To: Andy Tai, 50054
Hi,
Am Samstag, den 14.08.2021, 01:35 -0700 schrieb Andy Tai:
> * gnu/packages/graphics.scm (bgfx): New variable
> ---
> gnu/packages/graphics.scm | 38
> ++++++++++++++++++++++++++++++++++++++
> 1 file changed, 38 insertions(+)
>
> diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
> index 38feb27c87..53ac12f731 100644
> --- a/gnu/packages/graphics.scm
> +++ b/gnu/packages/graphics.scm
> @@ -2000,3 +2000,41 @@ Some feature highlights:
> such as VR and AR on mobile, PC/desktop, and any other device.
> Monado aims to be
> a complete and conforming implementation of the OpenXR API made by
> Khronos.")
> (license license:boost1.0)))
> +
> +(define-public bgfx
> + (let ((commit "65513d08541ab1ead814f2c97d0502c8d13eae68")
> + (revision "0"))
> + (package
> + (name "bgfx")
> + (version
> + (git-version "0" revision commit))
> + (source
> + (origin
> + (method git-fetch)
> + (uri
> + (git-reference
> + (url "https://github.com/bkaradzic/bgfx.cmake")
> + (commit commit)
> + ;; Fetch git submodules
> + (recursive? #t)))
The use of submodules is discouraged because it's often hard to reason
about them. This is such a case. bgfx and the other submodules each
vendor a bunch of dependencies on top of the binaries that e.g. bx
ships as part of their tools repo.
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> + "1k18230zw3v2l0vgz5xi0l23fa0686yx0jd6hkvvvwp3zlakqp7n")))
> )
> + (build-system cmake-build-system)
> + (arguments
> + `(#:tests? #f)) ;; no tests
> + (inputs
> + `(("glslang" ,glslang)
> + ("libxcb" ,libxcb)
> + ("opengl" ,mesa)
> + ("vulkan-loader" ,vulkan-loader)))
> + (native-inputs
> + `(("pkg-config" ,pkg-config)
> + ("vulkan-headers" ,vulkan-headers)))
> + (home-page "https://github.com/bkaradzic/bgfx")
> + (synopsis "Cross-platform, graphics API agnostic. rendering
> library")
A dot too much :)
> + (description "bgfx is a cross-platform, graphics API agnostic,
> +'Bring Your Own Engine/Framework' style rendering library supporting
> Direct3D,
> +OpenGL, Metal, Vulkan and WebGL.")
> + (license (list license:expat license:cc0)))))
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH] gnu: Add bgfx
2021-08-14 9:43 ` [bug#50054] [PATCH] gnu: Add bgfx Leo Prikler
@ 2021-08-14 18:07 ` Andy Tai
2021-08-14 18:24 ` Andy Tai
0 siblings, 1 reply; 32+ messages in thread
From: Andy Tai @ 2021-08-14 18:07 UTC (permalink / raw)
To: Leo Prikler; +Cc: 50054
Question: then how in the package definition can I check out
submpodule repos and make them in the same relative positions for the
build to work?
On Sat, Aug 14, 2021 at 2:43 AM Leo Prikler
<leo.prikler@student.tugraz.at> wrote:
>
> Hi,
>
> Am Samstag, den 14.08.2021, 01:35 -0700 schrieb Andy Tai:
> > * gnu/packages/graphics.scm (bgfx): New variable
> > ---
> > gnu/packages/graphics.scm | 38
> > ++++++++++++++++++++++++++++++++++++++
...
> > + (method git-fetch)
> > + (uri
> > + (git-reference
> > + (url "https://github.com/bkaradzic/bgfx.cmake")
> > + (commit commit)
> > + ;; Fetch git submodules
> > + (recursive? #t)))
> The use of submodules is discouraged because it's often hard to reason
> about them. This is such a case. bgfx and the other submodules each
> vendor a bunch of dependencies on top of the binaries that e.g. bx
> ships as part of their tools repo.
> > + (file-name (git-file-name name version))
> > + (sha256
> > + (base32
> > + "1k18230zw3v2l0vgz5xi0l23fa0686yx0jd6hkvvvwp3zlakqp7n")))
> > )
> > +
>
--
Andy Tai, atai@atai.org
Year 2021 民國110年
自動的精神力是信仰與覺悟
自動的行為力是勞動與技能
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH] gnu: Add bgfx
2021-08-14 18:07 ` Andy Tai
@ 2021-08-14 18:24 ` Andy Tai
2021-08-14 18:48 ` Leo Prikler
0 siblings, 1 reply; 32+ messages in thread
From: Andy Tai @ 2021-08-14 18:24 UTC (permalink / raw)
To: Leo Prikler; +Cc: 50054
Or your intent is that each repo should be a separate package in guix,
like bgfx with its three git repos shall be three packages in guix?
On Sat, Aug 14, 2021 at 11:07 AM Andy Tai <lichengtai@gmail.com> wrote:
>
> Question: then how in the package definition can I check out
> submpodule repos and make them in the same relative positions for the
> build to work?
>
> On Sat, Aug 14, 2021 at 2:43 AM Leo Prikler
> <leo.prikler@student.tugraz.at> wrote:
> >
> > Hi,
> >
> > Am Samstag, den 14.08.2021, 01:35 -0700 schrieb Andy Tai:
> > > * gnu/packages/graphics.scm (bgfx): New variable
> > > ---
> > > gnu/packages/graphics.scm | 38
> > > ++++++++++++++++++++++++++++++++++++++
> ...
> > > + (method git-fetch)
> > > + (uri
> > > + (git-reference
> > > + (url "https://github.com/bkaradzic/bgfx.cmake")
> > > + (commit commit)
> > > + ;; Fetch git submodules
> > > + (recursive? #t)))
> > The use of submodules is discouraged because it's often hard to reason
> > about them. This is such a case. bgfx and the other submodules each
> > vendor a bunch of dependencies on top of the binaries that e.g. bx
> > ships as part of their tools repo.
> > > + (file-name (git-file-name name version))
> > > + (sha256
> > > + (base32
> > > + "1k18230zw3v2l0vgz5xi0l23fa0686yx0jd6hkvvvwp3zlakqp7n")))
> > > )
> > > +
> >
>
>
> --
> Andy Tai, atai@atai.org
> Year 2021 民國110年
> 自動的精神力是信仰與覺悟
> 自動的行為力是勞動與技能
--
Andy Tai, atai@atai.org
Year 2021 民國110年
自動的精神力是信仰與覺悟
自動的行為力是勞動與技能
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH] gnu: Add bgfx
2021-08-14 18:24 ` Andy Tai
@ 2021-08-14 18:48 ` Leo Prikler
2021-08-16 12:42 ` Andy Tai
0 siblings, 1 reply; 32+ messages in thread
From: Leo Prikler @ 2021-08-14 18:48 UTC (permalink / raw)
To: Andy Tai; +Cc: 50054
If possible, we should have one package per repo with everything nasty
in that repo removed. I realize that's a lot more to ask for than
simply "a package that builds", but we do have some standards.
Optionally, if it's really not possible, you can still go for various
merged origins, but I should stress that in that case you also ought to
filter out the nasty stuff. It's usually easier to do that if you have
one package for whatever you could reason to be a package upstream.
Am Samstag, den 14.08.2021, 11:24 -0700 schrieb Andy Tai:
> Or your intent is that each repo should be a separate package in
> guix,
> like bgfx with its three git repos shall be three packages in guix?
>
> On Sat, Aug 14, 2021 at 11:07 AM Andy Tai <lichengtai@gmail.com>
> wrote:
> > Question: then how in the package definition can I check out
> > submpodule repos and make them in the same relative positions for
> > the
> > build to work?
> >
> > On Sat, Aug 14, 2021 at 2:43 AM Leo Prikler
> > <leo.prikler@student.tugraz.at> wrote:
> > > Hi,
> > >
> > > Am Samstag, den 14.08.2021, 01:35 -0700 schrieb Andy Tai:
> > > > * gnu/packages/graphics.scm (bgfx): New variable
> > > > ---
> > > > gnu/packages/graphics.scm | 38
> > > > ++++++++++++++++++++++++++++++++++++++
> > ...
> > > > + (method git-fetch)
> > > > + (uri
> > > > + (git-reference
> > > > + (url "https://github.com/bkaradzic/bgfx.cmake")
> > > > + (commit commit)
> > > > + ;; Fetch git submodules
> > > > + (recursive? #t)))
> > > The use of submodules is discouraged because it's often hard to
> > > reason
> > > about them. This is such a case. bgfx and the other submodules
> > > each
> > > vendor a bunch of dependencies on top of the binaries that e.g.
> > > bx
> > > ships as part of their tools repo.
> > > > + (file-name (git-file-name name version))
> > > > + (sha256
> > > > + (base32
> > > > + "1k18230zw3v2l0vgz5xi0l23fa0686yx0jd6hkvvvwp3zlakqp
> > > > 7n")))
> > > > )
> > > > +
> >
> > --
> > Andy Tai, atai@atai.org
> > Year 2021 民國110年
> > 自動的精神力是信仰與覺悟
> > 自動的行為力是勞動與技能
>
>
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH] gnu: Add bgfx
2021-08-14 18:48 ` Leo Prikler
@ 2021-08-16 12:42 ` Andy Tai
2021-08-16 12:52 ` Leo Prikler
0 siblings, 1 reply; 32+ messages in thread
From: Andy Tai @ 2021-08-16 12:42 UTC (permalink / raw)
To: Leo Prikler; +Cc: 50054
Leo, by "nasty stuff" you meant non-free stuff (I doubt if there is
any in a graphics library but will check), or you meant the embedded
packages that shall be reference to other packages in guix (if
packaged already)? I think the embedded copies of other stuff may
have local customization that may make it impossible to simply build
with the existing packages in guix.
On Sat, Aug 14, 2021 at 11:48 AM Leo Prikler
<leo.prikler@student.tugraz.at> wrote:
>
> If possible, we should have one package per repo with everything nasty
> in that repo removed. I realize that's a lot more to ask for than
> simply "a package that builds", but we do have some standards.
>
> Optionally, if it's really not possible, you can still go for various
> merged origins, but I should stress that in that case you also ought to
> filter out the nasty stuff. It's usually easier to do that if you have
> one package for whatever you could reason to be a package upstream.
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH] gnu: Add bgfx
2021-08-16 12:42 ` Andy Tai
@ 2021-08-16 12:52 ` Leo Prikler
2021-08-29 3:16 ` Andy Tai
0 siblings, 1 reply; 32+ messages in thread
From: Leo Prikler @ 2021-08-16 12:52 UTC (permalink / raw)
To: Andy Tai; +Cc: 50054
Hi,
Am Montag, den 16.08.2021, 05:42 -0700 schrieb Andy Tai:
> Leo, by "nasty stuff" you meant non-free stuff (I doubt if there is
> any in a graphics library but will check), or you meant the embedded
> packages that shall be reference to other packages in guix (if
> packaged already)? I think the embedded copies of other stuff may
> have local customization that may make it impossible to simply build
> with the existing packages in guix.
Nasty stuff are not only already existing packages, but also outdated
versions thereof. If there are heavily customized versions or packages
not yet included in Guix, then those can be left in (but with a
remark!), though in the long term it would be better to make those
packages work with upstream versions rather than require specific
tweaking.
The other thing I already mentioned are binaries, which upstream seems
also aware about, see e.g.
https://github.com/bkaradzic/bgfx/commit/caed3f91026bf0e703f1eaf6f622e27b820df86c
Regards
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] dependency
2021-08-14 8:35 [bug#50054] [PATCH] gnu: Add bgfx Andy Tai
[not found] ` <handler.50054.B.162893018622105.ack@debbugs.gnu.org>
2021-08-14 9:43 ` [bug#50054] [PATCH] gnu: Add bgfx Leo Prikler
@ 2021-08-27 17:49 ` Andy Tai
2021-08-27 18:31 ` Tobias Geerinckx-Rice via Guix-patches via
2024-04-23 5:51 ` [bug#50054] [PATCH v2 0/3] *** Add bgfx and dependencies *** Andy Tai
` (3 subsequent siblings)
6 siblings, 1 reply; 32+ messages in thread
From: Andy Tai @ 2021-08-27 17:49 UTC (permalink / raw)
To: 50054
The following bug should be a prerequisite of this bug
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=50229
adding build tool genie to guix as a package
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] dependency
2021-08-27 17:49 ` [bug#50054] dependency Andy Tai
@ 2021-08-27 18:31 ` Tobias Geerinckx-Rice via Guix-patches via
0 siblings, 0 replies; 32+ messages in thread
From: Tobias Geerinckx-Rice via Guix-patches via @ 2021-08-27 18:31 UTC (permalink / raw)
To: Andy Tai; +Cc: 50054
On 2021-08-27 19:49, Andy Tai wrote:
> The following bug should be a prerequisite of this bug
>
> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=50229
> adding build tool genie to guix as a package
Done:
To: Control server <https://debbugs.gnu.org/server-control.html>
block 50054 by 50229
Kind regards,
T (it's aliiive) G-R
Sent from a Web browser. Excuse or enjoy my brevity.
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH] gnu: Add bgfx
2021-08-16 12:52 ` Leo Prikler
@ 2021-08-29 3:16 ` Andy Tai
2021-08-29 3:25 ` Andy Tai
0 siblings, 1 reply; 32+ messages in thread
From: Andy Tai @ 2021-08-29 3:16 UTC (permalink / raw)
Cc: 50054
[-- Attachment #1: Type: text/plain, Size: 1255 bytes --]
updated patch attached:
directly checking out source rather than replying on git submodule
first attempt at removing "nasty" stuff, removing bx/tools/bin
On Mon, Aug 16, 2021 at 5:52 AM Leo Prikler
<leo.prikler@student.tugraz.at> wrote:
>
> Hi,
>
> Am Montag, den 16.08.2021, 05:42 -0700 schrieb Andy Tai:
> > Leo, by "nasty stuff" you meant non-free stuff (I doubt if there is
> > any in a graphics library but will check), or you meant the embedded
> > packages that shall be reference to other packages in guix (if
> > packaged already)? I think the embedded copies of other stuff may
> > have local customization that may make it impossible to simply build
> > with the existing packages in guix.
> Nasty stuff are not only already existing packages, but also outdated
> versions thereof. If there are heavily customized versions or packages
> not yet included in Guix, then those can be left in (but with a
> remark!), though in the long term it would be better to make those
> packages work with upstream versions rather than require specific
> tweaking.
>
> The other thing I already mentioned are binaries, which upstream seems
> also aware about, see e.g.
> https://github.com/bkaradzic/bgfx/commit/caed3f91026bf0e703f1eaf6f622e27b820df86c
[-- Attachment #2: 0001-gnu-Add-bgfx.patch --]
[-- Type: text/x-patch, Size: 4049 bytes --]
From 12fa8bfe0766d493c0a2aeb01490e2513d6b709b Mon Sep 17 00:00:00 2001
From: Andy Tai <atai@atai.org>
Date: Sat, 28 Aug 2021 20:12:52 -0700
Subject: [PATCH] gnu: Add bgfx
To: guix-patches@gnu.org
* gnu/packages/graphics.scm (bgfx): New variable
---
gnu/packages/graphics.scm | 74 +++++++++++++++++++++++++++++++++++++++
1 file changed, 74 insertions(+)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 38feb27c87..ba3d401311 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2000,3 +2000,77 @@ Some feature highlights:
such as VR and AR on mobile, PC/desktop, and any other device. Monado aims to be
a complete and conforming implementation of the OpenXR API made by Khronos.")
(license license:boost1.0)))
+
+(define-public bgfx
+ (let ((commit "b029632186b897a7d65486f9809d65b3eb900abf")
+ (revision "0"))
+ (package
+ (name "bgfx")
+ (version
+ (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/bkaradzic/bgfx.cmake")
+ (commit commit)))
+ (file-name (git-file-name "bgfx.cmake" version))
+ (sha256
+ (base32
+ "1j19a0ya1mi8vls6696b4zyb573hk8qil9lrzqd2anlrfn2xn395"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'unpack-submodule-sources
+ (lambda* (#:key inputs #:allow-other-keys)
+ (delete-file-recursively "bx")
+ (delete-file-recursively "bimg")
+ (delete-file-recursively "bgfx")
+
+ (copy-recursively (assoc-ref inputs "bx")
+ "./bx")
+ (copy-recursively (assoc-ref inputs "bimg")
+ "./bimg")
+ (copy-recursively (assoc-ref inputs "bgfx")
+ "./bgfx")
+ ;; delete binaries from source git
+ (delete-file-recursively "bx/tools/bin")
+ #t)))
+
+ #:tests? #f)) ;; no tests
+ (inputs
+ `(("glslang" ,glslang)
+ ("libxcb" ,libxcb)
+ ("opengl" ,mesa)
+ ("vulkan-loader" ,vulkan-loader)))
+ (native-inputs
+ (let ((additional-repo (lambda (url commit name hash)
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit commit)))
+ (file-name (git-file-name name commit))
+ (sha256 (base32 hash))))))
+ `(("bx"
+ ,(additional-repo "https://github.com/bkaradzic/bx"
+ "9978d894cb54efc0fcb874461f3127cbe8e55b33"
+ "bx" "0r98x2fdklldvkswda1hld6igzd0kzm21d0fhfdwi6401a718dyx"))
+ ("bimg"
+ ,(additional-repo "https://github.com/bkaradzic/bimg"
+ "0b6febf2b0ba07f5fd5de6a30acaf7c3afdb9921"
+ "bimg" "1a0d43ryv6hzssq18ri0rqb1zvqs62x7qp98mdc5qhgbn46bqg9z"))
+ ("bgfx"
+ ,(additional-repo "https://github.com/bkaradzic/bgfx"
+ "f26885aaed87ce6c39e8862212d62f82ff4a93ac"
+ "bgfx" "037h4m4kxxl9ii5f7bs8gwihcih0ydzkv5bh0jx1s22g3bbkvkr0"))
+ ("pkg-config" ,pkg-config)
+ ("vulkan-headers" ,vulkan-headers))))
+ (home-page "https://github.com/bkaradzic/bgfx")
+ (synopsis "Cross-platform, graphics API agnostic. rendering library")
+ (description "bgfx is a cross-platform, graphics API agnostic,
+'Bring Your Own Engine/Framework' style rendering library supporting Direct3D,
+OpenGL, Metal, Vulkan and WebGL.")
+ (license (list license:bsd-2 license:cc0)))))
--
2.33.0
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH] gnu: Add bgfx
2021-08-29 3:16 ` Andy Tai
@ 2021-08-29 3:25 ` Andy Tai
2021-08-29 4:29 ` Andy Tai
0 siblings, 1 reply; 32+ messages in thread
From: Andy Tai @ 2021-08-29 3:25 UTC (permalink / raw)
Cc: 50054
[-- Attachment #1: Type: text/plain, Size: 1315 bytes --]
updated patch attached:
directly checking out additional source repos rather than relying on
git submodule
first attempt at removing "nasty" stuff, removing bx/tools/bin
> On Mon, Aug 16, 2021 at 5:52 AM Leo Prikler
> <leo.prikler@student.tugraz.at> wrote:
> >
> > Hi,
> >
> > Am Montag, den 16.08.2021, 05:42 -0700 schrieb Andy Tai:
> > > Leo, by "nasty stuff" you meant non-free stuff (I doubt if there is
> > > any in a graphics library but will check), or you meant the embedded
> > > packages that shall be reference to other packages in guix (if
> > > packaged already)? I think the embedded copies of other stuff may
> > > have local customization that may make it impossible to simply build
> > > with the existing packages in guix.
> > Nasty stuff are not only already existing packages, but also outdated
> > versions thereof. If there are heavily customized versions or packages
> > not yet included in Guix, then those can be left in (but with a
> > remark!), though in the long term it would be better to make those
> > packages work with upstream versions rather than require specific
> > tweaking.
> >
> > The other thing I already mentioned are binaries, which upstream seems
> > also aware about, see e.g.
> > https://github.com/bkaradzic/bgfx/commit/caed3f91026bf0e703f1eaf6f622e27b820df86c
[-- Attachment #2: 0001-gnu-Add-bgfx.patch --]
[-- Type: text/x-patch, Size: 4049 bytes --]
From 1b55b4ef74177d22fd695910bf75ae3d89ad0b90 Mon Sep 17 00:00:00 2001
From: Andy Tai <atai@atai.org>
Date: Sat, 28 Aug 2021 20:12:52 -0700
Subject: [PATCH] gnu: Add bgfx
To: guix-patches@gnu.org
* gnu/packages/graphics.scm (bgfx): New variable
---
gnu/packages/graphics.scm | 74 +++++++++++++++++++++++++++++++++++++++
1 file changed, 74 insertions(+)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 38feb27c87..3c34e31a07 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2000,3 +2000,77 @@ Some feature highlights:
such as VR and AR on mobile, PC/desktop, and any other device. Monado aims to be
a complete and conforming implementation of the OpenXR API made by Khronos.")
(license license:boost1.0)))
+
+(define-public bgfx
+ (let ((commit "b029632186b897a7d65486f9809d65b3eb900abf")
+ (revision "0"))
+ (package
+ (name "bgfx")
+ (version
+ (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/bkaradzic/bgfx.cmake")
+ (commit commit)))
+ (file-name (git-file-name "bgfx.cmake" version))
+ (sha256
+ (base32
+ "1j19a0ya1mi8vls6696b4zyb573hk8qil9lrzqd2anlrfn2xn395"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'unpack-submodule-sources
+ (lambda* (#:key inputs #:allow-other-keys)
+ (delete-file-recursively "bx")
+ (delete-file-recursively "bimg")
+ (delete-file-recursively "bgfx")
+
+ (copy-recursively (assoc-ref inputs "bx")
+ "./bx")
+ (copy-recursively (assoc-ref inputs "bimg")
+ "./bimg")
+ (copy-recursively (assoc-ref inputs "bgfx")
+ "./bgfx")
+ ;; delete binaries from source git
+ (delete-file-recursively "bx/tools/bin")
+ #t)))
+
+ #:tests? #f)) ;; no tests
+ (inputs
+ `(("glslang" ,glslang)
+ ("libxcb" ,libxcb)
+ ("opengl" ,mesa)
+ ("vulkan-loader" ,vulkan-loader)))
+ (native-inputs
+ (let ((additional-repo (lambda (url commit name hash)
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit commit)))
+ (file-name (git-file-name name commit))
+ (sha256 (base32 hash))))))
+ `(("bx"
+ ,(additional-repo "https://github.com/bkaradzic/bx"
+ "9978d894cb54efc0fcb874461f3127cbe8e55b33"
+ "bx" "0r98x2fdklldvkswda1hld6igzd0kzm21d0fhfdwi6401a718dyx"))
+ ("bimg"
+ ,(additional-repo "https://github.com/bkaradzic/bimg"
+ "0b6febf2b0ba07f5fd5de6a30acaf7c3afdb9921"
+ "bimg" "1a0d43ryv6hzssq18ri0rqb1zvqs62x7qp98mdc5qhgbn46bqg9z"))
+ ("bgfx"
+ ,(additional-repo "https://github.com/bkaradzic/bgfx"
+ "f26885aaed87ce6c39e8862212d62f82ff4a93ac"
+ "bgfx" "037h4m4kxxl9ii5f7bs8gwihcih0ydzkv5bh0jx1s22g3bbkvkr0"))
+ ("pkg-config" ,pkg-config)
+ ("vulkan-headers" ,vulkan-headers))))
+ (home-page "https://github.com/bkaradzic/bgfx")
+ (synopsis "Cross-platform, graphics API agnostic, rendering library")
+ (description "bgfx is a cross-platform, graphics API agnostic,
+'Bring Your Own Engine/Framework' style rendering library supporting Direct3D,
+OpenGL, Metal, Vulkan and WebGL.")
+ (license (list license:bsd-2 license:cc0)))))
--
2.33.0
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH] gnu: Add bgfx
2021-08-29 3:25 ` Andy Tai
@ 2021-08-29 4:29 ` Andy Tai
2021-08-29 11:41 ` Leo Prikler
0 siblings, 1 reply; 32+ messages in thread
From: Andy Tai @ 2021-08-29 4:29 UTC (permalink / raw)
Cc: 50054
[-- Attachment #1: Type: text/plain, Size: 1679 bytes --]
further update
building the examples and the tools from source
On Sat, Aug 28, 2021 at 8:25 PM Andy Tai <lichengtai@gmail.com> wrote:
>
> updated patch attached:
>
> directly checking out additional source repos rather than relying on
> git submodule
>
> first attempt at removing "nasty" stuff, removing bx/tools/bin
>
> > On Mon, Aug 16, 2021 at 5:52 AM Leo Prikler
> > <leo.prikler@student.tugraz.at> wrote:
> > >
> > > Hi,
> > >
> > > Am Montag, den 16.08.2021, 05:42 -0700 schrieb Andy Tai:
> > > > Leo, by "nasty stuff" you meant non-free stuff (I doubt if there is
> > > > any in a graphics library but will check), or you meant the embedded
> > > > packages that shall be reference to other packages in guix (if
> > > > packaged already)? I think the embedded copies of other stuff may
> > > > have local customization that may make it impossible to simply build
> > > > with the existing packages in guix.
> > > Nasty stuff are not only already existing packages, but also outdated
> > > versions thereof. If there are heavily customized versions or packages
> > > not yet included in Guix, then those can be left in (but with a
> > > remark!), though in the long term it would be better to make those
> > > packages work with upstream versions rather than require specific
> > > tweaking.
> > >
> > > The other thing I already mentioned are binaries, which upstream seems
> > > also aware about, see e.g.
> > > https://github.com/bkaradzic/bgfx/commit/caed3f91026bf0e703f1eaf6f622e27b820df86c
--
Andy Tai, atai@atai.org
Year 2021 民國110年
自動的精神力是信仰與覺悟
自動的行為力是勞動與技能
[-- Attachment #2: 0001-gnu-Add-bgfx.patch --]
[-- Type: text/x-patch, Size: 4490 bytes --]
From f772db933bba365e435e96f9441b5017305c8a04 Mon Sep 17 00:00:00 2001
From: Andy Tai <atai@atai.org>
Date: Sat, 28 Aug 2021 21:27:36 -0700
Subject: [PATCH] gnu: Add bgfx
To: guix-patches@gnu.org
* gnu/packages/graphics.scm (bgfx): New variable
---
gnu/packages/graphics.scm | 82 +++++++++++++++++++++++++++++++++++++++
1 file changed, 82 insertions(+)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 38feb27c87..3027eac61e 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2000,3 +2000,85 @@ Some feature highlights:
such as VR and AR on mobile, PC/desktop, and any other device. Monado aims to be
a complete and conforming implementation of the OpenXR API made by Khronos.")
(license license:boost1.0)))
+
+(define-public bgfx
+ (let ((commit "b029632186b897a7d65486f9809d65b3eb900abf")
+ (revision "0"))
+ (package
+ (name "bgfx")
+ (version
+ (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/bkaradzic/bgfx.cmake")
+ (commit commit)))
+ (file-name (git-file-name "bgfx.cmake" version))
+ (sha256
+ (base32
+ "1j19a0ya1mi8vls6696b4zyb573hk8qil9lrzqd2anlrfn2xn395"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ '("-DBGFX_BUILD_TOOLS=TRUE"
+ "-DBGFX_BUILD_EXAMPLES=TRUE")
+
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'unpack-submodule-sources
+ (lambda* (#:key inputs #:allow-other-keys)
+ (delete-file-recursively "bx")
+ (delete-file-recursively "bimg")
+ (delete-file-recursively "bgfx")
+
+ (copy-recursively (assoc-ref inputs "bx")
+ "./bx")
+ (copy-recursively (assoc-ref inputs "bimg")
+ "./bimg")
+ (copy-recursively (assoc-ref inputs "bgfx")
+ "./bgfx")
+ ;; delete binaries from upstream git repos
+ (delete-file-recursively "bx/tools/bin")
+ ;; delete extra 3rd party code not needed for bgfx to function on Guix
+ ;; note dear-imgui local copy in bgfx heavily modified from original upstream
+ ;; so we for now can not use the upstream dear-imgui for bgfx
+ (delete-file-recursively "bgfx/3rdparty/dxsdk")
+ #t)))
+
+ #:tests? #f)) ;; no tests
+ (inputs
+ `(("glslang" ,glslang)
+ ("libxcb" ,libxcb)
+ ("opengl" ,mesa)
+ ("vulkan-loader" ,vulkan-loader)))
+ (native-inputs
+ (let ((additional-repo (lambda (url commit name hash)
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url url)
+ (commit commit)))
+ (file-name (git-file-name name commit))
+ (sha256 (base32 hash))))))
+ `(("bx"
+ ,(additional-repo "https://github.com/bkaradzic/bx"
+ "9978d894cb54efc0fcb874461f3127cbe8e55b33"
+ "bx" "0r98x2fdklldvkswda1hld6igzd0kzm21d0fhfdwi6401a718dyx"))
+ ("bimg"
+ ,(additional-repo "https://github.com/bkaradzic/bimg"
+ "0b6febf2b0ba07f5fd5de6a30acaf7c3afdb9921"
+ "bimg" "1a0d43ryv6hzssq18ri0rqb1zvqs62x7qp98mdc5qhgbn46bqg9z"))
+ ("bgfx"
+ ,(additional-repo "https://github.com/bkaradzic/bgfx"
+ "f26885aaed87ce6c39e8862212d62f82ff4a93ac"
+ "bgfx" "037h4m4kxxl9ii5f7bs8gwihcih0ydzkv5bh0jx1s22g3bbkvkr0"))
+ ("pkg-config" ,pkg-config)
+ ("vulkan-headers" ,vulkan-headers))))
+ (home-page "https://github.com/bkaradzic/bgfx")
+ (synopsis "Cross-platform, graphics API agnostic, rendering library")
+ (description "bgfx is a cross-platform, graphics API agnostic,
+'Bring Your Own Engine/Framework' style rendering library supporting Direct3D,
+OpenGL, Metal, Vulkan and WebGL.")
+ (license (list license:bsd-2 license:cc0)))))
--
2.33.0
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH] gnu: Add bgfx
2021-08-29 4:29 ` Andy Tai
@ 2021-08-29 11:41 ` Leo Prikler
2021-08-29 18:21 ` Andy Tai
0 siblings, 1 reply; 32+ messages in thread
From: Leo Prikler @ 2021-08-29 11:41 UTC (permalink / raw)
To: Andy Tai; +Cc: 50054
Hi,
Am Samstag, den 28.08.2021, 21:29 -0700 schrieb Andy Tai:
> further update
>
> building the examples and the tools from source
>
> On Sat, Aug 28, 2021 at 8:25 PM Andy Tai <lichengtai@gmail.com>
> wrote:
> > updated patch attached:
> >
> > directly checking out additional source repos rather than relying
> > on
> > git submodule
> >
> > first attempt at removing "nasty" stuff, removing bx/tools/bin
> > [...]
First things first, this still does a build of everything at once
rather than one package per repo. Have you looked into the one package
per repo thing and decided that it's not possible or do you simply
continue with the package as-is because it builds?
Even if you want to do a merged build, binaries, vendored dependencies,
etc. ought to be removed in the origins, not at build time. I suggest
you use a computed origin to merge the three and remove all those
things.
Regards
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH] gnu: Add bgfx
2021-08-29 11:41 ` Leo Prikler
@ 2021-08-29 18:21 ` Andy Tai
2021-08-29 20:04 ` Leo Prikler
0 siblings, 1 reply; 32+ messages in thread
From: Andy Tai @ 2021-08-29 18:21 UTC (permalink / raw)
To: Leo Prikler; +Cc: 50054
> First things first, this still does a build of everything at once
> rather than one package per repo. Have you looked into the one package
> per repo thing and decided that it's not possible or do you simply
> continue with the package as-is because it builds?
>
Hi, the author of the upstream is very opinionated; this is how how
arranges the things for this package and his documentation on how to
build mentions checking out all three repos and build them together.
I can look into his build system setup to try to build each repo
separately but that means I need to maintain custom build inside the
package and normally I don't think distribution package maintainers
want to go into inside the package to setup alternative build
processes separate from upstream--what goes inside the package is best
left to the author. If you maintain essentially separate build
scripts in the original package in terms of cmake or genie, that is
outside the scope of guix and hard to maintain as you need to keep up
with new releases.
> Even if you want to do a merged build, binaries, vendored dependencies,
> etc. ought to be removed in the origins, not at build time. I suggest
> you use a computed origin to merge the three and remove all those
> things.
>
Is there a "computed origin" example in existing package receipts in guix?
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH] gnu: Add bgfx
2021-08-29 18:21 ` Andy Tai
@ 2021-08-29 20:04 ` Leo Prikler
2021-08-29 23:59 ` Andy Tai
0 siblings, 1 reply; 32+ messages in thread
From: Leo Prikler @ 2021-08-29 20:04 UTC (permalink / raw)
To: Andy Tai; +Cc: 50054
Hi
Am Sonntag, den 29.08.2021, 11:21 -0700 schrieb Andy Tai:
> > First things first, this still does a build of everything at once
> > rather than one package per repo. Have you looked into the one
> > package
> > per repo thing and decided that it's not possible or do you simply
> > continue with the package as-is because it builds?
> >
>
> Hi, the author of the upstream is very opinionated; this is how how
> arranges the things for this package and his documentation on how to
> build mentions checking out all three repos and build them together.
I wouldn't read too much into that. Just because they put those
directories next to each other doesn't mean Guix is forced to do the
same. Many people have their shells in /bin/bash. Some use
/usr/bin/bash. Neither exists in Guix and we still manage to somehow
ship bash.
Plus, according to upstream, the CMake structure is literally an
alternative build system and there are several versions of it,
suggesting that it shouldn't be particularly hard to adapt bgfx to
something else.
> I can look into his build system setup to try to build each repo
> separately but that means I need to maintain custom build inside the
> package and normally I don't think distribution package maintainers
> want to go into inside the package to setup alternative build
> processes separate from upstream--what goes inside the package is
> best left to the author. If you maintain essentially separate build
> scripts in the original package in terms of cmake or genie, that is
> outside the scope of guix and hard to maintain as you need to keep up
> with new releases.
People have rolled their own Makefiles for decades and Guix has a way
of coping with that. You simply need to delete bootstrap and configure
from gnu-build-system or replace them with whatever command upstream
uses.
> > Even if you want to do a merged build, binaries, vendored
> > dependencies,
> > etc. ought to be removed in the origins, not at build time. I
> > suggest
> > you use a computed origin to merge the three and remove all those
> > things.
> >
>
> Is there a "computed origin" example in existing package receipts in
> guix?
There are few examples, as computed origins are typically only used
with huge pieces of software that need large patches to throw away
proprietary blobs. See the linux kernel or chromium.
Regards
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH] gnu: Add bgfx
2021-08-29 20:04 ` Leo Prikler
@ 2021-08-29 23:59 ` Andy Tai
0 siblings, 0 replies; 32+ messages in thread
From: Andy Tai @ 2021-08-29 23:59 UTC (permalink / raw)
To: Leo Prikler; +Cc: 50054
Related, this patch
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=50229
adds genie to guix which may be required to build these repos
individually, but no response on that patch (independent of this one)
so far
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH v2 0/3] *** Add bgfx and dependencies ***
2021-08-14 8:35 [bug#50054] [PATCH] gnu: Add bgfx Andy Tai
` (2 preceding siblings ...)
2021-08-27 17:49 ` [bug#50054] dependency Andy Tai
@ 2024-04-23 5:51 ` Andy Tai
2024-04-23 5:51 ` [bug#50054] [PATCH v2 1/3] gnu: Add bx Andy Tai
` (2 more replies)
2024-05-17 6:17 ` [bug#50054] [PATCH v3 0/3] Add bgfx and dependencies Andy Tai
` (2 subsequent siblings)
6 siblings, 3 replies; 32+ messages in thread
From: Andy Tai @ 2024-04-23 5:51 UTC (permalink / raw)
To: 50054; +Cc: Andy Tai
*** This series of patches adds bgfx and its dependencies bx and bimg ***
bx, bimg and bgfx as three separate packages
Andy Tai (3):
gnu: Add bx
gnu: Add bimg.
gnu: Add bgfx.
gnu/packages/graphics.scm | 211 +++++++++++++++++++++++++++++++++++++-
1 file changed, 210 insertions(+), 1 deletion(-)
base-commit: b8ccbc942e0ec7baf695d383e575991289c6e033
--
2.34.1
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH v2 1/3] gnu: Add bx
2024-04-23 5:51 ` [bug#50054] [PATCH v2 0/3] *** Add bgfx and dependencies *** Andy Tai
@ 2024-04-23 5:51 ` Andy Tai
2024-05-13 12:37 ` Ludovic Courtès
2024-04-23 5:51 ` [bug#50054] [PATCH v2 2/3] gnu: Add bimg Andy Tai
2024-04-23 5:51 ` [bug#50054] [PATCH v2 3/3] gnu: Add bgfx Andy Tai
2 siblings, 1 reply; 32+ messages in thread
From: Andy Tai @ 2024-04-23 5:51 UTC (permalink / raw)
To: 50054; +Cc: Andy Tai
* gnu/packages/graphics.scm (bx): New variable
Change-Id: I7a0b4ccfb2e7a1edad80da0ba55fa5cd0fca0032
---
gnu/packages/graphics.scm | 60 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 59 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index ca2d74224f..b64774af58 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -24,7 +24,7 @@
;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
-;;; Copyright © 2021 Andy Tai <atai@atai.org>
+;;; Copyright © 2021, 2024 Andy Tai <atai@atai.org>
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
@@ -2893,6 +2893,64 @@ (define-public f3d
options.")
(license license:bsd-3)))
+(define-public bx
+ (let ((commit "d3434707384f6d62229a4476b10b6dc22fee7c9a")
+ (revision "1"))
+ (package
+ (name "bx")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bkaradzic/bx")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11jii8dfb0nzxamkffa6ij3p6r4w7csfbxw7wpxsmqhirv5i8rns"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+
+ (replace 'build
+ (lambda _
+ (invoke "make"
+ "-j" (number->string (parallel-job-count))
+ "linux-release64"
+ (string-append "GENIE="
+ #$(this-package-native-input
+ "genie") "/bin/genie") "-j"
+ (number->string (parallel-job-count)))))
+
+ (replace 'check
+ (lambda _
+ (invoke "make" "test")))
+ (replace 'install
+ (lambda _
+ (install-file
+ ".build/linux64_gcc/obj/x64/Release/bin2c/tools/bin2c"
+ (string-append #$output "/bin"))
+ (install-file
+ ".build/linux64_gcc/obj/x64/Release/lemon/tools/lemon"
+ (string-append #$output "/bin"))
+ (for-each (lambda (f)
+ (install-file f
+ (string-append #$output
+ "/lib")))
+ (find-files ".build/linux64_gcc" "\\.a$"))
+ (copy-recursively "include/bx"
+ (string-append #$output
+ "/include/bx")))))))
+ (native-inputs (list genie))
+ (home-page "https://github.com/bkaradzic/bx")
+ (synopsis "Base library used across multiple projects ")
+ (description
+ "Bx is an base library that implements low level functions of the
+Bgfx graphics library.")
+ (license license:bsd-2))))
+
(define-public gpaint
(package
(name "gpaint")
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH v2 2/3] gnu: Add bimg.
2024-04-23 5:51 ` [bug#50054] [PATCH v2 0/3] *** Add bgfx and dependencies *** Andy Tai
2024-04-23 5:51 ` [bug#50054] [PATCH v2 1/3] gnu: Add bx Andy Tai
@ 2024-04-23 5:51 ` Andy Tai
2024-04-23 5:51 ` [bug#50054] [PATCH v2 3/3] gnu: Add bgfx Andy Tai
2 siblings, 0 replies; 32+ messages in thread
From: Andy Tai @ 2024-04-23 5:51 UTC (permalink / raw)
To: 50054; +Cc: Andy Tai
* gnu/packages/graphics.scm (bimg): New variable.
Change-Id: I431bed18c6a63d8b6c073177c01816fd32e005f4
---
gnu/packages/graphics.scm | 66 +++++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index b64774af58..88e01b46bf 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -2951,6 +2951,72 @@ (define-public bx
Bgfx graphics library.")
(license license:bsd-2))))
+(define-public bimg
+ (let ((commit "e9fa0ceff2df3399011af136c82652c81655c1d3")
+ (revision "1"))
+ (package
+ (name "bimg")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bkaradzic/bimg")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (sha256
+ (base32 "0i80r5hwbnh94wfmv4dys6kmy7szvmpqynbb7bvvvhfjn13jh754"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ;there are no tests
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+
+ (replace 'build
+ (lambda _
+ (for-each (lambda (target)
+ (invoke "make"
+ "-j"
+ (number->string (parallel-job-count))
+ target
+
+ (string-append "BX_DIR="
+ #$(this-package-input
+ "bx-sources"))
+ (string-append "NINJA="
+ #$(this-package-native-input
+ "ninja")
+ "/bin/ninja")
+ (string-append "GENIE="
+ #$(this-package-native-input
+ "genie")
+ "/bin/genie")))
+ (list "linux-release64" "tools"))))
+
+ (replace 'install
+ (lambda _
+ (install-file
+ ".build/linux64_gcc/obj/x64/Release/texturec/tools/texturec"
+ (string-append #$output "/bin"))
+ (for-each (lambda (f)
+ (install-file f
+ (string-append #$output
+ "/lib")))
+ (find-files ".build/linux64_gcc" "\\.a$"))
+ (copy-recursively "include/bimg"
+ (string-append #$output
+ "/include/bimg")))))))
+ (native-inputs (list genie ninja))
+ (inputs `(("bx-sources" ,(package-source bx))))
+ (home-page "https://github.com/bkaradzic/bimg")
+ (synopsis "Image library")
+ (description
+ "Bimg is an imaging library that implements low level functions of the
+Bgfx graphics library.")
+ (license license:bsd-2))))
+
(define-public gpaint
(package
(name "gpaint")
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH v2 3/3] gnu: Add bgfx.
2024-04-23 5:51 ` [bug#50054] [PATCH v2 0/3] *** Add bgfx and dependencies *** Andy Tai
2024-04-23 5:51 ` [bug#50054] [PATCH v2 1/3] gnu: Add bx Andy Tai
2024-04-23 5:51 ` [bug#50054] [PATCH v2 2/3] gnu: Add bimg Andy Tai
@ 2024-04-23 5:51 ` Andy Tai
2024-05-13 12:40 ` Ludovic Courtès
2 siblings, 1 reply; 32+ messages in thread
From: Andy Tai @ 2024-04-23 5:51 UTC (permalink / raw)
To: 50054; +Cc: Andy Tai
* gnu/packages/graphics.scm (bgfx): New variable.
Change-Id: I2737803c838229ed04fbfe30d0e67749444d871b
---
gnu/packages/graphics.scm | 85 +++++++++++++++++++++++++++++++++++++++
1 file changed, 85 insertions(+)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 88e01b46bf..dce66f63ec 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -3017,6 +3017,91 @@ (define-public bimg
Bgfx graphics library.")
(license license:bsd-2))))
+(define-public bgfx
+ (let ((commit "932302d8f460e514b933deba8c0e575a00f0bcd6")
+ (revision "1"))
+ (package
+ (name "bgfx")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bkaradzic/bgfx")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (sha256
+ (base32 "0by2is3qzbhg0m3wv7np28l6k9hm0lr5ybc2z7fc5c8x3afqcxzr"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ;there are no tests
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+
+ (replace 'build
+ (lambda _
+ (for-each (lambda (target)
+ (invoke "make"
+ "-j"
+ (number->string (parallel-job-count))
+ target
+
+ (string-append "BX_DIR="
+ #$(this-package-input
+ "bx-sources"))
+ (string-append "BIMG_DIR="
+ #$(this-package-input
+ "bimg-sources"))
+ (string-append "NINJA="
+ #$(this-package-native-input
+ "ninja")
+ "/bin/ninja")
+ (string-append "GENIE="
+ #$(this-package-native-input
+ "genie")
+ "/bin/genie")))
+ (list "linux-release64" "tools"))))
+ ;; (replace 'check
+ ;; (lambda _
+ ;; (invoke "make" "test")))
+ (replace 'install
+ (lambda _
+ (for-each (lambda (f)
+ (install-file f
+ (string-append #$output
+ "/bin")))
+ (find-files "./tools/bin/linux"))
+ (for-each (lambda (f)
+ (install-file f
+ (string-append #$output
+ "/lib")))
+ (find-files ".build/linux64_gcc" "\\.a$"))
+ (for-each (lambda (f)
+ (install-file f
+ (string-append #$output
+ "/lib")))
+ (find-files ".build/linux64_gcc" "\\.so$"))
+ (copy-recursively "include/bgfx"
+ (string-append #$output
+ "/include/bgfx"))))
+
+ )))
+ (native-inputs (list genie ninja))
+ (inputs `(("bx-sources" ,(package-source bx))
+ ("bimg-sources" ,(package-source bimg))
+ ("mesa" ,mesa)
+ ("mesa-headers" ,mesa-headers)
+ ("vulkan-headers" ,vulkan-headers)))
+ (home-page "https://bkaradzic.github.io/bgfx/overview.html")
+ (synopsis "Cross-platform rendering library")
+ (description
+ "bgfx is a cross-platform, graphics API agnostic,
+Bring Your Own Engine/Framework' style rendering library supporting Direct3D,
+OpenGL/OpenGL ES, Metal, Vulkan and WebGL.")
+ (license license:bsd-2))))
+
(define-public gpaint
(package
(name "gpaint")
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH v2 1/3] gnu: Add bx
2024-04-23 5:51 ` [bug#50054] [PATCH v2 1/3] gnu: Add bx Andy Tai
@ 2024-05-13 12:37 ` Ludovic Courtès
0 siblings, 0 replies; 32+ messages in thread
From: Ludovic Courtès @ 2024-05-13 12:37 UTC (permalink / raw)
To: Andy Tai; +Cc: 50054
Hi,
Andy Tai <atai@atai.org> skribis:
> * gnu/packages/graphics.scm (bx): New variable
>
> Change-Id: I7a0b4ccfb2e7a1edad80da0ba55fa5cd0fca0032
Nitpicking:
> + (home-page "https://github.com/bkaradzic/bx")
> + (synopsis "Base library used across multiple projects ")
Could you change it to make it clear what it’s about? Maybe something
like “C++ utility library for the Bgfx graphics library”?
(Is it C++, actually?)
Please also remove the trailing space.
> + (description
> + "Bx is an base library that implements low level functions of the
s/an base/a base/
But again, try being more explicit.
TIA,
Ludo’.
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH v2 3/3] gnu: Add bgfx.
2024-04-23 5:51 ` [bug#50054] [PATCH v2 3/3] gnu: Add bgfx Andy Tai
@ 2024-05-13 12:40 ` Ludovic Courtès
0 siblings, 0 replies; 32+ messages in thread
From: Ludovic Courtès @ 2024-05-13 12:40 UTC (permalink / raw)
To: Andy Tai; +Cc: 50054
Andy Tai <atai@atai.org> skribis:
> * gnu/packages/graphics.scm (bgfx): New variable.
>
> Change-Id: I2737803c838229ed04fbfe30d0e67749444d871b
[...]
> + (inputs `(("bx-sources" ,(package-source bx))
> + ("bimg-sources" ,(package-source bimg))
> + ("mesa" ,mesa)
> + ("mesa-headers" ,mesa-headers)
> + ("vulkan-headers" ,vulkan-headers)))
Is it not possible to use pre-built copies of Bx and Bimg?
If not, then please change the above to:
(inputs (list mesa mesa-headers vulkan-headers))
and refer to the source directly from the gexp, like so:
#:phases #~(… #$(package-source bx) …)
> + (home-page "https://bkaradzic.github.io/bgfx/overview.html")
> + (synopsis "Cross-platform rendering library")
> + (description
> + "bgfx is a cross-platform, graphics API agnostic,
> +Bring Your Own Engine/Framework' style rendering library supporting Direct3D,
> +OpenGL/OpenGL ES, Metal, Vulkan and WebGL.")
Would be great if you could expound a bit, especially the synopsis.
Ludo’.
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH v3 0/3] Add bgfx and dependencies
2021-08-14 8:35 [bug#50054] [PATCH] gnu: Add bgfx Andy Tai
` (3 preceding siblings ...)
2024-04-23 5:51 ` [bug#50054] [PATCH v2 0/3] *** Add bgfx and dependencies *** Andy Tai
@ 2024-05-17 6:17 ` Andy Tai
2024-05-17 6:17 ` [bug#50054] [PATCH v3 1/3] gnu: Add bx Andy Tai
` (2 more replies)
2024-05-18 6:22 ` [bug#50054] [PATCH v3 0/3] Add bgfx and dependencies Andy Tai
2024-05-27 0:44 ` [bug#50054] ping Andy Tai
6 siblings, 3 replies; 32+ messages in thread
From: Andy Tai @ 2024-05-17 6:17 UTC (permalink / raw)
To: 50054, ludo; +Cc: Andy Tai
*** This series of patches adds bgfx and its dependencies bx and bimg ***
bx, bimg and bgfx as three separate packages
Andy Tai (3):
gnu: Add bx
gnu: Add bimg.
gnu: Add bgfx.
gnu/packages/graphics.scm | 224 +++++++++++++++++++++++++++++++++++++-
1 file changed, 223 insertions(+), 1 deletion(-)
base-commit: 0846eaecd45783bf40e8dc67b0c16f71068524b7
--
2.34.1
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH v3 1/3] gnu: Add bx
2024-05-17 6:17 ` [bug#50054] [PATCH v3 0/3] Add bgfx and dependencies Andy Tai
@ 2024-05-17 6:17 ` Andy Tai
2024-05-17 6:17 ` [bug#50054] [PATCH v3 2/3] gnu: Add bimg Andy Tai
2024-05-17 6:17 ` [bug#50054] [PATCH v3 3/3] gnu: Add bgfx Andy Tai
2 siblings, 0 replies; 32+ messages in thread
From: Andy Tai @ 2024-05-17 6:17 UTC (permalink / raw)
To: 50054, ludo; +Cc: Andy Tai
* gnu/packages/graphics.scm (bx): New variable
Change-Id: I7a0b4ccfb2e7a1edad80da0ba55fa5cd0fca0032
---
gnu/packages/graphics.scm | 66 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 65 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 7a2f827d36..ac2a2e3a56 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -24,7 +24,7 @@
;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
-;;; Copyright © 2021 Andy Tai <atai@atai.org>
+;;; Copyright © 2021, 2024 Andy Tai <atai@atai.org>
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
@@ -2960,6 +2960,70 @@ (define-public f3d
options.")
(license license:bsd-3)))
+(define-public bx
+ (let ((commit "d3434707384f6d62229a4476b10b6dc22fee7c9a")
+ (revision "1"))
+ (package
+ (name "bx")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bkaradzic/bx")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11jii8dfb0nzxamkffa6ij3p6r4w7csfbxw7wpxsmqhirv5i8rns"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+
+ (replace 'build
+ (lambda _
+ (invoke "make"
+ "-j" (number->string (parallel-job-count))
+ "linux-release64"
+ (string-append "GENIE="
+ #$(this-package-native-input
+ "genie") "/bin/genie") "-j"
+ (number->string (parallel-job-count)))))
+
+ (replace 'check
+ (lambda _
+ (invoke "make" "test")))
+ (replace 'install
+ (lambda _
+ (install-file
+ ".build/linux64_gcc/obj/x64/Release/bin2c/tools/bin2c"
+ (string-append #$output "/bin"))
+ (install-file
+ ".build/linux64_gcc/obj/x64/Release/lemon/tools/lemon"
+ (string-append #$output "/bin"))
+ (for-each (lambda (f)
+ (install-file f
+ (string-append #$output
+ "/lib")))
+ (find-files ".build/linux64_gcc" "\\.a$"))
+ (copy-recursively "include/bx"
+ (string-append #$output
+ "/include/bx")))))))
+ (native-inputs (list genie))
+ (home-page "https://github.com/bkaradzic/bx")
+ (synopsis "C++ utility library for the Bgfx graphics library")
+ (description
+ "Bx is a C++ library that implements low level functions of the
+Bgfx graphics library
+@itemize
+@item Providing OS/runtime/compiler independent core functionality
+to be able to write cross-platform applications.
+@item Allowing compile without C Runtime (CRT) and without C++ Standard Library (STL).
+@end itemize
+")
+ (license license:bsd-2))))
+
(define-public gpaint
(package
(name "gpaint")
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH v3 2/3] gnu: Add bimg.
2024-05-17 6:17 ` [bug#50054] [PATCH v3 0/3] Add bgfx and dependencies Andy Tai
2024-05-17 6:17 ` [bug#50054] [PATCH v3 1/3] gnu: Add bx Andy Tai
@ 2024-05-17 6:17 ` Andy Tai
2024-05-17 6:17 ` [bug#50054] [PATCH v3 3/3] gnu: Add bgfx Andy Tai
2 siblings, 0 replies; 32+ messages in thread
From: Andy Tai @ 2024-05-17 6:17 UTC (permalink / raw)
To: 50054, ludo; +Cc: Andy Tai
* gnu/packages/graphics.scm (bimg): New variable.
Change-Id: I431bed18c6a63d8b6c073177c01816fd32e005f4
---
gnu/packages/graphics.scm | 66 +++++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index ac2a2e3a56..29e262d33e 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -3024,6 +3024,72 @@ (define-public bx
")
(license license:bsd-2))))
+(define-public bimg
+ (let ((commit "e9fa0ceff2df3399011af136c82652c81655c1d3")
+ (revision "1"))
+ (package
+ (name "bimg")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bkaradzic/bimg")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (sha256
+ (base32 "0i80r5hwbnh94wfmv4dys6kmy7szvmpqynbb7bvvvhfjn13jh754"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ;there are no tests
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+
+ (replace 'build
+ (lambda _
+ (for-each (lambda (target)
+ (invoke "make"
+ "-j"
+ (number->string (parallel-job-count))
+ target
+
+ (string-append "BX_DIR="
+ #$(this-package-input
+ "bx-sources"))
+ (string-append "NINJA="
+ #$(this-package-native-input
+ "ninja")
+ "/bin/ninja")
+ (string-append "GENIE="
+ #$(this-package-native-input
+ "genie")
+ "/bin/genie")))
+ (list "linux-release64" "tools"))))
+
+ (replace 'install
+ (lambda _
+ (install-file
+ ".build/linux64_gcc/obj/x64/Release/texturec/tools/texturec"
+ (string-append #$output "/bin"))
+ (for-each (lambda (f)
+ (install-file f
+ (string-append #$output
+ "/lib")))
+ (find-files ".build/linux64_gcc" "\\.a$"))
+ (copy-recursively "include/bimg"
+ (string-append #$output
+ "/include/bimg")))))))
+ (native-inputs (list genie ninja))
+ (inputs `(("bx-sources" ,(package-source bx))))
+ (home-page "https://github.com/bkaradzic/bimg")
+ (synopsis "Image library")
+ (description
+ "Bimg is an imaging library that implements low level functions of the
+Bgfx graphics library.")
+ (license license:bsd-2))))
+
(define-public gpaint
(package
(name "gpaint")
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH v3 3/3] gnu: Add bgfx.
2024-05-17 6:17 ` [bug#50054] [PATCH v3 0/3] Add bgfx and dependencies Andy Tai
2024-05-17 6:17 ` [bug#50054] [PATCH v3 1/3] gnu: Add bx Andy Tai
2024-05-17 6:17 ` [bug#50054] [PATCH v3 2/3] gnu: Add bimg Andy Tai
@ 2024-05-17 6:17 ` Andy Tai
2 siblings, 0 replies; 32+ messages in thread
From: Andy Tai @ 2024-05-17 6:17 UTC (permalink / raw)
To: 50054, ludo; +Cc: Andy Tai
* gnu/packages/graphics.scm (bgfx): New variable.
Change-Id: I2737803c838229ed04fbfe30d0e67749444d871b
---
gnu/packages/graphics.scm | 92 +++++++++++++++++++++++++++++++++++++++
1 file changed, 92 insertions(+)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 29e262d33e..3f35ce3c20 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -3090,6 +3090,98 @@ (define-public bimg
Bgfx graphics library.")
(license license:bsd-2))))
+(define-public bgfx
+ (let ((commit "932302d8f460e514b933deba8c0e575a00f0bcd6")
+ (revision "1"))
+ (package
+ (name "bgfx")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bkaradzic/bgfx")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (sha256
+ (base32 "0by2is3qzbhg0m3wv7np28l6k9hm0lr5ybc2z7fc5c8x3afqcxzr"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ;there are no tests
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+
+ (replace 'build
+ (lambda _
+ (for-each (lambda (target)
+ (invoke "make"
+ "-j"
+ (number->string (parallel-job-count))
+ target
+
+ (string-append "BX_DIR="
+ #$(package-source bx))
+ (string-append "BIMG_DIR="
+ #$(package-source bximg))
+ (string-append "NINJA="
+ #$(this-package-native-input
+ "ninja")
+ "/bin/ninja")
+ (string-append "GENIE="
+ #$(this-package-native-input
+ "genie")
+ "/bin/genie")))
+ (list "linux-release64" "tools"))))
+ ;; (replace 'check
+ ;; (lambda _
+ ;; (invoke "make" "test")))
+ (replace 'install
+ (lambda _
+ (for-each (lambda (f)
+ (install-file f
+ (string-append #$output
+ "/bin")))
+ (find-files "./tools/bin/linux"))
+ (for-each (lambda (f)
+ (install-file f
+ (string-append #$output
+ "/lib")))
+ (find-files ".build/linux64_gcc" "\\.a$"))
+ (for-each (lambda (f)
+ (install-file f
+ (string-append #$output
+ "/lib")))
+ (find-files ".build/linux64_gcc" "\\.so$"))
+ (copy-recursively "include/bgfx"
+ (string-append #$output
+ "/include/bgfx"))))
+
+ )))
+ (native-inputs (list genie ninja))
+ (inputs (list mesa mesa-headers vulkan-headers))
+ (home-page "https://bkaradzic.github.io/bgfx/overview.html")
+ (synopsis "Cross-platform, graphics API agnostic,
+\"Bring Your Own Engine/Framework\" style rendering library")
+ (description
+ "bgfx is a Cross-platform, graphics API agnostic rendering library
+providing the same graphics APIs over
+@itemize
+@item Direct3D 11
+@item Direct3D 12
+@item GNM (only for licensed PS4 developers, search DevNet forums for source)
+@item Metal
+@item OpenGL 2.1
+@item OpenGL 3.1+
+@item OpenGL ES 2
+@item OpenGL ES 3.1
+@item Vulkan
+@item WebGL 1.0
+@item WebGL 2.0
+@end itemize")
+ (license license:bsd-2))))
+
(define-public gpaint
(package
(name "gpaint")
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH v3 0/3] Add bgfx and dependencies
2021-08-14 8:35 [bug#50054] [PATCH] gnu: Add bgfx Andy Tai
` (4 preceding siblings ...)
2024-05-17 6:17 ` [bug#50054] [PATCH v3 0/3] Add bgfx and dependencies Andy Tai
@ 2024-05-18 6:22 ` Andy Tai
2024-05-18 6:22 ` [bug#50054] [PATCH v3 1/3] gnu: Add bx Andy Tai
` (2 more replies)
2024-05-27 0:44 ` [bug#50054] ping Andy Tai
6 siblings, 3 replies; 32+ messages in thread
From: Andy Tai @ 2024-05-18 6:22 UTC (permalink / raw)
To: 50054, ludo; +Cc: Andy Tai
*** This series of patches adds bgfx and its dependencies bx and bimg ***
Andy Tai (3):
gnu: Add bx
gnu: Add bimg.
gnu: Add bgfx.
gnu/packages/graphics.scm | 221 +++++++++++++++++++++++++++++++++++++-
1 file changed, 220 insertions(+), 1 deletion(-)
base-commit: e9b25a6c6c626a560d28a1f732e6e5d362d584a4
--
2.34.1
^ permalink raw reply [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH v3 1/3] gnu: Add bx
2024-05-18 6:22 ` [bug#50054] [PATCH v3 0/3] Add bgfx and dependencies Andy Tai
@ 2024-05-18 6:22 ` Andy Tai
2024-05-18 6:22 ` [bug#50054] [PATCH v3 2/3] gnu: Add bimg Andy Tai
2024-05-18 6:22 ` [bug#50054] [PATCH v3 3/3] gnu: Add bgfx Andy Tai
2 siblings, 0 replies; 32+ messages in thread
From: Andy Tai @ 2024-05-18 6:22 UTC (permalink / raw)
To: 50054, ludo; +Cc: Andy Tai
* gnu/packages/graphics.scm (bx): New variable
Change-Id: I7a0b4ccfb2e7a1edad80da0ba55fa5cd0fca0032
---
gnu/packages/graphics.scm | 65 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 64 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 7a2f827d36..5522fffcc8 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -24,7 +24,7 @@
;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Gabriel Arazas <foo.dogsquared@gmail.com>
;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net>
-;;; Copyright © 2021 Andy Tai <atai@atai.org>
+;;; Copyright © 2021, 2024 Andy Tai <atai@atai.org>
;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
@@ -2960,6 +2960,69 @@ (define-public f3d
options.")
(license license:bsd-3)))
+(define-public bx
+ (let ((commit "d3434707384f6d62229a4476b10b6dc22fee7c9a")
+ (revision "1"))
+ (package
+ (name "bx")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bkaradzic/bx")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11jii8dfb0nzxamkffa6ij3p6r4w7csfbxw7wpxsmqhirv5i8rns"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+
+ (replace 'build
+ (lambda _
+ (invoke "make"
+ "-j" (number->string (parallel-job-count))
+ "linux-release64"
+ (string-append "GENIE="
+ #$(this-package-native-input
+ "genie") "/bin/genie") "-j"
+ (number->string (parallel-job-count)))))
+
+ (replace 'check
+ (lambda _
+ (invoke "make" "test")))
+ (replace 'install
+ (lambda _
+ (install-file
+ ".build/linux64_gcc/obj/x64/Release/bin2c/tools/bin2c"
+ (string-append #$output "/bin"))
+ (install-file
+ ".build/linux64_gcc/obj/x64/Release/lemon/tools/lemon"
+ (string-append #$output "/bin"))
+ (for-each (lambda (f)
+ (install-file f
+ (string-append #$output
+ "/lib")))
+ (find-files ".build/linux64_gcc" "\\.a$"))
+ (copy-recursively "include/bx"
+ (string-append #$output
+ "/include/bx")))))))
+ (native-inputs (list genie))
+ (home-page "https://github.com/bkaradzic/bx")
+ (synopsis "C++ utility library for the Bgfx graphics library")
+ (description
+ "Bx is a C++ library that implements low level functions of the
+Bgfx graphics library
+@itemize
+@item Providing OS/runtime/compiler independent core functionality
+to be able to write cross-platform applications.
+@item Allowing compile without C Runtime (CRT) and without C++ Standard Library (STL).
+@end itemize")
+ (license license:bsd-2))))
+
(define-public gpaint
(package
(name "gpaint")
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH v3 2/3] gnu: Add bimg.
2024-05-18 6:22 ` [bug#50054] [PATCH v3 0/3] Add bgfx and dependencies Andy Tai
2024-05-18 6:22 ` [bug#50054] [PATCH v3 1/3] gnu: Add bx Andy Tai
@ 2024-05-18 6:22 ` Andy Tai
2024-05-18 6:22 ` [bug#50054] [PATCH v3 3/3] gnu: Add bgfx Andy Tai
2 siblings, 0 replies; 32+ messages in thread
From: Andy Tai @ 2024-05-18 6:22 UTC (permalink / raw)
To: 50054, ludo; +Cc: Andy Tai
* gnu/packages/graphics.scm (bimg): New variable.
Change-Id: I431bed18c6a63d8b6c073177c01816fd32e005f4
---
gnu/packages/graphics.scm | 66 +++++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 5522fffcc8..678e916b7c 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -3023,6 +3023,72 @@ (define-public bx
@end itemize")
(license license:bsd-2))))
+(define-public bimg
+ (let ((commit "e9fa0ceff2df3399011af136c82652c81655c1d3")
+ (revision "1"))
+ (package
+ (name "bimg")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bkaradzic/bimg")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (sha256
+ (base32 "0i80r5hwbnh94wfmv4dys6kmy7szvmpqynbb7bvvvhfjn13jh754"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ;there are no tests
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+
+ (replace 'build
+ (lambda _
+ (for-each (lambda (target)
+ (invoke "make"
+ "-j"
+ (number->string (parallel-job-count))
+ target
+
+ (string-append "BX_DIR="
+ #$(this-package-input
+ "bx-sources"))
+ (string-append "NINJA="
+ #$(this-package-native-input
+ "ninja")
+ "/bin/ninja")
+ (string-append "GENIE="
+ #$(this-package-native-input
+ "genie")
+ "/bin/genie")))
+ (list "linux-release64" "tools"))))
+
+ (replace 'install
+ (lambda _
+ (install-file
+ ".build/linux64_gcc/obj/x64/Release/texturec/tools/texturec"
+ (string-append #$output "/bin"))
+ (for-each (lambda (f)
+ (install-file f
+ (string-append #$output
+ "/lib")))
+ (find-files ".build/linux64_gcc" "\\.a$"))
+ (copy-recursively "include/bimg"
+ (string-append #$output
+ "/include/bimg")))))))
+ (native-inputs (list genie ninja))
+ (inputs `(("bx-sources" ,(package-source bx))))
+ (home-page "https://github.com/bkaradzic/bimg")
+ (synopsis "Image library")
+ (description
+ "Bimg is an imaging library that implements low level functions of the
+Bgfx graphics library.")
+ (license license:bsd-2))))
+
(define-public gpaint
(package
(name "gpaint")
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [bug#50054] [PATCH v3 3/3] gnu: Add bgfx.
2024-05-18 6:22 ` [bug#50054] [PATCH v3 0/3] Add bgfx and dependencies Andy Tai
2024-05-18 6:22 ` [bug#50054] [PATCH v3 1/3] gnu: Add bx Andy Tai
2024-05-18 6:22 ` [bug#50054] [PATCH v3 2/3] gnu: Add bimg Andy Tai
@ 2024-05-18 6:22 ` Andy Tai
2 siblings, 0 replies; 32+ messages in thread
From: Andy Tai @ 2024-05-18 6:22 UTC (permalink / raw)
To: 50054, ludo; +Cc: Andy Tai
* gnu/packages/graphics.scm (bgfx): New variable.
Change-Id: I2737803c838229ed04fbfe30d0e67749444d871b
---
gnu/packages/graphics.scm | 90 +++++++++++++++++++++++++++++++++++++++
1 file changed, 90 insertions(+)
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index 678e916b7c..ec1b490819 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -3089,6 +3089,96 @@ (define-public bimg
Bgfx graphics library.")
(license license:bsd-2))))
+(define-public bgfx
+ (let ((commit "932302d8f460e514b933deba8c0e575a00f0bcd6")
+ (revision "1"))
+ (package
+ (name "bgfx")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bkaradzic/bgfx")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (sha256
+ (base32 "0by2is3qzbhg0m3wv7np28l6k9hm0lr5ybc2z7fc5c8x3afqcxzr"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ;there are no tests
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+
+ (replace 'build
+ (lambda _
+ (for-each (lambda (target)
+ (invoke "make"
+ "-j"
+ (number->string (parallel-job-count))
+ target
+
+ (string-append "BX_DIR="
+ #$(package-source bx))
+ (string-append "BIMG_DIR="
+ #$(package-source bimg))
+ (string-append "NINJA="
+ #$(this-package-native-input
+ "ninja")
+ "/bin/ninja")
+ (string-append "GENIE="
+ #$(this-package-native-input
+ "genie")
+ "/bin/genie")))
+ (list "linux-release64" "tools"))))
+ ;; (replace 'check
+ ;; (lambda _
+ ;; (invoke "make" "test")))
+ (replace 'install
+ (lambda _
+ (for-each (lambda (f)
+ (install-file f
+ (string-append #$output
+ "/bin")))
+ (find-files "./tools/bin/linux"))
+ (for-each (lambda (f)
+ (install-file f
+ (string-append #$output
+ "/lib")))
+ (find-files ".build/linux64_gcc" "\\.a$"))
+ (for-each (lambda (f)
+ (install-file f
+ (string-append #$output
+ "/lib")))
+ (find-files ".build/linux64_gcc" "\\.so$"))
+ (copy-recursively "include/bgfx"
+ (string-append #$output
+ "/include/bgfx")))))))
+ (native-inputs (list genie ninja))
+ (inputs (list mesa mesa-headers vulkan-headers))
+ (home-page "https://bkaradzic.github.io/bgfx/overview.html")
+ (synopsis "Cross-platform, graphics API agnostic,
+\"Bring Your Own Framework\" rendering library")
+ (description
+ "bgfx is a Cross-platform, graphics API agnostic rendering library
+providing the same graphics APIs over
+@itemize
+@item Direct3D 11
+@item Direct3D 12
+@item GNM (only for licensed PS4 developers, search DevNet forums for source)
+@item Metal
+@item OpenGL 2.1
+@item OpenGL 3.1+
+@item OpenGL ES 2
+@item OpenGL ES 3.1
+@item Vulkan
+@item WebGL 1.0
+@item WebGL 2.0
+@end itemize")
+ (license license:bsd-2))))
+
(define-public gpaint
(package
(name "gpaint")
--
2.34.1
^ permalink raw reply related [flat|nested] 32+ messages in thread
* [bug#50054] ping
2021-08-14 8:35 [bug#50054] [PATCH] gnu: Add bgfx Andy Tai
` (5 preceding siblings ...)
2024-05-18 6:22 ` [bug#50054] [PATCH v3 0/3] Add bgfx and dependencies Andy Tai
@ 2024-05-27 0:44 ` Andy Tai
6 siblings, 0 replies; 32+ messages in thread
From: Andy Tai @ 2024-05-27 0:44 UTC (permalink / raw)
To: 50054
ping
^ permalink raw reply [flat|nested] 32+ messages in thread
end of thread, other threads:[~2024-05-27 0:47 UTC | newest]
Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-14 8:35 [bug#50054] [PATCH] gnu: Add bgfx Andy Tai
[not found] ` <handler.50054.B.162893018622105.ack@debbugs.gnu.org>
2021-08-14 8:51 ` [bug#50054] Acknowledgement ([PATCH] gnu: Add bgfx) Andy Tai
2021-08-14 9:43 ` [bug#50054] [PATCH] gnu: Add bgfx Leo Prikler
2021-08-14 18:07 ` Andy Tai
2021-08-14 18:24 ` Andy Tai
2021-08-14 18:48 ` Leo Prikler
2021-08-16 12:42 ` Andy Tai
2021-08-16 12:52 ` Leo Prikler
2021-08-29 3:16 ` Andy Tai
2021-08-29 3:25 ` Andy Tai
2021-08-29 4:29 ` Andy Tai
2021-08-29 11:41 ` Leo Prikler
2021-08-29 18:21 ` Andy Tai
2021-08-29 20:04 ` Leo Prikler
2021-08-29 23:59 ` Andy Tai
2021-08-27 17:49 ` [bug#50054] dependency Andy Tai
2021-08-27 18:31 ` Tobias Geerinckx-Rice via Guix-patches via
2024-04-23 5:51 ` [bug#50054] [PATCH v2 0/3] *** Add bgfx and dependencies *** Andy Tai
2024-04-23 5:51 ` [bug#50054] [PATCH v2 1/3] gnu: Add bx Andy Tai
2024-05-13 12:37 ` Ludovic Courtès
2024-04-23 5:51 ` [bug#50054] [PATCH v2 2/3] gnu: Add bimg Andy Tai
2024-04-23 5:51 ` [bug#50054] [PATCH v2 3/3] gnu: Add bgfx Andy Tai
2024-05-13 12:40 ` Ludovic Courtès
2024-05-17 6:17 ` [bug#50054] [PATCH v3 0/3] Add bgfx and dependencies Andy Tai
2024-05-17 6:17 ` [bug#50054] [PATCH v3 1/3] gnu: Add bx Andy Tai
2024-05-17 6:17 ` [bug#50054] [PATCH v3 2/3] gnu: Add bimg Andy Tai
2024-05-17 6:17 ` [bug#50054] [PATCH v3 3/3] gnu: Add bgfx Andy Tai
2024-05-18 6:22 ` [bug#50054] [PATCH v3 0/3] Add bgfx and dependencies Andy Tai
2024-05-18 6:22 ` [bug#50054] [PATCH v3 1/3] gnu: Add bx Andy Tai
2024-05-18 6:22 ` [bug#50054] [PATCH v3 2/3] gnu: Add bimg Andy Tai
2024-05-18 6:22 ` [bug#50054] [PATCH v3 3/3] gnu: Add bgfx Andy Tai
2024-05-27 0:44 ` [bug#50054] ping Andy Tai
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).