commit:     44c26d5015cc5bcfa96159da02e6a27be7bf5bc3
Author:     Daniel Pielmeier <billie <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  4 18:31:46 2017 +0000
Commit:     Daniel Pielmeier <billie <AT> gentoo <DOT> org>
CommitDate: Sat Mar  4 18:32:17 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=44c26d50

media-sound/mac: Version bump.

Monkeys Audio 4.11 taken from Debian Multimedia including patches.
Also includes gcc 6 patch from Github pull request #4119 thanks to
Harri Nieminen.

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 media-sound/mac/Manifest                          |   1 +
 media-sound/mac/files/mac-4.11.4.5.7-gcc6.patch   | 199 ++++++++++++++++++++++
 media-sound/mac/files/mac-4.11.4.5.7-output.patch |  27 +++
 media-sound/mac/mac-4.11.4.5.7.ebuild             |  59 +++++++
 4 files changed, 286 insertions(+)

diff --git a/media-sound/mac/Manifest b/media-sound/mac/Manifest
index 9e3e6d78b52..be07b3b6d7a 100644
--- a/media-sound/mac/Manifest
+++ b/media-sound/mac/Manifest
@@ -1 +1,2 @@
 DIST mac-3.99-u4-b5-s7.tar.gz 450981 SHA256 
9a735af2c56f05ee06b6e2ff719e902271299adf9e25cd3c9e4b28e8df3e30c5 SHA512 
fa7ca8cec0ba6c0fb78dda6e964b17e9331184fed656a2458d0e3ac12fc375a661adfd36c142ef63111f31c6b63e8c00fe40e7babe84f0cefe5433940be628e0
 WHIRLPOOL 
f4df5bccad06b7313348e9be734e926c1d511a2e3ca40162bc2c6a8cffb38c1455543fd7dc0a2352efa91945ae5546364085bd05888e906eb9e1c49fde7f743d
+DIST monkeys-audio_4.11-u4-b5-s7.orig.tar.gz 511190 SHA256 
73e28b7dbef5dfd07108b85783261a8a8bb1770917bf2877d4ab8f5c3833299a SHA512 
7e73b35c86d6007ab2a94a2d8b7449bb4ac505bbba53e40373a279dc83a9cad5f62a51419a6375335576cf325c88ed7d317b0ef3039b8a497100cb74a63c25d0
 WHIRLPOOL 
be9b56a45c8da00d1c6008d6955a7a9d4fd86e4a893a60b6b35ea426af38900493a213944f1a77451eb942a0d7d0c42e4af3d71c889bead2bc82e5d2732fa022

