summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages')
-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
5 files changed, 222 insertions, 18 deletions
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)))