[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