summary refs log tree commit diff
path: root/pkgs/applications/emulators/openmsx/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/emulators/openmsx/default.nix')
-rw-r--r--pkgs/applications/emulators/openmsx/default.nix75
1 files changed, 75 insertions, 0 deletions
diff --git a/pkgs/applications/emulators/openmsx/default.nix b/pkgs/applications/emulators/openmsx/default.nix
new file mode 100644
index 00000000000..f054b954b59
--- /dev/null
+++ b/pkgs/applications/emulators/openmsx/default.nix
@@ -0,0 +1,75 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, SDL2
+, SDL2_image
+, SDL2_ttf
+, alsa-lib
+, freetype
+, glew
+, libGL
+, libogg
+, libpng
+, libtheora
+, libvorbis
+, python
+, tcl
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "openmsx";
+  version = "17.0";
+
+  src = fetchFromGitHub {
+    owner = "openMSX";
+    repo = "openMSX";
+    rev = "RELEASE_${builtins.replaceStrings ["."] ["_"] version}";
+    sha256 = "sha256-9PdUNahJZ2O6ASkzLW/uudP3hiIzTDpxzFy6Pjb8JiU=";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    python
+  ];
+
+  buildInputs = [
+    SDL2
+    SDL2_image
+    SDL2_ttf
+    alsa-lib
+    freetype
+    glew
+    libGL
+    libogg
+    libpng
+    libtheora
+    libvorbis
+    tcl
+    zlib
+  ];
+
+  postPatch = ''
+    cp ${./custom-nix.mk} build/custom.mk
+  '';
+
+  dontAddPrefix = true;
+
+  # Many thanks @mthuurne from OpenMSX project for providing support to
+  # Nixpkgs! :)
+  TCL_CONFIG="${tcl}/lib/";
+
+  meta = with lib; {
+    homepage = "https://openmsx.org";
+    description = "The MSX emulator that aims for perfection";
+    longDescription = ''
+      OpenMSX is an emulator for the MSX home computer system. Its goal is
+      to emulate all aspects of the MSX with 100% accuracy.
+    '';
+    license = with licenses; [ bsd2 boost gpl2Plus ];
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}