Merge branch 'master' into core-updates

master
Mark H Weaver 2014-12-30 12:23:32 -05:00
commit 8cbb67e045
51 changed files with 1728 additions and 778 deletions

View File

@ -27,6 +27,8 @@ exec guile -l "$0" \
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix gnu-maintenance)
#:use-module ((guix download) #:select (%mirrors))
#:use-module ((guix build download) #:select (maybe-expand-mirrors))
#:use-module (gnu packages)
#:use-module (sxml simple)
#:use-module (sxml fold)
@ -107,9 +109,12 @@ decreasing, is 1."
"http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/"
(basename patch)))
((? origin? patch)
(match (origin-uri patch)
((? string? uri) uri)
((head . tail) head)))))
(uri->string
(first (maybe-expand-mirrors (string->uri
(match (origin-uri patch)
((? string? uri) uri)
((head . tail) head)))
%mirrors))))))
(define patch-name
(match-lambda

View File

@ -386,7 +386,7 @@ dist_patch_DATA = \
gnu/packages/patches/icecat-CVE-2014-1592.patch \
gnu/packages/patches/icecat-CVE-2014-1593.patch \
gnu/packages/patches/icecat-CVE-2014-1594.patch \
gnu/packages/patches/inkscape-stray-comma.patch \
gnu/packages/patches/irrlicht-mesa-10.patch \
gnu/packages/patches/jbig2dec-ignore-testtest.patch \
gnu/packages/patches/kmod-module-directory.patch \
gnu/packages/patches/libarchive-CVE-2013-0211.patch \
@ -440,6 +440,7 @@ dist_patch_DATA = \
gnu/packages/patches/ripperx-libm.patch \
gnu/packages/patches/scheme48-tests.patch \
gnu/packages/patches/scotch-test-threading.patch \
gnu/packages/patches/sdl-libx11-1.6.patch \
gnu/packages/patches/slim-session.patch \
gnu/packages/patches/slim-config.patch \
gnu/packages/patches/slim-sigusr1.patch \
@ -454,10 +455,27 @@ dist_patch_DATA = \
gnu/packages/patches/udev-gir-libtool.patch \
gnu/packages/patches/util-linux-perl.patch \
gnu/packages/patches/vpnc-script.patch \
gnu/packages/patches/vtk-mesa-10.patch \
gnu/packages/patches/w3m-fix-compile.patch \
gnu/packages/patches/wmctrl-64-fix.patch \
gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch \
gnu/packages/patches/xf86-video-openchrome-includes.patch \
gnu/packages/patches/xf86-video-ark-remove-mibstore.patch \
gnu/packages/patches/xf86-video-ast-remove-mibstore.patch \
gnu/packages/patches/xf86-video-geode-glibc-2.20.patch \
gnu/packages/patches/xf86-video-glint-remove-mibstore.patch \
gnu/packages/patches/xf86-video-i128-remove-mibstore.patch \
gnu/packages/patches/xf86-video-intel-compat-api.patch \
gnu/packages/patches/xf86-video-intel-glibc-2.20.patch \
gnu/packages/patches/xf86-video-mach64-glibc-2.20.patch \
gnu/packages/patches/xf86-video-mga-glibc-2.20.patch \
gnu/packages/patches/xf86-video-nv-remove-mibstore.patch \
gnu/packages/patches/xf86-video-openchrome-glibc-2.20.patch \
gnu/packages/patches/xf86-video-r128-glibc-2.20.patch \
gnu/packages/patches/xf86-video-siliconmotion-remove-mibstore.patch \
gnu/packages/patches/xf86-video-sis-update-api.patch \
gnu/packages/patches/xf86-video-tdfx-remove-mibstore.patch \
gnu/packages/patches/xf86-video-tga-remove-mibstore.patch \
gnu/packages/patches/xf86-video-trident-remove-mibstore.patch \
gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch \
gnu/packages/patches/xfce4-panel-plugins.patch \
gnu/packages/patches/xmodmap-asprintf.patch

View File

@ -50,7 +50,7 @@
(substitute* "makeinclude.in"
(("/bin/sh") (which "sh"))))
%standard-phases)))
(home-page "https://www.fltk.org")
(home-page "http://www.fltk.org")
(synopsis "3D C++ GUI library")
(description "FLTK is a C++ GUI toolkit providing modern GUI functionality
without the bloat. It supports 3D graphics via OpenGL and its built-in GLUT

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Joshua Grant <tadni@riseup.net>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
@ -144,13 +144,13 @@ provide serif, sans and monospaced variants.")
(native-inputs `(("source" ,source)
("tar" ,tar)
("bzip2" ,bzip2)))
(home-page "https://www-old.gnome.org/fonts/")
(home-page "http://www.gnome.org/fonts/")
(synopsis "Bitstream Vera sans-serif typeface")
(description "Vera is a sans-serif typeface from Bitstream, Inc. This
package provides the TrueType (TTF) files.")
(license
(license:x11-style
"https://www-old.gnome.org/fonts/#Final_Bitstream_Vera_Fonts"))))
"http://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts"))))
(define-public font-gnu-freefont-ttf
(package

View File

@ -6,6 +6,7 @@
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -81,12 +82,13 @@
("readline" ,readline)
("gtk+" ,gtk+-2)
("mesa" ,mesa)
("glu" ,glu)
("gtkglext" ,gtkglext)
("sqlite" ,sqlite)
("libcanberra" ,libcanberra)))
(native-inputs `(("python-2" ,python-2)
("pkg-config" ,pkg-config)))
(home-page "https://gnubg.org")
(home-page "http://gnubg.org")
(synopsis "Backgammon game")
(description "The GNU backgammon application can be used for playing, analyzing and
teaching the game. It has an advanced evaluation engine based on artificial
@ -110,6 +112,7 @@ representation of the playing board.")
(build-system gnu-build-system)
(inputs `(("gtk+" ,gtk+-2)
("mesa" ,mesa)
("glu" ,glu)
("libx11" ,libx11)
("guile" ,guile-2.0)
("gtkglext" ,gtkglext)))
@ -208,6 +211,7 @@ that beneath its ruins lay buried an ancient evil.")
("sdl-image" ,sdl-image)
("sdl-mixer" ,sdl-mixer)
("mesa" ,mesa)
("glu" ,glu)
("libpng" ,libpng)
("boost" ,boost)))
(arguments
@ -279,7 +283,7 @@ a C library, so they can easily be integrated into other programs.")
(string-append "--prefix=" out)))))
%standard-phases)))
(inputs `(("ncurses" ,ncurses)))
(home-page "http://wwww.asty.org/cmatrix")
(home-page "http://www.asty.org/cmatrix")
(synopsis "Simulate the display from \"The Matrix\"")
(description "CMatrix simulates the display from \"The Matrix\" and is
based on the screensaver from the movie's website. It works with terminal
@ -300,7 +304,7 @@ asynchronously and at a user-defined speed.")
(base32
"1jckpg1qi1vjr3pqs0dnip3rmn0mgklx63xflrpqiv3cx2qlz8kn"))))
(build-system gnu-build-system)
(home-page "http://wwww.gnu.org/software/chess")
(home-page "http://www.gnu.org/software/chess")
(synopsis "Full chess implementation")
(description "GNU Chess is a chess engine. It allows you to compete
against the computer in a game of chess, either through the default terminal
@ -607,14 +611,21 @@ buffers, and audio capture.")
(and (zero? (system* "unzip" source))
;; The actual source is buried a few directories deep.
(chdir "irrlicht-1.8.1/source/Irrlicht/")))
;; No configure script
(alist-delete 'configure %standard-phases)))
(alist-cons-after
'unpack 'apply-patch/mesa-10-fix
(lambda* (#:key inputs #:allow-other-keys)
(zero? (system* "patch" "--force" "-p3" "-i"
(assoc-ref inputs "patch/mesa-10-fix"))))
;; No configure script
(alist-delete 'configure %standard-phases))))
#:tests? #f ; no check target
#:make-flags '("CC=gcc" "sharedlib")))
(native-inputs
`(("unzip" ,unzip)))
`(("patch/mesa-10-fix" ,(search-patch "irrlicht-mesa-10.patch"))
("unzip" ,unzip)))
(inputs
`(("mesa" ,mesa)))
`(("mesa" ,mesa)
("glu" ,glu)))
(synopsis "3D game engine written in C++")
(description
"The Irrlicht Engine is a high performance realtime 3D engine written in

View File

@ -2,6 +2,7 @@
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Joshua Grant <tadni@riseup.net>
;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,6 +28,8 @@
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages gettext)
#:use-module (gnu packages linux)
#:use-module (gnu packages python)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
@ -122,49 +125,60 @@ Polygon meshes, and Extruded polygon meshes")
(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")
(version "10.4.0")
(source
(origin
(method url-fetch)
(uri (string-append
"ftp://ftp.freedesktop.org/pub/mesa/older-versions/8.x/"
version
"/MesaLib-" version
".tar.bz2"))
(uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/"
version "/MesaLib-" version ".tar.bz2"))
(sha256
(base32
"0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si"))))
(base32
"069j4ck51hc70gryhw3z0rkyhhl0bnhbks4xg1wqqw56l7rxz9wq"))))
(build-system gnu-build-system)
(propagated-inputs
`(("glproto" ,glproto)
("libdrm" ,libdrm-2.4.33)
("libdrm" ,libdrm)
("libx11" ,libx11)
("libxdamage" ,libxdamage)
("libxxf86vm" ,libxxf86vm)))
(inputs
`(("dri2proto" ,dri2proto)
`(("udev" ,eudev)
("dri2proto" ,dri2proto)
("dri3proto" ,dri3proto)
("presentproto" ,presentproto)
("libxshmfence" ,libxshmfence)
("expat" ,expat)
("libxfixes" ,libxfixes)
("libxml2" ,libxml2)
;; TODO: Add 'libva'
;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support
("makedepend" ,makedepend)))
(native-inputs
`(("pkg-config" ,pkg-config)
("gettext" ,gnu-gettext)
("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 _
;; remove dangling symlink to /usr/include/wine/windows
(delete-file "src/gallium/state_trackers/d3d1x/w32api"))
%standard-phases)))
`(#:configure-flags
`(;; drop r300 from default gallium drivers, as it requires llvm
"--with-gallium-drivers=r600,svga,swrast"
"--enable-xa")
#:phases (alist-cons-after
'unpack 'add-missing-m4-files
(lambda _
;; When these files are missing, make tries to rebuild
;; several parts of the build system.
(zero? (system* "touch" "--date=@0"
"m4/libtool.m4" "m4/ltoptions.m4"
"m4/ltsugar.m4" "m4/ltversion.m4"
"m4/lt~obsolete.m4")))
(alist-cons-after
'unpack 'patch-create_test_cases
(lambda _
(substitute* "src/glsl/tests/lower_jumps/create_test_cases.py"
(("/usr/bin/env bash") (which "bash"))))
%standard-phases))))
(home-page "http://mesa3d.org/")
(synopsis "OpenGL implementation")
(description "Mesa is a free implementation of the OpenGL specification -

View File

@ -2,6 +2,7 @@
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -56,7 +57,7 @@
(define dbus
(package
(name "dbus")
(version "1.8.10")
(version "1.8.12")
(source (origin
(method url-fetch)
(uri
@ -64,7 +65,7 @@
version ".tar.gz"))
(sha256
(base32
"13mgvwigm931r8n9363imnn0vn6dvc0m322k3p8fs5c8nvyqggqh"))
"07jhcalg00i2rx5zrgk73rg0vm7lzi5q5z2gscrbl999ipr2h569"))
(patches (list (search-patch "dbus-localstatedir.patch")))))
(build-system gnu-build-system)
(arguments
@ -118,7 +119,7 @@ shared NFS home directories.")
(define glib
(package
(name "glib")
(version "2.40.2")
(version "2.42.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/"
@ -126,7 +127,7 @@ shared NFS home directories.")
name "-" version ".tar.xz"))
(sha256
(base32
"0ykcf99mhpkza3xwa3k79vgfml8mqiac9044802yi5q8jpr8mzz8"))
"16pqvikrps1fvwwqvk0qi4a13mfg7gw6w5qfhk7bhi8f51jhhgwg"))
(patches (list (search-patch "glib-tests-homedir.patch")
(search-patch "glib-tests-desktop.patch")
(search-patch "glib-tests-prlimit.patch")
@ -164,7 +165,12 @@ shared NFS home directories.")
"glib/tests/utils.c"
"tests/spawn-test.c")
(("/bin/sh")
(string-append (assoc-ref inputs "bash") "/bin/sh"))))
(string-append (assoc-ref inputs "bash") "/bin/sh")))
;; Disable a test that requires dbus.
(substitute* "gio/tests/gdbus-serialization.c"
(("g_test_add_func \\(\"/gdbus/message-serialize/double-array\", test_double_array\\);" all)
(string-append "/* " all " */"))))
%standard-phases)
;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
@ -334,7 +340,7 @@ translated.")
(define dbus-glib
(package
(name "dbus-glib")
(version "0.100.2")
(version "0.102")
(source (origin
(method url-fetch)
(uri
@ -342,7 +348,7 @@ translated.")
version ".tar.gz"))
(sha256
(base32
"1ibav91yg70f2l3l18cr0hf4mna1h9d4mrg0c60w4l8zjbd45fx5"))))
"177j5p2vrvpmzk2xrrj6akn73kvpbvnmsjvlmca9l55qbdcfsr39"))))
(build-system gnu-build-system)
(inputs
`(("dbus" ,dbus)
@ -387,14 +393,15 @@ has an ease of use unmatched by other C++ callback libraries.")
(define glibmm
(package
(name "glibmm")
(version "2.37.7")
(version "2.42.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/2.37/glibmm-"
version ".tar.xz"))
(uri (string-append "mirror://gnome/sources/glibmm/"
(version-major+minor version)
"/glibmm-" version ".tar.xz"))
(sha256
(base32
"0mms4yl5izsya1135772z4jkb184ss86x0wlg6dm7yvwxvb6bjlw"))))
"15rk3az8jh3rdwlc3lxjljbnh60drj3ka9574zd39lkqfgcq6l4q"))))
(build-system gnu-build-system)
(arguments
`(#:phases (alist-cons-before

View File

@ -473,6 +473,7 @@ the API")
(build-system gnu-build-system)
(inputs `(("gtk+" ,gtk+-2)
("mesa" ,mesa)
("glu" ,glu)
("libx11" ,libx11)
("libxt" ,libxt)))
(native-inputs `(("pkg-config" ,pkg-config)

View File

@ -71,14 +71,14 @@ tools have full access to view and control running applications.")
(define-public cairo
(package
(name "cairo")
(version "1.12.16")
(version "1.12.18")
(source (origin
(method url-fetch)
(uri (string-append "http://cairographics.org/releases/cairo-"
version ".tar.xz"))
(sha256
(base32
"0inqwsylqkrzcjivdirkjx5nhdgxbdc62fq284c3xppinfg9a195"))))
"1dpmlxmmigpiyv0jchjsn2l1a29655x24g5073hy8p4lmjvz0nfw"))))
(build-system gnu-build-system)
(propagated-inputs
`(("fontconfig" ,fontconfig)
@ -408,6 +408,7 @@ application suites.")
("gdk-pixbuf" ,gdk-pixbuf)
("libxi" ,libxi)
("libxinerama" ,libxinerama)
("libxdamage" ,libxdamage)
("pango" ,pango)))
(inputs
`(("libxml2" ,libxml2)))
@ -513,14 +514,14 @@ exceptions, macros, and a dynamic programming environment.")
(define-public cairomm
(package
(name "cairomm")
(version "1.10.0")
(version "1.11.2")
(source (origin
(method url-fetch)
(uri (string-append "http://cairographics.org/releases/cairomm-"
version ".tar.gz"))
(sha256
(base32
"13rrp96px95m6xnvmsaqb0wcqsnizg3bz334k0yhlyxf7v29d386"))))
"138052ybc58q5yl92m2p0br0k0a9g1pi9gfhmn4y220yih4pgxnc"))))
(build-system gnu-build-system)
(arguments
;; The examples lack -lcairo.

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -41,15 +42,14 @@
(define-public inkscape
(package
(name "inkscape")
(version "0.48.4")
(version "0.48.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/inkscape/inkscape-"
version ".tar.gz"))
version ".tar.bz2"))
(sha256
(base32
"0nhxsgrgsx6zrgpkd1akxjvmdqjp8ccnsvlwxh62l0brg84fw6bf"))
(patches (list (search-patch "inkscape-stray-comma.patch")))))
"0sfr7a1vr1066rrkkqbqvcqs3gawalj68ralnhd6k87jz62fcv1b"))))
(build-system gnu-build-system)
(inputs
`(("aspell" ,aspell)
@ -60,11 +60,7 @@
("libpng" ,libpng)
("libxml2" ,libxml2)
("libxslt" ,libxslt)
;; With libgc 7.4, compilation fails with:
;; gc.cpp:123:1: error: invalid conversion from 'int (*)(void**, const void*)' to 'int (*)(void**, void*)'
("libgc" ,libgc-7.2)
("libgc" ,libgc)
("freetype" ,freetype)
("popt" ,popt)
("python" ,python-2)
@ -74,6 +70,13 @@
`(("intltool" ,intltool)
("perl" ,perl)
("pkg-config" ,pkg-config)))
(arguments
`(#:phases (alist-cons-after
'unpack 'fix-test-includes
(lambda _
(substitute* "src/cxxtests.cpp"
(("\\.\\./\\.\\./src") "../src")))
%standard-phases)))
(home-page "http://inkscape.org/")
(synopsis "Vector graphics editor")
(description "Inkscape is a vector graphics editor. What sets Inkscape

View File

@ -153,7 +153,7 @@ and import their menus over DBus.")
(build-system cmake-build-system)
(inputs
`(("qt" ,qt-4)))
(home-page "https://projects.kde.org/projects/kdesupport/attica")
(home-page "https://projects.kde.org/projects/frameworks/attica")
(synopsis "Qt library for the Open Collaboration Services API")
(description "Attica is a Qt library that implements the Open
Collaboration Services API version 1.6. It grants easy access to the

View File

@ -144,7 +144,7 @@ software.")
(arguments
`(#:configure-flags (list (string-append "--with-ssl="
(assoc-ref %build-inputs "openssl")))))
(home-page "http://fetchmail.berlios.de/")
(home-page "http://www.fetchmail.info/")
(synopsis "Remote-mail retrieval and forwarding utility")
(description
"Fetchmail is a full-featured, robust, well-documented remote-mail

View File

@ -387,6 +387,7 @@ files.")
("hdf5-include" ,hdf5 "include")
("lapack" ,lapack)
("mesa" ,mesa)
("glu" ,glu)
("libx11" ,libx11)
("libxext" ,libxext)))
(arguments

View File

@ -1,13 +0,0 @@
This is verbatim from Upstream: http://bazaar.launchpad.net/~inkscape.dev/inkscape/RELEASE_0_48_BRANCH/diff/9943
--- a/src/widgets/desktop-widget.h 2011-06-06 06:43:00 +0000
+++ b/src/widgets/desktop-widget.h 2013-01-05 14:34:09 +0000
@@ -239,7 +239,7 @@
private:
GtkWidget *tool_toolbox;
GtkWidget *aux_toolbox;
- GtkWidget *commands_toolbox,;
+ GtkWidget *commands_toolbox;
GtkWidget *snap_toolbox;
static void init(SPDesktopWidget *widget);

View File

@ -0,0 +1,46 @@
Patch to work around incompatibility between irrlicht-1.8.1 and mesa-10.x.
Upstream bug (fixed in trunk): http://sourceforge.net/p/irrlicht/bugs/429/
Upstream fix: http://sourceforge.net/p/irrlicht/code/4810
This patch copied from:
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-games/irrlicht/files/irrlicht-1.8.1-mesa-10.x.patch?view=markup
From 244d00280c1b082ca164f92337773e9e4e1a3898 Mon Sep 17 00:00:00 2001
From: hiker <henrichsjoerg@mgail.com>
Date: Wed, 26 Feb 2014 11:13:03 +1100
Subject: [PATCH] Applied patch from jpirie for fixing mesa 10 compilation
problems.
--- irrlicht-1.8.1/source/Irrlicht/COpenGLExtensionHandler.h
+++ irrlicht-1.8.1/source/Irrlicht/COpenGLExtensionHandler.h
@@ -21,6 +21,7 @@
#endif
#include <GL/gl.h>
#if defined(_IRR_OPENGL_USE_EXTPOINTER_)
+ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
#include "glext.h"
#endif
#include "wglext.h"
@@ -35,6 +36,7 @@
#endif
#include <OpenGL/gl.h>
#if defined(_IRR_OPENGL_USE_EXTPOINTER_)
+ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
#include "glext.h"
#endif
#elif defined(_IRR_COMPILE_WITH_SDL_DEVICE_) && !defined(_IRR_COMPILE_WITH_X11_DEVICE_)
@@ -48,6 +50,7 @@
#define NO_SDL_GLEXT
#include <SDL/SDL_video.h>
#include <SDL/SDL_opengl.h>
+ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
#include "glext.h"
#else
#if defined(_IRR_OPENGL_USE_EXTPOINTER_)
@@ -60,6 +63,7 @@
#include <GL/gl.h>
#include <GL/glx.h>
#if defined(_IRR_OPENGL_USE_EXTPOINTER_)
+ typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
#include "glext.h"
#undef GLX_ARB_get_proc_address // avoid problems with local glxext.h
#include "glxext.h"

View File

@ -0,0 +1,13 @@
Update _XData32 declaration in SDL_x11sym.h to match that of libx11 1.6.
--- SDL-1.2.15/src/video/x11/SDL_x11sym.h.~1~ 2012-01-19 01:30:06.000000000 -0500
+++ SDL-1.2.15/src/video/x11/SDL_x11sym.h 2014-12-26 00:22:36.445067694 -0500
@@ -165,7 +165,7 @@
*/
#ifdef LONG64
SDL_X11_MODULE(IO_32BIT)
-SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
+SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return)
SDL_X11_SYM(void,_XRead32,(Display *dpy,register long *data,long len),(dpy,data,len),)
#endif

View File

@ -0,0 +1,36 @@
Fix build against new mesa. See:
https://bugs.freedesktop.org/show_bug.cgi?id=83631
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=765938
Description: fixes FTBFS against new libjpeg-turbo
Author: Ondřej Surý <ondrej@debian.org>
Bug-Debian: https://bugs.debian.org/765938
Reviewed-By: Anton Gladky <gladk@debian.org>
Last-Update: 2014-10-22
Index: vtk6-6.1.0+dfsg2/Rendering/OpenGL/vtkOpenGL.h
===================================================================
--- vtk6-6.1.0+dfsg2.orig/Rendering/OpenGL/vtkOpenGL.h
+++ vtk6-6.1.0+dfsg2/Rendering/OpenGL/vtkOpenGL.h
@@ -20,6 +20,7 @@
// To prevent gl.h to include glext.h provided by the system
#define GL_GLEXT_LEGACY
+#define GLX_GLEXT_LEGACY
#if defined(__APPLE__) && (defined(VTK_USE_CARBON) || defined(VTK_USE_COCOA))
# include <OpenGL/gl.h> // Include OpenGL API.
#else
Index: vtk6-6.1.0+dfsg2/Rendering/OpenGL/vtkXOpenGLRenderWindow.cxx
===================================================================
--- vtk6-6.1.0+dfsg2.orig/Rendering/OpenGL/vtkXOpenGLRenderWindow.cxx
+++ vtk6-6.1.0+dfsg2/Rendering/OpenGL/vtkXOpenGLRenderWindow.cxx
@@ -27,7 +27,7 @@
// define GLX_GLXEXT_LEGACY to prevent glx.h to include glxext.h provided by
// the system
-//#define GLX_GLXEXT_LEGACY
+#define GLX_GLXEXT_LEGACY
#include "GL/glx.h"
#include "vtkgl.h"

View File

@ -1,63 +0,0 @@
Allow builds with libc 2.20.
Patch from <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
From 96e60a4ea242d2decf109835981ae186cc36f642 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Fri, 29 Aug 2014 07:57:41 +1000
Subject: Include xorg-server.h to fix build errors on newest glibc
In file included from /usr/include/string.h:634:0,
from /usr/include/xorg/os.h:53,
from /usr/include/xorg/misc.h:115,
from /usr/include/xorg/xf86str.h:37,
from /usr/include/xorg/xf86Xinput.h:54,
from synproto.h:36,
from synproto.c:24:
/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__'
strndup(const char *str, size_t n);
See http://lists.freedesktop.org/archives/xorg-devel/2014-July/043070.html
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Status: Backport
Index: xf86-input-synaptics-1.8.0/src/eventcomm.h
===================================================================
--- xf86-input-synaptics-1.8.0.orig/src/eventcomm.h 2014-08-28 18:40:28.628070587 -0700
+++ xf86-input-synaptics-1.8.0/src/eventcomm.h 2014-08-28 18:40:28.620070587 -0700
@@ -27,6 +27,8 @@
#ifndef _EVENTCOMM_H_
#define _EVENTCOMM_H_
+#include <xorg-server.h>
+
#include <linux/input.h>
#include <linux/version.h>
#include <xf86Xinput.h>
Index: xf86-input-synaptics-1.8.0/src/ps2comm.h
===================================================================
--- xf86-input-synaptics-1.8.0.orig/src/ps2comm.h 2014-08-28 18:40:28.628070587 -0700
+++ xf86-input-synaptics-1.8.0/src/ps2comm.h 2014-08-28 18:40:28.620070587 -0700
@@ -22,6 +22,8 @@
#ifndef _PS2COMM_H_
#define _PS2COMM_H_
+#include <xorg-server.h>
+
#include <unistd.h>
#include <sys/ioctl.h>
#include "xf86_OSproc.h"
Index: xf86-input-synaptics-1.8.0/src/synproto.h
===================================================================
--- xf86-input-synaptics-1.8.0.orig/src/synproto.h 2014-08-28 18:40:28.628070587 -0700
+++ xf86-input-synaptics-1.8.0/src/synproto.h 2014-08-28 18:40:28.624070587 -0700
@@ -31,6 +31,8 @@
#include "config.h"
#endif
+#include <xorg-server.h>
+
#include <unistd.h>
#include <sys/ioctl.h>
#include <xf86Xinput.h>

View File

@ -0,0 +1,23 @@
Removes references to mibstore.h and miInitializeBackingStore, which
have been removed from xorg-server. Zack Rusin <zackr@vmware.com>
wrote: "It was a noop for at least 5 years and it has been removed."
See: http://patches.openembedded.org/patch/46133/
--- xf86-video-ark-0.7.5/src/ark_driver.c.~1~ 2012-07-17 00:51:36.000000000 -0400
+++ xf86-video-ark-0.7.5/src/ark_driver.c 2014-12-19 00:23:13.028931734 -0500
@@ -39,7 +39,6 @@
#include "compiler.h"
#include "mipointer.h"
#include "micmap.h"
-#include "mibstore.h"
#include "fb.h"
#include "ark.h"
@@ -538,7 +537,6 @@
fbPictureInit (pScreen, 0, 0);
- miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
if (!pARK->NoAccel) {

View File

@ -0,0 +1,90 @@
Removes references to mibstore.h and miInitializeBackingStore, which
have been removed from xorg-server. Zack Rusin <zackr@vmware.com>
wrote: "It was a noop for at least 5 years and it has been removed."
See: http://patches.openembedded.org/patch/46133/
diff -ru xf86-video-ast-0.93.10.orig/src/ast_2dtool.c xf86-video-ast-0.93.10/src/ast_2dtool.c
--- xf86-video-ast-0.93.10.orig/src/ast_2dtool.c 2012-03-23 21:40:56.000000000 -0400
+++ xf86-video-ast-0.93.10/src/ast_2dtool.c 2014-12-19 02:42:32.422383728 -0500
@@ -27,7 +27,6 @@
#include "xf86_OSproc.h"
#include "xf86cmap.h"
#include "compiler.h"
-#include "mibstore.h"
#include "vgaHW.h"
#include "mipointer.h"
#include "micmap.h"
diff -ru xf86-video-ast-0.93.10.orig/src/ast_accel.c xf86-video-ast-0.93.10/src/ast_accel.c
--- xf86-video-ast-0.93.10.orig/src/ast_accel.c 2012-03-23 21:40:56.000000000 -0400
+++ xf86-video-ast-0.93.10/src/ast_accel.c 2014-12-19 02:41:55.534200809 -0500
@@ -27,7 +27,6 @@
#include "xf86_OSproc.h"
#include "xf86cmap.h"
#include "compiler.h"
-#include "mibstore.h"
#include "vgaHW.h"
#include "mipointer.h"
#include "micmap.h"
diff -ru xf86-video-ast-0.93.10.orig/src/ast_cursor.c xf86-video-ast-0.93.10/src/ast_cursor.c
--- xf86-video-ast-0.93.10.orig/src/ast_cursor.c 2012-03-23 21:40:56.000000000 -0400
+++ xf86-video-ast-0.93.10/src/ast_cursor.c 2014-12-19 02:42:37.258407708 -0500
@@ -27,7 +27,6 @@
#include "xf86_OSproc.h"
#include "xf86cmap.h"
#include "compiler.h"
-#include "mibstore.h"
#include "vgaHW.h"
#include "mipointer.h"
#include "micmap.h"
diff -ru xf86-video-ast-0.93.10.orig/src/ast_driver.c xf86-video-ast-0.93.10/src/ast_driver.c
--- xf86-video-ast-0.93.10.orig/src/ast_driver.c 2012-03-23 21:40:56.000000000 -0400
+++ xf86-video-ast-0.93.10/src/ast_driver.c 2014-12-19 02:42:50.710474414 -0500
@@ -31,7 +31,6 @@
#endif
#include "xf86cmap.h"
#include "compiler.h"
-#include "mibstore.h"
#include "vgaHW.h"
#include "mipointer.h"
#include "micmap.h"
@@ -865,7 +864,6 @@
}
#endif /* end of Accel_2D */
- miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
xf86SetSilkenMouse(pScreen);
diff -ru xf86-video-ast-0.93.10.orig/src/ast_mode.c xf86-video-ast-0.93.10/src/ast_mode.c
--- xf86-video-ast-0.93.10.orig/src/ast_mode.c 2012-03-23 21:40:56.000000000 -0400
+++ xf86-video-ast-0.93.10/src/ast_mode.c 2014-12-19 02:42:24.894346398 -0500
@@ -27,7 +27,6 @@
#include "xf86_OSproc.h"
#include "xf86cmap.h"
#include "compiler.h"
-#include "mibstore.h"
#include "vgaHW.h"
#include "mipointer.h"
#include "micmap.h"
diff -ru xf86-video-ast-0.93.10.orig/src/ast_tool.c xf86-video-ast-0.93.10/src/ast_tool.c
--- xf86-video-ast-0.93.10.orig/src/ast_tool.c 2012-03-23 21:40:56.000000000 -0400
+++ xf86-video-ast-0.93.10/src/ast_tool.c 2014-12-19 02:42:03.930242443 -0500
@@ -27,7 +27,6 @@
#include "xf86_OSproc.h"
#include "xf86cmap.h"
#include "compiler.h"
-#include "mibstore.h"
#include "vgaHW.h"
#include "mipointer.h"
#include "micmap.h"
diff -ru xf86-video-ast-0.93.10.orig/src/ast_vgatool.c xf86-video-ast-0.93.10/src/ast_vgatool.c
--- xf86-video-ast-0.93.10.orig/src/ast_vgatool.c 2012-03-23 21:40:56.000000000 -0400
+++ xf86-video-ast-0.93.10/src/ast_vgatool.c 2014-12-19 02:42:18.406314226 -0500
@@ -27,7 +27,6 @@
#include "xf86_OSproc.h"
#include "xf86cmap.h"
#include "compiler.h"
-#include "mibstore.h"
#include "vgaHW.h"
#include "mipointer.h"
#include "micmap.h"

View File

@ -0,0 +1,15 @@
Allow builds with glibc 2.20.
Based on a patch by Peter Hutterer <peter.hutterer@who-t.net>.
See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
--- xf86-video-geode-2.11.16/src/lx_memory.c.~1~ 2014-07-16 16:59:37.000000000 -0400
+++ xf86-video-geode-2.11.16/src/lx_memory.c 2014-12-19 00:38:11.753388268 -0500
@@ -23,6 +23,8 @@
* software without specific prior written permission.
*/
+#include <xorg-server.h>
+
#include "xf86.h"
#include "geode.h"
#include "cim/cim_regs.h"

View File

@ -0,0 +1,24 @@
Removes references to mibstore.h and miInitializeBackingStore, which
have been removed from xorg-server. Zack Rusin <zackr@vmware.com>
wrote: "It was a noop for at least 5 years and it has been removed."
See: http://patches.openembedded.org/patch/46133/
--- xf86-video-glint-1.2.8/src/glint_driver.c.~1~ 2012-07-15 22:50:47.000000000 -0400
+++ xf86-video-glint-1.2.8/src/glint_driver.c 2014-12-19 00:42:39.162714279 -0500
@@ -52,8 +52,6 @@
#include "compiler.h"
#include "mipointer.h"
-#include "mibstore.h"
-
#include "pm3_regs.h"
#include "glint_regs.h"
#include "IBM.h"
@@ -2904,7 +2902,6 @@
}
}
- miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
xf86SetSilkenMouse(pScreen);

View File

@ -0,0 +1,23 @@
Removes references to mibstore.h and miInitializeBackingStore, which
have been removed from xorg-server. Zack Rusin <zackr@vmware.com>
wrote: "It was a noop for at least 5 years and it has been removed."
See: http://patches.openembedded.org/patch/46133/
--- xf86-video-i128-1.3.6/src/i128_driver.c.~1~ 2012-07-17 01:21:15.000000000 -0400
+++ xf86-video-i128-1.3.6/src/i128_driver.c 2014-12-19 00:47:16.140087736 -0500
@@ -51,7 +51,6 @@
#include "mipointer.h"
/* All drivers implementing backing store need this */
-#include "mibstore.h"
#include "micmap.h"
#include "xf86DDC.h"
@@ -1557,7 +1556,6 @@
return FALSE;
}
- miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
xf86SetSilkenMouse(pScreen);

View File

@ -0,0 +1,13 @@
This patch was copied from Debian.
--- xserver-xorg-video-intel-2.21.15.orig/src/compat-api.h
+++ xserver-xorg-video-intel-2.21.15/src/compat-api.h
@@ -158,4 +158,8 @@
if ((d)->pScreen->SourceValidate) (d)->pScreen->SourceValidate(d, x, y, w, h)
#endif
+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,14,99,2,0)
+#define DamageUnregister(d, dd) DamageUnregister(dd)
+#endif
+
#endif

View File

@ -0,0 +1,15 @@
Allow builds with glibc 2.20.
Based on a patch by Peter Hutterer <peter.hutterer@who-t.net>.
See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
--- xf86-video-intel-2.21.15/src/intel_device.c.~1~ 2013-08-09 16:58:48.000000000 -0400
+++ xf86-video-intel-2.21.15/src/intel_device.c 2014-12-18 00:03:54.700759577 -0500
@@ -33,6 +33,8 @@
#include <sys/ioctl.h>
+#include <xorg-server.h>
+
#include <pciaccess.h>
#include <xf86.h>
#include <xf86drm.h>

View File

@ -0,0 +1,17 @@
Fix test compilation with exa.h in configure when using glibc 2.20.
Inspired by a patch by Peter Hutterer <peter.hutterer@who-t.net>.
See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
--- xf86-video-mach64-6.9.4/configure.~1~ 2012-12-20 01:16:10.000000000 -0500
+++ xf86-video-mach64-6.9.4/configure 2014-12-19 02:48:18.040097554 -0500
@@ -18370,7 +18370,9 @@
SAVE_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
- ac_fn_c_check_header_mongrel "$LINENO" "exa.h" "ac_cv_header_exa_h" "$ac_includes_default"
+ ac_fn_c_check_header_mongrel "$LINENO" "exa.h" "ac_cv_header_exa_h" "$ac_includes_default
+#include <xorg-server.h>
+"
if test "x$ac_cv_header_exa_h" = xyes; then :
have_exa_h="yes"
else

View File

@ -0,0 +1,17 @@
Fix test compilation with exa.h in configure when using glibc 2.20.
Inspired by a patch by Peter Hutterer <peter.hutterer@who-t.net>.
See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
--- xf86-video-mga-1.6.3/configure.~1~ 2013-12-04 21:10:25.000000000 -0500
+++ xf86-video-mga-1.6.3/configure 2014-12-19 01:06:23.005774736 -0500
@@ -18464,7 +18464,9 @@
SAVE_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
- ac_fn_c_check_header_mongrel "$LINENO" "exa.h" "ac_cv_header_exa_h" "$ac_includes_default"
+ ac_fn_c_check_header_mongrel "$LINENO" "exa.h" "ac_cv_header_exa_h" "$ac_includes_default
+#include <xorg-server.h>
+"
if test "x$ac_cv_header_exa_h" = xyes; then :
have_exa_h="yes"
else

View File

@ -0,0 +1,72 @@
Removes references to mibstore.h and miInitializeBackingStore, which
have been removed from xorg-server. Zack Rusin <zackr@vmware.com>
wrote: "It was a noop for at least 5 years and it has been removed."
See: http://patches.openembedded.org/patch/46133/
diff -ru xf86-video-nv-2.1.20.orig/src/g80_driver.c xf86-video-nv-2.1.20/src/g80_driver.c
--- xf86-video-nv-2.1.20.orig/src/g80_driver.c 2012-07-17 02:47:02.000000000 -0400
+++ xf86-video-nv-2.1.20/src/g80_driver.c 2014-12-17 10:11:42.197579082 -0500
@@ -34,7 +34,6 @@
#include <xf86Resources.h>
#endif
#include <mipointer.h>
-#include <mibstore.h>
#include <micmap.h>
#include <xf86cmap.h>
#include <fb.h>
@@ -833,7 +832,6 @@
}
}
- miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
xf86SetSilkenMouse(pScreen);
diff -ru xf86-video-nv-2.1.20.orig/src/nv_driver.c xf86-video-nv-2.1.20/src/nv_driver.c
--- xf86-video-nv-2.1.20.orig/src/nv_driver.c 2012-07-17 02:47:02.000000000 -0400
+++ xf86-video-nv-2.1.20/src/nv_driver.c 2014-12-17 10:11:39.037563413 -0500
@@ -2550,7 +2550,6 @@
if (!pNv->NoAccel)
NVAccelInit(pScreen);
- miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
xf86SetSilkenMouse(pScreen);
diff -ru xf86-video-nv-2.1.20.orig/src/nv_include.h xf86-video-nv-2.1.20/src/nv_include.h
--- xf86-video-nv-2.1.20.orig/src/nv_include.h 2012-07-17 02:48:19.000000000 -0400
+++ xf86-video-nv-2.1.20/src/nv_include.h 2014-12-17 10:11:22.089479372 -0500
@@ -24,9 +24,6 @@
/* All drivers initialising the SW cursor need this */
#include "mipointer.h"
-/* All drivers implementing backing store need this */
-#include "mibstore.h"
-
#include "micmap.h"
#include "xf86DDC.h"
diff -ru xf86-video-nv-2.1.20.orig/src/riva_driver.c xf86-video-nv-2.1.20/src/riva_driver.c
--- xf86-video-nv-2.1.20.orig/src/riva_driver.c 2012-07-17 02:47:02.000000000 -0400
+++ xf86-video-nv-2.1.20/src/riva_driver.c 2014-12-17 10:11:31.101524060 -0500
@@ -1168,7 +1168,6 @@
if (!pRiva->NoAccel)
RivaAccelInit(pScreen);
- miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
xf86SetSilkenMouse(pScreen);
diff -ru xf86-video-nv-2.1.20.orig/src/riva_include.h xf86-video-nv-2.1.20/src/riva_include.h
--- xf86-video-nv-2.1.20.orig/src/riva_include.h 2012-07-17 02:48:45.000000000 -0400
+++ xf86-video-nv-2.1.20/src/riva_include.h 2014-12-17 10:11:12.229430478 -0500
@@ -22,9 +22,6 @@
/* All drivers initialising the SW cursor need this */
#include "mipointer.h"
-/* All drivers implementing backing store need this */
-#include "mibstore.h"
-
#include "micmap.h"
#include "xf86DDC.h"

View File

@ -0,0 +1,15 @@
Allow builds with glibc 2.20.
Based on a patch by Peter Hutterer <peter.hutterer@who-t.net>.
See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
--- xf86-video-openchrome-0.3.3/src/via_3d.h.~1~ 2013-05-23 11:11:28.000000000 -0400
+++ xf86-video-openchrome-0.3.3/src/via_3d.h 2014-12-19 01:17:04.000953259 -0500
@@ -24,6 +24,8 @@
#ifndef VIA_3D_H
#define VIA_3D_H
+#include <xorg-server.h>
+
#include "xf86.h"
#include "via_dmabuffer.h"

View File

@ -1,35 +0,0 @@
This follows the same rationale as xf86-input-synaptics-glibc-2.20.patch
to allow building with glibc-2.20.
diff -u -r xf86-video-openchrome-0.2.906.old/src/via_3d.h xf86-video-openchrome-0.2.906/src/via_3d.h
--- xf86-video-openchrome-0.2.906.old/src/via_3d.h 2014-11-23 14:04:58.000000000 +0100
+++ xf86-video-openchrome-0.2.906/src/via_3d.h 2014-11-23 14:18:37.000000000 +0100
@@ -24,6 +24,7 @@
#ifndef VIA_3D_H
#define VIA_3D_H
+#include "xorg-server.h"
#include "xf86.h"
#include "via_dmabuffer.h"
diff -u -r xf86-video-openchrome-0.2.906.old/src/via_driver.h xf86-video-openchrome-0.2.906/src/via_driver.h
--- xf86-video-openchrome-0.2.906.old/src/via_driver.h 2014-11-23 14:04:58.000000000 +0100
+++ xf86-video-openchrome-0.2.906/src/via_driver.h 2014-11-23 14:21:43.000000000 +0100
@@ -35,6 +35,7 @@
#endif
#include "vgaHW.h"
+#include "xorg-server.h"
#include "xf86.h"
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
diff -u -r xf86-video-openchrome-0.2.906.old/src/via_timing.h xf86-video-openchrome-0.2.906/src/via_timing.h
--- xf86-video-openchrome-0.2.906.old/src/via_timing.h 2014-11-23 14:04:58.000000000 +0100
+++ xf86-video-openchrome-0.2.906/src/via_timing.h 2014-11-23 14:20:50.000000000 +0100
@@ -25,6 +25,7 @@
#ifndef _TIMING_H_
#define _TIMING_H_
+#include "xorg-server.h"
#include "xf86.h"
/* Aspect ratio not CVT standard */

View File

@ -0,0 +1,17 @@
Fix test compilation with exa.h in configure when using glibc 2.20.
Inspired by a patch by Peter Hutterer <peter.hutterer@who-t.net>.
See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
--- xf86-video-r128-6.9.2/configure.~1~ 2013-10-02 14:38:15.000000000 -0400
+++ xf86-video-r128-6.9.2/configure 2014-12-19 01:23:03.346735159 -0500
@@ -18400,7 +18400,9 @@
SAVE_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
- ac_fn_c_check_header_mongrel "$LINENO" "exa.h" "ac_cv_header_exa_h" "$ac_includes_default"
+ ac_fn_c_check_header_mongrel "$LINENO" "exa.h" "ac_cv_header_exa_h" "$ac_includes_default
+#include <xorg-server.h>
+"
if test "x$ac_cv_header_exa_h" = xyes; then :
have_exa_h="yes"
else

View File

@ -0,0 +1,16 @@
Removes references to mibstore.h and miInitializeBackingStore, which
have been removed from xorg-server. Zack Rusin <zackr@vmware.com>
wrote: "It was a noop for at least 5 years and it has been removed."
See: http://patches.openembedded.org/patch/46133/
--- xf86-video-siliconmotion-1.7.7/src/smi_driver.c.~1~ 2012-07-17 00:53:21.000000000 -0400
+++ xf86-video-siliconmotion-1.7.7/src/smi_driver.c 2014-12-19 01:30:16.708884086 -0500
@@ -1750,8 +1750,6 @@
"Done writing mode. Register dump:\n");
SMI_PrintRegs(pScrn);
- miInitializeBackingStore(pScreen);
-
#ifdef HAVE_XMODES
xf86DiDGAInit(pScreen, (unsigned long)(pSmi->FBBase + pScrn->fbOffset));
#endif

View File

@ -0,0 +1,128 @@
Update xf86-video-sis to the current xorg-server API.
Copied from: http://pkgs.fedoraproject.org/cgit/xorg-x11-drv-sis.git/tree/sis-0.10.7-git.patch?id=2705859f0ddc7ee7a3b07f21b442ebeab5df1276
Commit log: http://pkgs.fedoraproject.org/cgit/xorg-x11-drv-sis.git/log/sis-0.10.7-git.patch
Patch by Adam Jackson <ajax@redhat.com>
diff --git a/src/sis.h b/src/sis.h
index 46fca2a..20e6134 100644
--- a/src/sis.h
+++ b/src/sis.h
@@ -75,7 +75,6 @@
#include "compiler.h"
#include "xf86Pci.h"
-#include "xf86Priv.h"
#include "xf86_OSproc.h"
#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
#include "xf86Resources.h"
diff --git a/src/sis_driver.c b/src/sis_driver.c
index 61e8075..0fd83d7 100644
--- a/src/sis_driver.c
+++ b/src/sis_driver.c
@@ -57,7 +57,6 @@
#include "fb.h"
#include "micmap.h"
#include "mipointer.h"
-#include "mibstore.h"
#include "edid.h"
#define SIS_NEED_inSISREG
@@ -94,6 +93,10 @@
#include "dri.h"
#endif
+#ifndef DEFAULT_DPI
+#define DEFAULT_DPI 96
+#endif
+
/*
* LookupWindow was removed with video abi 11.
*/
@@ -7344,7 +7347,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
if(pSiSEnt->MapCountIOBase) {
pSiSEnt->MapCountIOBase--;
if((pSiSEnt->MapCountIOBase == 0) || (pSiSEnt->forceUnmapIOBase)) {
+#ifndef XSERVER_LIBPCIACCESS
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
+#else
+ pci_device_unmap_range(pSiS->PciInfo, pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
+#endif
pSiSEnt->IOBase = NULL;
pSiSEnt->MapCountIOBase = 0;
pSiSEnt->forceUnmapIOBase = FALSE;
@@ -7355,7 +7362,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
if(pSiSEnt->MapCountIOBaseDense) {
pSiSEnt->MapCountIOBaseDense--;
if((pSiSEnt->MapCountIOBaseDense == 0) || (pSiSEnt->forceUnmapIOBaseDense)) {
+#ifndef XSERVER_LIBPCIACCESS
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
+#else
+ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
+#endif
pSiSEnt->IOBaseDense = NULL;
pSiSEnt->MapCountIOBaseDense = 0;
pSiSEnt->forceUnmapIOBaseDense = FALSE;
@@ -7366,7 +7377,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
if(pSiSEnt->MapCountFbBase) {
pSiSEnt->MapCountFbBase--;
if((pSiSEnt->MapCountFbBase == 0) || (pSiSEnt->forceUnmapFbBase)) {
+#ifndef XSERVER_LIBPCIACCESS
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
+#else
+ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
+#endif
pSiSEnt->FbBase = pSiSEnt->RealFbBase = NULL;
pSiSEnt->MapCountFbBase = 0;
pSiSEnt->forceUnmapFbBase = FALSE;
@@ -7376,13 +7391,25 @@ SISUnmapMem(ScrnInfoPtr pScrn)
}
} else {
#endif
+#ifndef XSERVER_LIBPCIACCESS
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
+#else
+ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
+#endif
pSiS->IOBase = NULL;
#ifdef __alpha__
+#ifndef XSERVER_LIBPCIACCESS
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
+#else
+ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
+#endif
pSiS->IOBaseDense = NULL;
#endif
+#ifndef XSERVER_LIBPCIACCESS
xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
+#else
+ pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
+#endif
pSiS->FbBase = pSiS->RealFbBase = NULL;
#ifdef SISDUALHEAD
}
@@ -8859,7 +8886,6 @@ SISScreenInit(SCREEN_INIT_ARGS_DECL)
}
pSiS->SiSFastVidCopyDone = TRUE;
- miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
xf86SetSilkenMouse(pScreen);
@@ -9352,7 +9378,14 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg, int x, int y)
}
if(doit) {
sigstate = xf86BlockSIGIO();
-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
+#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 18
+ {
+ double dx = x, dy = y;
+ miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy, NULL, NULL);
+ x = (int)dx;
+ y = (int)dy;
+ }
+#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
{
double dx = x, dy = y;
miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy);

View File

@ -0,0 +1,26 @@
Removes references to mibstore.h and miInitializeBackingStore, which
have been removed from xorg-server. Zack Rusin <zackr@vmware.com>
wrote: "It was a noop for at least 5 years and it has been removed."
See: http://patches.openembedded.org/patch/46133/
--- xf86-video-tdfx-1.4.5/src/tdfx_driver.c.~1~ 2012-07-17 01:21:16.000000000 -0400
+++ xf86-video-tdfx-1.4.5/src/tdfx_driver.c 2014-12-19 01:36:42.762798424 -0500
@@ -62,10 +62,6 @@
#include "compiler.h"
-/* Drivers using the mi implementation of backing store need: */
-
-#include "mibstore.h"
-
/* All drivers using the vgahw module need this */
/* This driver needs to be modified to not use vgaHW for multihead operation */
#include "vgaHW.h"
@@ -2373,7 +2369,6 @@
}
}
- miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
xf86SetSilkenMouse(pScreen);

View File

@ -0,0 +1,34 @@
Removes references to mibstore.h and miInitializeBackingStore, which
have been removed from xorg-server. Zack Rusin <zackr@vmware.com>
wrote: "It was a noop for at least 5 years and it has been removed."
See: http://patches.openembedded.org/patch/46133/
--- xf86-video-tga-1.2.2/src/tga_accel.c.~1~ 2012-07-15 23:54:04.000000000 -0400
+++ xf86-video-tga-1.2.2/src/tga_accel.c 2014-12-19 01:40:27.535913013 -0500
@@ -37,7 +37,6 @@
#include "xf86cmap.h"
#include "mipointer.h"
-#include "mibstore.h"
#include "miline.h"
#include "tga_regs.h"
--- xf86-video-tga-1.2.2/src/tga_driver.c.~1~ 2012-07-15 23:54:28.000000000 -0400
+++ xf86-video-tga-1.2.2/src/tga_driver.c 2014-12-19 01:40:48.756018238 -0500
@@ -46,8 +46,6 @@
/* software cursor */
#include "mipointer.h"
-/* backing store */
-#include "mibstore.h"
/* #include "mibank.h" */
/* colormap manipulation */
@@ -1451,7 +1449,6 @@
fbPictureInit (pScreen, 0, 0);
- miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
xf86SetSilkenMouse(pScreen);

View File

@ -0,0 +1,23 @@
Removes references to mibstore.h and miInitializeBackingStore, which
have been removed from xorg-server. Zack Rusin <zackr@vmware.com>
wrote: "It was a noop for at least 5 years and it has been removed."
See: http://patches.openembedded.org/patch/46133/
--- xf86-video-trident-1.3.6/src/trident_driver.c.~1~ 2012-07-15 22:16:00.000000000 -0400
+++ xf86-video-trident-1.3.6/src/trident_driver.c 2014-12-19 01:45:29.529410518 -0500
@@ -56,7 +56,6 @@
#include "mipointer.h"
-#include "mibstore.h"
#include "shadow.h"
#include "trident.h"
#include "trident_regs.h"
@@ -3037,7 +3036,6 @@
TridentAccelInit(pScreen);
}
- miInitializeBackingStore(pScreen);
xf86SetBackingStore(pScreen);
/* Initialise cursor functions */

View File

@ -0,0 +1,15 @@
Allow builds with glibc 2.20.
Based on a patch by Peter Hutterer <peter.hutterer@who-t.net>.
See <https://raw.githubusercontent.com/openembedded/oe-core/master/meta/recipes-graphics/xorg-driver/xf86-input-synaptics/always_include_xorg_server.h.patch>.
--- xf86-video-vmware-13.0.2/vmwgfx/vmwgfx_overlay.c.~1~ 2014-03-20 09:15:03.000000000 -0400
+++ xf86-video-vmware-13.0.2/vmwgfx/vmwgfx_overlay.c 2014-12-19 02:31:34.759122552 -0500
@@ -35,6 +35,8 @@
*/
+#include <xorg-server.h>
+
#include "xf86xv.h"
#include "fourcc.h"
#define debug_printf(...)

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -40,13 +41,13 @@
(define-public poppler
(package
(name "poppler")
(version "0.22.0")
(version "0.28.1")
(source (origin
(method url-fetch)
(uri (string-append "http://poppler.freedesktop.org/poppler-"
version ".tar.gz"))
version ".tar.xz"))
(sha256 (base32
"1rmrspavldlpqi6g76fijcmshy80m0kxd01nc1dmy4id3h4las44"))))
"01pxjdbhvpxf00ncf8d9wxc8gkcqcxz59lwrpa151ah988inxkrc"))))
(build-system gnu-build-system)
;; FIXME: more dependencies could be added
;; cairo output: no (requires cairo >= 1.10.0)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -43,7 +43,7 @@
(substitute* "testit.sh" ; don't expect old libtool names
(("lt-test1") "test1")))
%standard-phases)))
(home-page #f)
(home-page "http://rpm5.org/files/popt/")
(synopsis "Command line option parsing library")
(description
"This is the popt(3) command line option parsing library. While it is

View File

@ -358,7 +358,7 @@ API for locking files.")
"0kzlsbki6q0awf89rc287f3aj8x431lrajf160a70z0ikhnxsfdq"))))
(build-system python-build-system)
(arguments '(#:test-target "check"))
(home-page "http://code.google.com/m/mock/")
(home-page "http://code.google.com/p/mock/")
(synopsis "Python mocking and patching library for testing")
(description
"Mock is a library for testing in Python. It allows you to replace parts

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -53,7 +54,8 @@
version ".tar.gz"))
(sha256
(base32
"005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn"))))
"005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn"))
(patches (list (search-patch "sdl-libx11-1.6.patch")))))
(build-system gnu-build-system)
(arguments
'(;; Explicitly link against Xext because SDL tries to dlopen it and

View File

@ -38,7 +38,7 @@
"1wp8pnlv34w7xizj1vivnc3fkwqq4qgb9dbrsg15598iw85gi8ll"))))
(inputs `(("libx11" ,libx11)))
(build-system gnu-build-system)
(home-page "stalonetray")
(home-page "http://stalonetray.sourceforge.net")
(synopsis "Standalone freedesktop.org and KDE systray implementation")
(description
"Stalonetray is a stand-alone freedesktop.org and KDE system

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -21,6 +22,7 @@
#:use-module (guix download)
#:use-module (guix licenses)
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gl))
@ -36,7 +38,8 @@
"/VTK-" version ".tar.gz"))
(sha256
(base32
"0d7shccdkyj4mbh2riilslgx3gd28in4c7xpm0lxa1ln8w5g2zdx"))))
"0d7shccdkyj4mbh2riilslgx3gd28in4c7xpm0lxa1ln8w5g2zdx"))
(patches (list (search-patch "vtk-mesa-10.patch")))))
(build-system cmake-build-system)
(arguments
;; Build without '-g' to save space.
@ -46,7 +49,8 @@
`(("libXt" ,libxt)
("xproto" ,xproto)
("libX11" ,libx11)
("mesa" ,mesa)))
("mesa" ,mesa)
("glu" ,glu)))
(home-page "http://www.vtk.org/")
(synopsis "Libraries for 3D computer graphics")
(description

View File

@ -130,7 +130,7 @@ following the mouse.")
(define-public pixman
(package
(name "pixman")
(version "0.32.4")
(version "0.32.6")
(source
(origin
(method url-fetch)
@ -140,7 +140,7 @@ following the mouse.")
".tar.gz"))
(sha256
(base32
"113ycngcssbrps217dyajq96hm9xghsfch82h14yffla1r1fviw0"))))
"0129g4zdrw5hif5783li7rzcr4vpbc2cfia91azxmsk0h0xx3zix"))))
(build-system gnu-build-system)
(inputs
`(("libpng" ,libpng)
@ -158,7 +158,7 @@ rasterisation.")
(define-public libdrm
(package
(name "libdrm")
(version "2.4.46")
(version "2.4.58")
(source
(origin
(method url-fetch)
@ -168,7 +168,7 @@ rasterisation.")
".tar.bz2"))
(sha256
(base32
"1wah4qmrrcv0gnx65lhrlxb6gprxch92wy8lhxv6102fml6k5krk"))))
"1pb5lfb3kh36p9axq620daclq68rqb3mhzxpz0pb18y9p7kglmdi"))))
(build-system gnu-build-system)
(inputs
`(("libpciaccess" ,libpciaccess)

File diff suppressed because it is too large Load Diff

View File

@ -90,13 +90,13 @@ Section \"Files\"
FontPath \"" font-adobe75dpi "/share/fonts/X11/75dpi\"
ModulePath \"" xf86-video-vesa "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-fbdev "/lib/xorg/modules/drivers\"
# FIXME: Commented out due to libdrm incompatibility.
# ModulePath \"" xf86-video-modesetting "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-modesetting "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-cirrus "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-intel "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-mach64 "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-nv "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-sis "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-input-evdev "/lib/xorg/modules/input\"
ModulePath \"" xf86-input-keyboard "/lib/xorg/modules/input\"
ModulePath \"" xf86-input-mouse "/lib/xorg/modules/input\"
ModulePath \"" xf86-input-synaptics "/lib/xorg/modules/input\"

View File

@ -28,7 +28,9 @@
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:export (url-fetch
#:export (open-connection-for-uri
maybe-expand-mirrors
url-fetch
progress-proc
uri-abbreviation))
@ -278,32 +280,34 @@ which is not available during bootstrap."
(lambda (key . args)
(print-exception (current-error-port) #f key args))))
(define (uri-vicinity dir file)
"Concatenate DIR, slash, and FILE, keeping only one slash in between.
This is required by some HTTP servers."
(string-append (string-trim-right dir #\/) "/"
(string-trim file #\/)))
(define (maybe-expand-mirrors uri mirrors)
"If URI uses the 'mirror' scheme, expand it according to the MIRRORS alist.
Return a list of URIs."
(case (uri-scheme uri)
((mirror)
(let ((kind (string->symbol (uri-host uri)))
(path (uri-path uri)))
(match (assoc-ref mirrors kind)
((mirrors ..1)
(map (compose string->uri (cut uri-vicinity <> path))
mirrors))
(_
(error "unsupported URL mirror kind" kind uri)))))
(else
(list uri))))
(define* (url-fetch url file #:key (mirrors '()))
"Fetch FILE from URL; URL may be either a single string, or a list of
string denoting alternate URLs for FILE. Return #f on failure, and FILE
on success."
(define (uri-vicinity dir file)
;; Concatenate DIR, slash, and FILE, keeping only one slash in between.
;; This is required by some HTTP servers.
(string-append (string-trim-right dir #\/) "/"
(string-trim file #\/)))
(define (maybe-expand-mirrors uri)
(case (uri-scheme uri)
((mirror)
(let ((kind (string->symbol (uri-host uri)))
(path (uri-path uri)))
(match (assoc-ref mirrors kind)
((mirrors ..1)
(map (compose string->uri (cut uri-vicinity <> path))
mirrors))
(_
(error "unsupported URL mirror kind" kind uri)))))
(else
(list uri))))
(define uri
(append-map maybe-expand-mirrors
(append-map (cut maybe-expand-mirrors <> mirrors)
(match url
((_ ...) (map string->uri url))
(_ (list (string->uri url))))))

View File

@ -29,6 +29,11 @@
#:use-module (ice-9 match)
#:use-module (ice-9 regex)
#:use-module (ice-9 format)
#:use-module (web uri)
#:use-module ((guix build download)
#:select (open-connection-for-uri))
#:use-module (web request)
#:use-module (web response)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-11)
@ -37,7 +42,8 @@
check-description-style
check-inputs-should-be-native
check-patches
check-synopsis-style))
check-synopsis-style
check-home-page))
;;;
@ -201,6 +207,103 @@ the synopsis")
(check-start-with-package-name synopsis)
(check-synopsis-length synopsis))))
(define (probe-uri uri)
"Probe URI, a URI object, and return two values: a symbol denoting the
probing status, such as 'http-response' when we managed to get an HTTP
response from URI, and additional details, such as the actual HTTP response."
(define headers
'((User-Agent . "GNU Guile")
(Accept . "*/*")))
(let loop ((uri uri)
(visited '()))
(match (uri-scheme uri)
((or 'http 'https)
(catch #t
(lambda ()
(let ((port (open-connection-for-uri uri))
(request (build-request uri #:headers headers)))
(define response
(dynamic-wind
(const #f)
(lambda ()
(write-request request port)
(force-output port)
(read-response port))
(lambda ()
(close port))))
(case (response-code response)
((301 302 307)
(let ((location (response-location response)))
(if (or (not location) (member location visited))
(values 'http-response response)
(loop location (cons location visited))))) ;follow the redirect
(else
(values 'http-response response)))))
(lambda (key . args)
(case key
((bad-header bad-header-component)
;; This can happen if the server returns an invalid HTTP header,
;; as is the case with the 'Date' header at sqlite.org.
(values 'invalid-http-response #f))
((getaddrinfo-error system-error gnutls-error)
(values key args))
(else
(apply throw key args))))))
(_
(values 'not-http #f)))))
(define (check-home-page package)
"Emit a warning if PACKAGE has an invalid 'home-page' field, or if that
'home-page' is not reachable."
(let ((uri (and=> (package-home-page package) string->uri)))
(cond
((uri? uri)
(let-values (((status argument)
(probe-uri uri)))
(case status
((http-response)
(unless (= 200 (response-code argument))
(emit-warning package
(format #f
(_ "home page ~a not reachable: ~a (~s)")
(uri->string uri)
(response-code argument)
(response-reason-phrase argument))
'home-page)))
((getaddrinfo-error)
(emit-warning package
(format #f
(_ "home page domain not found: ~a")
(gai-strerror (car argument)))
'package))
((system-error)
(emit-warning package
(format #f
(_ "home page unreachable: ~a")
(strerror
(system-error-errno
(cons status argument))))
'home-page))
((invalid-http-response gnutls-error)
;; Probably a misbehaving server; ignore.
#f)
((not-http) ;nothing we can do
#f)
(else
(error "internal home-page linter error" status)))))
((not (package-home-page package))
(unless (or (string-contains (package-name package) "bootstrap")
(string=? (package-name package) "ld-wrapper"))
(emit-warning package
(_ "invalid value for home page")
'home-page)))
(else
(emit-warning package (format #f (_ "invalid home page URL: ~s")
(package-home-page package))
'home-page)))))
(define (check-patches package)
;; Emit a warning if the patches requires by PACKAGE are badly named.
(let ((patches (and=> (package-source package) origin-patches))
@ -295,6 +398,10 @@ descriptions maintained upstream."
(name 'patch-filenames)
(description "Validate file names of patches")
(check check-patches))
(lint-checker
(name 'home-page)
(description "Validate home-page URLs")
(check check-home-page))
(lint-checker
(name 'synopsis)
(description "Validate package synopses")
@ -302,9 +409,15 @@ descriptions maintained upstream."
(define (run-checkers package checkers)
;; Run the given CHECKERS on PACKAGE.
(for-each (lambda (checker)
((lint-checker-check checker) package))
checkers))
(let ((tty? (isatty? (current-error-port)))
(name (package-full-name package)))
(for-each (lambda (checker)
(when tty?
(format (current-error-port) "checking ~a [~a]...\r"
name (lint-checker-name checker))
(force-output (current-error-port)))
((lint-checker-check checker) package))
checkers)))
;;;

View File

@ -27,7 +27,8 @@
#:export (open-connection-for-tests
random-text
random-bytevector
with-derivation-narinfo))
with-derivation-narinfo
dummy-package))
;;; Commentary:
;;;
@ -120,6 +121,15 @@ substituter's viewpoint."
(lambda ()
body ...)))
(define-syntax-rule (dummy-package name* extra-fields ...)
"Return a \"dummy\" package called NAME*, with all its compulsory fields
initialized with default values, and with EXTRA-FIELDS set as specified."
(package extra-fields ...
(name name*) (version "0") (source #f)
(build-system gnu-build-system)
(synopsis #f) (description #f)
(home-page #f) (license #f)))
;; Local Variables:
;; eval: (put 'call-with-derivation-narinfo 'scheme-indent-function 1)
;; End:

View File

@ -19,6 +19,7 @@
(define-module (test-packages)
#:use-module (guix tests)
#:use-module (guix build download)
#:use-module (guix build-system gnu)
#:use-module (guix packages)
@ -26,218 +27,334 @@
#:use-module (guix ui)
#:use-module (gnu packages)
#:use-module (gnu packages pkg-config)
#:use-module (web server)
#:use-module (web server http)
#:use-module (web response)
#:use-module (ice-9 threads)
#:use-module (srfi srfi-9 gnu)
#:use-module (srfi srfi-64))
;; Test the linter.
(define %http-server-port
;; TCP port to use for the stub HTTP server.
9999)
(define %local-url
;; URL to use for 'home-page' tests.
(string-append "http://localhost:" (number->string %http-server-port)
"/foo/bar"))
(define %http-server-socket
;; Socket used by the Web server.
(catch 'system-error
(lambda ()
(let ((sock (socket PF_INET SOCK_STREAM 0)))
(setsockopt sock SOL_SOCKET SO_REUSEADDR 1)
(bind sock
(make-socket-address AF_INET INADDR_LOOPBACK
%http-server-port))
sock))
(lambda args
(let ((err (system-error-errno args)))
(format (current-error-port)
"warning: cannot run Web server for tests: ~a~%"
(strerror err))
#f))))
(define (http-write server client response body)
"Write RESPONSE."
(let* ((response (write-response response client))
(port (response-port response)))
(cond
((not body)) ;pass
(else
(write-response-body response body)))
(close-port port)
(quit #t) ;exit the server thread
(values)))
(define-server-impl stub-http-server
;; Stripped-down version of Guile's built-in HTTP server.
(@@ (web server http) http-open)
(@@ (web server http) http-read)
http-write
(@@ (web server http) http-close))
(define (call-with-http-server code thunk)
"Call THUNK with an HTTP server running and returning CODE on HTTP
requests."
(define (server-body)
(define (handle request body)
(values (build-response #:code code
#:reason-phrase "Such is life")
"Hello, world."))
(catch 'quit
(lambda ()
(run-server handle stub-http-server
`(#:socket ,%http-server-socket)))
(const #t)))
(let* ((server (make-thread server-body)))
;; Normally SERVER exits automatically once it has received a request.
(thunk)))
(define-syntax-rule (with-http-server code body ...)
(call-with-http-server code (lambda () body ...)))
(test-begin "lint")
(define-syntax-rule (dummy-package name* extra-fields ...)
(package extra-fields ... (name name*) (version "0") (source #f)
(build-system gnu-build-system)
(synopsis #f) (description #f)
(home-page #f) (license #f) ))
(define (call-with-warnings thunk)
(let ((port (open-output-string)))
(parameterize ((guix-warning-port port))
(thunk))
(get-output-string port)))
(define-syntax-rule (with-warnings body ...)
(call-with-warnings (lambda () body ...)))
(test-assert "description: not empty"
(->bool
(string-contains (call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(description ""))))
(check-description-style pkg))))
(string-contains (with-warnings
(let ((pkg (dummy-package "x"
(description ""))))
(check-description-style pkg)))
"description should not be empty")))
(test-assert "description: does not start with an upper-case letter"
(->bool
(string-contains (call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(description "bad description."))))
(check-description-style pkg))))
(string-contains (with-warnings
(let ((pkg (dummy-package "x"
(description "bad description."))))
(check-description-style pkg)))
"description should start with an upper-case letter")))
(test-assert "description: may start with a digit"
(string-null?
(call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(description "2-component library."))))
(check-description-style pkg))))))
(with-warnings
(let ((pkg (dummy-package "x"
(description "2-component library."))))
(check-description-style pkg)))))
(test-assert "description: may start with lower-case package name"
(string-null?
(call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(description "x is a dummy package."))))
(check-description-style pkg))))))
(with-warnings
(let ((pkg (dummy-package "x"
(description "x is a dummy package."))))
(check-description-style pkg)))))
(test-assert "description: two spaces after end of sentence"
(->bool
(string-contains (call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(description "Bad. Quite bad."))))
(check-description-style pkg))))
(string-contains (with-warnings
(let ((pkg (dummy-package "x"
(description "Bad. Quite bad."))))
(check-description-style pkg)))
"sentences in description should be followed by two spaces")))
(test-assert "description: end-of-sentence detection with abbreviations"
(string-null?
(call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(description
"E.g. Foo, i.e. Bar resp. Baz (a.k.a. DVD)."))))
(check-description-style pkg))))))
(with-warnings
(let ((pkg (dummy-package "x"
(description
"E.g. Foo, i.e. Bar resp. Baz (a.k.a. DVD)."))))
(check-description-style pkg)))))
(test-assert "synopsis: not empty"
(->bool
(string-contains (call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(synopsis ""))))
(check-synopsis-style pkg))))
(string-contains (with-warnings
(let ((pkg (dummy-package "x"
(synopsis ""))))
(check-synopsis-style pkg)))
"synopsis should not be empty")))
(test-assert "synopsis: does not start with an upper-case letter"
(->bool
(string-contains (call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(synopsis "bad synopsis."))))
(check-synopsis-style pkg))))
(string-contains (with-warnings
(let ((pkg (dummy-package "x"
(synopsis "bad synopsis."))))
(check-synopsis-style pkg)))
"synopsis should start with an upper-case letter")))
(test-assert "synopsis: may start with a digit"
(string-null?
(call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(synopsis "5-dimensional frobnicator"))))
(check-synopsis-style pkg))))))
(with-warnings
(let ((pkg (dummy-package "x"
(synopsis "5-dimensional frobnicator"))))
(check-synopsis-style pkg)))))
(test-assert "synopsis: ends with a period"
(->bool
(string-contains (call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(synopsis "Bad synopsis."))))
(check-synopsis-style pkg))))
(string-contains (with-warnings
(let ((pkg (dummy-package "x"
(synopsis "Bad synopsis."))))
(check-synopsis-style pkg)))
"no period allowed at the end of the synopsis")))
(test-assert "synopsis: ends with 'etc.'"
(string-null? (call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(synopsis "Foo, bar, etc."))))
(check-synopsis-style pkg))))))
(string-null? (with-warnings
(let ((pkg (dummy-package "x"
(synopsis "Foo, bar, etc."))))
(check-synopsis-style pkg)))))
(test-assert "synopsis: starts with 'A'"
(->bool
(string-contains (call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(synopsis "A bad synopŝis"))))
(check-synopsis-style pkg))))
(string-contains (with-warnings
(let ((pkg (dummy-package "x"
(synopsis "A bad synopŝis"))))
(check-synopsis-style pkg)))
"no article allowed at the beginning of the synopsis")))
(test-assert "synopsis: starts with 'An'"
(->bool
(string-contains (call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(synopsis "An awful synopsis"))))
(check-synopsis-style pkg))))
(string-contains (with-warnings
(let ((pkg (dummy-package "x"
(synopsis "An awful synopsis"))))
(check-synopsis-style pkg)))
"no article allowed at the beginning of the synopsis")))
(test-assert "synopsis: starts with 'a'"
(->bool
(string-contains (call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(synopsis "a bad synopsis"))))
(check-synopsis-style pkg))))
(string-contains (with-warnings
(let ((pkg (dummy-package "x"
(synopsis "a bad synopsis"))))
(check-synopsis-style pkg)))
"no article allowed at the beginning of the synopsis")))
(test-assert "synopsis: starts with 'an'"
(->bool
(string-contains (call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(synopsis "an awful synopsis"))))
(check-synopsis-style pkg))))
(string-contains (with-warnings
(let ((pkg (dummy-package "x"
(synopsis "an awful synopsis"))))
(check-synopsis-style pkg)))
"no article allowed at the beginning of the synopsis")))
(test-assert "synopsis: too long"
(->bool
(string-contains (call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(synopsis (make-string 80 #\x)))))
(check-synopsis-style pkg))))
(string-contains (with-warnings
(let ((pkg (dummy-package "x"
(synopsis (make-string 80 #\x)))))
(check-synopsis-style pkg)))
"synopsis should be less than 80 characters long")))
(test-assert "synopsis: start with package name"
(->bool
(string-contains (call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(name "foo")
(synopsis "foo, a nice package"))))
(check-synopsis-style pkg))))
(string-contains (with-warnings
(let ((pkg (dummy-package "x"
(name "foo")
(synopsis "foo, a nice package"))))
(check-synopsis-style pkg)))
"synopsis should not start with the package name")))
(test-assert "synopsis: start with package name prefix"
(string-null?
(call-with-warnings
(lambda ()
(let ((pkg (dummy-package "arb"
(synopsis "Arbitrary precision"))))
(check-synopsis-style pkg))))))
(with-warnings
(let ((pkg (dummy-package "arb"
(synopsis "Arbitrary precision"))))
(check-synopsis-style pkg)))))
(test-assert "synopsis: start with abbreviation"
(string-null?
(call-with-warnings
(lambda ()
(let ((pkg (dummy-package "uucp"
;; Same problem with "APL interpreter", etc.
(synopsis "UUCP implementation")
(description "Imagine this is Taylor UUCP."))))
(check-synopsis-style pkg))))))
(with-warnings
(let ((pkg (dummy-package "uucp"
;; Same problem with "APL interpreter", etc.
(synopsis "UUCP implementation")
(description "Imagine this is Taylor UUCP."))))
(check-synopsis-style pkg)))))
(test-assert "inputs: pkg-config is probably a native input"
(->bool
(string-contains
(call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(inputs `(("pkg-config" ,pkg-config))))))
(check-inputs-should-be-native pkg))))
(with-warnings
(let ((pkg (dummy-package "x"
(inputs `(("pkg-config" ,pkg-config))))))
(check-inputs-should-be-native pkg)))
"pkg-config should probably be a native input")))
(test-assert "patches: file names"
(->bool
(string-contains
(call-with-warnings
(lambda ()
(let ((pkg (dummy-package "x"
(source
(origin
(method url-fetch)
(uri "someurl")
(sha256 "somesha")
(patches (list "/path/to/y.patch")))))))
(check-patches pkg))))
"file names of patches should start with the package name")))
(with-warnings
(let ((pkg (dummy-package "x"
(source
(origin
(method url-fetch)
(uri "someurl")
(sha256 "somesha")
(patches (list "/path/to/y.patch")))))))
(check-patches pkg)))
"file names of patches should start with the package name")))
(test-assert "home-page: wrong home-page"
(->bool
(string-contains
(with-warnings
(let ((pkg (package
(inherit (dummy-package "x"))
(home-page #f))))
(check-home-page pkg)))
"invalid")))
(test-assert "home-page: invalid URI"
(->bool
(string-contains
(with-warnings
(let ((pkg (package
(inherit (dummy-package "x"))
(home-page "foobar"))))
(check-home-page pkg)))
"invalid home page URL")))
(test-assert "home-page: host not found"
(->bool
(string-contains
(with-warnings
(let ((pkg (package
(inherit (dummy-package "x"))
(home-page "http://does-not-exist"))))
(check-home-page pkg)))
"domain not found")))
(test-skip (if %http-server-socket 0 1))
(test-assert "home-page: Connection refused"
(->bool
(string-contains
(with-warnings
(let ((pkg (package
(inherit (dummy-package "x"))
(home-page %local-url))))
(check-home-page pkg)))
"Connection refused")))
(test-skip (if %http-server-socket 0 1))
(test-equal "home-page: 200"
""
(with-warnings
(with-http-server 200
(let ((pkg (package
(inherit (dummy-package "x"))
(home-page %local-url))))
(check-home-page pkg)))))
(test-skip (if %http-server-socket 0 1))
(test-assert "home-page: 404"
(->bool
(string-contains
(with-warnings
(with-http-server 404
(let ((pkg (package
(inherit (dummy-package "x"))
(home-page %local-url))))
(check-home-page pkg))))
"not reachable: 404")))
(test-end "lint")
(exit (= (test-runner-fail-count (test-runner-current)) 0))
;; Local Variables:
;; eval: (put 'with-http-server 'scheme-indent-function 1)
;; eval: (put 'with-warnings 'scheme-indent-function 0)
;; End:

View File

@ -48,13 +48,6 @@
(define %store
(open-connection-for-tests))
(define-syntax-rule (dummy-package name* extra-fields ...)
(package (name name*) (version "0") (source #f)
(build-system gnu-build-system)
(synopsis #f) (description #f)
(home-page #f) (license #f)
extra-fields ...))
(test-begin "packages")