about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/audio/monkeys-audio
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/audio/monkeys-audio')
-rw-r--r--nixpkgs/pkgs/applications/audio/monkeys-audio/buildfix.diff49
-rw-r--r--nixpkgs/pkgs/applications/audio/monkeys-audio/default.nix31
2 files changed, 80 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/audio/monkeys-audio/buildfix.diff b/nixpkgs/pkgs/applications/audio/monkeys-audio/buildfix.diff
new file mode 100644
index 000000000000..9684e5bf8e43
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/monkeys-audio/buildfix.diff
@@ -0,0 +1,49 @@
+diff --git a/src/MACLib/APELink.cpp b/src/MACLib/APELink.cpp
+index d349f4b..b00ec83 100644
+--- a/src/MACLib/APELink.cpp
++++ b/src/MACLib/APELink.cpp
+@@ -63,10 +63,10 @@ void CAPELink::ParseData(const char * pData, const str_utf16 * pFilename)
+     if (pData != NULL)
+     {
+         // parse out the information
+-        char * pHeader = strstr(pData, APE_LINK_HEADER);
+-        char * pImageFile = strstr(pData, APE_LINK_IMAGE_FILE_TAG);
+-        char * pStartBlock = strstr(pData, APE_LINK_START_BLOCK_TAG);
+-        char * pFinishBlock = strstr(pData, APE_LINK_FINISH_BLOCK_TAG);
++        const char * pHeader = strstr(pData, APE_LINK_HEADER);
++        const char * pImageFile = strstr(pData, APE_LINK_IMAGE_FILE_TAG);
++        const char * pStartBlock = strstr(pData, APE_LINK_START_BLOCK_TAG);
++        const char * pFinishBlock = strstr(pData, APE_LINK_FINISH_BLOCK_TAG);
+ 
+         if (pHeader && pImageFile && pStartBlock && pFinishBlock)
+         {
+@@ -81,7 +81,7 @@ void CAPELink::ParseData(const char * pData, const str_utf16 * pFilename)
+                 
+                 // get the path
+                 char cImageFile[MAX_PATH + 1]; int nIndex = 0;
+-                char * pImageCharacter = &pImageFile[strlen(APE_LINK_IMAGE_FILE_TAG)];
++                const char * pImageCharacter = &pImageFile[strlen(APE_LINK_IMAGE_FILE_TAG)];
+                 while ((*pImageCharacter != 0) && (*pImageCharacter != '\r') && (*pImageCharacter != '\n'))
+                     cImageFile[nIndex++] = *pImageCharacter++;
+                 cImageFile[nIndex] = 0;
+diff --git a/src/Shared/All.h b/src/Shared/All.h
+index 328addc..7730e89 100644
+--- a/src/Shared/All.h
++++ b/src/Shared/All.h
+@@ -21,6 +21,8 @@ Global includes
+     #include <windows.h>
+ #endif
+ 
++#include <stdlib.h>
++
+ #ifdef _WIN32
+     #include <mmsystem.h>
+     #include <tchar.h>
+@@ -34,7 +36,6 @@ Global includes
+     #include "NoWindows.h"
+ #endif
+ 
+-#include <stdlib.h>
+ #include <memory.h>
+ #include <stdio.h>
+ #include <math.h>
diff --git a/nixpkgs/pkgs/applications/audio/monkeys-audio/default.nix b/nixpkgs/pkgs/applications/audio/monkeys-audio/default.nix
new file mode 100644
index 000000000000..6165e2c6181a
--- /dev/null
+++ b/nixpkgs/pkgs/applications/audio/monkeys-audio/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, stdenv
+, fetchzip
+, cmake
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  version = "10.26";
+  pname = "monkeys-audio";
+
+  src = fetchzip {
+    url = "https://monkeysaudio.com/files/MAC_${
+      builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip";
+    sha256 = "sha256-SXuuAavvqzZ7DRX6SKfPfC1smbTHVHUAv80w0RHLfpg=";
+    stripRoot = false;
+  };
+  nativeBuildInputs = [
+    cmake
+  ];
+
+  meta = with lib; {
+    description = "APE codec and decompressor";
+    platforms = platforms.linux;
+    mainProgram = "mac";
+    # This is not considered a GPL license, but it seems rather free although
+    # it's not standard, see a quote of it:
+    # https://github.com/NixOS/nixpkgs/pull/171682#issuecomment-1120260551
+    license = licenses.free;
+    maintainers = with maintainers; [ doronbehar ];
+  };
+})