diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/smpeg')
4 files changed, 120 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/smpeg/default.nix b/nixpkgs/pkgs/development/libraries/smpeg/default.nix new file mode 100644 index 000000000000..e28667883020 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/smpeg/default.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk2, m4, pkgconfig, libGLU_combined, makeWrapper }: + +stdenv.mkDerivation rec { + name = "smpeg-svn${version}"; + version = "390"; + + src = fetchsvn { + url = svn://svn.icculus.org/smpeg/trunk; + rev = version; + sha256 = "0ynwn7ih5l2b1kpzpibns9bb9wzfjak7mgrb1ji0dkn2q5pv6lr0"; + }; + + patches = [ + ./format.patch + ./gcc6.patch + ./libx11.patch + ]; + + enableParallelBuilding = true; + + buildInputs = [ SDL gtk2 libGLU_combined ]; + + nativeBuildInputs = [ autoconf automake libtool m4 pkgconfig makeWrapper ]; + + preConfigure = '' + touch NEWS AUTHORS ChangeLog + sh autogen.sh + ''; + + postInstall = '' + sed -i -e 's,"SDL.h",<SDL/SDL.h>,' \ + -e 's,"SDL_mutex.h",<SDL/SDL_mutex.h>,' \ + -e 's,"SDL_audio.h",<SDL/SDL_audio.h>,' \ + -e 's,"SDL_thread.h",<SDL/SDL_thread.h>,' \ + -e 's,"SDL_types.h",<SDL/SDL_types.h>,' \ + $out/include/smpeg/*.h + + wrapProgram $out/bin/smpeg-config \ + --prefix PATH ":" "${pkgconfig}/bin" \ + --prefix PKG_CONFIG_PATH ":" "${SDL.dev}/lib/pkgconfig" + ''; + + NIX_LDFLAGS = [ "-lX11" ]; + + meta = { + homepage = http://icculus.org/smpeg/; + description = "MPEG decoding library"; + license = stdenv.lib.licenses.gpl2Plus; + platforms = stdenv.lib.platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/smpeg/format.patch b/nixpkgs/pkgs/development/libraries/smpeg/format.patch new file mode 100644 index 000000000000..8486dee5cda4 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/smpeg/format.patch @@ -0,0 +1,11 @@ +--- a/plaympeg.c 2014-09-04 08:55:10.646132150 +0200 ++++ b/plaympeg.c 2014-09-04 08:56:57.465210820 +0200 +@@ -262,7 +262,7 @@ + answer[i] = c; + } + answer[i] = 0; +- fprintf(stderr, answer + 4); ++ fprintf(stderr, "%s", answer + 4); + } + while(answer[3] == '-'); + diff --git a/nixpkgs/pkgs/development/libraries/smpeg/gcc6.patch b/nixpkgs/pkgs/development/libraries/smpeg/gcc6.patch new file mode 100644 index 000000000000..165feb4428c2 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/smpeg/gcc6.patch @@ -0,0 +1,33 @@ +--- a/audio/hufftable.cpp ++++ b/audio/hufftable.cpp +@@ -9,6 +9,7 @@ + #include "config.h" + #endif + ++#include <climits> + #include "MPEGaudio.h" + + static const unsigned int +@@ -550,11 +551,11 @@ htd33[ 31][2]={{ 16, 1},{ 8, 1},{ 4, + + const HUFFMANCODETABLE MPEGaudio::ht[HTN]= + { +- { 0, 0-1, 0-1, 0, 0, htd33}, ++ { 0, UINT_MAX, UINT_MAX, 0, 0, htd33}, + { 1, 2-1, 2-1, 0, 7,htd01}, + { 2, 3-1, 3-1, 0, 17,htd02}, + { 3, 3-1, 3-1, 0, 17,htd03}, +- { 4, 0-1, 0-1, 0, 0, htd33}, ++ { 4, UINT_MAX, UINT_MAX, 0, 0, htd33}, + { 5, 4-1, 4-1, 0, 31,htd05}, + { 6, 4-1, 4-1, 0, 31,htd06}, + { 7, 6-1, 6-1, 0, 71,htd07}, +@@ -564,7 +565,7 @@ const HUFFMANCODETABLE MPEGaudio::ht[HTN + {11, 8-1, 8-1, 0,127,htd11}, + {12, 8-1, 8-1, 0,127,htd12}, + {13,16-1,16-1, 0,511,htd13}, +- {14, 0-1, 0-1, 0, 0, htd33}, ++ {14, UINT_MAX, UINT_MAX, 0, 0, htd33}, + {15,16-1,16-1, 0,511,htd15}, + {16,16-1,16-1, 1,511,htd16}, + {17,16-1,16-1, 2,511,htd16}, diff --git a/nixpkgs/pkgs/development/libraries/smpeg/libx11.patch b/nixpkgs/pkgs/development/libraries/smpeg/libx11.patch new file mode 100644 index 000000000000..8611073780f3 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/smpeg/libx11.patch @@ -0,0 +1,25 @@ +Index: smpeg-0.4.5+cvs20030824/Makefile.am +=================================================================== +--- smpeg-0.4.5+cvs20030824.orig/Makefile.am ++++ smpeg-0.4.5+cvs20030824/Makefile.am +@@ -74,7 +74,7 @@ + + # Sources for gtv + gtv_SOURCES = gtv.c gtv.h +-gtv_LDADD = @GTK_LIBS@ libsmpeg.la ++gtv_LDADD = @GTK_LIBS@ @X11_LIBS@ libsmpeg.la + + # Sources for glmovie + glmovie_SOURCES = glmovie-tile.c glmovie.c glmovie.h +Index: smpeg-0.4.5+cvs20030824/configure.in +=================================================================== +--- smpeg-0.4.5+cvs20030824.orig/configure.in ++++ smpeg-0.4.5+cvs20030824/configure.in +@@ -215,6 +215,7 @@ + CFLAGS="$CFLAGS $GTK_CFLAGS" + fi + AC_SUBST(GTK_LIBS) ++ PKG_CHECK_MODULES([X11], [x11]) + fi + AM_CONDITIONAL(HAVE_GTK, test x$have_gtk = xyes) + |