[mingw-id3lib] Initial import (#1066559)

David King amigadave at fedoraproject.org
Tue Feb 25 19:15:06 UTC 2014


commit 0efa5c4964811c0b6a1b6e0c3813f455ff0be908
Author: David King <amigadave at amigadave.com>
Date:   Tue Feb 25 19:12:16 2014 +0000

    Initial import (#1066559)

 .gitignore                           |    1 +
 id3lib-3.8.3-autoreconf.patch        |  155 ++++++++++++++++++++++++++++++++
 id3lib-3.8.3-includes.patch          |   95 ++++++++++++++++++++
 id3lib-3.8.3-io_helpers-163101.patch |   15 +++
 id3lib-3.8.3-mingw.patch             |   48 ++++++++++
 id3lib-3.8.3-mkstemp.patch           |   49 ++++++++++
 id3lib-vbr_buffer_overflow.diff      |   12 +++
 mingw-id3lib.spec                    |  161 ++++++++++++++++++++++++++++++++++
 sources                              |    1 +
 9 files changed, 537 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..8e9aa55 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/id3lib-3.8.3.tar.gz
diff --git a/id3lib-3.8.3-autoreconf.patch b/id3lib-3.8.3-autoreconf.patch
new file mode 100644
index 0000000..0f0e042
--- /dev/null
+++ b/id3lib-3.8.3-autoreconf.patch
@@ -0,0 +1,155 @@
+Patch by František Dvořák
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1066559
+
+diff -urN id3lib-3.8.3.old/configure.in id3lib-3.8.3/configure.in
+--- id3lib-3.8.3.old/configure.in	2003-03-02 00:23:00.000000000 +0000
++++ id3lib-3.8.3/configure.in	2014-02-24 21:46:57.974108875 +0000
+@@ -15,7 +15,9 @@
+ AC_PREREQ(2.13)
+ 
+ # init autoconf (and check for presence fo reconf)
+-AC_INIT(reconf)
++AC_INIT([id3lib], [3.8.3])
++AC_CONFIG_SRCDIR([reconf])
++AC_CONFIG_MACRO_DIR([m4])
+ 
+ ID3LIB_NAME=id3lib
+ 
+@@ -83,14 +85,14 @@
+ 
+ AC_SUBST(ID3LIB_FULLNAME)
+ 
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS(config.h)
+ 
+-AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
++AM_INIT_AUTOMAKE
+ 
+ AC_ISC_POSIX
+ 
+ dnl Initialize libtool
+-AM_PROG_LIBTOOL
++LT_INIT
+ 
+ dnl Initialize maintainer mode
+ AM_MAINTAINER_MODE
+@@ -168,7 +170,7 @@
+ 		iconv_oldstyle=1, iconv_oldstyle=0)
+   if test $iconv_oldstyle = 1; then
+     AC_MSG_RESULT(const char **)
+-    AC_DEFINE(ID3LIB_ICONV_OLDSTYLE)
++    AC_DEFINE(ID3LIB_ICONV_OLDSTYLE, [], [Old-style iconv interface])
+     #we'll check out the need of
+     #typecast in the call of iconv_open
+     AC_MSG_CHECKING(whether to typecast in iconv)
+@@ -184,7 +186,7 @@
+                    iconv_cast=0, iconv_cast=1)
+     if test $iconv_cast = 1; then
+       AC_MSG_RESULT(yes)
+-      AC_DEFINE(ID3LIB_ICONV_CAST_OK)
++      AC_DEFINE(ID3LIB_ICONV_CAST_OK, [], [iconv type cast])
+     else
+       AC_MSG_RESULT(no)
+     fi
+@@ -206,7 +208,7 @@
+                    iconv_cast=0, iconv_cast=1)
+     if test $iconv_cast = 1; then
+       AC_MSG_RESULT(yes)
+-      AC_DEFINE(ID3LIB_ICONV_CAST_OK)
++      AC_DEFINE(ID3LIB_ICONV_CAST_OK, [], [iconv type cast])
+     else
+       AC_MSG_RESULT(no)
+     fi
+diff -urN id3lib-3.8.3.old/examples/Makefile.am id3lib-3.8.3/examples/Makefile.am
+--- id3lib-3.8.3.old/examples/Makefile.am	2003-03-02 00:23:00.000000000 +0000
++++ id3lib-3.8.3/examples/Makefile.am	2014-02-24 21:21:51.645554552 +0000
+@@ -30,7 +30,7 @@
+ 
+ LDADD =  $(top_builddir)/src/libid3.la $(zlib_lib) $(ID3_DEBUG_LIBS) $(getopt_lib)
+ 
+-INCLUDES = @ID3LIB_DEBUG_FLAGS@ -I$(top_srcdir)/include
++AM_CPPFLAGS = @ID3LIB_DEBUG_FLAGS@ -I$(top_srcdir)/include
+ 
+ bin_PROGRAMS            = id3info id3convert id3tag id3cp
+ check_PROGRAMS          = \
+diff -urN id3lib-3.8.3.old/m4/id3_cxx.m4 id3lib-3.8.3/m4/id3_cxx.m4
+--- id3lib-3.8.3.old/m4/id3_cxx.m4	2003-03-02 00:23:00.000000000 +0000
++++ id3lib-3.8.3/m4/id3_cxx.m4	2014-02-24 21:21:51.650554401 +0000
+@@ -68,7 +68,7 @@
+ dnl #undef CXX_HAS_NO_BOOL
+ dnl END ACCONFIG
+ 
+-AC_DEFUN(ID3_CXX_PORTABILITY,[
++AC_DEFUN([ID3_CXX_PORTABILITY],[
+ 
+   AC_PROVIDE([$0])
+ 
+diff -urN id3lib-3.8.3.old/m4/id3_unicode.m4 id3lib-3.8.3/m4/id3_unicode.m4
+--- id3lib-3.8.3.old/m4/id3_unicode.m4	2003-03-02 00:23:00.000000000 +0000
++++ id3lib-3.8.3/m4/id3_unicode.m4	2014-02-24 21:21:51.654554280 +0000
+@@ -5,7 +5,7 @@
+ dnl #undef ID3_ICONV_FORMAT_ASCII
+ dnl END ACCONFIG
+ 
+-AC_DEFUN(ID3_CHECK_ICONV_FORMAT,[
++AC_DEFUN([ID3_CHECK_ICONV_FORMAT],[
+   if eval "test \"x\$$1\" = \"xno\""; then
+     AC_MSG_CHECKING(whether iconv supports $2)
+     AC_TRY_RUN([#include <iconv.h>
+diff -urN id3lib-3.8.3.old/Makefile.am id3lib-3.8.3/Makefile.am
+--- id3lib-3.8.3.old/Makefile.am	2003-03-02 00:23:00.000000000 +0000
++++ id3lib-3.8.3/Makefile.am	2014-02-24 21:21:51.659554129 +0000
+@@ -11,6 +11,7 @@
+ 
+ # require automake 1.5
+ AUTOMAKE_OPTIONS = 1.5
++ACLOCAL_AMFLAGS = -I m4
+ 
+ EXTRA_DIST =                    \
+         HISTORY                 \
+@@ -30,7 +31,7 @@
+ SUBDIRS =  . m4 $(zlib_subdir) doc include id3com src examples
+ DIST_SUBDIRS = . m4 zlib doc include id3com src examples prj libprj
+ 
+-INCLUDES = @ID3LIB_DEBUG_FLAGS@
++AM_CPPFLAGS = @ID3LIB_DEBUG_FLAGS@
+ 
+ config.h.win32: $(top_builddir)/config.status $(top_srcdir)/config.h.win32.in 
+ 	cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+diff -urN id3lib-3.8.3.old/src/Makefile.am id3lib-3.8.3/src/Makefile.am
+--- id3lib-3.8.3.old/src/Makefile.am	2003-03-02 00:23:00.000000000 +0000
++++ id3lib-3.8.3/src/Makefile.am	2014-02-24 21:21:51.664553979 +0000
+@@ -17,7 +17,7 @@
+ zlib_include = 
+ endif
+ 
+-INCLUDES = \
++AM_CPPFLAGS = \
+   @ID3LIB_DEBUG_FLAGS@ -I$(top_srcdir)/include/id3 -I$(top_srcdir)/include $(zlib_include)
+ 
+ noinst_HEADERS =                \
+diff -urN id3lib-3.8.3.old/zlib/configure.in id3lib-3.8.3/zlib/configure.in
+--- id3lib-3.8.3.old/zlib/configure.in	2003-03-02 00:23:00.000000000 +0000
++++ id3lib-3.8.3/zlib/configure.in	2014-02-24 21:49:18.990854419 +0000
+@@ -14,16 +14,13 @@
+ AC_PREREQ(2.13)
+ 
+ # init autoconf (and check for presence of reconf)
+-AC_INIT(reconf)
++AC_INIT([zlib], [1.1.3])
+ 
+-VERSION=1.1.3
+-PACKAGE=zlib
+-
+-AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
+-AM_CONFIG_HEADER(config.h)
++AM_INIT_AUTOMAKE
++AC_CONFIG_HEADERS(config.h)
+ 
+ dnl Initialize libtool
+-AC_PROG_LIBTOOL
++LT_INIT
+ 
+ dnl Initialize maintainer mode
+ AM_MAINTAINER_MODE
diff --git a/id3lib-3.8.3-includes.patch b/id3lib-3.8.3-includes.patch
new file mode 100644
index 0000000..14a3fea
--- /dev/null
+++ b/id3lib-3.8.3-includes.patch
@@ -0,0 +1,95 @@
+diff -up id3lib-3.8.3/include/id3/id3lib_strings.h~ id3lib-3.8.3/include/id3/id3lib_strings.h
+--- id3lib-3.8.3/include/id3/id3lib_strings.h~	2003-03-02 02:23:00.000000000 +0200
++++ id3lib-3.8.3/include/id3/id3lib_strings.h	2008-01-04 01:30:52.000000000 +0200
+@@ -29,6 +29,7 @@
+ #ifndef _ID3LIB_STRINGS_H_
+ #define _ID3LIB_STRINGS_H_
+ 
++#include <cstring>
+ #include <string>
+ 
+ #if (defined(__GNUC__) && (__GNUC__ >= 3) || (defined(_MSC_VER) && _MSC_VER > 1000))
+diff -up id3lib-3.8.3/configure.in~ id3lib-3.8.3/configure.in
+--- id3lib-3.8.3/configure.in~	2008-01-04 11:39:01.000000000 +0100
++++ id3lib-3.8.3/configure.in	2008-01-04 11:39:01.000000000 +0100
+@@ -227,7 +227,6 @@ AC_CHECK_HEADERS(fstream iostream iomani
+ )
+ AC_CHECK_HEADERS(               \
+   string                        \
+-  iomanip.h                     \
+   ,,AC_MSG_ERROR([Missing a vital header file for id3lib])
+ )
+ 
+diff -up id3lib-3.8.3/configure~ id3lib-3.8.3/configure
+--- id3lib-3.8.3/configure~	2008-01-04 11:39:10.000000000 +0100
++++ id3lib-3.8.3/configure	2008-01-04 11:39:10.000000000 +0100
+@@ -22976,7 +22976,6 @@ done
+ 
+ for ac_header in \
+   string                        \
+-  iomanip.h                     \
+ 
+ do
+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+diff -up id3lib-3.8.3/include/id3/writers.h~ id3lib-3.8.3/include/id3/writers.h
+--- id3lib-3.8.3/include/id3/writers.h~	2008-01-04 11:59:39.000000000 +0100
++++ id3lib-3.8.3/include/id3/writers.h	2008-01-04 11:59:39.000000000 +0100
+@@ -28,9 +28,9 @@
+ #ifndef _ID3LIB_WRITERS_H_
+ #define _ID3LIB_WRITERS_H_
+ 
++#include <cstring>
+ #include "id3/writer.h"
+ #include "id3/id3lib_streams.h"
+-//#include <string.h>
+ 
+ class ID3_CPP_EXPORT ID3_OStreamWriter : public ID3_Writer
+ {
+diff -up id3lib-3.8.3/examples/demo_info.cpp~ id3lib-3.8.3/examples/demo_info.cpp
+--- id3lib-3.8.3/examples/demo_info.cpp~	2008-01-04 12:00:56.000000000 +0100
++++ id3lib-3.8.3/examples/demo_info.cpp	2008-01-04 12:00:56.000000000 +0100
+@@ -309,7 +309,7 @@ void PrintInformation(const ID3_Tag &myT
+ 
+ #define DEBUG
+ 
+-int main( unsigned int argc, char * const argv[])
++int main(int argc, char * const argv[])
+ {
+   ID3D_INIT_DOUT();
+ 
+diff -up id3lib-3.8.3/examples/demo_copy.cpp~ id3lib-3.8.3/examples/demo_copy.cpp
+--- id3lib-3.8.3/examples/demo_copy.cpp~	2008-01-04 12:01:26.000000000 +0100
++++ id3lib-3.8.3/examples/demo_copy.cpp	2008-01-04 12:01:26.000000000 +0100
+@@ -81,7 +81,7 @@ void DisplayTags(ostream &os, luint nTag
+   }
+ }
+ 
+-int main( unsigned int argc, char * const argv[])
++int main(int argc, char * const argv[])
+ {
+   int ulFlag = ID3TT_ID3;
+   ID3D_INIT_DOUT();
+diff -up id3lib-3.8.3/examples/demo_convert.cpp~ id3lib-3.8.3/examples/demo_convert.cpp
+--- id3lib-3.8.3/examples/demo_convert.cpp~	2008-01-04 12:01:20.000000000 +0100
++++ id3lib-3.8.3/examples/demo_convert.cpp	2008-01-04 12:01:20.000000000 +0100
+@@ -84,7 +84,7 @@ void DisplayTags(ostream &os, luint nTag
+   }
+ }
+ 
+-int main( unsigned int argc, char * const argv[])
++int main(int argc, char * const argv[])
+ {
+   flags_t ulFlag = ID3TT_ALL;
+   gengetopt_args_info args;
+diff -up id3lib-3.8.3/examples/demo_tag.cpp~ id3lib-3.8.3/examples/demo_tag.cpp
+--- id3lib-3.8.3/examples/demo_tag.cpp~	2008-01-04 12:01:41.000000000 +0100
++++ id3lib-3.8.3/examples/demo_tag.cpp	2008-01-04 12:01:41.000000000 +0100
+@@ -46,7 +46,7 @@ void DisplayTags(ostream &os, luint nTag
+     os << "v2";
+ }
+ 
+-int main( unsigned int argc, char * const argv[])
++int main(int argc, char * const argv[])
+ {
+   int ulFlag = ID3TT_ID3;
+   ID3D_INIT_DOUT();
diff --git a/id3lib-3.8.3-io_helpers-163101.patch b/id3lib-3.8.3-io_helpers-163101.patch
new file mode 100644
index 0000000..7327c3e
--- /dev/null
+++ b/id3lib-3.8.3-io_helpers-163101.patch
@@ -0,0 +1,15 @@
+diff -Nur id3lib-3.8.3-orig/src/io_helpers.cpp id3lib-3.8.3/src/io_helpers.cpp
+--- id3lib-3.8.3-orig/src/io_helpers.cpp	2003-03-02 01:23:00.000000000 +0100
++++ id3lib-3.8.3/src/io_helpers.cpp	2005-07-16 12:47:11.000000000 +0200
+@@ -363,9 +363,10 @@
+     // Write the BOM: 0xFEFF
+     unicode_t BOM = 0xFEFF;
+     writer.writeChars((const unsigned char*) &BOM, 2);
++    const unsigned char* pdata = (const unsigned char*)data.c_str();
+     for (size_t i = 0; i < size; i += 2)
+     {
+-      unicode_t ch = (data[i] << 8) | data[i+1];
++      unicode_t ch = (pdata[i] << 8) | pdata[i+1];
+       writer.writeChars((const unsigned char*) &ch, 2);
+     }
+   }
diff --git a/id3lib-3.8.3-mingw.patch b/id3lib-3.8.3-mingw.patch
new file mode 100644
index 0000000..552691b
--- /dev/null
+++ b/id3lib-3.8.3-mingw.patch
@@ -0,0 +1,48 @@
+diff -urN id3lib-3.8.3.old/configure.in id3lib-3.8.3/configure.in
+--- id3lib-3.8.3.old/configure.in	2014-02-24 10:21:50.620304728 +0000
++++ id3lib-3.8.3/configure.in	2014-02-24 11:12:01.406469771 +0000
+@@ -253,7 +253,7 @@
+ AC_CHECK_FUNCS(mkstemp)
+ AC_CHECK_FUNCS(
+   truncate                      \
+-  ,,AC_MSG_ERROR([Missing a vital function for id3lib])
++  ,,AC_MSG_WARN([Missing a vital function for id3lib])
+ )
+ 
+ dnl Checks for typedefs, structures, and compiler characteristics.
+diff -urN id3lib-3.8.3.old/include/id3/globals.h id3lib-3.8.3/include/id3/globals.h
+--- id3lib-3.8.3.old/include/id3/globals.h	2003-03-02 00:23:00.000000000 +0000
++++ id3lib-3.8.3/include/id3/globals.h	2014-02-24 11:12:27.896670566 +0000
+@@ -41,7 +41,7 @@
+  * we prefix variable declarations so they can
+  * properly get exported in windows dlls.
+  */
+-#ifdef WIN32
++#ifdef __MSVC_VER
+ #  define LINKOPTION_STATIC         1 //both for use and creation of static lib
+ #  define LINKOPTION_CREATE_DYNAMIC 2 //should only be used by prj/id3lib.dsp
+ #  define LINKOPTION_USE_DYNAMIC    3 //if your project links id3lib dynamic
+@@ -74,11 +74,11 @@
+ #      define CCONV __stdcall // Added for VB & Delphi Compatibility - By FrogPrince Advised By Lothar
+ #    endif
+ #  endif
+-#else /* !WIN32 */
++#else /* !__MSVC_VER */
+ #  define ID3_C_EXPORT
+ #  define ID3_CPP_EXPORT
+ #  define CCONV
+-#endif /* !WIN32 */
++#endif /* !__MSVC_VER */
+ 
+ #define ID3_C_VAR extern
+ 
+diff -urN id3lib-3.8.3.old/src/Makefile.am id3lib-3.8.3/src/Makefile.am
+--- id3lib-3.8.3.old/src/Makefile.am	2014-02-24 11:05:44.097853121 +0000
++++ id3lib-3.8.3/src/Makefile.am	2014-02-24 11:13:00.437688808 +0000
+@@ -79,4 +79,5 @@
+ libid3_la_LDFLAGS = \
+   -version-info $(LT_VERSION) \
+   -release $(LT_RELEASE) \
+-  -export-dynamic
++  -export-dynamic \
++  -no-undefined
diff --git a/id3lib-3.8.3-mkstemp.patch b/id3lib-3.8.3-mkstemp.patch
new file mode 100644
index 0000000..7fb284b
--- /dev/null
+++ b/id3lib-3.8.3-mkstemp.patch
@@ -0,0 +1,49 @@
+--- id3lib3.8.3-3.8.3.orig/src/tag_file.cpp
++++ id3lib3.8.3-3.8.3/src/tag_file.cpp
+@@ -242,8 +242,8 @@
+     strcpy(sTempFile, filename.c_str());
+     strcat(sTempFile, sTmpSuffix.c_str());
+ 
+-#if ((defined(__GNUC__) && __GNUC__ >= 3  ) || !defined(HAVE_MKSTEMP))
+-    // This section is for Windows folk && gcc 3.x folk
++#if !defined(HAVE_MKSTEMP)
++    // This section is for Windows folk
+     fstream tmpOut;
+     createFile(sTempFile, tmpOut);
+ 
+@@ -257,7 +257,7 @@
+       tmpOut.write((char *)tmpBuffer, nBytes);
+     }
+ 
+-#else //((defined(__GNUC__) && __GNUC__ >= 3  ) || !defined(HAVE_MKSTEMP))
++#else //!defined(HAVE_MKSTEMP)
+ 
+     // else we gotta make a temp file, copy the tag into it, copy the
+     // rest of the old file after the tag, delete the old file, rename
+@@ -270,7 +270,7 @@
+       //ID3_THROW_DESC(ID3E_NoFile, "couldn't open temp file");
+     }
+ 
+-    ofstream tmpOut(fd);
++    ofstream tmpOut(sTempFile);
+     if (!tmpOut)
+     {
+       tmpOut.close();
+@@ -285,14 +285,14 @@
+     uchar tmpBuffer[BUFSIZ];
+     while (file)
+     {
+-      file.read(tmpBuffer, BUFSIZ);
++      file.read((char *)tmpBuffer, BUFSIZ);
+       size_t nBytes = file.gcount();
+-      tmpOut.write(tmpBuffer, nBytes);
++      tmpOut.write((char *)tmpBuffer, nBytes);
+     }
+ 
+     close(fd); //closes the file
+ 
+-#endif ////((defined(__GNUC__) && __GNUC__ >= 3  ) || !defined(HAVE_MKSTEMP))
++#endif ////!defined(HAVE_MKSTEMP)
+ 
+     tmpOut.close();
+     file.close();
diff --git a/id3lib-vbr_buffer_overflow.diff b/id3lib-vbr_buffer_overflow.diff
new file mode 100644
index 0000000..f54edf2
--- /dev/null
+++ b/id3lib-vbr_buffer_overflow.diff
@@ -0,0 +1,12 @@
+diff -ru id3lib3.8.3-3.8.3.orig/src/mp3_parse.cpp id3lib3.8.3-3.8.3/src/mp3_parse.cpp
+--- id3lib3.8.3-3.8.3.orig/src/mp3_parse.cpp	2003-03-02 01:23:00.000000000 +0100
++++ id3lib3.8.3-3.8.3/src/mp3_parse.cpp	2009-10-06 11:45:37.897681290 +0200
+@@ -465,7 +465,7 @@
+   // from http://www.xingtech.com/developer/mp3/
+ 
+   const size_t VBR_HEADER_MIN_SIZE = 8;     // "xing" + flags are fixed
+-  const size_t VBR_HEADER_MAX_SIZE = 116;   // frames, bytes, toc and scale are optional
++  const size_t VBR_HEADER_MAX_SIZE = 120;   // frames, bytes, toc and scale are optional
+ 
+   if (mp3size >= vbr_header_offest + VBR_HEADER_MIN_SIZE) 
+   {
diff --git a/mingw-id3lib.spec b/mingw-id3lib.spec
new file mode 100644
index 0000000..4620b5c
--- /dev/null
+++ b/mingw-id3lib.spec
@@ -0,0 +1,161 @@
+%{?mingw_package_header}
+
+%global _basename id3lib
+
+Summary:        Library for manipulating ID3v1 and ID3v2 tags
+Name:           mingw-%{_basename}
+Version:        3.8.3
+Release:        31%{?dist}
+License:        LGPLv2+
+Group:          System Environment/Libraries
+URL:            http://www.id3lib.sourceforge.net/
+Source0:        http://downloads.sourceforge.net/id3lib/%{_basename}-%{version}.tar.gz
+Patch0:         id3lib-3.8.3-io_helpers-163101.patch
+Patch1:         id3lib-3.8.3-mkstemp.patch
+Patch2:         id3lib-3.8.3-includes.patch
+Patch3:         http://launchpadlibrarian.net/33114077/id3lib-vbr_buffer_overflow.diff
+Patch4:         id3lib-3.8.3-autoreconf.patch
+Patch5:         id3lib-3.8.3-mingw.patch
+BuildArch:      noarch
+BuildRequires:  autoconf
+BuildRequires:  automake
+BuildRequires:  libtool
+
+BuildRequires:  mingw32-filesystem >= 95
+BuildRequires:  mingw32-gcc
+BuildRequires:  mingw32-gcc-c++
+BuildRequires:  mingw32-zlib
+
+BuildRequires:  mingw64-filesystem >= 95
+BuildRequires:  mingw64-gcc
+BuildRequires:  mingw64-gcc-c++
+BuildRequires:  mingw64-zlib
+
+%description
+This package provides a software library for manipulating ID3v1 and
+ID3v2 tags. It provides a convenient interface for software developers
+to include standards-compliant ID3v1/2 tagging capabilities in their
+applications. Features include identification of valid tags, automatic
+size conversions, (re)synchronisation of tag frames, seamless tag
+(de)compression, and optional padding facilities. Additionally, it can
+tell mp3 header info, like bitrate etc.
+
+%package -n     mingw32-%{_basename}
+Summary:        Library for manipulating ID3v1 and ID3v2 tags
+
+%description -n mingw32-%{_basename}
+This package provides a software library for manipulating ID3v1 and
+ID3v2 tags. It provides a convenient interface for software developers
+to include standards-compliant ID3v1/2 tagging capabilities in their
+applications. Features include identification of valid tags, automatic
+size conversions, (re)synchronisation of tag frames, seamless tag
+(de)compression, and optional padding facilities. Additionally, it can
+tell mp3 header info, like bitrate etc.
+This is the MinGW version, built for the win32 target.
+
+%package -n     mingw32-%{_basename}-tools
+Summary:        Tools for manipulating ID3v1 and ID3v2 tags
+Requires:       mingw32-%{_basename} = %{version}-%{release}
+
+%description -n mingw32-%{_basename}-tools
+This package provides a software library for manipulating ID3v1 and
+ID3v2 tags. It provides a convenient interface for software developers
+to include standards-compliant ID3v1/2 tagging capabilities in their
+applications. Features include identification of valid tags, automatic
+size conversions, (re)synchronisation of tag frames, seamless tag
+(de)compression, and optional padding facilities. Additionally, it can
+tell mp3 header info, like bitrate etc.
+These are the MinGW tools, built for the win32 target.
+
+
+%package -n     mingw64-%{_basename}
+Summary:        Library for manipulating ID3v1 and ID3v2 tags
+
+%description -n mingw64-%{_basename}
+This package provides a software library for manipulating ID3v1 and
+ID3v2 tags. It provides a convenient interface for software developers
+to include standards-compliant ID3v1/2 tagging capabilities in their
+applications. Features include identification of valid tags, automatic
+size conversions, (re)synchronisation of tag frames, seamless tag
+(de)compression, and optional padding facilities. Additionally, it can
+tell mp3 header info, like bitrate etc.
+This is the MinGW version, built for the win64 target.
+
+%package -n     mingw64-%{_basename}-tools
+Summary:        Tools for manipulating ID3v1 and ID3v2 tags
+Requires:       mingw64-%{_basename} = %{version}-%{release}
+
+%description -n mingw64-%{_basename}-tools
+This package provides a software library for manipulating ID3v1 and
+ID3v2 tags. It provides a convenient interface for software developers
+to include standards-compliant ID3v1/2 tagging capabilities in their
+applications. Features include identification of valid tags, automatic
+size conversions, (re)synchronisation of tag frames, seamless tag
+(de)compression, and optional padding facilities. Additionally, it can
+tell mp3 header info, like bitrate etc.
+These are the MinGW tools, built for the win64 target.
+
+
+%{?mingw_debug_package}
+
+
+%prep
+%setup -q -n %{_basename}-%{version}
+%patch0 -p1 -b .io_helpers-163101
+%patch1 -p1 -b .mkstemp
+%patch2 -p1 -b .gcc43
+%patch3 -p1
+%patch4 -p1 -b .autoreconf
+%patch5 -p1 -b .mingw
+chmod -x src/*.h src/*.cpp include/id3/*.h
+iconv -f ISO-8859-1 -t UTF8 ChangeLog > tmp && \
+touch -r ChangeLog tmp && \
+mv tmp ChangeLog
+iconv -f ISO-8859-1 -t UTF8 THANKS > tmp && \
+touch -r THANKS tmp && \
+mv tmp THANKS
+
+
+%build
+autoreconf --force --install
+%{mingw_configure} --disable-dependency-tracking --disable-static
+
+%{mingw_make} %{?_smp_mflags} libid3_la_LIBADD=-lz
+
+
+%install
+%{mingw_make} install DESTDIR=%{buildroot}
+rm -f %{buildroot}/%{mingw32_libdir}/*.la
+rm -f %{buildroot}/%{mingw64_libdir}/*.la
+
+
+%files -n mingw32-%{_basename}
+%doc AUTHORS COPYING ChangeLog HISTORY NEWS README THANKS TODO
+%{mingw32_bindir}/libid3-3-8-3.dll
+%{mingw32_libdir}/libid3.dll.a
+%{mingw32_includedir}/id3.h
+%{mingw32_includedir}/id3/
+
+%files -n mingw32-%{_basename}-tools
+%{mingw32_bindir}/id3convert.exe
+%{mingw32_bindir}/id3cp.exe
+%{mingw32_bindir}/id3info.exe
+%{mingw32_bindir}/id3tag.exe
+
+%files -n mingw64-%{_basename}
+%doc AUTHORS COPYING ChangeLog HISTORY NEWS README THANKS TODO
+%{mingw64_bindir}/libid3-3-8-3.dll
+%{mingw64_libdir}/libid3.dll.a
+%{mingw64_includedir}/id3.h
+%{mingw64_includedir}/id3/
+
+%files -n mingw64-%{_basename}-tools
+%{mingw64_bindir}/id3convert.exe
+%{mingw64_bindir}/id3cp.exe
+%{mingw64_bindir}/id3info.exe
+%{mingw64_bindir}/id3tag.exe
+
+
+%changelog
+* Tue Feb 25 2014 David King <amigadave at amigadave.com> - 3.8.3-31
+- Ported Fedora package to MinGW (#1066559)
diff --git a/sources b/sources
index e69de29..3841a6b 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+19f27ddd2dda4b2d26a559a4f0f402a7  id3lib-3.8.3.tar.gz


More information about the scm-commits mailing list