unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* mesa in xorg.scm
@ 2013-12-26 12:50 John Darrington
  2013-12-27 22:05 ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: John Darrington @ 2013-12-26 12:50 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 392 bytes --]

I wondered why mesa is defined in the module xorg.scm since it really doesn't have
much to do with X, other than X is one graphics system it supports.

Wouldn't the module gl.scm be a better location?

J'


-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: mesa in xorg.scm
  2013-12-26 12:50 mesa in xorg.scm John Darrington
@ 2013-12-27 22:05 ` Ludovic Courtès
  2013-12-28  7:50   ` Andreas Enge
  2013-12-28  8:10   ` [PATCH] gnu: mesa: Move out of xorg.scm and into gl.scm John Darrington
  0 siblings, 2 replies; 7+ messages in thread
From: Ludovic Courtès @ 2013-12-27 22:05 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

John Darrington <john@darrington.wattle.id.au> skribis:

> I wondered why mesa is defined in the module xorg.scm since it really doesn't have
> much to do with X, other than X is one graphics system it supports.
>
> Wouldn't the module gl.scm be a better location?

Probably yes, although several Xorg components (mostly drivers, uh?)
seem to depend on it.

Feel free to post a patch, and perhaps you could check whether those
drivers really depend on MESA, which sounds a bit strange to me.

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: mesa in xorg.scm
  2013-12-27 22:05 ` Ludovic Courtès
@ 2013-12-28  7:50   ` Andreas Enge
  2013-12-28  8:10   ` [PATCH] gnu: mesa: Move out of xorg.scm and into gl.scm John Darrington
  1 sibling, 0 replies; 7+ messages in thread
From: Andreas Enge @ 2013-12-28  7:50 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Fri, Dec 27, 2013 at 11:05:22PM +0100, Ludovic Courtès wrote:
> John Darrington <john@darrington.wattle.id.au> skribis:
> > I wondered why mesa is defined in the module xorg.scm since it really doesn't have
> > much to do with X, other than X is one graphics system it supports.
> >
> > Wouldn't the module gl.scm be a better location?
> 
> Probably yes, although several Xorg components (mostly drivers, uh?)
> seem to depend on it.

Indeed, when I started packaging x.org, I put all of its files, as well
as the dependencies we had not yet packaged, into xorg.scm. But I have
nothing against moving packages around.

Andreas

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] gnu: mesa: Move out of xorg.scm and into gl.scm
  2013-12-27 22:05 ` Ludovic Courtès
  2013-12-28  7:50   ` Andreas Enge
@ 2013-12-28  8:10   ` John Darrington
  2013-12-28  8:10     ` John Darrington
  1 sibling, 1 reply; 7+ messages in thread
From: John Darrington @ 2013-12-28  8:10 UTC (permalink / raw)
  To: guix-devel

The driver dependencies on mesa are probably correct.  

The history is interesting:  X11 of course predates OpenGL.  X11 provides a 2D
graphics system.  OpenGL provides a 3D system.  Early OpenGL implementations for 
*nix like systems used the X11 primitives for their implementation.  This was
found to be slow. Later versions bypassed X11 and rendered directly at the hardware
level.  Then, a number of X driver developers realised that much of the work 
they were doing had already been done by OpenGL implementations (such as Mesa).
So rather than doing it themselves, they decided simply to use Mesa.

In other words, whereas Mesa used to be a layer on top of X11, the situation has
reversed itself.  Today, X11 is an abstraction on top of Mesa.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH] gnu: mesa: Move out of xorg.scm and into gl.scm
  2013-12-28  8:10   ` [PATCH] gnu: mesa: Move out of xorg.scm and into gl.scm John Darrington
@ 2013-12-28  8:10     ` John Darrington
  2013-12-30 15:56       ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: John Darrington @ 2013-12-28  8:10 UTC (permalink / raw)
  To: guix-devel; +Cc: John Darrington

* gnu/packages/xorg.scm: Remove variable mesa
  gnu/packages/gl.scm: Add variable mesa
