diff options
Diffstat (limited to 'pkgs/tools/games/pokefinder/default.nix')
-rw-r--r-- | pkgs/tools/games/pokefinder/default.nix | 47 |
1 files changed, 38 insertions, 9 deletions
diff --git a/pkgs/tools/games/pokefinder/default.nix b/pkgs/tools/games/pokefinder/default.nix index fe2c8bdf560..1ddde132d1a 100644 --- a/pkgs/tools/games/pokefinder/default.nix +++ b/pkgs/tools/games/pokefinder/default.nix @@ -1,45 +1,74 @@ { lib , stdenv +, copyDesktopItems +, makeDesktopItem , fetchFromGitHub , cmake , qtbase , qttools , qtwayland +, imagemagick , wrapQtAppsHook , gitUpdater }: stdenv.mkDerivation rec { pname = "pokefinder"; - version = "4.0.1"; + version = "4.1.1"; src = fetchFromGitHub { owner = "Admiral-Fish"; repo = "PokeFinder"; rev = "v${version}"; - sha256 = "j7xgjNF8NWLFVPNItWcFM5WL8yPxgHxVX00x7lt45WI="; + sha256 = "fYBeWc9eYLbj4+ku1jwaO5ISL8a7WJnBHJ4qz4W8RHA="; fetchSubmodules = true; + # the repo has identical cmake and CMake folders, causing issues on macOS + postFetch = if stdenv.isDarwin then '' + mv $out/cmake $out/cmake.tmp + mv $out/cmake.tmp $out/CMake + '' else '' + rm -rf $out/cmake + ''; }; - patches = [ ./cstddef.patch ]; + patches = [ ./set-desktop-file-name.patch ]; postPatch = '' patchShebangs Source/Core/Resources/ ''; - installPhase = lib.optionalString (!stdenv.isDarwin) '' - install -D Source/Forms/PokeFinder $out/bin/PokeFinder - '' + lib.optionalString stdenv.isDarwin '' + installPhase = '' + runHook preInstall + '' + lib.optionalString (stdenv.isDarwin) '' mkdir -p $out/Applications - cp -R Source/Forms/PokeFinder.app $out/Applications + cp -R Source/PokeFinder.app $out/Applications + '' + lib.optionalString (!stdenv.isDarwin) '' + install -D Source/PokeFinder $out/bin/PokeFinder + mkdir -p $out/share/pixmaps + convert "$src/Source/Form/Images/pokefinder.ico[-1]" $out/share/pixmaps/pokefinder.png + '' + '' + runHook postInstall ''; - nativeBuildInputs = [ cmake wrapQtAppsHook ]; + nativeBuildInputs = [ cmake wrapQtAppsHook ] ++ lib.optionals (!stdenv.isDarwin) [ copyDesktopItems imagemagick ]; + + desktopItems = [ + (makeDesktopItem { + name = "pokefinder"; + exec = "PokeFinder"; + icon = "pokefinder"; + comment = "Cross platform Pokémon RNG tool"; + desktopName = "PokéFinder"; + categories = [ "Utility" ]; + }) + ]; buildInputs = [ qtbase qttools ] ++ lib.optionals stdenv.isLinux [ qtwayland ]; - passthru.updateScript = gitUpdater { }; + passthru.updateScript = gitUpdater { + rev-prefix = "v"; + }; meta = with lib; { homepage = "https://github.com/Admiral-Fish/PokeFinder"; |