22 stdenv ,
33 lib ,
44 fetchFromGitHub ,
5+ fetchpatch ,
56 gitUpdater ,
67 pkg-config ,
78 qmake ,
1718assert lib . versionAtLeast qtbase . version "6.0" -> qt5compat != null ;
1819
1920stdenv . mkDerivation ( finalAttrs : {
20- pname = "bambootracker" ;
21- version = "0.6.4 " ;
21+ pname = "bambootracker" + lib . optionalString ( lib . versionAtLeast qtbase . version "6.0" ) "-qt6" ;
22+ version = "0.6.5 " ;
2223
2324 src = fetchFromGitHub {
2425 owner = "BambooTracker" ;
2526 repo = "BambooTracker" ;
26- rev = "v${ finalAttrs . version } " ;
27+ tag = "v${ finalAttrs . version } " ;
2728 fetchSubmodules = true ;
28- hash = "sha256-tFUliKR55iZybNyYIF1FXh8RGf8jKEsGrWBuldB277g =" ;
29+ hash = "sha256-WoyOqInOOOIEwsMOc2yoTdh9UhJOvFKE1GfkxOuXDe0 =" ;
2930 } ;
3031
32+ patches = [
33+ # Remove when version > 0.6.5
34+ ( fetchpatch {
35+ name = "0001-bambootracker-Fix-compiler-warnings.patch" ;
36+ url = "https://github.com/BambooTracker/BambooTracker/commit/d670cf8b6113318cd938cf19be76b6b14d3635f1.patch" ;
37+ hash = "sha256-yyOMaOYKSc1hbbCL7wjFNPDmX2oMYo10J4hjZJss2zs=" ;
38+ } )
39+
40+ # Remove when version > 0.6.5
41+ ( fetchpatch {
42+ name = "0002-bambootracker-Fix-GCC15-compat.patch" ;
43+ url = "https://github.com/BambooTracker/BambooTracker/commit/92c0a7d1cfb05d1c6ae9482181c5c378082b772c.patch" ;
44+ hash = "sha256-6K0RZD0LevggxFr92LaNmq+eMgOFJgFX60IgAw7tYdM=" ;
45+ } )
46+
47+ # Remove when version > 0.6.5
48+ ( fetchpatch {
49+ name = "0003-bambootracker-Drop-unused-property.patch" ;
50+ url = "https://github.com/BambooTracker/BambooTracker/commit/de4459f0315f099d3e0a2d20b938ec76285f2d46.patch" ;
51+ hash = "sha256-zTh6i+hgQZ3kEid0IzQaR/PsrYlnhplccdlaS5g8FeA=" ;
52+ } )
53+ ] ;
54+
3155 postPatch = lib . optionalString ( lib . versionAtLeast qtbase . version "6.0" ) ''
3256 # Work around lrelease finding in qmake being broken by using pre-Qt5.12 code path
3357 # https://github.com/NixOS/nixpkgs/issues/214765
@@ -60,9 +84,9 @@ stdenv.mkDerivation (finalAttrs: {
6084 "CONFIG+=system_rtaudio"
6185 "CONFIG+=system_rtmidi"
6286 ]
63- ++ lib . optionals ( stdenv . cc . isClang || ( lib . versionAtLeast qtbase . version "6.0" ) ) [
87+ ++ lib . optionals stdenv . cc . isClang [
6488 # Clang is extra-strict about some deprecations
65- # Latest Qt6 deprecated QCheckBox::stateChanged(int)
89+ # https://github.com/BambooTracker/BambooTracker/issues/506
6690 "CONFIG+=no_warnings_are_errors"
6791 ] ;
6892
@@ -84,12 +108,12 @@ stdenv.mkDerivation (finalAttrs: {
84108 } ;
85109 } ;
86110
87- meta = with lib ; {
111+ meta = {
88112 description = "Tracker for YM2608 (OPNA) which was used in NEC PC-8801/9801 series computers" ;
89113 mainProgram = "BambooTracker" ;
90114 homepage = "https://bambootracker.github.io/BambooTracker/" ;
91- license = licenses . gpl2Plus ;
92- platforms = platforms . all ;
93- maintainers = with maintainers ; [ OPNA2608 ] ;
115+ license = lib . licenses . gpl2Plus ;
116+ platforms = lib . platforms . all ;
117+ maintainers = with lib . maintainers ; [ OPNA2608 ] ;
94118 } ;
95119} )
0 commit comments