diff --git a/media-sound/mac/files/mac-4.11.4.5.7-gcc6.patch 
b/media-sound/mac/files/mac-4.11.4.5.7-gcc6.patch
new file mode 100644
index 00000000000..60494e4f6e5
--- /dev/null
+++ b/media-sound/mac/files/mac-4.11.4.5.7-gcc6.patch
@@ -0,0 +1,199 @@
+diff -Naur monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/APECompress.cpp 
monkeys-audio-4.11-u4-b5-s7/src/MACLib/APECompress.cpp
+--- monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/APECompress.cpp 2017-03-04 
17:07:21.952460418 +0100
++++ monkeys-audio-4.11-u4-b5-s7/src/MACLib/APECompress.cpp     2017-03-04 
17:11:58.607449387 +0100
+@@ -116,7 +116,7 @@
+             return ERROR_UNDEFINED;
+         
+         // calculate how many bytes to copy and add that much to the buffer
+-        int nBytesToProcess = min(nBytesAvailable, nBytes - nBytesDone);
++        int nBytesToProcess = min_macro(nBytesAvailable, nBytes - nBytesDone);
+         memcpy(pBuffer, &pData[nBytesDone], nBytesToProcess);
+                         
+         // unlock the buffer (fail if not successful)
+@@ -161,7 +161,7 @@
+         
+         while ((m_nBufferTail - m_nBufferHead) >= nThreshold)
+         {
+-            int nFrameBytes = min(m_spAPECompressCreate->GetFullFrameBytes(), 
m_nBufferTail - m_nBufferHead);
++            int nFrameBytes = 
min_macro(m_spAPECompressCreate->GetFullFrameBytes(), m_nBufferTail - 
m_nBufferHead);
+             
+             if (nFrameBytes == 0)
+                 break;
+diff -Naur monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/APEDecompress.cpp 
monkeys-audio-4.11-u4-b5-s7/src/MACLib/APEDecompress.cpp
+--- monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/APEDecompress.cpp       
2017-03-04 17:07:21.952460418 +0100
++++ monkeys-audio-4.11-u4-b5-s7/src/MACLib/APEDecompress.cpp   2017-03-04 
17:14:55.455442336 +0100
+@@ -36,8 +36,8 @@
+     m_nErrorDecodingCurrentFrameOutputSilenceBlocks = 0;
+ 
+     // set the "real" start and finish blocks
+-    m_nStartBlock = (nStartBlock < 0) ? 0 : min(nStartBlock, 
GetInfo(APE_INFO_TOTAL_BLOCKS));
+-    m_nFinishBlock = (nFinishBlock < 0) ? GetInfo(APE_INFO_TOTAL_BLOCKS) : 
min(nFinishBlock, GetInfo(APE_INFO_TOTAL_BLOCKS));
++    m_nStartBlock = (nStartBlock < 0) ? 0 : min_macro(nStartBlock, 
GetInfo(APE_INFO_TOTAL_BLOCKS));
++    m_nFinishBlock = (nFinishBlock < 0) ? GetInfo(APE_INFO_TOTAL_BLOCKS) : 
min_macro(nFinishBlock, GetInfo(APE_INFO_TOTAL_BLOCKS));
+     m_bIsRanged = (m_nStartBlock != 0) || (m_nFinishBlock != 
GetInfo(APE_INFO_TOTAL_BLOCKS));
+ }
+ 
+@@ -85,7 +85,7 @@
+ 
+     // cap
+     int nBlocksUntilFinish = m_nFinishBlock - m_nCurrentBlock;
+-    const int nBlocksToRetrieve = min(nBlocks, nBlocksUntilFinish);
++    const int nBlocksToRetrieve = min_macro(nBlocks, nBlocksUntilFinish);
+     
+     // get the data
+     unsigned char * pOutputBuffer = (unsigned char *) pBuffer;
+@@ -99,7 +99,7 @@
+ 
+         // analyze how much to remove from the buffer
+         const int nFrameBufferBlocks = m_nFrameBufferFinishedBlocks;
+-        nBlocksThisPass = min(nBlocksLeft, nFrameBufferBlocks);
++        nBlocksThisPass = min_macro(nBlocksLeft, nFrameBufferBlocks);
+ 
+         // remove as much as possible
+         if (nBlocksThisPass > 0)
+@@ -179,7 +179,7 @@
+         if (m_nErrorDecodingCurrentFrameOutputSilenceBlocks > 0)
+         {
+             // output silence
+-            int nOutputSilenceBlocks = 
min(m_nErrorDecodingCurrentFrameOutputSilenceBlocks, nBlocksLeft);
++            int nOutputSilenceBlocks = 
min_macro(m_nErrorDecodingCurrentFrameOutputSilenceBlocks, nBlocksLeft);
+             unsigned char cSilence = (GetInfo(APE_INFO_BITS_PER_SAMPLE) == 8) 
? 127 : 0;
+             for (int z = 0; z < nOutputSilenceBlocks * m_nBlockAlign; z++)
+             {
+@@ -204,7 +204,7 @@
+         // analyze
+         int nFrameOffsetBlocks = m_nCurrentFrameBufferBlock % 
GetInfo(APE_INFO_BLOCKS_PER_FRAME);
+         int nFrameBlocksLeft = nFrameBlocks - nFrameOffsetBlocks;
+-        int nBlocksThisPass = min(nFrameBlocksLeft, nBlocksLeft);
++        int nBlocksThisPass = min_macro(nFrameBlocksLeft, nBlocksLeft);
+ 
+         // start the frame if we need to
+         if (nFrameOffsetBlocks == 0)
+diff -Naur monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/APESimple.cpp 
monkeys-audio-4.11-u4-b5-s7/src/MACLib/APESimple.cpp
+--- monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/APESimple.cpp   2017-03-04 
17:07:21.952460418 +0100
++++ monkeys-audio-4.11-u4-b5-s7/src/MACLib/APESimple.cpp       2017-03-04 
17:17:41.695435707 +0100
+@@ -251,7 +251,7 @@
+     nBytesRead = 1;
+     while ((nBytesLeft > 0) && (nBytesRead > 0))
+     {
+-        int nBytesToRead = min(16384, nBytesLeft);
++        int nBytesToRead = min_macro(16384, nBytesLeft);
+         if (pIO->Read(spBuffer, nBytesToRead, &nBytesRead) != ERROR_SUCCESS)
+             return ERROR_IO_READ;
+ 
+diff -Naur monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/APETag.cpp 
monkeys-audio-4.11-u4-b5-s7/src/MACLib/APETag.cpp
+--- monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/APETag.cpp      2017-03-04 
17:07:21.952460418 +0100
++++ monkeys-audio-4.11-u4-b5-s7/src/MACLib/APETag.cpp  2017-03-04 
17:18:15.007434379 +0100
+@@ -15,7 +15,7 @@
+     memcpy(m_spFieldNameUTF16, pFieldName, (wcslen(pFieldName) + 1) * 
sizeof(str_utf16));
+     
+     // data (we'll always allocate two extra bytes and memset to 0 so we're 
safely NULL terminated)
+-    m_nFieldValueBytes = max(nFieldBytes, 0);
++    m_nFieldValueBytes = max_macro(nFieldBytes, 0);
+     m_spFieldValue.Assign(new char [m_nFieldValueBytes + 2], TRUE);
+     memset(m_spFieldValue, 0, m_nFieldValueBytes + 2);
+     if (m_nFieldValueBytes > 0)
+diff -Naur monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/BitArray.cpp 
monkeys-audio-4.11-u4-b5-s7/src/MACLib/BitArray.cpp
+--- monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/BitArray.cpp    2017-03-04 
17:07:21.952460418 +0100
++++ monkeys-audio-4.11-u4-b5-s7/src/MACLib/BitArray.cpp        2017-03-04 
17:19:12.647432081 +0100
+@@ -113,7 +113,7 @@
+         m_nCurrentBitIndex = (m_nCurrentBitIndex & 31);
+         
+         // zero the rest of the memory (may not need the +1 because of frame 
byte alignment)
+-        memset(&m_pBitArray[1], 0, min(nBytesToWrite + 1, BIT_ARRAY_BYTES - 
1));
++        memset(&m_pBitArray[1], 0, min_macro(nBytesToWrite + 1, 
BIT_ARRAY_BYTES - 1));
+     }
+     
+     // return a success
+@@ -233,7 +233,7 @@
+     nEncode = (nEncode > 0) ? nEncode * 2 - 1 : -nEncode * 2;
+ 
+     // figure the pivot value
+-    int nPivotValue = max(BitArrayState.nKSum / 32, 1);
++    int nPivotValue = max_macro(BitArrayState.nKSum / 32, 1);
+     int nOverflow = nEncode / nPivotValue;
+     int nBase = nEncode - (nOverflow * nPivotValue);
+ 
+diff -Naur monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/MACProgressHelper.cpp 
monkeys-audio-4.11-u4-b5-s7/src/MACLib/MACProgressHelper.cpp
+--- monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/MACProgressHelper.cpp   
2017-03-04 17:07:21.952460418 +0100
++++ monkeys-audio-4.11-u4-b5-s7/src/MACLib/MACProgressHelper.cpp       
2017-03-04 17:19:56.135430347 +0100
+@@ -27,7 +27,7 @@
+         m_nCurrentStep = nCurrentStep;
+ 
+     // figure the percentage done
+-    float fPercentageDone = float(m_nCurrentStep) / float(max(m_nTotalSteps, 
1));
++    float fPercentageDone = float(m_nCurrentStep) / 
float(max_macro(m_nTotalSteps, 1));
+     int nPercentageDone = (int) (fPercentageDone * 1000 * 100);
+     if (nPercentageDone > 100000) nPercentageDone = 100000;
+ 
+diff -Naur monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/Prepare.cpp 
monkeys-audio-4.11-u4-b5-s7/src/MACLib/Prepare.cpp
+--- monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/Prepare.cpp     2017-03-04 
17:07:21.952460418 +0100
++++ monkeys-audio-4.11-u4-b5-s7/src/MACLib/Prepare.cpp 2017-03-04 
17:20:42.423428501 +0100
+@@ -176,9 +176,9 @@
+ 
+             if (LPeak == 0) { *pSpecialCodes |= SPECIAL_FRAME_LEFT_SILENCE; }
+             if (RPeak == 0) { *pSpecialCodes |= SPECIAL_FRAME_RIGHT_SILENCE; }
+-            if (max(LPeak, RPeak) > *pPeakLevel) 
++            if (max_macro(LPeak, RPeak) > *pPeakLevel) 
+             {
+-                *pPeakLevel = max(LPeak, RPeak);
++                *pPeakLevel = max_macro(LPeak, RPeak);
+             }
+ 
+             // check for pseudo-stereo files
+diff -Naur monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/UnBitArray.cpp 
monkeys-audio-4.11-u4-b5-s7/src/MACLib/UnBitArray.cpp
+--- monkeys-audio-4.11-u4-b5-s7_old/src/MACLib/UnBitArray.cpp  2017-03-04 
17:07:21.952460418 +0100
++++ monkeys-audio-4.11-u4-b5-s7/src/MACLib/UnBitArray.cpp      2017-03-04 
17:21:09.935427404 +0100
+@@ -116,7 +116,7 @@
+     if (m_nVersion >= 3990)
+     {
+         // figure the pivot value
+-        int nPivotValue = max(BitArrayState.nKSum / 32, 1);
++        int nPivotValue = max_macro(BitArrayState.nKSum / 32, 1);
+         
+         // get the overflow
+         int nOverflow = 0;
+diff -Naur monkeys-audio-4.11-u4-b5-s7_old/src/Shared/CircleBuffer.cpp 
monkeys-audio-4.11-u4-b5-s7/src/Shared/CircleBuffer.cpp
+--- monkeys-audio-4.11-u4-b5-s7_old/src/Shared/CircleBuffer.cpp        
2017-03-04 17:07:21.951460418 +0100
++++ monkeys-audio-4.11-u4-b5-s7/src/Shared/CircleBuffer.cpp    2017-03-04 
17:10:47.775452211 +0100
+@@ -45,7 +45,7 @@
+ 
+     if (pBuffer != NULL && nBytes > 0)
+     {
+-        int nHeadBytes = min(m_nEndCap - m_nHead, nBytes);
++        int nHeadBytes = min_macro(m_nEndCap - m_nHead, nBytes);
+         int nFrontBytes = nBytes - nHeadBytes;
+ 
+         memcpy(&pBuffer[0], &m_pBuffer[m_nHead], nHeadBytes);
+@@ -72,7 +72,7 @@
+ 
+ int CCircleBuffer::RemoveHead(int nBytes)
+ {
+-    nBytes = min(MaxGet(), nBytes);
++    nBytes = min_macro(MaxGet(), nBytes);
+     m_nHead += nBytes;
+     if (m_nHead >= m_nEndCap)
+         m_nHead -= m_nEndCap;
+@@ -81,7 +81,7 @@
+ 
+ int CCircleBuffer::RemoveTail(int nBytes)
+ {
+-    nBytes = min(MaxGet(), nBytes);
++    nBytes = min_macro(MaxGet(), nBytes);
+     m_nTail -= nBytes;
+     if (m_nTail < 0)
+         m_nTail += m_nEndCap;
+diff -Naur monkeys-audio-4.11-u4-b5-s7_old/src/Shared/NoWindows.h 
monkeys-audio-4.11-u4-b5-s7/src/Shared/NoWindows.h
+--- monkeys-audio-4.11-u4-b5-s7_old/src/Shared/NoWindows.h     2017-03-04 
17:07:21.951460418 +0100
++++ monkeys-audio-4.11-u4-b5-s7/src/Shared/NoWindows.h 2017-03-04 
17:07:58.376458966 +0100
+@@ -41,8 +41,8 @@
+ typedef const wchar_t *     LPCWSTR;
+ 
+ #define ZeroMemory(POINTER, BYTES) memset(POINTER, 0, BYTES);
+-#define max(a,b)    (((a) > (b)) ? (a) : (b))
+-#define min(a,b)    (((a) < (b)) ? (a) : (b))
++#define max_macro(a,b)    (((a) > (b)) ? (a) : (b))
++#define min_macro(a,b)    (((a) < (b)) ? (a) : (b))
+ 
+ #define __stdcall
+ #define CALLBACK

diff --git a/media-sound/mac/files/mac-4.11.4.5.7-output.patch 
b/media-sound/mac/files/mac-4.11.4.5.7-output.patch
new file mode 100644
index 00000000000..f90c2c42fdd
--- /dev/null
+++ b/media-sound/mac/files/mac-4.11.4.5.7-output.patch
@@ -0,0 +1,27 @@
+--- a/src/Console/Console.cpp
++++ b/src/Console/Console.cpp
+@@ -60,7 +60,7 @@ Displays the proper usage for MAC.exe
+ 
***************************************************************************************/
+ void DisplayProperUsage(FILE * pFile) 
+ {
+-      _ftprintf(pFile, _T("Proper Usage: [EXE] [Input File] [Output File] 
[Mode]\n\n"));
++      _ftprintf(pFile, _T("Proper Usage: [Input File] [Output File] 
[Mode]\n\n"));
+ 
+       _ftprintf(pFile, _T("Modes: \n"));
+       _ftprintf(pFile, _T("    Compress (fast): '-c1000'\n"));
+@@ -76,11 +76,11 @@ void DisplayProperUsage(FILE * pFile)
+       _ftprintf(pFile, _T("    Convert: '-nXXXX'\n\n"));
+ 
+       _ftprintf(pFile, _T("Examples:\n"));
+-      _ftprintf(pFile, _T("    Compress: mac.exe \"Metallica - One.wav\" 
\"Metallica - One.ape\" -c2000\n"));
+-      _ftprintf(pFile, _T("    Decompress: mac.exe \"Metallica - One.ape\" 
\"Metallica - One.wav\" -d\n"));
+-      _ftprintf(pFile, _T("    Verify: mac.exe \"Metallica - One.ape\" 
-v\n"));
++      _ftprintf(pFile, _T("    Compress: mac \"Metallica - One.wav\" 
\"Metallica - One.ape\" -c2000\n"));
++      _ftprintf(pFile, _T("    Decompress: mac \"Metallica - One.ape\" 
\"Metallica - One.wav\" -d\n"));
++      _ftprintf(pFile, _T("    Verify: mac \"Metallica - One.ape\" -v\n"));
+ #ifdef SHNTOOL
+-      _ftprintf(pFile, _T("    Quick verify: mac.exe \"Metallica - One.ape\" 
-q\n"));
++      _ftprintf(pFile, _T("    Quick verify: mac \"Metallica - One.ape\" 
-q\n"));
+ #endif
+       _ftprintf(pFile, _T("    (note: int filenames must be put inside of 
quotations)\n"));
+ }

diff --git a/media-sound/mac/mac-4.11.4.5.7.ebuild 
b/media-sound/mac/mac-4.11.4.5.7.ebuild
new file mode 100644
index 00000000000..8b88eadc1f1
--- /dev/null
+++ b/media-sound/mac/mac-4.11.4.5.7.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit flag-o-matic versionator
+
+MY_PN=monkeys-audio
+MY_PV=$(version_format_string '$1.$2-u$3-b$4')
+PATCH=s$(get_version_component_range 5)
+MY_P=${MY_PN}_${MY_PV}-${PATCH}
+
+DESCRIPTION="Monkey's Audio Codecs"
+HOMEPAGE="http://etree.org/shnutils/shntool/ 
http://www.deb-multimedia.org/dists/testing/main/binary-amd64/package/monkeys-audio.php";
+SRC_URI="http://www.deb-multimedia.org/pool/main/m/monkeys-audio/${MY_P}.orig.tar.gz";
+
+LICENSE="mac"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~x86"
+IUSE="cpu_flags_x86_mmx static-libs"
+
+RDEPEND=""
+DEPEND="sys-apps/sed
+       cpu_flags_x86_mmx? ( dev-lang/yasm )"
+
+S=${WORKDIR}/${MY_P/_/-}
+
+PATCHES=(
+       "${FILESDIR}"/${P}-output.patch
+       "${FILESDIR}"/${P}-gcc6.patch
+)
+
+DOCS=( AUTHORS ChangeLog NEWS TODO README src/History.txt src/Credits.txt 
ChangeLog.shntool )
+
+RESTRICT="mirror"
+
+src_prepare() {
+       default
+
+       sed -i -e 's:-O3::' configure || die
+}
+
+src_configure() {
+       append-cppflags -DSHNTOOL
+       use cpu_flags_x86_mmx && append-ldflags -Wl,-z,noexecstack
+
+       econf \
+               $(use_enable static-libs static) \
+               $(use_enable cpu_flags_x86_mmx assembly)
+}
+
+src_install() {
+       default
+
+       insinto /usr/include/${PN}
+       doins src/MACLib/{BitArray,UnBitArrayBase,Prepare}.h #409435
+
+       find "${D}" -name '*.la' -delete || die
+}

Reply via email to