mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-05 06:33:50 +02:00
parent
75b7c128a2
commit
5786866052
3 changed files with 24 additions and 307 deletions
|
@ -1,303 +0,0 @@
|
||||||
Patch based on https://gitlab.archlinux.org/archlinux/packaging/packages/libextractor/-/blob/main/exiv2-0.28.patch,
|
|
||||||
with an additional minor change to fix build on 32-bit platforms.
|
|
||||||
--- a/src/plugins/exiv2_extractor.cc 2023-11-18 14:03:36.454439185 +0000
|
|
||||||
+++ b/src/plugins/exiv2_extractor.cc 2023-11-18 14:03:40.462453936 +0000
|
|
||||||
@@ -90,7 +90,11 @@
|
|
||||||
* @param rcount number of bytes to read
|
|
||||||
* @return buffer with data read, empty buffer (!) on failure (!)
|
|
||||||
*/
|
|
||||||
+#if EXIV2_TEST_VERSION (0,28,0)
|
|
||||||
+virtual Exiv2::DataBuf read (size_t rcount);
|
|
||||||
+#else
|
|
||||||
virtual Exiv2::DataBuf read (long rcount);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Read up to 'rcount' bytes into 'buf'.
|
|
||||||
@@ -99,8 +103,17 @@
|
|
||||||
* @param rcount size of 'buf'
|
|
||||||
* @return number of bytes read successfully, 0 on failure (!)
|
|
||||||
*/
|
|
||||||
+#if EXIV2_TEST_VERSION (0,28,0)
|
|
||||||
+virtual size_t read (Exiv2::byte *buf,
|
|
||||||
+ size_t rcount);
|
|
||||||
+#else
|
|
||||||
virtual long read (Exiv2::byte *buf,
|
|
||||||
long rcount);
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if EXIV2_TEST_VERSION (0,28,0)
|
|
||||||
+virtual void populateFakeData();
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Read a single character.
|
|
||||||
@@ -117,8 +130,13 @@
|
|
||||||
* @param wcount how many bytes to write
|
|
||||||
* @return -1 (always fails)
|
|
||||||
*/
|
|
||||||
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
||||||
+virtual size_t write (const Exiv2::byte *data,
|
|
||||||
+ size_t wcount);
|
|
||||||
+#else
|
|
||||||
virtual long write (const Exiv2::byte *data,
|
|
||||||
long wcount);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Write to stream.
|
|
||||||
@@ -126,7 +144,11 @@
|
|
||||||
* @param src stream to copy
|
|
||||||
* @return -1 (always fails)
|
|
||||||
*/
|
|
||||||
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
||||||
+virtual size_t write (Exiv2::BasicIo &src);
|
|
||||||
+#else
|
|
||||||
virtual long write (Exiv2::BasicIo &src);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Write a single byte.
|
|
||||||
@@ -150,7 +172,7 @@
|
|
||||||
* @parma pos offset is relative to where?
|
|
||||||
* @return -1 on failure, 0 on success
|
|
||||||
*/
|
|
||||||
-virtual int seek (long offset,
|
|
||||||
+virtual int seek (int64_t offset,
|
|
||||||
Exiv2::BasicIo::Position pos);
|
|
||||||
|
|
||||||
/**
|
|
||||||
@@ -172,7 +194,11 @@
|
|
||||||
*
|
|
||||||
* @return -1 on error
|
|
||||||
*/
|
|
||||||
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
||||||
+virtual size_t tell (void) const;
|
|
||||||
+#else
|
|
||||||
virtual long int tell (void) const;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return overall size of the file.
|
|
||||||
@@ -213,7 +239,11 @@
|
|
||||||
*
|
|
||||||
* @throws error
|
|
||||||
*/
|
|
||||||
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
||||||
+virtual const std::string& path () const noexcept;
|
|
||||||
+#else
|
|
||||||
virtual std::string path () const;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#ifdef EXV_UNICODE_PATH
|
|
||||||
/**
|
|
||||||
@@ -230,7 +260,11 @@
|
|
||||||
*
|
|
||||||
* @throws error
|
|
||||||
*/
|
|
||||||
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
||||||
+virtual Exiv2::BasicIo::UniquePtr temporary () const;
|
|
||||||
+#else
|
|
||||||
virtual Exiv2::BasicIo::AutoPtr temporary () const;
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
@@ -266,7 +300,11 @@
|
|
||||||
* @return buffer with data read, empty buffer (!) on failure (!)
|
|
||||||
*/
|
|
||||||
Exiv2::DataBuf
|
|
||||||
+#if EXIV2_TEST_VERSION (0,28,0)
|
|
||||||
+ExtractorIO::read (size_t rcount)
|
|
||||||
+#else
|
|
||||||
ExtractorIO::read (long rcount)
|
|
||||||
+#endif
|
|
||||||
{
|
|
||||||
void *data;
|
|
||||||
ssize_t ret;
|
|
||||||
@@ -284,9 +322,15 @@
|
|
||||||
* @param rcount size of 'buf'
|
|
||||||
* @return number of bytes read successfully, 0 on failure (!)
|
|
||||||
*/
|
|
||||||
+#if EXIV2_TEST_VERSION (0,28,0)
|
|
||||||
+size_t
|
|
||||||
+ExtractorIO::read (Exiv2::byte *buf,
|
|
||||||
+ size_t rcount)
|
|
||||||
+#else
|
|
||||||
long
|
|
||||||
ExtractorIO::read (Exiv2::byte *buf,
|
|
||||||
long rcount)
|
|
||||||
+#endif
|
|
||||||
{
|
|
||||||
void *data;
|
|
||||||
ssize_t ret;
|
|
||||||
@@ -305,6 +349,12 @@
|
|
||||||
return got;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if EXIV2_TEST_VERSION (0,28,0)
|
|
||||||
+void ExtractorIO::populateFakeData()
|
|
||||||
+{
|
|
||||||
+ return;
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Read a single character.
|
|
||||||
@@ -319,7 +369,9 @@
|
|
||||||
const unsigned char *r;
|
|
||||||
|
|
||||||
if (1 != ec->read (ec->cls, &data, 1))
|
|
||||||
-#if EXIV2_TEST_VERSION (0,27,0)
|
|
||||||
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
||||||
+ throw Exiv2::Error (Exiv2::ErrorCode::kerDecodeLangAltQualifierFailed);
|
|
||||||
+#elif EXIV2_TEST_VERSION (0,27,0)
|
|
||||||
throw Exiv2::BasicError<char> (Exiv2::kerDecodeLangAltQualifierFailed);
|
|
||||||
#else
|
|
||||||
throw Exiv2::BasicError<char> (42 /* error code */);
|
|
||||||
@@ -336,9 +388,15 @@
|
|
||||||
* @param wcount how many bytes to write
|
|
||||||
* @return -1 (always fails)
|
|
||||||
*/
|
|
||||||
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
||||||
+size_t
|
|
||||||
+ExtractorIO::write (const Exiv2::byte *data,
|
|
||||||
+ size_t wcount)
|
|
||||||
+#else
|
|
||||||
long
|
|
||||||
ExtractorIO::write (const Exiv2::byte *data,
|
|
||||||
long wcount)
|
|
||||||
+#endif
|
|
||||||
{
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
@@ -350,7 +408,11 @@
|
|
||||||
* @param src stream to copy
|
|
||||||
* @return -1 (always fails)
|
|
||||||
*/
|
|
||||||
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
||||||
+size_t
|
|
||||||
+#else
|
|
||||||
long
|
|
||||||
+#endif
|
|
||||||
ExtractorIO::write (Exiv2::BasicIo &src)
|
|
||||||
{
|
|
||||||
return -1;
|
|
||||||
@@ -378,7 +440,9 @@
|
|
||||||
void
|
|
||||||
ExtractorIO::transfer (Exiv2::BasicIo& src)
|
|
||||||
{
|
|
||||||
-#if EXIV2_TEST_VERSION (0,27,0)
|
|
||||||
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
||||||
+ throw Exiv2::Error (Exiv2::ErrorCode::kerDecodeLangAltQualifierFailed);
|
|
||||||
+#elif EXIV2_TEST_VERSION (0,27,0)
|
|
||||||
throw Exiv2::BasicError<char> (Exiv2::kerDecodeLangAltQualifierFailed);
|
|
||||||
#else
|
|
||||||
throw Exiv2::BasicError<char> (42 /* error code */);
|
|
||||||
@@ -394,7 +458,7 @@
|
|
||||||
* @return -1 on failure, 0 on success
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
-ExtractorIO::seek (long offset,
|
|
||||||
+ExtractorIO::seek (int64_t offset,
|
|
||||||
Exiv2::BasicIo::Position pos)
|
|
||||||
{
|
|
||||||
int rel;
|
|
||||||
@@ -427,7 +491,9 @@
|
|
||||||
Exiv2::byte *
|
|
||||||
ExtractorIO::mmap (bool isWritable)
|
|
||||||
{
|
|
||||||
-#if EXIV2_TEST_VERSION (0,27,0)
|
|
||||||
+#if EXIV2_TEST_VERSION (0,28,0)
|
|
||||||
+ throw Exiv2::Error (Exiv2::ErrorCode::kerDecodeLangAltQualifierFailed);
|
|
||||||
+#elif EXIV2_TEST_VERSION (0,27,0)
|
|
||||||
throw Exiv2::BasicError<char> (Exiv2::kerDecodeLangAltQualifierFailed);
|
|
||||||
#else
|
|
||||||
throw Exiv2::BasicError<char> (42 /* error code */);
|
|
||||||
@@ -452,7 +518,11 @@
|
|
||||||
*
|
|
||||||
* @return -1 on error
|
|
||||||
*/
|
|
||||||
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
||||||
+size_t
|
|
||||||
+#else
|
|
||||||
long int
|
|
||||||
+#endif
|
|
||||||
ExtractorIO::tell (void) const
|
|
||||||
{
|
|
||||||
return (long) ec->seek (ec->cls, 0, SEEK_CUR);
|
|
||||||
@@ -516,10 +586,17 @@
|
|
||||||
*
|
|
||||||
* @throws error
|
|
||||||
*/
|
|
||||||
+#if EXIV2_TEST_VERSION (0,28,0)
|
|
||||||
+const std::string&
|
|
||||||
+ExtractorIO::path () const noexcept
|
|
||||||
+#else
|
|
||||||
std::string
|
|
||||||
ExtractorIO::path () const
|
|
||||||
+#endif
|
|
||||||
{
|
|
||||||
-#if EXIV2_TEST_VERSION (0,27,0)
|
|
||||||
+#if EXIV2_TEST_VERSION (0,28,0)
|
|
||||||
+ throw Exiv2::Error (Exiv2::ErrorCode::kerDecodeLangAltQualifierFailed);
|
|
||||||
+#elif EXIV2_TEST_VERSION (0,27,0)
|
|
||||||
throw Exiv2::BasicError<char> (Exiv2::kerDecodeLangAltQualifierFailed);
|
|
||||||
#else
|
|
||||||
throw Exiv2::BasicError<char> (42 /* error code */);
|
|
||||||
@@ -536,7 +613,9 @@
|
|
||||||
std::wstring
|
|
||||||
ExtractorIO::wpath () const
|
|
||||||
{
|
|
||||||
-#if EXIV2_TEST_VERSION (0,27,0)
|
|
||||||
+#if EXIV2_TEST_VERSION (0,28,0)
|
|
||||||
+ throw Exiv2::Error (Exiv2::ErrorCode::kerDecodeLangAltQualifierFailed);
|
|
||||||
+#elif EXIV2_TEST_VERSION (0,27,0)
|
|
||||||
throw Exiv2::BasicError<char> (Exiv2::kerDecodeLangAltQualifierFailed);
|
|
||||||
#else
|
|
||||||
throw Exiv2::BasicError<char> (42 /* error code */);
|
|
||||||
@@ -552,11 +631,17 @@
|
|
||||||
*
|
|
||||||
* @throws error
|
|
||||||
*/
|
|
||||||
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
||||||
+Exiv2::BasicIo::UniquePtr
|
|
||||||
+#else
|
|
||||||
Exiv2::BasicIo::AutoPtr
|
|
||||||
+#endif
|
|
||||||
ExtractorIO::temporary () const
|
|
||||||
{
|
|
||||||
fprintf (stderr, "throwing temporary error\n");
|
|
||||||
-#if EXIV2_TEST_VERSION (0,27,0)
|
|
||||||
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
||||||
+ throw Exiv2::Error (Exiv2::ErrorCode::kerDecodeLangAltQualifierFailed);
|
|
||||||
+#elif EXIV2_TEST_VERSION (0,27,0)
|
|
||||||
throw Exiv2::BasicError<char> (Exiv2::kerDecodeLangAltQualifierFailed);
|
|
||||||
#else
|
|
||||||
throw Exiv2::BasicError<char> (42 /* error code */);
|
|
||||||
@@ -737,8 +822,13 @@
|
|
||||||
#if ! EXIV2_TEST_VERSION (0,24,0)
|
|
||||||
Exiv2::LogMsg::setLevel (Exiv2::LogMsg::mute);
|
|
||||||
#endif
|
|
||||||
+#if EXIV2_TEST_VERSION(0,28,0)
|
|
||||||
+ std::unique_ptr<Exiv2::BasicIo> eio (new ExtractorIO (ec));
|
|
||||||
+ Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open (std::move(eio));
|
|
||||||
+#else
|
|
||||||
std::auto_ptr<Exiv2::BasicIo> eio (new ExtractorIO (ec));
|
|
||||||
Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open (eio);
|
|
||||||
+#endif
|
|
||||||
if (0 == image.get ())
|
|
||||||
return;
|
|
||||||
image->readMetadata ();
|
|
||||||
@@ -822,7 +912,11 @@
|
|
||||||
ADDXMP ("Xmp.lr.hierarchicalSubject", EXTRACTOR_METATYPE_SUBJECT);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+#if EXIV2_TEST_VERSION (0,28,0)
|
|
||||||
+ catch (const Exiv2::Error& e)
|
|
||||||
+#else
|
|
||||||
catch (const Exiv2::AnyError& e)
|
|
||||||
+#endif
|
|
||||||
{
|
|
||||||
#if DEBUG
|
|
||||||
std::cerr << "Caught Exiv2 exception '" << e << "'\n";
|
|
19
srcpkgs/libextractor/patches/noexcept-must-not-throw.patch
Normal file
19
srcpkgs/libextractor/patches/noexcept-must-not-throw.patch
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
Author: sgn@voidlinux
|
||||||
|
Reason: noexcept function must not throw
|
||||||
|
--- a/src/plugins/exiv2_extractor.cc
|
||||||
|
+++ b/src/plugins/exiv2_extractor.cc
|
||||||
|
@@ -601,13 +601,7 @@ std::string
|
||||||
|
ExtractorIO::path () const
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
-#if EXIV2_TEST_VERSION (0,28,0)
|
||||||
|
- throw Exiv2::Error (Exiv2::ErrorCode::kerDecodeLangAltQualifierFailed);
|
||||||
|
-#elif EXIV2_TEST_VERSION (0,27,0)
|
||||||
|
- throw Exiv2::BasicError<char> (Exiv2::kerDecodeLangAltQualifierFailed);
|
||||||
|
-#else
|
||||||
|
- throw Exiv2::BasicError<char> (42 /* error code */);
|
||||||
|
-#endif
|
||||||
|
+ return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,19 +1,20 @@
|
||||||
# Template file for 'libextractor'
|
# Template file for 'libextractor'
|
||||||
pkgname=libextractor
|
pkgname=libextractor
|
||||||
version=1.11
|
version=1.13
|
||||||
revision=4
|
revision=1
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
configure_args="--disable-static"
|
configure_args="--disable-static"
|
||||||
hostmakedepends="pkg-config"
|
hostmakedepends="pkg-config"
|
||||||
makedepends="zlib-devel bzip2-devel exiv2-devel tiff-devel libpng-devel
|
makedepends="zlib-devel bzip2-devel exiv2-devel tiff-devel libpng-devel
|
||||||
libjpeg-turbo-devel libvorbis-devel libflac-devel giflib-devel libmpeg2-devel
|
libjpeg-turbo-devel libvorbis-devel libflac-devel giflib-devel libmpeg2-devel
|
||||||
ffmpeg-devel gtk+3-devel libltdl-devel libarchive-devel file-devel libgsf-devel"
|
gtk+3-devel libltdl-devel libarchive-devel file-devel libgsf-devel
|
||||||
|
gstreamer1-devel gst-plugins-base1-devel"
|
||||||
short_desc="Library used to extract meta data from files"
|
short_desc="Library used to extract meta data from files"
|
||||||
maintainer="Martin Riese <grauehaare@gmx.de>"
|
maintainer="Martin Riese <grauehaare@gmx.de>"
|
||||||
license="GPL-3.0-or-later"
|
license="GPL-3.0-or-later"
|
||||||
homepage="https://www.gnu.org/software/libextractor/"
|
homepage="https://www.gnu.org/software/libextractor/"
|
||||||
distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${version}.tar.gz"
|
distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${version}.tar.gz"
|
||||||
checksum=16f633ab8746a38547c4a1da3f4591192b0825ad83c4336f0575b85843d8bd8f
|
checksum=bb8f312c51d202572243f113c6b62d8210301ab30cbaee604f9837d878cdf755
|
||||||
|
|
||||||
post_install() {
|
post_install() {
|
||||||
sed -i "s|\(-specs=.*hardened-ld\)||g" ${DESTDIR}/usr/lib/pkgconfig/libextractor.pc
|
sed -i "s|\(-specs=.*hardened-ld\)||g" ${DESTDIR}/usr/lib/pkgconfig/libextractor.pc
|
||||||
|
|
Loading…
Add table
Reference in a new issue