python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / libraries / libsidplayfp / default.nix
blob26ee6c2413d461e7110a9cc2056afdbe8ece7f8f
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , nix-update-script
5 , autoreconfHook
6 , pkg-config
7 , perl
8 , unittest-cpp
9 , xa
10 , libgcrypt
11 , libexsid
12 , docSupport ? true
13 , doxygen
14 , graphviz
17 stdenv.mkDerivation rec {
18   pname = "libsidplayfp";
19   version = "2.4.0";
21   src = fetchFromGitHub {
22     owner = "libsidplayfp";
23     repo = "libsidplayfp";
24     rev = "v${version}";
25     fetchSubmodules = true;
26     sha256 = "sha256-o9VPOX50QTp3gVNv2MEizrm4WxW6mOBi8eiuyoe2XZQ=";
27   };
29   postPatch = ''
30     patchShebangs .
31   '';
33   nativeBuildInputs = [ autoreconfHook pkg-config perl xa ]
34     ++ lib.optionals docSupport [ doxygen graphviz ];
36   buildInputs = [ libgcrypt libexsid ];
38   doCheck = true;
40   checkInputs = [ unittest-cpp ];
42   enableParallelBuilding = true;
44   installTargets = [ "install" ]
45     ++ lib.optionals docSupport [ "doc" ];
47   outputs = [ "out" ]
48     ++ lib.optionals docSupport [ "doc" ];
50   configureFlags = [
51     "--enable-hardsid"
52     "--with-gcrypt"
53     "--with-exsid"
54   ]
55   ++ lib.optional doCheck "--enable-tests";
57   postInstall = lib.optionalString docSupport ''
58     mkdir -p $doc/share/doc/libsidplayfp
59     mv docs/html $doc/share/doc/libsidplayfp/
60   '';
62   passthru = {
63     updateScript = nix-update-script {
64       attrPath = pname;
65     };
66   };
68   meta = with lib; {
69     description = "A library to play Commodore 64 music derived from libsidplay2";
70     longDescription = ''
71       libsidplayfp is a C64 music player library which integrates
72       the reSID SID chip emulation into a cycle-based emulator
73       environment, constantly aiming to improve emulation of the
74       C64 system and the SID chips.
75     '';
76     homepage = "https://github.com/libsidplayfp/libsidplayfp";
77     license = with licenses; [ gpl2Plus ];
78     maintainers = with maintainers; [ ramkromberg OPNA2608 ];
79     platforms = platforms.all;
80   };