1{ lib, stdenv, fetchFromGitHub, SDL, autoconf, automake, libtool, gtk2, m4, pkg-config, libGLU, libGL, makeWrapper }:
2
3stdenv.mkDerivation rec {
4 pname = "smpeg";
5 version = "0.4.5";
6
7 src = fetchFromGitHub {
8 owner = "icculus";
9 repo = "smpeg";
10 rev = "release_${builtins.replaceStrings ["."] ["_"] version}";
11 sha256 = "sha256-nq/i7cFGpJXIuTwN/ScLMX7FN8NMdgdsRM9xOD3uycs=";
12 };
13
14 patches = [
15 ./format.patch
16 ./gcc6.patch
17 ./libx11.patch
18 ./gtk.patch
19 ];
20
21 enableParallelBuilding = true;
22
23 nativeBuildInputs = [ autoconf automake libtool m4 pkg-config makeWrapper ];
24
25 buildInputs = [ SDL gtk2 libGLU libGL ];
26
27 outputs = [ "out" "dev" ];
28
29 preConfigure = ''
30 touch NEWS AUTHORS ChangeLog
31 sh autogen.sh
32 '';
33
34 postInstall = ''
35 sed -i -e 's,"SDL.h",<SDL/SDL.h>,' \
36 -e 's,"SDL_mutex.h",<SDL/SDL_mutex.h>,' \
37 -e 's,"SDL_audio.h",<SDL/SDL_audio.h>,' \
38 -e 's,"SDL_thread.h",<SDL/SDL_thread.h>,' \
39 -e 's,"SDL_types.h",<SDL/SDL_types.h>,' \
40 $dev/include/smpeg/*.h
41
42 moveToOutput bin/smpeg-config "$dev"
43
44 wrapProgram $dev/bin/smpeg-config \
45 --prefix PATH ":" "${pkg-config}/bin" \
46 --prefix PKG_CONFIG_PATH ":" "${lib.getDev SDL}/lib/pkgconfig"
47 '';
48
49 NIX_LDFLAGS = "-lX11";
50
51 meta = {
52 homepage = "http://icculus.org/smpeg/";
53 description = "MPEG decoding library";
54 license = lib.licenses.gpl2Plus;
55 platforms = lib.platforms.unix;
56 };
57}