about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/raylib
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-04-09 18:28:16 +0000
committerAlyssa Ross <hi@alyssa.is>2021-04-12 18:46:15 +0000
commitfd2e737e0678ee7d8081baef05b305146a2c0034 (patch)
treeac3e9b27576a0382335532d126f9a66d486bc638 /nixpkgs/pkgs/development/libraries/raylib
parentcc207d720b6aa836e256c1ee9842bc739e630a8a (diff)
parent9e377a6ce42dccd9b624ae4ce8f978dc892ba0e2 (diff)
downloadnixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar
nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.gz
nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.bz2
nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.lz
nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.xz
nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.tar.zst
nixlib-fd2e737e0678ee7d8081baef05b305146a2c0034.zip
Merge remote-tracking branch 'nixpkgs/nixos-unstable'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/raylib')
-rw-r--r--nixpkgs/pkgs/development/libraries/raylib/default.nix54
1 files changed, 54 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/raylib/default.nix b/nixpkgs/pkgs/development/libraries/raylib/default.nix
new file mode 100644
index 000000000000..47d8fdb040b2
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/raylib/default.nix
@@ -0,0 +1,54 @@
+{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake,
+  mesa, libGLU, glfw,
+  libX11, libXi, libXcursor, libXrandr, libXinerama,
+  alsaSupport ? stdenv.hostPlatform.isLinux, alsaLib,
+  pulseSupport ? stdenv.hostPlatform.isLinux, libpulseaudio,
+  includeEverything ? true
+}:
+
+stdenv.mkDerivation rec {
+  pname = "raylib";
+  version = "3.5.0";
+
+  src = fetchFromGitHub {
+    owner = "raysan5";
+    repo = pname;
+    rev = version;
+    sha256 = "0syvd5js1lbx3g4cddwwncqg95l6hb3fdz5nsh5pqy7fr6v84kwj";
+  };
+
+  patches = [
+    # fixes examples not compiling in 3.5.0
+    (fetchpatch {
+      url = "https://patch-diff.githubusercontent.com/raw/raysan5/raylib/pull/1470.patch";
+      sha256 = "1ff5l839wl8dxwrs2bwky7kqa8kk9qmsflg31sk5vbil68dzbzg0";
+    })
+  ];
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [
+    mesa libGLU glfw libX11 libXi libXcursor libXrandr libXinerama
+  ] ++ lib.optional alsaSupport alsaLib
+    ++ lib.optional pulseSupport libpulseaudio;
+
+  # https://github.com/raysan5/raylib/wiki/CMake-Build-Options
+  cmakeFlags = [
+    "-DUSE_EXTERNAL_GLFW=ON"
+    "-DSHARED=ON"
+    "-DBUILD_EXAMPLES=OFF"
+  ] ++ lib.optional includeEverything "-DINCLUDE_EVERYTHING=ON";
+
+  # fix libasound.so/libpulse.so not being found
+  preFixup = ''
+    ${lib.optionalString alsaSupport "patchelf --add-needed ${alsaLib}/lib/libasound.so $out/lib/libraylib.so.${version}"}
+    ${lib.optionalString pulseSupport "patchelf --add-needed ${libpulseaudio}/lib/libpulse.so $out/lib/libraylib.so.${version}"}
+  '';
+
+  meta = with lib; {
+    description = "A simple and easy-to-use library to enjoy videogames programming";
+    homepage = "http://www.raylib.com/";
+    license = licenses.zlib;
+    maintainers = with maintainers; [ adamlwgriffiths ];
+    platforms = platforms.linux;
+  };
+}