Unverified Commit da404cff authored by Sefa Eyeoglu's avatar Sefa Eyeoglu Committed by GitHub
Browse files

vgmtrans: init at 1.2, libbassmidi: init at 2.4.15.3 (#321129)

parents 00cd61f5 46bbcb7e
Loading
Loading
Loading
Loading
+74 −0
Original line number Diff line number Diff line
{
  lib,
  stdenv,
  fetchFromGitHub,
  fetchpatch2,
  cmake,
  ninja,
  qt6,
  spdlog,
  zlib-ng,
  minizip-ng,
  libbass,
  libbassmidi,
}:
stdenv.mkDerivation (finalAttrs: {
  pname = "vgmtrans";
  version = "1.2";

  src = fetchFromGitHub {
    owner = "vgmtrans";
    repo = "vgmtrans";
    rev = "refs/tags/v${finalAttrs.version}";
    hash = "sha256-HVC45B1DFThZRkPVrroiay+9ufkOrTMUZoNIuC1CjjM=";
  };

  patches = [
    # https://github.com/vgmtrans/vgmtrans/pull/567
    (fetchpatch2 {
      name = "fix-version-string.patch";
      url = "https://github.com/vgmtrans/vgmtrans/commit/5ad8a60a19476d2ae9a7c409b83ab6d5e1ff827f.patch?full_index=1";
      hash = "sha256-I5ykYzj3tUBQ2e3TAnCm5Ry1Hmmi2IVneFQCe5/JV/A=";
    })
  ];

  nativeBuildInputs = [
    cmake
    ninja
    qt6.wrapQtAppsHook
  ];

  buildInputs = [
    qt6.qtbase
    qt6.qtsvg
    libbass
    libbassmidi
  ];

  preConfigure = ''
    rm -r lib/{spdlog,zlib-ng,minizip-ng}
    ln -s ${spdlog.src} lib/spdlog
    ln -s ${zlib-ng.src} lib/zlib-ng
    ln -s ${minizip-ng.src} lib/minizip-ng
  '';

  meta = {
    description = "Tool to convert proprietary, sequenced videogame music to industry-standard formats";
    homepage = "https://github.com/vgmtrans/vgmtrans";
    license = with lib.licenses; [
      zlib
      libpng
      bsd3 # oki_adpcm_state
    ];
    # See CMakePresets.json
    platforms = [
      "x86_64-linux"
      "x86_64-darwin"
      "aarch64-darwin"
      "x86_64-windows"
      "aarch64-windows"
    ];
    maintainers = with lib.maintainers; [ pluiedev ];
    mainProgram = "vgmtrans";
  };
})
+13 −0
Original line number Diff line number Diff line
@@ -35,6 +35,19 @@ let
      hash = "sha256-Hul2ELwnaDV8TDRMDXoFisle31GATDkf3PdkR2K9QTs=";
    };

    bassmidi = {
      h = "bassmidi.h";
      version = "2.4.15.3";
      so = {
        i686_linux = "libs/x86/libbassmidi.so";
        x86_64-linux = "libs/x86_64/libbassmidi.so";
        armv7l-linux = "libs/armhf/libbassmidi.so";
        aarch64-linux = "libs/aarch64/libbassmidi.so";
      };
      url = "https://web.archive.org/web/20240501180447/http://www.un4seen.com/files/bassmidi24-linux.zip";
      hash = "sha256-HrF1chhGk32bKN3jwal44Tz/ENGe/zORsrLPeGAv1OE=";
    };

    bassmix = {
      h = "bassmix.h";
      version = "2.4.12";
+1 −0
Original line number Diff line number Diff line
@@ -9926,6 +9926,7 @@ with pkgs;
  libbass = (callPackage ../development/libraries/audio/libbass { }).bass;
  libbass_fx = (callPackage ../development/libraries/audio/libbass { }).bass_fx;
  libbassmidi = (callPackage ../development/libraries/audio/libbass { }).bassmidi;
  libbassmix = (callPackage ../development/libraries/audio/libbass { }).bassmix;
  libbluray = callPackage ../development/libraries/libbluray {