From 0d85a83ce1c464c773abbdb4d092ad8246b6bf7a Mon Sep 17 00:00:00 2001 From: Anderson Torres Date: Fri, 10 May 2024 20:12:56 -0300 Subject: [PATCH] SDL2_gfx: refactor - get rid of pname - strictDeps - split outputs - sdl team --- pkgs/by-name/sd/SDL2_gfx/package.nix | 80 ++++++++++++++++++---------- 1 file changed, 52 insertions(+), 28 deletions(-) diff --git a/pkgs/by-name/sd/SDL2_gfx/package.nix b/pkgs/by-name/sd/SDL2_gfx/package.nix index 83b57b42c7cd..7c0b5caa68aa 100644 --- a/pkgs/by-name/sd/SDL2_gfx/package.nix +++ b/pkgs/by-name/sd/SDL2_gfx/package.nix @@ -1,51 +1,75 @@ -{ lib, stdenv, darwin, fetchurl, pkg-config, SDL2, testers }: +{ lib, + SDL2, + darwin, + fetchurl, + pkg-config, + stdenv, + testers, + # Boolean flags + enableMmx ? stdenv.hostPlatform.isx86, + enableSdltest ? (!stdenv.isDarwin), +}: stdenv.mkDerivation (finalAttrs: { pname = "SDL2_gfx"; version = "1.0.4"; src = fetchurl { - url = "http://www.ferzkopp.net/Software/${finalAttrs.pname}/${finalAttrs.pname}-${finalAttrs.version}.tar.gz"; - sha256 = "0qk2ax7f7grlxb13ba0ll3zlm8780s7j8fmrhlpxzjgdvldf1q33"; + url = "http://www.ferzkopp.net/Software/SDL2_gfx/SDL2_gfx-${finalAttrs.version}.tar.gz"; + hash = "sha256-Y+DgGt3tyd8vhbk6JI8G6KBK/6AUqDXC6jS/405XYmI="; }; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ + SDL2 + pkg-config + ]; - buildInputs = [ SDL2 ] - ++ lib.optional stdenv.isDarwin darwin.libobjc; + buildInputs = [ + SDL2 + ] + ++ lib.optionals stdenv.isDarwin [ + darwin.libobjc + ]; - configureFlags = [(if stdenv.hostPlatform.isx86 then "--enable-mmx" else "--disable-mmx")] - ++ lib.optional stdenv.isDarwin "--disable-sdltest"; + outputs = [ "out" "dev" ]; - passthru.tests.pkg-config = testers.hasPkgConfigModules { - package = finalAttrs.finalPackage; + configureFlags = [ + (lib.enableFeature enableMmx "mmx") + (lib.enableFeature enableSdltest "sdltest") + ]; + + strictDeps = true; + + passthru = { + tests.pkg-config = testers.hasPkgConfigModules { + package = finalAttrs.finalPackage; + }; }; - meta = with lib; { + meta = { + homepage = "http://www.ferzkopp.net/wordpress/2016/01/02/sdl_gfx-sdl2_gfx/"; description = "SDL graphics drawing primitives and support functions"; - longDescription = '' - The SDL_gfx library evolved out of the SDL_gfxPrimitives code - which provided basic drawing routines such as lines, circles or - polygons and SDL_rotozoom which implemented a interpolating - rotozoomer for SDL surfaces. + The SDL_gfx library evolved out of the SDL_gfxPrimitives code which + provided basic drawing routines such as lines, circles or polygons and + SDL_rotozoom which implemented a interpolating rotozoomer for SDL + surfaces. The current components of the SDL_gfx library are: - * Graphic Primitives (SDL_gfxPrimitves.h) - * Rotozoomer (SDL_rotozoom.h) - * Framerate control (SDL_framerate.h) - * MMX image filters (SDL_imageFilter.h) - * Custom Blit functions (SDL_gfxBlitFunc.h) + - Graphic Primitives (SDL_gfxPrimitves.h) + - Rotozoomer (SDL_rotozoom.h) + - Framerate control (SDL_framerate.h) + - MMX image filters (SDL_imageFilter.h) + - Custom Blit functions (SDL_gfxBlitFunc.h) - The library is backwards compatible to the above mentioned - code. Its is written in plain C and can be used in C++ code. + The library is backwards compatible to the above mentioned code. Its is + written in plain C and can be used in C++ code. ''; - - homepage = "http://www.ferzkopp.net/wordpress/2016/01/02/sdl_gfx-sdl2_gfx/"; - license = licenses.zlib; - maintainers = with maintainers; [ cpages ]; - platforms = platforms.unix; + license = lib.licenses.zlib; + maintainers = lib.teams.sdl.members + ++ (with lib.maintainers; [ cpages ]); pkgConfigModules = [ "SDL2_gfx" ]; + inherit (SDL2.meta) platforms; }; })