Merge branch 'master' into core-updates

This commit is contained in:
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 packages)
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (guix gnu-maintenance) #: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 (gnu packages)
#:use-module (sxml simple) #:use-module (sxml simple)
#:use-module (sxml fold) #:use-module (sxml fold)
@ -107,9 +109,12 @@ decreasing, is 1."
"http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/" "http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/patches/"
(basename patch))) (basename patch)))
((? origin? patch) ((? origin? patch)
(uri->string
(first (maybe-expand-mirrors (string->uri
(match (origin-uri patch) (match (origin-uri patch)
((? string? uri) uri) ((? string? uri) uri)
((head . tail) head))))) ((head . tail) head)))
%mirrors))))))
(define patch-name (define patch-name
(match-lambda (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-1592.patch \
gnu/packages/patches/icecat-CVE-2014-1593.patch \ gnu/packages/patches/icecat-CVE-2014-1593.patch \
gnu/packages/patches/icecat-CVE-2014-1594.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/jbig2dec-ignore-testtest.patch \
gnu/packages/patches/kmod-module-directory.patch \ gnu/packages/patches/kmod-module-directory.patch \
gnu/packages/patches/libarchive-CVE-2013-0211.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/ripperx-libm.patch \
gnu/packages/patches/scheme48-tests.patch \ gnu/packages/patches/scheme48-tests.patch \
gnu/packages/patches/scotch-test-threading.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-session.patch \
gnu/packages/patches/slim-config.patch \ gnu/packages/patches/slim-config.patch \
gnu/packages/patches/slim-sigusr1.patch \ gnu/packages/patches/slim-sigusr1.patch \
@ -454,10 +455,27 @@ dist_patch_DATA = \
gnu/packages/patches/udev-gir-libtool.patch \ gnu/packages/patches/udev-gir-libtool.patch \
gnu/packages/patches/util-linux-perl.patch \ gnu/packages/patches/util-linux-perl.patch \
gnu/packages/patches/vpnc-script.patch \ gnu/packages/patches/vpnc-script.patch \
gnu/packages/patches/vtk-mesa-10.patch \
gnu/packages/patches/w3m-fix-compile.patch \ gnu/packages/patches/w3m-fix-compile.patch \
gnu/packages/patches/wmctrl-64-fix.patch \ gnu/packages/patches/wmctrl-64-fix.patch \
gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch \ gnu/packages/patches/xf86-video-ark-remove-mibstore.patch \
gnu/packages/patches/xf86-video-openchrome-includes.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/xfce4-panel-plugins.patch \
gnu/packages/patches/xmodmap-asprintf.patch gnu/packages/patches/xmodmap-asprintf.patch

View File

@ -50,7 +50,7 @@
(substitute* "makeinclude.in" (substitute* "makeinclude.in"
(("/bin/sh") (which "sh")))) (("/bin/sh") (which "sh"))))
%standard-phases))) %standard-phases)))
(home-page "https://www.fltk.org") (home-page "http://www.fltk.org")
(synopsis "3D C++ GUI library") (synopsis "3D C++ GUI library")
(description "FLTK is a C++ GUI toolkit providing modern GUI functionality (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 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 ;;; 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 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Joshua Grant <tadni@riseup.net> ;;; Copyright © 2014 Joshua Grant <tadni@riseup.net>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com> ;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
@ -144,13 +144,13 @@ provide serif, sans and monospaced variants.")
(native-inputs `(("source" ,source) (native-inputs `(("source" ,source)
("tar" ,tar) ("tar" ,tar)
("bzip2" ,bzip2))) ("bzip2" ,bzip2)))
(home-page "https://www-old.gnome.org/fonts/") (home-page "http://www.gnome.org/fonts/")
(synopsis "Bitstream Vera sans-serif typeface") (synopsis "Bitstream Vera sans-serif typeface")
(description "Vera is a sans-serif typeface from Bitstream, Inc. This (description "Vera is a sans-serif typeface from Bitstream, Inc. This
package provides the TrueType (TTF) files.") package provides the TrueType (TTF) files.")
(license (license
(license:x11-style (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 (define-public font-gnu-freefont-ttf
(package (package

View File

@ -6,6 +6,7 @@
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net> ;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2014 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -81,12 +82,13 @@
("readline" ,readline) ("readline" ,readline)
("gtk+" ,gtk+-2) ("gtk+" ,gtk+-2)
("mesa" ,mesa) ("mesa" ,mesa)
("glu" ,glu)
("gtkglext" ,gtkglext) ("gtkglext" ,gtkglext)
("sqlite" ,sqlite) ("sqlite" ,sqlite)
("libcanberra" ,libcanberra))) ("libcanberra" ,libcanberra)))
(native-inputs `(("python-2" ,python-2) (native-inputs `(("python-2" ,python-2)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(home-page "https://gnubg.org") (home-page "http://gnubg.org")
(synopsis "Backgammon game") (synopsis "Backgammon game")
(description "The GNU backgammon application can be used for playing, analyzing and (description "The GNU backgammon application can be used for playing, analyzing and
teaching the game. It has an advanced evaluation engine based on artificial 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) (build-system gnu-build-system)
(inputs `(("gtk+" ,gtk+-2) (inputs `(("gtk+" ,gtk+-2)
("mesa" ,mesa) ("mesa" ,mesa)
("glu" ,glu)
("libx11" ,libx11) ("libx11" ,libx11)
("guile" ,guile-2.0) ("guile" ,guile-2.0)
("gtkglext" ,gtkglext))) ("gtkglext" ,gtkglext)))
@ -208,6 +211,7 @@ that beneath its ruins lay buried an ancient evil.")
("sdl-image" ,sdl-image) ("sdl-image" ,sdl-image)
("sdl-mixer" ,sdl-mixer) ("sdl-mixer" ,sdl-mixer)
("mesa" ,mesa) ("mesa" ,mesa)
("glu" ,glu)
("libpng" ,libpng) ("libpng" ,libpng)
("boost" ,boost))) ("boost" ,boost)))
(arguments (arguments
@ -279,7 +283,7 @@ a C library, so they can easily be integrated into other programs.")
(string-append "--prefix=" out))))) (string-append "--prefix=" out)))))
%standard-phases))) %standard-phases)))
(inputs `(("ncurses" ,ncurses))) (inputs `(("ncurses" ,ncurses)))
(home-page "http://wwww.asty.org/cmatrix") (home-page "http://www.asty.org/cmatrix")
(synopsis "Simulate the display from \"The Matrix\"") (synopsis "Simulate the display from \"The Matrix\"")
(description "CMatrix simulates the display from \"The Matrix\" and is (description "CMatrix simulates the display from \"The Matrix\" and is
based on the screensaver from the movie's website. It works with terminal 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 (base32
"1jckpg1qi1vjr3pqs0dnip3rmn0mgklx63xflrpqiv3cx2qlz8kn")))) "1jckpg1qi1vjr3pqs0dnip3rmn0mgklx63xflrpqiv3cx2qlz8kn"))))
(build-system gnu-build-system) (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") (synopsis "Full chess implementation")
(description "GNU Chess is a chess engine. It allows you to compete (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 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)) (and (zero? (system* "unzip" source))
;; The actual source is buried a few directories deep. ;; The actual source is buried a few directories deep.
(chdir "irrlicht-1.8.1/source/Irrlicht/"))) (chdir "irrlicht-1.8.1/source/Irrlicht/")))
(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 ;; No configure script
(alist-delete 'configure %standard-phases))) (alist-delete 'configure %standard-phases))))
#:tests? #f ; no check target #:tests? #f ; no check target
#:make-flags '("CC=gcc" "sharedlib"))) #:make-flags '("CC=gcc" "sharedlib")))
(native-inputs (native-inputs
`(("unzip" ,unzip))) `(("patch/mesa-10-fix" ,(search-patch "irrlicht-mesa-10.patch"))
("unzip" ,unzip)))
(inputs (inputs
`(("mesa" ,mesa))) `(("mesa" ,mesa)
("glu" ,glu)))
(synopsis "3D game engine written in C++") (synopsis "3D game engine written in C++")
(description (description
"The Irrlicht Engine is a high performance realtime 3D engine written in "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 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Joshua Grant <tadni@riseup.net> ;;; Copyright © 2013 Joshua Grant <tadni@riseup.net>
;;; Copyright © 2014 David Thompson <davet@gnu.org> ;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -27,6 +28,8 @@
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages pkg-config) #: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 python)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
@ -122,49 +125,60 @@ Polygon meshes, and Extruded polygon meshes")
(define-public mesa (define-public mesa
(package (package
(name "mesa") (name "mesa")
;; In newer versions (9.0.5, 9.1 and 9.2 tested), "make" results in an (version "10.4.0")
;; infinite configure loop, see
;; https://bugs.freedesktop.org/show_bug.cgi?id=58812
(version "8.0.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/"
"ftp://ftp.freedesktop.org/pub/mesa/older-versions/8.x/" version "/MesaLib-" version ".tar.bz2"))
version
"/MesaLib-" version
".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si")))) "069j4ck51hc70gryhw3z0rkyhhl0bnhbks4xg1wqqw56l7rxz9wq"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
`(("glproto" ,glproto) `(("glproto" ,glproto)
("libdrm" ,libdrm-2.4.33) ("libdrm" ,libdrm)
("libx11" ,libx11) ("libx11" ,libx11)
("libxdamage" ,libxdamage) ("libxdamage" ,libxdamage)
("libxxf86vm" ,libxxf86vm))) ("libxxf86vm" ,libxxf86vm)))
(inputs (inputs
`(("dri2proto" ,dri2proto) `(("udev" ,eudev)
("dri2proto" ,dri2proto)
("dri3proto" ,dri3proto)
("presentproto" ,presentproto)
("libxshmfence" ,libxshmfence)
("expat" ,expat) ("expat" ,expat)
("libxfixes" ,libxfixes) ("libxfixes" ,libxfixes)
("libxml2" ,libxml2) ("libxml2" ,libxml2)
;; TODO: Add 'libva'
;; TODO: Add 'libxml2-python' for OpenGL ES 1.1 and 2.0 support
("makedepend" ,makedepend))) ("makedepend" ,makedepend)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)
("gettext" ,gnu-gettext)
("flex" ,flex) ("flex" ,flex)
("bison" ,bison) ("bison" ,bison)
("python" ,python-2))) ; incompatible with Python 3 (print syntax) ("python" ,python-2))) ; incompatible with Python 3 (print syntax)
(arguments (arguments
`(#:configure-flags `(#:configure-flags
`("--with-gallium-drivers=r600,svga,swrast") ; drop r300 from the default list as it requires llvm `(;; drop r300 from default gallium drivers, as it requires llvm
#:phases "--with-gallium-drivers=r600,svga,swrast"
(alist-cons-after "--enable-xa")
'unpack 'remove-symlink #:phases (alist-cons-after
'unpack 'add-missing-m4-files
(lambda _ (lambda _
;; remove dangling symlink to /usr/include/wine/windows ;; When these files are missing, make tries to rebuild
(delete-file "src/gallium/state_trackers/d3d1x/w32api")) ;; several parts of the build system.
%standard-phases))) (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/") (home-page "http://mesa3d.org/")
(synopsis "OpenGL implementation") (synopsis "OpenGL implementation")
(description "Mesa is a free implementation of the OpenGL specification - (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, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -56,7 +57,7 @@
(define dbus (define dbus
(package (package
(name "dbus") (name "dbus")
(version "1.8.10") (version "1.8.12")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -64,7 +65,7 @@
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"13mgvwigm931r8n9363imnn0vn6dvc0m322k3p8fs5c8nvyqggqh")) "07jhcalg00i2rx5zrgk73rg0vm7lzi5q5z2gscrbl999ipr2h569"))
(patches (list (search-patch "dbus-localstatedir.patch"))))) (patches (list (search-patch "dbus-localstatedir.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
@ -118,7 +119,7 @@ shared NFS home directories.")
(define glib (define glib
(package (package
(name "glib") (name "glib")
(version "2.40.2") (version "2.42.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" (uri (string-append "mirror://gnome/sources/"
@ -126,7 +127,7 @@ shared NFS home directories.")
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0ykcf99mhpkza3xwa3k79vgfml8mqiac9044802yi5q8jpr8mzz8")) "16pqvikrps1fvwwqvk0qi4a13mfg7gw6w5qfhk7bhi8f51jhhgwg"))
(patches (list (search-patch "glib-tests-homedir.patch") (patches (list (search-patch "glib-tests-homedir.patch")
(search-patch "glib-tests-desktop.patch") (search-patch "glib-tests-desktop.patch")
(search-patch "glib-tests-prlimit.patch") (search-patch "glib-tests-prlimit.patch")
@ -164,7 +165,12 @@ shared NFS home directories.")
"glib/tests/utils.c" "glib/tests/utils.c"
"tests/spawn-test.c") "tests/spawn-test.c")
(("/bin/sh") (("/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) %standard-phases)
;; Note: `--docdir' and `--htmldir' are not honored, so work around it. ;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
@ -334,7 +340,7 @@ translated.")
(define dbus-glib (define dbus-glib
(package (package
(name "dbus-glib") (name "dbus-glib")
(version "0.100.2") (version "0.102")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -342,7 +348,7 @@ translated.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1ibav91yg70f2l3l18cr0hf4mna1h9d4mrg0c60w4l8zjbd45fx5")))) "177j5p2vrvpmzk2xrrj6akn73kvpbvnmsjvlmca9l55qbdcfsr39"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("dbus" ,dbus) `(("dbus" ,dbus)
@ -387,14 +393,15 @@ has an ease of use unmatched by other C++ callback libraries.")
(define glibmm (define glibmm
(package (package
(name "glibmm") (name "glibmm")
(version "2.37.7") (version "2.42.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/glibmm/2.37/glibmm-" (uri (string-append "mirror://gnome/sources/glibmm/"
version ".tar.xz")) (version-major+minor version)
"/glibmm-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0mms4yl5izsya1135772z4jkb184ss86x0wlg6dm7yvwxvb6bjlw")))) "15rk3az8jh3rdwlc3lxjljbnh60drj3ka9574zd39lkqfgcq6l4q"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases (alist-cons-before `(#:phases (alist-cons-before

View File

@ -473,6 +473,7 @@ the API")
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("gtk+" ,gtk+-2) (inputs `(("gtk+" ,gtk+-2)
("mesa" ,mesa) ("mesa" ,mesa)
("glu" ,glu)
("libx11" ,libx11) ("libx11" ,libx11)
("libxt" ,libxt))) ("libxt" ,libxt)))
(native-inputs `(("pkg-config" ,pkg-config) (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 (define-public cairo
(package (package
(name "cairo") (name "cairo")
(version "1.12.16") (version "1.12.18")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://cairographics.org/releases/cairo-" (uri (string-append "http://cairographics.org/releases/cairo-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0inqwsylqkrzcjivdirkjx5nhdgxbdc62fq284c3xppinfg9a195")))) "1dpmlxmmigpiyv0jchjsn2l1a29655x24g5073hy8p4lmjvz0nfw"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
`(("fontconfig" ,fontconfig) `(("fontconfig" ,fontconfig)
@ -408,6 +408,7 @@ application suites.")
("gdk-pixbuf" ,gdk-pixbuf) ("gdk-pixbuf" ,gdk-pixbuf)
("libxi" ,libxi) ("libxi" ,libxi)
("libxinerama" ,libxinerama) ("libxinerama" ,libxinerama)
("libxdamage" ,libxdamage)
("pango" ,pango))) ("pango" ,pango)))
(inputs (inputs
`(("libxml2" ,libxml2))) `(("libxml2" ,libxml2)))
@ -513,14 +514,14 @@ exceptions, macros, and a dynamic programming environment.")
(define-public cairomm (define-public cairomm
(package (package
(name "cairomm") (name "cairomm")
(version "1.10.0") (version "1.11.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://cairographics.org/releases/cairomm-" (uri (string-append "http://cairographics.org/releases/cairomm-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"13rrp96px95m6xnvmsaqb0wcqsnizg3bz334k0yhlyxf7v29d386")))) "138052ybc58q5yl92m2p0br0k0a9g1pi9gfhmn4y220yih4pgxnc"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; The examples lack -lcairo. ;; The examples lack -lcairo.

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org> ;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -41,15 +42,14 @@
(define-public inkscape (define-public inkscape
(package (package
(name "inkscape") (name "inkscape")
(version "0.48.4") (version "0.48.5")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/inkscape/inkscape-" (uri (string-append "mirror://sourceforge/inkscape/inkscape-"
version ".tar.gz")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0nhxsgrgsx6zrgpkd1akxjvmdqjp8ccnsvlwxh62l0brg84fw6bf")) "0sfr7a1vr1066rrkkqbqvcqs3gawalj68ralnhd6k87jz62fcv1b"))))
(patches (list (search-patch "inkscape-stray-comma.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("aspell" ,aspell) `(("aspell" ,aspell)
@ -60,11 +60,7 @@
("libpng" ,libpng) ("libpng" ,libpng)
("libxml2" ,libxml2) ("libxml2" ,libxml2)
("libxslt" ,libxslt) ("libxslt" ,libxslt)
("libgc" ,libgc)
;; 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)
("freetype" ,freetype) ("freetype" ,freetype)
("popt" ,popt) ("popt" ,popt)
("python" ,python-2) ("python" ,python-2)
@ -74,6 +70,13 @@
`(("intltool" ,intltool) `(("intltool" ,intltool)
("perl" ,perl) ("perl" ,perl)
("pkg-config" ,pkg-config))) ("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/") (home-page "http://inkscape.org/")
(synopsis "Vector graphics editor") (synopsis "Vector graphics editor")
(description "Inkscape is a vector graphics editor. What sets Inkscape (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) (build-system cmake-build-system)
(inputs (inputs
`(("qt" ,qt-4))) `(("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") (synopsis "Qt library for the Open Collaboration Services API")
(description "Attica is a Qt library that implements the Open (description "Attica is a Qt library that implements the Open
Collaboration Services API version 1.6. It grants easy access to the Collaboration Services API version 1.6. It grants easy access to the

View File

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

View File

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

View File

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

View File

@ -358,7 +358,7 @@ API for locking files.")
"0kzlsbki6q0awf89rc287f3aj8x431lrajf160a70z0ikhnxsfdq")))) "0kzlsbki6q0awf89rc287f3aj8x431lrajf160a70z0ikhnxsfdq"))))
(build-system python-build-system) (build-system python-build-system)
(arguments '(#:test-target "check")) (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") (synopsis "Python mocking and patching library for testing")
(description (description
"Mock is a library for testing in Python. It allows you to replace parts "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 ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 David Thompson <dthompson2@worcester.edu> ;;; Copyright © 2013 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -53,7 +54,8 @@
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn")))) "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn"))
(patches (list (search-patch "sdl-libx11-1.6.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(;; Explicitly link against Xext because SDL tries to dlopen it and '(;; Explicitly link against Xext because SDL tries to dlopen it and

View File

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

View File

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

View File

@ -130,7 +130,7 @@ following the mouse.")
(define-public pixman (define-public pixman
(package (package
(name "pixman") (name "pixman")
(version "0.32.4") (version "0.32.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -140,7 +140,7 @@ following the mouse.")
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 (base32
"113ycngcssbrps217dyajq96hm9xghsfch82h14yffla1r1fviw0")))) "0129g4zdrw5hif5783li7rzcr4vpbc2cfia91azxmsk0h0xx3zix"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("libpng" ,libpng) `(("libpng" ,libpng)
@ -158,7 +158,7 @@ rasterisation.")
(define-public libdrm (define-public libdrm
(package (package
(name "libdrm") (name "libdrm")
(version "2.4.46") (version "2.4.58")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -168,7 +168,7 @@ rasterisation.")
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1wah4qmrrcv0gnx65lhrlxb6gprxch92wy8lhxv6102fml6k5krk")))) "1pb5lfb3kh36p9axq620daclq68rqb3mhzxpz0pb18y9p7kglmdi"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("libpciaccess" ,libpciaccess) `(("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\" FontPath \"" font-adobe75dpi "/share/fonts/X11/75dpi\"
ModulePath \"" xf86-video-vesa "/lib/xorg/modules/drivers\" ModulePath \"" xf86-video-vesa "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-fbdev "/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-cirrus "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-intel "/lib/xorg/modules/drivers\" ModulePath \"" xf86-video-intel "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-mach64 "/lib/xorg/modules/drivers\" ModulePath \"" xf86-video-mach64 "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-nv "/lib/xorg/modules/drivers\" ModulePath \"" xf86-video-nv "/lib/xorg/modules/drivers\"
ModulePath \"" xf86-video-sis "/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-keyboard "/lib/xorg/modules/input\"
ModulePath \"" xf86-input-mouse "/lib/xorg/modules/input\" ModulePath \"" xf86-input-mouse "/lib/xorg/modules/input\"
ModulePath \"" xf86-input-synaptics "/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 (srfi srfi-26)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 format) #:use-module (ice-9 format)
#:export (url-fetch #:export (open-connection-for-uri
maybe-expand-mirrors
url-fetch
progress-proc progress-proc
uri-abbreviation)) uri-abbreviation))
@ -278,17 +280,15 @@ which is not available during bootstrap."
(lambda (key . args) (lambda (key . args)
(print-exception (current-error-port) #f key args)))) (print-exception (current-error-port) #f key args))))
(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) (define (uri-vicinity dir file)
;; Concatenate DIR, slash, and FILE, keeping only one slash in between. "Concatenate DIR, slash, and FILE, keeping only one slash in between.
;; This is required by some HTTP servers. This is required by some HTTP servers."
(string-append (string-trim-right dir #\/) "/" (string-append (string-trim-right dir #\/) "/"
(string-trim file #\/))) (string-trim file #\/)))
(define (maybe-expand-mirrors uri) (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) (case (uri-scheme uri)
((mirror) ((mirror)
(let ((kind (string->symbol (uri-host uri))) (let ((kind (string->symbol (uri-host uri)))
@ -302,8 +302,12 @@ on success."
(else (else
(list uri)))) (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 (define uri
(append-map maybe-expand-mirrors (append-map (cut maybe-expand-mirrors <> mirrors)
(match url (match url
((_ ...) (map string->uri url)) ((_ ...) (map string->uri url))
(_ (list (string->uri url)))))) (_ (list (string->uri url))))))

View File

@ -29,6 +29,11 @@
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 regex) #:use-module (ice-9 regex)
#:use-module (ice-9 format) #: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-1)
#:use-module (srfi srfi-9) #:use-module (srfi srfi-9)
#:use-module (srfi srfi-11) #:use-module (srfi srfi-11)
@ -37,7 +42,8 @@
check-description-style check-description-style
check-inputs-should-be-native check-inputs-should-be-native
check-patches check-patches
check-synopsis-style)) check-synopsis-style
check-home-page))
;;; ;;;
@ -201,6 +207,103 @@ the synopsis")
(check-start-with-package-name synopsis) (check-start-with-package-name synopsis)
(check-synopsis-length 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) (define (check-patches package)
;; Emit a warning if the patches requires by PACKAGE are badly named. ;; Emit a warning if the patches requires by PACKAGE are badly named.
(let ((patches (and=> (package-source package) origin-patches)) (let ((patches (and=> (package-source package) origin-patches))
@ -295,6 +398,10 @@ descriptions maintained upstream."
(name 'patch-filenames) (name 'patch-filenames)
(description "Validate file names of patches") (description "Validate file names of patches")
(check check-patches)) (check check-patches))
(lint-checker
(name 'home-page)
(description "Validate home-page URLs")
(check check-home-page))
(lint-checker (lint-checker
(name 'synopsis) (name 'synopsis)
(description "Validate package synopses") (description "Validate package synopses")
@ -302,9 +409,15 @@ descriptions maintained upstream."
(define (run-checkers package checkers) (define (run-checkers package checkers)
;; Run the given CHECKERS on PACKAGE. ;; Run the given CHECKERS on PACKAGE.
(let ((tty? (isatty? (current-error-port)))
(name (package-full-name package)))
(for-each (lambda (checker) (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)) ((lint-checker-check checker) package))
checkers)) checkers)))
;;; ;;;

View File

@ -27,7 +27,8 @@
#:export (open-connection-for-tests #:export (open-connection-for-tests
random-text random-text
random-bytevector random-bytevector
with-derivation-narinfo)) with-derivation-narinfo
dummy-package))
;;; Commentary: ;;; Commentary:
;;; ;;;
@ -120,6 +121,15 @@ substituter's viewpoint."
(lambda () (lambda ()
body ...))) 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: ;; Local Variables:
;; eval: (put 'call-with-derivation-narinfo 'scheme-indent-function 1) ;; eval: (put 'call-with-derivation-narinfo 'scheme-indent-function 1)
;; End: ;; End:

View File

@ -19,6 +19,7 @@
(define-module (test-packages) (define-module (test-packages)
#:use-module (guix tests)
#:use-module (guix build download) #:use-module (guix build download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix packages) #:use-module (guix packages)
@ -26,207 +27,255 @@
#:use-module (guix ui) #:use-module (guix ui)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages pkg-config) #: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)) #:use-module (srfi srfi-64))
;; Test the linter. ;; 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") (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) (define (call-with-warnings thunk)
(let ((port (open-output-string))) (let ((port (open-output-string)))
(parameterize ((guix-warning-port port)) (parameterize ((guix-warning-port port))
(thunk)) (thunk))
(get-output-string port))) (get-output-string port)))
(define-syntax-rule (with-warnings body ...)
(call-with-warnings (lambda () body ...)))
(test-assert "description: not empty" (test-assert "description: not empty"
(->bool (->bool
(string-contains (call-with-warnings (string-contains (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(description "")))) (description ""))))
(check-description-style pkg)))) (check-description-style pkg)))
"description should not be empty"))) "description should not be empty")))
(test-assert "description: does not start with an upper-case letter" (test-assert "description: does not start with an upper-case letter"
(->bool (->bool
(string-contains (call-with-warnings (string-contains (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(description "bad description.")))) (description "bad description."))))
(check-description-style pkg)))) (check-description-style pkg)))
"description should start with an upper-case letter"))) "description should start with an upper-case letter")))
(test-assert "description: may start with a digit" (test-assert "description: may start with a digit"
(string-null? (string-null?
(call-with-warnings (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(description "2-component library.")))) (description "2-component library."))))
(check-description-style pkg)))))) (check-description-style pkg)))))
(test-assert "description: may start with lower-case package name" (test-assert "description: may start with lower-case package name"
(string-null? (string-null?
(call-with-warnings (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(description "x is a dummy package.")))) (description "x is a dummy package."))))
(check-description-style pkg)))))) (check-description-style pkg)))))
(test-assert "description: two spaces after end of sentence" (test-assert "description: two spaces after end of sentence"
(->bool (->bool
(string-contains (call-with-warnings (string-contains (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(description "Bad. Quite bad.")))) (description "Bad. Quite bad."))))
(check-description-style pkg)))) (check-description-style pkg)))
"sentences in description should be followed by two spaces"))) "sentences in description should be followed by two spaces")))
(test-assert "description: end-of-sentence detection with abbreviations" (test-assert "description: end-of-sentence detection with abbreviations"
(string-null? (string-null?
(call-with-warnings (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(description (description
"E.g. Foo, i.e. Bar resp. Baz (a.k.a. DVD).")))) "E.g. Foo, i.e. Bar resp. Baz (a.k.a. DVD)."))))
(check-description-style pkg)))))) (check-description-style pkg)))))
(test-assert "synopsis: not empty" (test-assert "synopsis: not empty"
(->bool (->bool
(string-contains (call-with-warnings (string-contains (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(synopsis "")))) (synopsis ""))))
(check-synopsis-style pkg)))) (check-synopsis-style pkg)))
"synopsis should not be empty"))) "synopsis should not be empty")))
(test-assert "synopsis: does not start with an upper-case letter" (test-assert "synopsis: does not start with an upper-case letter"
(->bool (->bool
(string-contains (call-with-warnings (string-contains (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(synopsis "bad synopsis.")))) (synopsis "bad synopsis."))))
(check-synopsis-style pkg)))) (check-synopsis-style pkg)))
"synopsis should start with an upper-case letter"))) "synopsis should start with an upper-case letter")))
(test-assert "synopsis: may start with a digit" (test-assert "synopsis: may start with a digit"
(string-null? (string-null?
(call-with-warnings (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(synopsis "5-dimensional frobnicator")))) (synopsis "5-dimensional frobnicator"))))
(check-synopsis-style pkg)))))) (check-synopsis-style pkg)))))
(test-assert "synopsis: ends with a period" (test-assert "synopsis: ends with a period"
(->bool (->bool
(string-contains (call-with-warnings (string-contains (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(synopsis "Bad synopsis.")))) (synopsis "Bad synopsis."))))
(check-synopsis-style pkg)))) (check-synopsis-style pkg)))
"no period allowed at the end of the synopsis"))) "no period allowed at the end of the synopsis")))
(test-assert "synopsis: ends with 'etc.'" (test-assert "synopsis: ends with 'etc.'"
(string-null? (call-with-warnings (string-null? (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(synopsis "Foo, bar, etc.")))) (synopsis "Foo, bar, etc."))))
(check-synopsis-style pkg)))))) (check-synopsis-style pkg)))))
(test-assert "synopsis: starts with 'A'" (test-assert "synopsis: starts with 'A'"
(->bool (->bool
(string-contains (call-with-warnings (string-contains (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(synopsis "A bad synopŝis")))) (synopsis "A bad synopŝis"))))
(check-synopsis-style pkg)))) (check-synopsis-style pkg)))
"no article allowed at the beginning of the synopsis"))) "no article allowed at the beginning of the synopsis")))
(test-assert "synopsis: starts with 'An'" (test-assert "synopsis: starts with 'An'"
(->bool (->bool
(string-contains (call-with-warnings (string-contains (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(synopsis "An awful synopsis")))) (synopsis "An awful synopsis"))))
(check-synopsis-style pkg)))) (check-synopsis-style pkg)))
"no article allowed at the beginning of the synopsis"))) "no article allowed at the beginning of the synopsis")))
(test-assert "synopsis: starts with 'a'" (test-assert "synopsis: starts with 'a'"
(->bool (->bool
(string-contains (call-with-warnings (string-contains (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(synopsis "a bad synopsis")))) (synopsis "a bad synopsis"))))
(check-synopsis-style pkg)))) (check-synopsis-style pkg)))
"no article allowed at the beginning of the synopsis"))) "no article allowed at the beginning of the synopsis")))
(test-assert "synopsis: starts with 'an'" (test-assert "synopsis: starts with 'an'"
(->bool (->bool
(string-contains (call-with-warnings (string-contains (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(synopsis "an awful synopsis")))) (synopsis "an awful synopsis"))))
(check-synopsis-style pkg)))) (check-synopsis-style pkg)))
"no article allowed at the beginning of the synopsis"))) "no article allowed at the beginning of the synopsis")))
(test-assert "synopsis: too long" (test-assert "synopsis: too long"
(->bool (->bool
(string-contains (call-with-warnings (string-contains (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(synopsis (make-string 80 #\x))))) (synopsis (make-string 80 #\x)))))
(check-synopsis-style pkg)))) (check-synopsis-style pkg)))
"synopsis should be less than 80 characters long"))) "synopsis should be less than 80 characters long")))
(test-assert "synopsis: start with package name" (test-assert "synopsis: start with package name"
(->bool (->bool
(string-contains (call-with-warnings (string-contains (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(name "foo") (name "foo")
(synopsis "foo, a nice package")))) (synopsis "foo, a nice package"))))
(check-synopsis-style pkg)))) (check-synopsis-style pkg)))
"synopsis should not start with the package name"))) "synopsis should not start with the package name")))
(test-assert "synopsis: start with package name prefix" (test-assert "synopsis: start with package name prefix"
(string-null? (string-null?
(call-with-warnings (with-warnings
(lambda ()
(let ((pkg (dummy-package "arb" (let ((pkg (dummy-package "arb"
(synopsis "Arbitrary precision")))) (synopsis "Arbitrary precision"))))
(check-synopsis-style pkg)))))) (check-synopsis-style pkg)))))
(test-assert "synopsis: start with abbreviation" (test-assert "synopsis: start with abbreviation"
(string-null? (string-null?
(call-with-warnings (with-warnings
(lambda ()
(let ((pkg (dummy-package "uucp" (let ((pkg (dummy-package "uucp"
;; Same problem with "APL interpreter", etc. ;; Same problem with "APL interpreter", etc.
(synopsis "UUCP implementation") (synopsis "UUCP implementation")
(description "Imagine this is Taylor UUCP.")))) (description "Imagine this is Taylor UUCP."))))
(check-synopsis-style pkg)))))) (check-synopsis-style pkg)))))
(test-assert "inputs: pkg-config is probably a native input" (test-assert "inputs: pkg-config is probably a native input"
(->bool (->bool
(string-contains (string-contains
(call-with-warnings (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(inputs `(("pkg-config" ,pkg-config)))))) (inputs `(("pkg-config" ,pkg-config))))))
(check-inputs-should-be-native pkg)))) (check-inputs-should-be-native pkg)))
"pkg-config should probably be a native input"))) "pkg-config should probably be a native input")))
(test-assert "patches: file names" (test-assert "patches: file names"
(->bool (->bool
(string-contains (string-contains
(call-with-warnings (with-warnings
(lambda ()
(let ((pkg (dummy-package "x" (let ((pkg (dummy-package "x"
(source (source
(origin (origin
@ -234,10 +283,78 @@
(uri "someurl") (uri "someurl")
(sha256 "somesha") (sha256 "somesha")
(patches (list "/path/to/y.patch"))))))) (patches (list "/path/to/y.patch")))))))
(check-patches pkg)))) (check-patches pkg)))
"file names of patches should start with the package name"))) "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") (test-end "lint")
(exit (= (test-runner-fail-count (test-runner-current)) 0)) (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 (define %store
(open-connection-for-tests)) (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") (test-begin "packages")