summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac4
-rw-r--r--gnu/packages/gnunet.scm12
-rw-r--r--gnu/packages/grub.scm2
-rw-r--r--gnu/packages/linux.scm61
-rw-r--r--gnu/packages/qemu.scm26
-rw-r--r--gnu/packages/sdl.scm139
6 files changed, 226 insertions, 18 deletions
diff --git a/configure.ac b/configure.ac
index 7a67efa2ea..252b8f71a2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -41,6 +41,10 @@ AC_ARG_ENABLE([daemon],
guix_localstatedir="`eval echo $localstatedir | sed -e "s|NONE|/usr/local|g"`"
AC_SUBST([guix_localstatedir])
+dnl We require the pkg.m4 set of macros from pkg-config.
+dnl Make sure it's available.
+m4_pattern_forbid([PKG_CHECK_MODULES])
+
PKG_CHECK_MODULES([GUILE], [guile-2.0 >= 2.0.5])
AC_PATH_PROG([GUILE], [guile])
AC_PATH_PROG([GUILD], [guild])
diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm
index 0f5f32b9b4..69cd74ee66 100644
--- a/gnu/packages/gnunet.scm
+++ b/gnu/packages/gnunet.scm
@@ -20,15 +20,18 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
+ #:use-module (gnu packages geeqie)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gnutls)
+ #:use-module (gnu packages gstreamer)
#:use-module (gnu packages libjpeg)
#:use-module (gnu packages libtiff)
#:use-module (gnu packages oggvorbis)
#:use-module (gnu packages openssl)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages video)
#:use-module ((guix licenses)
#:renamer (symbol-prefix-proc 'license:))
#:use-module (guix packages)
@@ -53,13 +56,10 @@
;; The following dependencies are all optional, but should be
;; available for maximum coverage:
;; * libarchive
- ;; * libavutil / libavformat / libavcodec / libswscale (ffmpeg)
- ;; * libexiv2
;; * libgif (giflib)
;; * libgtk+ >= 3.0.0 (may probably drop glib then as a propagated input of
;; gtk)
;; * libgsf
- ;; * libgstreamer
;; * libmagic (file)
;; * libmpeg2
;; * libmp4v2
@@ -67,9 +67,13 @@
;; * libsmf
;; * libtidy
(inputs
- `(("gettext" ,gnu-gettext)
+ `(("exiv2" ,exiv2)
("flac" ,flac)
+ ("ffmpeg" ,ffmpeg)
+ ("gettext" ,gnu-gettext)
("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
("libjpeg" ,libjpeg)
("libogg" ,libogg)
("libtiff" ,libtiff)
diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm
index c24dcaefd9..9ed0ed78e1 100644
--- a/gnu/packages/grub.scm
+++ b/gnu/packages/grub.scm
@@ -38,7 +38,7 @@
;; <https://bugs.launchpad.net/bugs/947597> and fixed at
;; <http://bzr.savannah.gnu.org/lh/grub/trunk/grub/revision/4828>.
;; Work around it by using an older QEMU.
- (package (inherit qemu)
+ (package (inherit qemu-headless)
(version "1.3.1")
(source (origin
(method url-fetch)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index c1550550a7..738bdd3353 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -18,7 +18,8 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages linux)
- #:use-module (guix licenses)
+ #:use-module ((guix licenses)
+ #:hide (zlib))
#:use-module (gnu packages)
#:use-module ((gnu packages compression)
#:renamer (symbol-prefix-proc 'guix:))
@@ -755,3 +756,61 @@ Packets are forwarded based on Ethernet address, rather than IP address (like
a router). Since forwarding is done at Layer 2, all protocols can go
transparently through a bridge.")
(license gpl2+)))
+
+(define-public libnl
+ (package
+ (name "libnl")
+ (version "3.2.13")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://www.infradead.org/~tgr/libnl/files/libnl-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1ydw42lsd572qwrfgws97n76hyvjdpanwrxm03lysnhfxkna1ssd"))))
+ (build-system gnu-build-system)
+ (native-inputs `(("flex" ,flex) ("bison" ,bison)))
+ (home-page "http://www.infradead.org/~tgr/libnl/")
+ (synopsis "NetLink protocol library suite")
+ (description
+ "The libnl suite is a collection of libraries providing APIs to netlink
+protocol based Linux kernel interfaces. Netlink is an IPC mechanism primarly
+between the kernel and user space processes. It was designed to be a more
+flexible successor to ioctl to provide mainly networking related kernel
+configuration and monitoring interfaces.")
+
+ ;; Most files are LGPLv2.1-only, but some are GPLv2-only (like
+ ;; 'nl-addr-add.c'), so the result is GPLv2-only.
+ (license gpl2)))
+
+(define-public powertop
+ (package
+ (name "powertop")
+ (version "2.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://01.org/powertop/sites/default/files/downloads/powertop-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "02rwqbpasdayl201v0549gbp2f82rd0hqiv3i111r7npanjhhb4b"))))
+ (build-system gnu-build-system)
+ (inputs
+ ;; TODO: Add pciutils.
+ `(("zlib" ,guix:zlib)
+ ("pkg-config" ,pkg-config)
+ ;; ("pciutils" ,pciutils)
+ ("ncurses" ,ncurses)
+ ("libnl" ,libnl)))
+ (home-page "https://01.org/powertop/")
+ (synopsis "Analyze power consumption on Intel-based laptops")
+ (description
+ "PowerTOP is a Linux tool to diagnose issues with power consumption and
+power management. In addition to being a diagnostic tool, PowerTOP also has
+an interactive mode where the user can experiment various power management
+settings for cases where the operating system has not enabled these
+settings.")
+ (license gpl2)))
diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm
index 8efde67595..406d4d12af 100644
--- a/gnu/packages/qemu.scm
+++ b/gnu/packages/qemu.scm
@@ -36,12 +36,13 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages samba)
#:use-module (gnu packages xorg)
+ #:use-module (gnu packages sdl)
#:use-module (gnu packages perl))
-(define-public qemu
- ;; Since QEMU 1.3, it incorporates KVM support formerly found in QEMU-KVM.
+(define-public qemu-headless
+ ;; This is QEMU without GUI support.
(package
- (name "qemu")
+ (name "qemu-headless")
(version "1.5.1")
(source (origin
(method url-fetch)
@@ -91,8 +92,7 @@
%standard-phases))))
(inputs ; TODO: Add optional inputs.
- `(;; ("mesa" ,mesa)
- ;; ("libaio" ,libaio)
+ `(;; ("libaio" ,libaio)
("glib" ,glib)
("python" ,python-2) ; incompatible with Python 3 according to error message
("ncurses" ,ncurses)
@@ -104,7 +104,6 @@
;; ("pciutils" ,pciutils)
("pkg-config" ,pkg-config)
("alsa-lib" ,alsa-lib)
- ;; ("SDL" ,SDL)
("zlib" ,zlib)
("attr" ,attr)
("samba" ,samba))) ; an optional dependency
@@ -112,7 +111,7 @@
("perl" ,perl)))
(home-page "http://www.qemu-project.org")
- (synopsis "Machine emulator and virtualizer")
+ (synopsis "Machine emulator and virtualizer (without GUI)")
(description
"QEMU is a generic machine emulator and virtualizer.
@@ -132,8 +131,17 @@ server and embedded PowerPC, and S390 guests.")
(define-public qemu/smb-shares
;; A patched QEMU where `-net smb' yields two shares instead of one: one for
;; the store, and another one for exchanges with the host.
- (package (inherit qemu)
+ (package (inherit qemu-headless)
(name "qemu-with-multiple-smb-shares")
- (source (origin (inherit (package-source qemu))
+ (source (origin (inherit (package-source qemu-headless))
(patches
(list (search-patch "qemu-multiple-smb-shares.patch")))))))
+
+(define-public qemu
+ ;; QEMU with GUI support.
+ (package (inherit qemu-headless)
+ (name "qemu")
+ (synopsis "Machine emulator and virtualizer")
+ (inputs `(("sdl" ,sdl)
+ ("mesa" ,mesa)
+ ,@(package-inputs qemu-headless)))))
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index e8fd65cf5c..fa1b5da4eb 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -22,13 +22,24 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
+ #:use-module ((gnu packages fontutils) #:prefix font:)
+ #:use-module (gnu packages libjpeg)
+ #:use-module (gnu packages libpng)
+ #:use-module (gnu packages libtiff)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages mp3)
+ #:use-module (gnu packages oggvorbis)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages xorg)
#:export (sdl
sdl2
- libmikmod))
+ libmikmod
+ sdl-gfx
+ sdl-image
+ sdl-mixer
+ sdl-net
+ sdl-ttf))
(define sdl
(package
@@ -44,8 +55,10 @@
"005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f)) ; no check target
- (inputs `(("libx11" ,libx11)
- ("libxrandr" ,libxrandr)
+ (propagated-inputs
+ ;; SDL headers include X11 headers.
+ `(("libx11" ,libx11)))
+ (inputs `(("libxrandr" ,libxrandr)
("mesa" ,mesa)
("alsa-lib" ,alsa-lib)
("pkg-config" ,pkg-config)
@@ -92,3 +105,123 @@ digital sound files. It can take advantage of particular features of your
system, such as sound redirection over the network.")
(license lgpl2.1)
(home-page "http://mikmod.sourceforge.net/")))
+
+(define sdl-gfx
+ (package
+ (name "sdl-gfx")
+ (version "2.0.24")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "http://www.ferzkopp.net/Software/SDL_gfx-2.0/SDL_gfx-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "064islldm4r42lgj9fr4kbk66r7jmmakk9745hhyb1kmw71kib9h"))))
+ (build-system gnu-build-system)
+ (propagated-inputs `(("sdl" ,sdl)))
+ (synopsis "SDL graphics primitives library")
+ (description "SDL_gfx provides graphics drawing primitives, rotozoom and
+other supporting functions for SDL.")
+ (home-page "http://www.ferzkopp.net/joomla/software-mainmenu-14/4-ferzkopps-linux-software/19-sdlgfx")
+ (license zlib)))
+
+(define sdl-image
+ (package
+ (name "sdl-image")
+ (version "1.2.12")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "http://www.libsdl.org/projects/SDL_image/release/SDL_image-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "16an9slbb8ci7d89wakkmyfvp7c0cval8xw4hkg0842nhhlp540b"))))
+ (build-system gnu-build-system)
+ ;; FIXME: Add webp
+ (inputs `(("libpng" ,libpng)
+ ("libjpeg" ,libjpeg)
+ ("libtiff" ,libtiff)
+ ("pkg-config" ,pkg-config)))
+ (propagated-inputs `(("sdl" ,sdl)))
+ (synopsis "SDL image loading library")
+ (description "SDL_image is an image file loading library for SDL that
+supports the following formats: BMP, GIF, JPEG, LBM, PCX, PNG, PNM, TGA, TIFF,
+WEBP, XCF, XPM, and XV.")
+ (home-page "www.libsdl.org/projects/SDL_image/")
+ (license zlib)))
+
+(define sdl-mixer
+ (package
+ (name "sdl-mixer")
+ (version "1.2.12")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "0alrhqgm40p4c92s26mimg9cm1y7rzr6m0p49687jxd9g6130i0n"))))
+ (build-system gnu-build-system)
+ ;; no check target
+ ;; use libmad instead of smpeg
+ (arguments `(#:tests? #f
+ #:configure-flags '("--enable-music-mp3-mad-gpl")))
+ (inputs `(("libvorbis" ,libvorbis)
+ ("libflac" ,flac)
+ ("libmad" ,libmad)
+ ("libmikmod" ,libmikmod)))
+ ;; FIXME: Add libfluidsynth
+ (propagated-inputs `(("sdl" ,sdl)))
+ (synopsis "SDL multi-channel audio mixer library")
+ (description "SDL_mixer is a multi-channel audio mixer library for SDL.
+It supports any number of simultaneously playing channels of 16 bit stereo
+audio, plus a single channel of music. Supported format include FLAC, MOD,
+MIDI, Ogg Vorbis, and MP3.")
+ (home-page "www.libsdl.org/projects/SDL_mixer/")
+ (license zlib)))
+
+(define sdl-net
+ (package
+ (name "sdl-net")
+ (version "1.2.8")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "http://www.libsdl.org/projects/SDL_net/release/SDL_net-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1d5c9xqlf4s1c01gzv6cxmg0r621pq9kfgxcg3197xw4p25pljjz"))))
+ (build-system gnu-build-system)
+ (propagated-inputs `(("sdl" ,sdl)))
+ (inputs `(("pkg-config" ,pkg-config)))
+ (synopsis "SDL networking library")
+ (description "SDL_net is a small, cross-platform networking library for
+SDL.")
+ (home-page "www.libsdl.org/projects/SDL_net/")
+ (license zlib)))
+
+(define sdl-ttf
+ (package
+ (name "sdl-ttf")
+ (version "2.0.11")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1dydxd4f5kb1288i5n5568kdk2q7f8mqjr7i7sd33nplxjaxhk3j"))))
+ (build-system gnu-build-system)
+ (propagated-inputs `(("sdl" ,sdl)))
+ (inputs `(("freetype" ,font:freetype)
+ ("mesa" ,mesa)
+ ("pkg-config" ,pkg-config)))
+ (synopsis "SDL TrueType font library")
+ (description "SDL_ttf is a TrueType font rendering library for SDL.")
+ (home-page "www.libsdl.org/projects/SDL_ttf/")
+ (license zlib)))