diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/allegro')
4 files changed, 120 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/allegro/5.nix b/nixpkgs/pkgs/development/libraries/allegro/5.nix new file mode 100644 index 000000000000..b267c62d6c70 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/allegro/5.nix @@ -0,0 +1,44 @@ +{ stdenv, fetchFromGitHub, fetchpatch, texinfo, libXext, xorgproto, libX11 +, libXpm, libXt, libXcursor, alsaLib, cmake, zlib, libpng, libvorbis +, libXxf86dga, libXxf86misc +, libXxf86vm, openal, libGLU_combined, libjpeg, flac +, libXi, libXfixes, freetype, libopus, libtheora +, physfs, enet, pkgconfig, gtk2, pcre, libpulseaudio, libpthreadstubs +, libXdmcp +}: + +stdenv.mkDerivation rec { + pname = "allegro"; + version = "5.2.5.0"; + + src = fetchFromGitHub { + owner = "liballeg"; + repo = "allegro5"; + rev = version; + sha256 = "1jrnizpwznyxz2c7zb75lfy7l51ww5jlqfaahcrycfj1xay9mpqp"; + }; + + buildInputs = [ + texinfo libXext xorgproto libX11 libXpm libXt libXcursor + alsaLib cmake zlib libpng libvorbis libXxf86dga libXxf86misc + libXxf86vm openal libGLU_combined + libjpeg flac + libXi libXfixes + enet libtheora freetype physfs libopus pkgconfig gtk2 pcre libXdmcp + libpulseaudio libpthreadstubs + ]; + + postPatch = '' + sed -e 's@/XInput2.h@/XI2.h@g' -i CMakeLists.txt "src/"*.c + ''; + + cmakeFlags = [ "-DCMAKE_SKIP_RPATH=ON" ]; + + meta = with stdenv.lib; { + description = "A game programming library"; + homepage = https://liballeg.org/; + license = licenses.zlib; + maintainers = [ maintainers.raskin ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/allegro/allegro4-mesa-18.2.5.patch b/nixpkgs/pkgs/development/libraries/allegro/allegro4-mesa-18.2.5.patch new file mode 100644 index 000000000000..c49ebb550f3f --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/allegro/allegro4-mesa-18.2.5.patch @@ -0,0 +1,26 @@ +--- a/addons/allegrogl/include/alleggl.h ++++ b/addons/allegrogl/include/alleggl.h +@@ -63,9 +63,11 @@ typedef __int64 INT64; + /* HACK: Prevent both Mesa and SGI's broken headers from screwing us */ + #define __glext_h_ + #define __glxext_h_ ++#define __glx_glxext_h_ + #include <GL/gl.h> + #undef __glext_h_ + #undef __glxext_h_ ++#undef __glx_glxext_h_ + + #endif /* ALLEGRO_MACOSX */ + +--- a/addons/allegrogl/include/allegrogl/GLext/glx_ext_defs.h ++++ b/addons/allegrogl/include/allegrogl/GLext/glx_ext_defs.h +@@ -1,7 +1,9 @@ + /* HACK: Prevent both Mesa and SGI's broken headers from screwing us */ + #define __glxext_h_ ++#define __glx_glxext_h_ + #include <GL/glx.h> + #undef __glxext_h_ ++#undef __glx_glxext_h_ + + #ifndef GLX_VERSION_1_3 + #define AGLX_VERSION_1_3 diff --git a/nixpkgs/pkgs/development/libraries/allegro/default.nix b/nixpkgs/pkgs/development/libraries/allegro/default.nix new file mode 100644 index 000000000000..eca32b740e35 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/allegro/default.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl, texinfo, libXext, xorgproto, libX11 +, libXpm, libXt, libXcursor, alsaLib, cmake, zlib, libpng, libvorbis +, libXxf86dga, libXxf86misc +, libXxf86vm, openal, libGLU_combined }: + +stdenv.mkDerivation rec { + name = "allegro-${version}"; + version="4.4.2"; + + src = fetchurl { + url = "https://github.com/liballeg/allegro5/releases/download/${version}/${name}.tar.gz"; + sha256 = "1p0ghkmpc4kwij1z9rzxfv7adnpy4ayi0ifahlns1bdzgmbyf88v"; + }; + + patches = [ + ./allegro4-mesa-18.2.5.patch + ./nix-unstable-sandbox-fix.patch + ]; + + buildInputs = [ + texinfo libXext xorgproto libX11 libXpm libXt libXcursor + alsaLib cmake zlib libpng libvorbis libXxf86dga libXxf86misc + libXxf86vm openal libGLU_combined + ]; + + hardeningDisable = [ "format" ]; + + cmakeFlags = [ "-DCMAKE_SKIP_RPATH=ON" ]; + + meta = with stdenv.lib; { + description = "A game programming library"; + homepage = https://liballeg.org/; + license = licenses.free; # giftware + maintainers = [ maintainers.raskin ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/allegro/nix-unstable-sandbox-fix.patch b/nixpkgs/pkgs/development/libraries/allegro/nix-unstable-sandbox-fix.patch new file mode 100644 index 000000000000..a227cea1ce7b --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/allegro/nix-unstable-sandbox-fix.patch @@ -0,0 +1,13 @@ +diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt +index 32ed053..73ba87f 100644 +--- a/docs/CMakeLists.txt ++++ b/docs/CMakeLists.txt +@@ -72,7 +72,7 @@ foreach(page ${DOC_SRCS}) + string(REPLACE "._tx" "" basename ${basename}) + + set(page ${CMAKE_CURRENT_SOURCE_DIR}/${page}) +- if(${page} MATCHES "/build/") ++ if(${page} MATCHES ".+/build/") + set(txt_out ${CMAKE_CURRENT_BINARY_DIR}/build/${basename}.txt) + set(html_out ${CMAKE_CURRENT_BINARY_DIR}/build/${basename}.html) + else() |