summaryrefslogtreecommitdiff
path: root/audio/taglib
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 /audio/taglib
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.
Diffstat (limited to 'audio/taglib')
-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