diff --git a/0001-libMirage-CMake-fix-SOVERSION-which-should-be-set-to.patch b/0001-libMirage-CMake-fix-SOVERSION-which-should-be-set-to.patch new file mode 100644 index 0000000..e8e5012 --- /dev/null +++ b/0001-libMirage-CMake-fix-SOVERSION-which-should-be-set-to.patch @@ -0,0 +1,28 @@ +From 652f856be7cba289d340b16f78f26e202cf6aa8f Mon Sep 17 00:00:00 2001 +From: Rok Mandeljc +Date: Sat, 22 Dec 2012 21:28:02 +0100 +Subject: [PATCH] libMirage: CMake: fix SOVERSION, which should be set to + MIRAGE_LT_CURRENT, whereas VERSION needs to be set to + MIRAGE_SOVERSION, to produce correct symlinks + +--- + libmirage/CMakeLists.txt | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/libmirage/CMakeLists.txt b/libmirage/CMakeLists.txt +index 8a5e39b..ff72aab 100644 +--- a/libmirage/CMakeLists.txt ++++ b/libmirage/CMakeLists.txt +@@ -112,7 +112,8 @@ set_target_properties (mirage PROPERTIES + COMPILE_DEFINITIONS "${mirage_DEFS}" + LINK_FLAGS ${mirage_LDFLAGS_STR} + LIBRARY_OUTPUT_NAME mirage +- SOVERSION ${MIRAGE_SOVERSION} ++ VERSION ${MIRAGE_SOVERSION} ++ SOVERSION ${MIRAGE_LT_CURRENT} + ) + + install ( +-- +1.7.10.4 + diff --git a/0001-libMirage-READCD-Parser-readcd-from-cdrtools-appears.patch b/0001-libMirage-READCD-Parser-readcd-from-cdrtools-appears.patch new file mode 100644 index 0000000..019b5ec --- /dev/null +++ b/0001-libMirage-READCD-Parser-readcd-from-cdrtools-appears.patch @@ -0,0 +1,39 @@ +From ce6f8c419a3b6f81d9045a5cf36f625c8a229405 Mon Sep 17 00:00:00 2001 +From: Rok Mandeljc +Date: Sun, 24 Feb 2013 23:46:48 +0100 +Subject: [PATCH] libMirage: READCD Parser: readcd from cdrtools appears to + pad odd TOC lengths to make them even, whereas readcd from + cdrkit does not. Make the .toc validation take this into + account. + +--- + libmirage/src/parsers/image-readcd/image-readcd-parser.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/libmirage/src/parsers/image-readcd/image-readcd-parser.c b/libmirage/src/parsers/image-readcd/image-readcd-parser.c +index 9b8a76b..68dc820 100644 +--- a/libmirage/src/parsers/image-readcd/image-readcd-parser.c ++++ b/libmirage/src/parsers/image-readcd/image-readcd-parser.c +@@ -55,7 +55,6 @@ static gboolean mirage_parser_readcd_is_file_valid (MirageParserReadcd *self, GI + return FALSE; + } + +- + /* First 4 bytes of TOC are its header; and first 2 bytes of that indicate + the length */ + g_seekable_seek(G_SEEKABLE(stream), 0, G_SEEK_SET, NULL, NULL); +@@ -70,7 +69,10 @@ static gboolean mirage_parser_readcd_is_file_valid (MirageParserReadcd *self, GI + g_seekable_seek(G_SEEKABLE(stream), 0, G_SEEK_END, NULL, NULL); + file_size = g_seekable_tell(G_SEEKABLE(stream)); + +- if (file_size - 2 == toc_len + 2) { ++ /* readcd from cdrdtools appears to pad odd TOC lengths to make them ++ even, whereas readcd from cdrkit does not. So we account for both ++ cases. */ ++ if ((file_size == 2 + toc_len + 2) || (file_size == 2 + toc_len + 3)) { + return TRUE; + } + +-- +1.7.10.4 + diff --git a/0001-libMirage-READCD-Parser-when-verifying-the-file-don-.patch b/0001-libMirage-READCD-Parser-when-verifying-the-file-don-.patch new file mode 100644 index 0000000..be4d810 --- /dev/null +++ b/0001-libMirage-READCD-Parser-when-verifying-the-file-don-.patch @@ -0,0 +1,25 @@ +From 0a79a47489bf739d97d416bc740fc081704a13b1 Mon Sep 17 00:00:00 2001 +From: Rok Mandeljc +Date: Sun, 24 Feb 2013 20:25:17 +0100 +Subject: [PATCH] libMirage: READCD Parser: when verifying the file, don't + forget to seek to the beginning first. + +--- + libmirage/src/parsers/image-readcd/image-readcd-parser.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libmirage/src/parsers/image-readcd/image-readcd-parser.c b/libmirage/src/parsers/image-readcd/image-readcd-parser.c +index 39c0522..9b8a76b 100644 +--- a/libmirage/src/parsers/image-readcd/image-readcd-parser.c ++++ b/libmirage/src/parsers/image-readcd/image-readcd-parser.c +@@ -58,6 +58,7 @@ static gboolean mirage_parser_readcd_is_file_valid (MirageParserReadcd *self, GI + + /* First 4 bytes of TOC are its header; and first 2 bytes of that indicate + the length */ ++ g_seekable_seek(G_SEEKABLE(stream), 0, G_SEEK_SET, NULL, NULL); + if (g_input_stream_read(stream, &toc_len, sizeof(toc_len), NULL, NULL) != sizeof(toc_len)) { + g_set_error(error, MIRAGE_ERROR, MIRAGE_ERROR_CANNOT_HANDLE, "Parser cannot handle given image: failed to read 2-byte TOC length!"); + return FALSE; +-- +1.7.10.4 + diff --git a/libmirage-1.5.0.tar.bz2 b/libmirage-1.5.0.tar.bz2 deleted file mode 100644 index 06f40d5..0000000 --- a/libmirage-1.5.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3ba50c49e6e2a888175a4d5749ac557a53e37c1f409ce76d8e8adfd702c586a6 -size 509179 diff --git a/libmirage-2.0.0.tar.bz2 b/libmirage-2.0.0.tar.bz2 new file mode 100644 index 0000000..c39c71e --- /dev/null +++ b/libmirage-2.0.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:154003160e46d33af6d265d8fe03972924b2bc8326fd3572e7138b818f4b5a65 +size 178529 diff --git a/libmirage.changes b/libmirage.changes index cbd9d63..2424d34 100644 --- a/libmirage.changes +++ b/libmirage.changes @@ -1,3 +1,32 @@ +------------------------------------------------------------------- +Sun Feb 24 20:08:18 UTC 2013 - jengelh@inai.de + +- Add 0001-libMirage-READCD-Parser-when-verifying-the-file-don-.patch + 0001-libMirage-READCD-Parser-readcd-from-cdrtools-appears.patch + to make images created by readcd(1) usable again + +------------------------------------------------------------------- +Sat Jan 5 21:47:42 UTC 2013 - jengelh@inai.de + +- Add 0001-libMirage-CMake-fix-SOVERSION-which-should-be-set-to.patch + +------------------------------------------------------------------- +Sat Dec 22 08:23:15 UTC 2012 - jengelh@inai.de + +- Update to new upstream release 2.0.0 (up from 1.5.0) +* Added ISZ, CSO and DMG file filters +* Converted DAA parser to a file filter and added support for the + related GBI format +* Converted audio fragment to a file filter +* Added file filter machinery and converted existing code to use it +* Image analyzer displays disc structures +* Added support for gobject introspection +* Added support for GZIP and XZ compressed images +* Added support for ECM'ed files +* Improved CIF parser +* Partial support for (one track) MDX images +* Improved GVFS support + ------------------------------------------------------------------- Mon May 21 17:33:17 UTC 2012 - jengelh@inai.de diff --git a/libmirage.spec b/libmirage.spec index b0a7cc4..e34201b 100644 --- a/libmirage.spec +++ b/libmirage.spec @@ -1,7 +1,7 @@ # # spec file for package libmirage # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -14,20 +14,41 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # + + Name: libmirage -%define lname libmirage6 -%define pname 1_5 +%define lname libmirage7 +%define pname 2_0 Summary: A CD-ROM image access library -Version: 1.5.0 -Release: 0 -URL: http://cdemu.sf.net/ License: GPL-2.0+ Group: Development/Libraries/C and C++ +Version: 2.0.0 +Release: 0 +Url: http://cdemu.sf.net/ -Source: http://downloads.sf.net/cdemu/%name-%version.tar.bz2 +#Freecode-URL: https://freecode.com/projects/cdemu-for-linux +#Git-Clone: git://git.code.sf.net/p/cdemu/code +Source: http://downloads.sf.net/cdemu/%name-%version.tar.bz2 +Patch1: 0001-libMirage-CMake-fix-SOVERSION-which-should-be-set-to.patch +Patch2: 0001-libMirage-READCD-Parser-when-verifying-the-file-don-.patch +Patch3: 0001-libMirage-READCD-Parser-readcd-from-cdrtools-appears.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build -#BuildRequires: autoconf >= 2.59, automake -BuildRequires: gtk-doc >= 1.4 libtool pkgconfig(glib-2.0) >= 2.6 pkgconfig(gobject-2.0) >= 2.6 pkgconfig(gmodule-2.0) >= 2.6 pkgconfig(sndfile) >= 1.0.0 xz pkgconfig(zlib) pkgconfig >= 0.21 +BuildRequires: cmake >= 2.8.5 +BuildRequires: pkgconfig >= 0.16 +BuildRequires: xz +BuildRequires: pkgconfig(glib-2.0) >= 2.28 +BuildRequires: pkgconfig(gmodule-2.0) >= 2.28 +BuildRequires: pkgconfig(gobject-2.0) >= 2.28 +BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.30.0 +BuildRequires: pkgconfig(gtk-doc) >= 1.4 +BuildRequires: pkgconfig(liblzma) >= 5.0.0 +BuildRequires: pkgconfig(sndfile) >= 1.0.0 +BuildRequires: pkgconfig(zlib) >= 1.2.0 +%if 0%{?fedora_version} +BuildRequires: bzip2-devel >= 1.0.0 +%else +BuildRequires: pkgconfig(bzip2) >= 1.0.0 +%endif %description A CD-ROM image access library part of the cdemu suite. @@ -36,25 +57,29 @@ libmirage provides uniform access to the data stored in different image formats by creating a representation of disc stored in image file. -%package -n libmirage6 +%package -n %lname Summary: A CD-ROM image access library Group: System/Libraries # Technically Suggests:, but pretty useless without -Requires: libmirage-1_5 >= 1.5 +Requires: libmirage-2_0 >= 2.0 -%description -n libmirage6 +%description -n %lname A CD-ROM image access library part of the cdemu suite. libmirage provides uniform access to the data stored in different image formats by creating a representation of disc stored in image file. -%package 1_5 -Summary: CD-ROM image format plugins for libmirage -Group: System/Libraries -Recommends: libmirage-data +%package 2_0 +Summary: CD-ROM image format plugins for libmirage +Group: System/Libraries +%if 0%{?suse_version} +Recommends: libmirage-data +%else +Requires: libmirage-data +%endif -%description 1_5 +%description 2_0 A CD-ROM image access library part of the cdemu suite. libmirage provides uniform access to the data stored in different @@ -78,11 +103,12 @@ file. This package contains files needed to develop with libmirage. %package data -Summary: MIME type definitions and documentation for libmirage +Summary: MIME type definitions and documentation for libmirage +Group: Development/Libraries/C and C++ Requires(post): shared-mime-info Requires(postun): shared-mime-info %if 0%{?suse_version} >= 1140 -BuildArch: noarch +BuildArch: noarch %endif %description data @@ -92,17 +118,34 @@ file. This package contains the MIME type definitions and documentation. +%package -n typelib-1_0-libmirage-2_0 +Summary: The libmirage CD-ROM image access library - introspection bindings +Group: System/Libraries + +%description -n typelib-1_0-libmirage-2_0 +libmirage provides uniform access to the data stored in different +image formats by creating a representation of disc stored in image +file. + +This package provides the GObject Introspection bindings for libmirage. + %prep -%setup -q +%setup -Tcqa0 +%patch -P 1 -P 2 -P 3 -p2 %build -%configure --disable-static --enable-gtk-doc +# gir is busted on 12.1 +cmake . \ +%if 0%{?suse_version} == 1210 + -DINTROSPECTION_ENABLED=0 \ +%endif + -DCMAKE_INSTALL_PREFIX:PATH="%_prefix" \ + -DCMAKE_C_FLAGS:STRING="%optflags"; make %{?_smp_mflags}; %install b="%buildroot"; make install DESTDIR="$b"; -find "$b/%_libdir" -type f -name "*.la" -delete; %post -n %lname -p /sbin/ldconfig @@ -114,13 +157,13 @@ update-mime-database %{_datadir}/mime || :; %postun data update-mime-database %{_datadir}/mime || :; -%files -n libmirage6 +%files -n %lname %defattr(-,root,root) -%_libdir/libmirage.so.6* +%_libdir/libmirage.so.* -%files 1_5 +%files 2_0 %defattr(-,root,root) -%_libdir/libmirage-1.5 +%_libdir/libmirage-2.0 %files data %defattr(-,root,root) @@ -132,5 +175,14 @@ update-mime-database %{_datadir}/mime || :; %_includedir/libmirage %_libdir/libmirage.so %_libdir/pkgconfig/libmirage.pc +%if 0%{?suse_version} != 1210 +%_datadir/gir-1.0 +%endif + +%if 0%{?suse_version} != 1210 +%files -n typelib-1_0-libmirage-2_0 +%defattr(-,root,root) +%_libdir/girepository-1.0 +%endif %changelog