btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / by-name / si / sidplayfp / package.nix
blobac1b3aa55278cd3b1ae9804bf2d660732c0d64c0
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , nix-update-script
5 , alsaSupport ? stdenv.hostPlatform.isLinux
6 , alsa-lib
7 , autoreconfHook
8 , pulseSupport ? stdenv.hostPlatform.isLinux
9 , libpulseaudio
10 , libsidplayfp
11 , out123Support ? stdenv.hostPlatform.isDarwin
12 , mpg123
13 , perl
14 , pkg-config
17 stdenv.mkDerivation (finalAttrs: {
18   pname = "sidplayfp";
19   version = "2.11.0";
21   src = fetchFromGitHub {
22     owner = "libsidplayfp";
23     repo = "sidplayfp";
24     rev = "v${finalAttrs.version}";
25     hash = "sha256-X2ds7pYglxvwLOHXfCULwSeWAS9l2Y3PUdSxcuugwHs=";
26   };
28   strictDeps = true;
30   nativeBuildInputs = [
31     autoreconfHook
32     perl
33     pkg-config
34   ];
36   buildInputs = [
37     libsidplayfp
38   ] ++ lib.optionals alsaSupport [
39     alsa-lib
40   ] ++ lib.optionals pulseSupport [
41     libpulseaudio
42   ] ++ lib.optionals out123Support [
43     mpg123
44   ];
46   configureFlags = [
47     (lib.strings.withFeature out123Support "out123")
48   ];
50   enableParallelBuilding = true;
52   passthru = {
53     updateScript = nix-update-script { };
54   };
56   meta = with lib; {
57     description = "SID player using libsidplayfp";
58     homepage = "https://github.com/libsidplayfp/sidplayfp";
59     license = with licenses; [ gpl2Plus ];
60     mainProgram = "sidplayfp";
61     maintainers = with maintainers; [ dezgeg OPNA2608 ];
62     platforms = platforms.all;
63   };