---
 gnu/packages/gl.scm   |   62 +++++++++++++++++++++++++++++++++++++++++++++++++
 gnu/packages/xorg.scm |   59 +---------------------------------------------
 2 files changed, 63 insertions(+), 58 deletions(-)

diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm
index f54d689..0da4ddf 100644
--- a/gnu/packages/gl.scm
+++ b/gnu/packages/gl.scm
@@ -23,7 +23,12 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (guix packages)
+  #:use-module (gnu packages bison)
+  #:use-module (gnu packages flex)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages xorg)
+  #:use-module (gnu packages xml)
   #:use-module (gnu packages fontutils))
 
 (define-public glu
@@ -110,3 +115,60 @@ the X-Consortium license.")
 rendering modes are: Bitmaps, Anti-aliased pixmaps, Texture maps, Outlines,
 Polygon meshes, and Extruded polygon meshes")
     (license l:x11)))
+
+(define-public mesa
+  (package
+    (name "mesa")
+    ;; In newer versions (9.0.5, 9.1 and 9.2 tested), "make" results in an
+    ;; infinite configure loop, see
+    ;; https://bugs.freedesktop.org/show_bug.cgi?id=58812
+    (version "8.0.5")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append
+               "ftp://ftp.freedesktop.org/pub/mesa/older-versions/8.x/"
+               version
+               "/MesaLib-" version
+               ".tar.bz2"))
+        (sha256
+          (base32
+            "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si"))))
+    (build-system gnu-build-system)
+    (propagated-inputs
+      `(("glproto" ,glproto)
+        ("libdrm" ,libdrm-2.4.33)
+        ("libxdamage" ,libxdamage)
+        ("libxxf86vm" ,libxxf86vm)))
+    (inputs
+      `(("dri2proto" ,dri2proto)
+        ("expat" ,expat)
+        ("libx11" ,libx11)
+        ("libxfixes" ,libxfixes)
+        ("libxml2" ,libxml2)
+        ("makedepend" ,makedepend)))
+    (native-inputs
+      `(("pkg-config" ,pkg-config)
+        ("flex" ,flex)
+	("bison" ,bison)
+	("python" ,python-2))) ; incompatible with Python 3 (print syntax)
+    (arguments
+      `(#:configure-flags
+         `("--with-gallium-drivers=r600,svga,swrast") ; drop r300 from the default list as it requires llvm
+        #:phases
+         (alist-cons-after
+          'unpack 'remove-symlink
+          (lambda* (#:key #:allow-other-keys)
+            ;; remove dangling symlink to /usr/include/wine/windows
+            (delete-file "src/gallium/state_trackers/d3d1x/w32api"))
+         %standard-phases)))
+    (home-page "http://mesa3d.org/")
+    (synopsis "Mesa, an OpenGL implementation")
+    (description "Mesa is a free implementation of the OpenGL specification -
+a system for rendering interactive 3D graphics. A variety of device drivers
+allows Mesa to be used in many different environments ranging from software
+emulation to complete hardware acceleration for modern GPUs.")
+    (license l:x11)))
+
+
+
diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm
index d45e41a..dfdd82c 100644
--- a/gnu/packages/xorg.scm
+++ b/gnu/packages/xorg.scm
@@ -28,6 +28,7 @@
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fontutils)
   #:use-module (gnu packages gettext)
+  #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gperf)
@@ -4267,64 +4268,6 @@ tracking.")
     (license license:x11)))
 
 
-;; package outside the x.org system proper of height 3
-
-(define-public mesa
-  (package
-    (name "mesa")
-    ;; In newer versions (9.0.5, 9.1 and 9.2 tested), "make" results in an
-    ;; infinite configure loop, see
-    ;; https://bugs.freedesktop.org/show_bug.cgi?id=58812
-    (version "8.0.5")
-    (source
-      (origin
-        (method url-fetch)
-        (uri (string-append
-               "ftp://ftp.freedesktop.org/pub/mesa/older-versions/8.x/"
-               version
-               "/MesaLib-" version
-               ".tar.bz2"))
-        (sha256
-          (base32
-            "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si"))))
-    (build-system gnu-build-system)
-    (propagated-inputs
-      `(("glproto" ,glproto)
-        ("libdrm" ,libdrm-2.4.33)
-        ("libxdamage" ,libxdamage)
-        ("libxxf86vm" ,libxxf86vm)))
-    (inputs
-      `(("dri2proto" ,dri2proto)
-        ("expat" ,expat)
-        ("libx11" ,libx11)
-        ("libxfixes" ,libxfixes)
-        ("libxml2" ,libxml2)
-        ("makedepend" ,makedepend)))
-    (native-inputs
-      `(("pkg-config" ,pkg-config)
-        ("flex" ,flex)
-	("bison" ,bison)
-	("python" ,python-2))) ; incompatible with Python 3 (print syntax)
-    (arguments
-      `(#:configure-flags
-         `("--with-gallium-drivers=r600,svga,swrast") ; drop r300 from the default list as it requires llvm
-        #:phases
-         (alist-cons-after
-          'unpack 'remove-symlink
-          (lambda* (#:key #:allow-other-keys)
-            ;; remove dangling symlink to /usr/include/wine/windows
-            (delete-file "src/gallium/state_trackers/d3d1x/w32api"))
-         %standard-phases)))
-    (home-page "http://mesa3d.org/")
-    (synopsis "Mesa, an OpenGL implementation")
-    (description "Mesa is a free implementation of the OpenGL specification -
-a system for rendering interactive 3D graphics. A variety of device drivers
-allows Mesa to be used in many different environments ranging from software
-emulation to complete hardware acceleration for modern GPUs.")
-    (license license:x11)))
-
-
-
 ;; packages of height 3 in the propagated-inputs tree
 
 (define-public libxcb
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] gnu: mesa: Move out of xorg.scm and into gl.scm
  2013-12-28  8:10     ` John Darrington
@ 2013-12-30 15:56       ` Ludovic Courtès
  2013-12-30 16:58         ` John Darrington
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2013-12-30 15:56 UTC (permalink / raw)
  To: John Darrington; +Cc: guix-devel

Thanks for the explanations!

John Darrington <jmd@gnu.org> skribis:

> * gnu/packages/xorg.scm: Remove variable mesa
>   gnu/packages/gl.scm: Add variable mesa

Pushed.  Several modules that expected ‘mesa’ to be in (gnu packages
xorg) had to be adjusted.

A simple way to find about unbound variables like this is to run ‘make
clean-go && make’ via Emacs M-x compile and to iterate over the
warnings.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] gnu: mesa: Move out of xorg.scm and into gl.scm
  2013-12-30 15:56       ` Ludovic Courtès
