diff --git a/pkgs/by-name/pr/projectm-sdl-cpp/package.nix b/pkgs/by-name/pr/projectm-sdl-cpp/package.nix new file mode 100644 index 000000000000..8ef432e17b37 --- /dev/null +++ b/pkgs/by-name/pr/projectm-sdl-cpp/package.nix @@ -0,0 +1,64 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + libprojectm, + poco, + utf8proc, + SDL2, + unstableGitUpdater, +}: + +stdenv.mkDerivation { + pname = "projectm-sdl-cpp"; + version = "0-unstable-2024-08-07"; + + src = fetchFromGitHub { + owner = "projectM-visualizer"; + repo = "frontend-sdl-cpp"; + rev = "df6bfb51d7be335b4c258e2085f13d14e27f14a9"; + hash = "sha256-WcQMwI0i7hON31FpgBSSUoqqlENj6SUwKTXfl7i6jn4="; + fetchSubmodules = true; + }; + + # Probably an artifact of the vcpkg package + postPatch = '' + substituteInPlace ImGui.cmake \ + --replace-fail "SDL2::SDL2main" "" + substituteInPlace src/CMakeLists.txt \ + --replace-fail "SDL2::SDL2main" "" + ''; + + cmakeFlags = [ + # Doesn't seem to be present in the source tree, so the installation fails if enabled + (lib.cmakeBool "ENABLE_DESKTOP_ICON" false) + ]; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + libprojectm + poco + utf8proc + SDL2 + ]; + + # poco 1.14 requires c++17 + NIX_CFLAGS_COMPILE = [ "-std=gnu++17" ]; + + strictDeps = true; + + passthru.updateScript = unstableGitUpdater { }; + + meta = { + description = "Standalone application based on libprojectM and libSDL that turns your desktop audio into awesome visuals"; + homepage = "https://github.com/projectM-visualizer/frontend-sdl-cpp"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ fgaz ]; + mainProgram = "projectMSDL"; + platforms = lib.platforms.all; + }; +}