1{
2 lib,
3 SDL2,
4 SDL2_image,
5 SDL2_ttf,
6 alsa-lib,
7 fetchFromGitHub,
8 glibmm,
9 gtk3,
10 libGL,
11 libGLU,
12 meson,
13 ninja,
14 pkg-config,
15 python3,
16 sqlite,
17 stdenv,
18 wrapGAppsHook3,
19}:
20
21stdenv.mkDerivation rec {
22 pname = "linthesia";
23 version = "unstable-2023-05-23";
24
25 src = fetchFromGitHub {
26 owner = "linthesia";
27 repo = "linthesia";
28 rev = "1f2701241f8865c2f5c14a97b81ae64884cf0396";
29 sha256 = "sha256-3uPcpDUGtAGW9q/u8Cn+0bNqikII1Y/a0PKARW/5nao=";
30 };
31
32 postPatch = ''
33 patchShebangs meson_post_install.py
34 '';
35
36 nativeBuildInputs = [
37 meson
38 ninja
39 pkg-config
40 python3
41 wrapGAppsHook3
42 ];
43 buildInputs = [
44 libGL
45 libGLU
46 alsa-lib
47 glibmm
48 sqlite
49 SDL2
50 SDL2_ttf
51 SDL2_image
52 gtk3.out # icon cache
53 ];
54
55 meta = with lib; {
56 description = "Game of playing music using a MIDI keyboard following a MIDI file";
57 mainProgram = "linthesia";
58 inherit (src.meta) homepage;
59 license = licenses.gpl2Plus;
60 platforms = platforms.linux;
61 maintainers = [ ];
62 };
63}