summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchris <chris>2004-02-09 00:30:24 +0000
committerchris <chris>2004-02-09 00:30:24 +0000
commit7ce78d03ecee0cdfce1d4977590316137c3328d0 (patch)
tree431690bcbd50f9f25e422f2cb1ac1d8424357676
parentfdc8ec72bbda370ccdcc0fd52da94370cedb7812 (diff)
downloadpkgsrc-7ce78d03ecee0cdfce1d4977590316137c3328d0.tar.gz
Initial import of TagLib 1.0.
TagLib is a library for reading and editing the meta-data of several popular audio formats. Currently it supports both ID3v1 and ID3v2 for MP3 files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC files.
-rw-r--r--audio/taglib/DESCR3
-rw-r--r--audio/taglib/Makefile25
-rw-r--r--audio/taglib/PLIST53
-rw-r--r--audio/taglib/buildlink2.mk26
-rw-r--r--audio/taglib/buildlink3.mk17
-rw-r--r--audio/taglib/distinfo5
-rw-r--r--audio/taglib/files/id3lib_strings.h203
-rw-r--r--audio/taglib/patches/patch-aa18
8 files changed, 350 insertions, 0 deletions
diff --git a/audio/taglib/DESCR b/audio/taglib/DESCR
new file mode 100644
index 00000000000..84d62429110
--- /dev/null
+++ b/audio/taglib/DESCR
@@ -0,0 +1,3 @@
+TagLib is a library for reading and editing the meta-data of several popular
+audio formats. Currently it supports both ID3v1 and ID3v2 for MP3 files, Ogg
+Vorbis comments and ID3 tags and Vorbis comments in FLAC files.
diff --git a/audio/taglib/Makefile b/audio/taglib/Makefile
new file mode 100644
index 00000000000..f7d8b1b9eed
--- /dev/null
+++ b/audio/taglib/Makefile
@@ -0,0 +1,25 @@
+# $NetBSD: Makefile,v 1.1.1.1 2004/02/09 00:30:24 chris Exp $
+#
+
+DISTNAME= taglib-1.0
+CATEGORIES= audio
+MASTER_SITES= http://ktown.kde.org/~wheeler/taglib/
+
+MAINTAINER= chris@NetBSD.org
+HOMEPAGE= http://ktown.kde.org/~wheeler/taglib/
+COMMENT= Library for accessing id tags in mp3 and ogg files
+
+USE_LANGUAGES= c c++
+
+USE_BUILDLINK2= YES
+GNU_CONFIGURE= YES
+USE_LIBTOOL= YES
+LIBTOOL_OVERRIDE= ${WRKSRC}/libtool
+
+pre-build:
+ ${CP} ${FILESDIR}/id3lib_strings.h ${WRKSRC}/taglib/toolkit/.
+
+post-install:
+ ${INSTALL} -o ${ROOT_USER} -g ${ROOT_GROUP} -m 444 ${FILESDIR}/id3lib_strings.h ${LOCALBASE}/include/taglib/.
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/audio/taglib/PLIST b/audio/taglib/PLIST
new file mode 100644
index 00000000000..4895d4adec0
--- /dev/null
+++ b/audio/taglib/PLIST
@@ -0,0 +1,53 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2004/02/09 00:30:24 chris Exp $
+bin/taglib-config
+include/taglib/audioproperties.h
+include/taglib/commentsframe.h
+include/taglib/fileref.h
+include/taglib/flacfile.h
+include/taglib/flacproperties.h
+include/taglib/id3lib_strings.h
+include/taglib/id3v1genres.h
+include/taglib/id3v1tag.h
+include/taglib/id3v2extendedheader.h
+include/taglib/id3v2footer.h
+include/taglib/id3v2frame.h
+include/taglib/id3v2framefactory.h
+include/taglib/id3v2header.h
+include/taglib/id3v2synchdata.h
+include/taglib/id3v2tag.h
+include/taglib/mpegfile.h
+include/taglib/mpegheader.h
+include/taglib/mpegproperties.h
+include/taglib/oggfile.h
+include/taglib/oggpage.h
+include/taglib/oggpageheader.h
+include/taglib/tag.h
+include/taglib/tag_c.h
+include/taglib/taglib.h
+include/taglib/tbytevector.h
+include/taglib/tbytevectorlist.h
+include/taglib/tdebug.h
+include/taglib/textidentificationframe.h
+include/taglib/tfile.h
+include/taglib/tlist.h
+include/taglib/tlist.tcc
+include/taglib/tmap.h
+include/taglib/tmap.tcc
+include/taglib/tstring.h
+include/taglib/tstringlist.h
+include/taglib/unknownframe.h
+include/taglib/vorbisfile.h
+include/taglib/vorbisproperties.h
+include/taglib/xingheader.h
+include/taglib/xiphcomment.h
+lib/libtag.a
+lib/libtag.la
+lib/libtag.so
+lib/libtag.so.1
+lib/libtag.so.${PKGVERSION}
+lib/libtag_c.a
+lib/libtag_c.la
+lib/libtag_c.so
+lib/libtag_c.so.0
+lib/libtag_c.so.0.0
+@dirrm include/taglib
diff --git a/audio/taglib/buildlink2.mk b/audio/taglib/buildlink2.mk
new file mode 100644
index 00000000000..57db8721224
--- /dev/null
+++ b/audio/taglib/buildlink2.mk
@@ -0,0 +1,26 @@
+# $NetBSD: buildlink2.mk,v 1.1.1.1 2004/02/09 00:30:24 chris Exp $
+#
+# This Makefile fragment is included by packages that use taglib.
+#
+# This file was created automatically using createbuildlink-3.0.
+#
+
+.if !defined(TAGLIB_BUILDLINK2_MK)
+TAGLIB_BUILDLINK2_MK= # defined
+
+BUILDLINK_PACKAGES+= taglib
+BUILDLINK_DEPENDS.taglib?= taglib>=1.0
+BUILDLINK_PKGSRCDIR.taglib?= ../../audio/TagLib
+
+EVAL_PREFIX+= BUILDLINK_PREFIX.taglib=taglib
+BUILDLINK_PREFIX.taglib_DEFAULT= ${LOCALBASE}
+BUILDLINK_FILES.taglib+= include/taglib/*.h
+BUILDLINK_FILES.taglib+= include/taglib/*.tcc
+BUILDLINK_FILES.taglib+= lib/libtag.*
+BUILDLINK_FILES.taglib+= lib/libtag_c.*
+
+BUILDLINK_TARGETS+= taglib-buildlink
+
+taglib-buildlink: _BUILDLINK_USE
+
+.endif # TAGLIB_BUILDLINK2_MK
diff --git a/audio/taglib/buildlink3.mk b/audio/taglib/buildlink3.mk
new file mode 100644
index 00000000000..8ac8ea26d75
--- /dev/null
+++ b/audio/taglib/buildlink3.mk
@@ -0,0 +1,17 @@
+# $NetBSD: buildlink3.mk,v 1.1.1.1 2004/02/09 00:30:24 chris Exp $
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
+TAGLIB_BUILDLINK3_MK:= ${TAGLIB_BUILDLINK3_MK}+
+
+.if !empty(BUILDLINK_DEPTH:M+)
+BUILDLINK_DEPENDS+= taglib
+.endif
+
+.if !empty(TAGLIB_BUILDLINK3_MK:M+)
+BUILDLINK_PACKAGES+= taglib
+BUILDLINK_DEPENDS.taglib?= taglib>=1.0
+BUILDLINK_PKGSRCDIR.taglib?= ../../audio/TagLib
+
+.endif # TAGLIB_BUILDLINK3_MK
+
+BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
diff --git a/audio/taglib/distinfo b/audio/taglib/distinfo
new file mode 100644
index 00000000000..9b7462c7312
--- /dev/null
+++ b/audio/taglib/distinfo
@@ -0,0 +1,5 @@
+$NetBSD: distinfo,v 1.1.1.1 2004/02/09 00:30:24 chris Exp $
+
+SHA1 (taglib-1.0.tar.gz) = 419c0db9cda2f97497fd843417cb09b63cee59db
+Size (taglib-1.0.tar.gz) = 688419 bytes
+SHA1 (patch-aa) = 541795a7c2a551bde2ee2492b56e4b4a9335967c
diff --git a/audio/taglib/files/id3lib_strings.h b/audio/taglib/files/id3lib_strings.h
new file mode 100644
index 00000000000..aca4367a631
--- /dev/null
+++ b/audio/taglib/files/id3lib_strings.h
@@ -0,0 +1,203 @@
+// -*- C++ -*-
+// $Id: id3lib_strings.h,v 1.1.1.1 2004/02/09 00:30:25 chris Exp $
+
+// id3lib: a software library for creating and manipulating id3v1/v2 tags
+// Copyright 1999, 2000 Scott Thomas Haug
+// Copyright 2002 Thijmen Klok (thijmen@id3lib.org)
+
+// This library is free software; you can redistribute it and/or modify it
+// under the terms of the GNU Library General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or (at your
+// option) any later version.
+//
+// This library is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
+// License for more details.
+//
+// You should have received a copy of the GNU Library General Public License
+// along with this library; if not, write to the Free Software Foundation,
+// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+// The id3lib authors encourage improvements and optimisations to be sent to
+// the id3lib coordinator. Please see the README file for details on where to
+// send such submissions. See the AUTHORS file for a list of people who have
+// contributed to id3lib. See the ChangeLog file for a list of changes to
+// id3lib. These files are distributed with id3lib at
+// http://download.sourceforge.net/id3lib/
+
+#ifndef _ID3LIB_STRINGS_H_
+#define _ID3LIB_STRINGS_H_
+
+#include <string>
+
+#if (defined(__GNUC__) && (__GNUC__ >= 3) || (defined(_MSC_VER) && _MSC_VER > 1000))
+namespace std
+{
+ template<>
+ struct char_traits<unsigned char>
+ {
+ typedef unsigned char char_type;
+ // Unsigned as wint_t in unsigned.
+ typedef unsigned long int_type;
+ typedef streampos pos_type;
+ typedef streamoff off_type;
+ typedef mbstate_t state_type;
+
+ static void
+ assign(char_type& __c1, const char_type& __c2)
+ { __c1 = __c2; }
+
+ static bool
+ eq(const char_type& __c1, const char_type& __c2)
+ { return __c1 == __c2; }
+
+ static bool
+ lt(const char_type& __c1, const char_type& __c2)
+ { return __c1 < __c2; }
+
+ static int
+ compare(const char_type* __s1, const char_type* __s2, size_t __n)
+ {
+ for (size_t __i = 0; __i < __n; ++__i)
+ if (!eq(__s1[__i], __s2[__i]))
+ return lt(__s1[__i], __s2[__i]) ? -1 : 1;
+ return 0;
+ }
+
+ static size_t
+ length(const char_type* __s)
+ {
+ const char_type* __p = __s;
+ while (__p)
+ ++__p;
+ return (__p - __s);
+ }
+
+ static const char_type*
+ find(const char_type* __s, size_t __n, const char_type& __a)
+ {
+ for (const char_type* __p = __s; size_t(__p - __s) < __n; ++__p)
+ if (*__p == __a) return __p;
+ return 0;
+ }
+
+ static char_type*
+ move(char_type* __s1, const char_type* __s2, size_t __n)
+ { return (char_type*) memmove(__s1, __s2, __n * sizeof(char_type)); }
+
+ static char_type*
+ copy(char_type* __s1, const char_type* __s2, size_t __n)
+ { return (char_type*) memcpy(__s1, __s2, __n * sizeof(char_type)); }
+
+ static char_type*
+ assign(char_type* __s, size_t __n, char_type __a)
+ {
+ for (char_type* __p = __s; __p < __s + __n; ++__p)
+ assign(*__p, __a);
+ return __s;
+ }
+
+ static char_type
+ to_char_type(const int_type& __c)
+ { return char_type(); }
+
+ static int_type
+ to_int_type(const char_type& __c) { return int_type(); }
+
+ static bool
+ eq_int_type(const int_type& __c1, const int_type& __c2)
+ { return __c1 == __c2; }
+
+ static int_type
+ eof() { return static_cast<int_type>(-1); }
+
+ static int_type
+ not_eof(const int_type& __c)
+ { return eq_int_type(__c, eof()) ? int_type(0) : __c; }
+ };
+
+#ifndef _GLIBCPP_USE_WCHAR_T
+#if (defined(ID3_NEED_WCHAR_TEMPLATE))
+ template<>
+ struct char_traits<wchar_t>
+ {
+ typedef wchar_t char_type;
+ typedef wint_t int_type;
+ typedef streamoff off_type;
+ typedef streampos pos_type;
+ typedef mbstate_t state_type;
+
+ static void
+ assign(char_type& __c1, const char_type& __c2)
+ { __c1 = __c2; }
+
+ static bool
+ eq(const char_type& __c1, const char_type& __c2)
+ { return __c1 == __c2; }
+
+ static bool
+ lt(const char_type& __c1, const char_type& __c2)
+ { return __c1 < __c2; }
+
+ static int
+ compare(const char_type* __s1, const char_type* __s2, size_t __n)
+ { return wmemcmp(__s1, __s2, __n); }
+
+ static size_t
+ length(const char_type* __s)
+ { return wcslen(__s); }
+
+ static const char_type*
+ find(const char_type* __s, size_t __n, const char_type& __a)
+ { return wmemchr(__s, __a, __n); }
+
+ static char_type*
+ move(char_type* __s1, const char_type* __s2, int_type __n)
+ { return wmemmove(__s1, __s2, __n); }
+
+ static char_type*
+ copy(char_type* __s1, const char_type* __s2, size_t __n)
+ { return wmemcpy(__s1, __s2, __n); }
+
+ static char_type*
+ assign(char_type* __s, size_t __n, char_type __a)
+ { return wmemset(__s, __a, __n); }
+
+ static char_type
+ to_char_type(const int_type& __c) { return char_type(__c); }
+
+ static int_type
+ to_int_type(const char_type& __c) { return int_type(__c); }
+
+ static bool
+ eq_int_type(const int_type& __c1, const int_type& __c2)
+ { return __c1 == __c2; }
+
+ static state_type
+ _S_get_state(const pos_type& __pos) { return __pos.state(); }
+
+ static int_type
+ eof() { return static_cast<int_type>(WEOF); }
+
+ static int_type
+ _S_eos() { return char_type(); }
+
+ static int_type
+ not_eof(const int_type& __c)
+ { return eq_int_type(__c, eof()) ? 0 : __c; }
+ };
+#endif
+#endif
+} // namespace std
+#endif
+
+namespace dami
+{
+ typedef std::basic_string<char> String;
+ typedef std::basic_string<unsigned char> BString;
+ typedef std::basic_string<wchar_t> WString;
+};
+
+#endif /* _ID3LIB_STRINGS_H_ */
+
diff --git a/audio/taglib/patches/patch-aa b/audio/taglib/patches/patch-aa
new file mode 100644
index 00000000000..5dadf3c691e
--- /dev/null
+++ b/audio/taglib/patches/patch-aa
@@ -0,0 +1,18 @@
+$NetBSD: patch-aa,v 1.1.1.1 2004/02/09 00:30:25 chris Exp $
+
+--- taglib/toolkit/taglib.h.orig 2004-02-08 16:24:42.000000000 +0000
++++ taglib/toolkit/taglib.h 2004-02-08 16:26:01.000000000 +0000
+@@ -29,6 +29,13 @@
+
+ //! A namespace for all TagLib related classes and functions
+
++/*
++ * not all C++ compilers provide char_traits for wchar
++ * so we borrow a file from id3lib as it has the relevant bits
++ */
++#define ID3_NEED_WCHAR_TEMPLATE 1
++#include "id3lib_strings.h"
++
+ /*!
+ * This namespace contains everything in TagLib. For projects working with
+ * TagLib extensively it may be conveniten to add a