@ 2013-12-30 16:58         ` John Darrington
  0 siblings, 0 replies; 7+ messages in thread
From: John Darrington @ 2013-12-30 16:58 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel, John Darrington

[-- Attachment #1: Type: text/plain, Size: 479 bytes --]

On Mon, Dec 30, 2013 at 04:56:18PM +0100, Ludovic Courtès wrote:
     
     A simple way to find about unbound variables like this is to run ‘make
     clean-go && make’ via Emacs M-x compile and to iterate over the
     warnings.

Thanks.  I didn't know about that. 

J'
     
     

-- 
PGP Public key ID: 1024D/2DE827B3 
fingerprint = 8797 A26D 0854 2EAB 0285  A290 8A67 719C 2DE8 27B3
See http://sks-keyservers.net or any PGP keyserver for public key.


[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-12-30 16:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-26 12:50 mesa in xorg.scm John Darrington
2013-12-27 22:05 ` Ludovic Courtès
2013-12-28  7:50   ` Andreas Enge
2013-12-28  8:10   ` [PATCH] gnu: mesa: Move out of xorg.scm and into gl.scm John Darrington
2013-12-28  8:10     ` John Darrington
2013-12-30 15:56       ` Ludovic Courtès
2013-12-30 16:58         ` John Darrington

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).