File libquicktime.spec of Package libquicktime

#
# spec file for package libquicktime
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define sover 0
%bcond_with    faac
%bcond_with    x264
Name:           libquicktime
Version:        1.2.4+git20180804.fff99cd
Release:        1699.11.pm.12
Summary:        Library for Reading and Writing Quicktime Movie Files
License:        GPL-2.0-or-later
Group:          Development/Libraries/C and C++
URL:            http://libquicktime.sf.net
Source0:        %{name}-%{version}.tar.xz
Source2:        baselibs.conf
Patch0:         fix-gcc14-build.patch
Patch1:         fix-gcc15-build.patch
BuildRequires:  alsa-devel
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  doxygen
BuildRequires:  libdv-devel
BuildRequires:  libfaad2-devel
BuildRequires:  libjpeg-devel
BuildRequires:  libmp3lame-devel
BuildRequires:  libtool
BuildRequires:  libvorbis-devel
BuildRequires:  pkgconfig
BuildRequires:  schroedinger-devel
BuildRequires:  pkgconfig(gl)
BuildRequires:  pkgconfig(libpng)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xaw7)
BuildRequires:  pkgconfig(xext)
BuildRequires:  pkgconfig(xt)
BuildRequires:  pkgconfig(xv)
%if 0%{?BUILD_ORIG}
BuildRequires:  pkgconfig(libavcodec) < 59
BuildRequires:  pkgconfig(libswscale) < 6
%if %{with faac}
BuildRequires:  libfaac-devel
%endif
%if %{with x264}
BuildRequires:  libx264-devel
%endif
%endif

%description
A library for reading and writing Quicktime movie files, based on and
forked from quicktime4linux.

%package orig-addon
Summary:        Library for Reading and Writing Quicktime Movie Files
Group:          System/Libraries
Requires:       %{name}

%description orig-addon
A library for reading and writing Quicktime movie files, based on and
forked from quicktime4linux.

%package -n %{name}%{sover}
Summary:        Library for Reading and Writing Quicktime Movie Files
Group:          System/Libraries

%description -n %{name}%{sover}
A library for reading and writing Quicktime movie files, based on and
forked from quicktime4linux.

%package -n libquicktime-devel
Summary:        Library for reading/writing quicktime movie files
Group:          Development/Libraries/C and C++
Requires:       %{name} = %{version}
Requires:       %{name}%{sover} = %{version}
%if 0%{?BUILD_ORIG}
Requires:       %{name}-orig-addon = %{version}
%endif

%description -n libquicktime-devel
library for reading/writing quicktime movie files, based on and forked
from quicktime4linux

%package -n libquicktime-tools
Summary:        Libquicktime Tools
Group:          Productivity/Multimedia/Video/Editors and Convertors
Requires:       %{name} = %{version}
Requires:       %{name}%{sover} = %{version}
%if 0%{?BUILD_ORIG}
Requires:       %{name}-orig-addon = %{version}
%endif

%description -n libquicktime-tools
Tools for reading/writing quicktime movie files.

%lang_package

%prep
%autosetup -p1

%build
echo 'HTML_TIMESTAMP=NO' >> doc/Doxyfile.in
./autogen.sh
%configure \
       --enable-gpl \
       --docdir="%{_docdir}/%{name}-devel" \
       --with-libdv \
       --with-cpuflags=none \
       --without-gtk \
       %{nil}
%make_build

%install
%make_install
ln -s lqt "%{buildroot}%{_includedir}/quicktime"
%find_lang %{name} %{?no_lang_C}
find %{buildroot} -type f -name "*.la" -delete -print

%ldconfig_scriptlets -n libquicktime%{sover}

%files
%license COPYING
%doc ChangeLog README TODO
%dir %{_libdir}/libquicktime
%{_libdir}/libquicktime/lqt_audiocodec.so
%{_libdir}/libquicktime/lqt_dv.so
%{_libdir}/libquicktime/lqt_faad2.so
%{_libdir}/libquicktime/lqt_lame.so
%{_libdir}/libquicktime/lqt_mjpeg.so
%{_libdir}/libquicktime/lqt_png.so
%{_libdir}/libquicktime/lqt_rtjpeg.so
%{_libdir}/libquicktime/lqt_schroedinger.so
%{_libdir}/libquicktime/lqt_videocodec.so
%{_libdir}/libquicktime/lqt_vorbis.so

%if 0%{?BUILD_ORIG}
%files orig-addon
%{_libdir}/libquicktime/lqt_ffmpeg.so
%if %{with faac}
%{_libdir}/libquicktime/lqt_faac.so
%endif
%if %{with x264}
%{_libdir}/libquicktime/lqt_x264.so
%endif
%endif

%files -n libquicktime%{sover}
%license COPYING
%{_libdir}/libquicktime.so.%{sover}
%{_libdir}/libquicktime.so.%{sover}.*.*

%files -n libquicktime-devel
%doc %{_docdir}/%{name}-devel
%{_includedir}/lqt
%{_includedir}/quicktime
%{_libdir}/libquicktime.so
%{_libdir}/pkgconfig/libquicktime.pc

%files -n libquicktime-tools
%{_bindir}/lqt_transcode
%{_bindir}/lqtplay
%{_bindir}/lqtremux
%{_bindir}/qt2text
%{_bindir}/qtdechunk
%{_bindir}/qtdump
%{_bindir}/qtinfo
%{_bindir}/qtrechunk
%{_bindir}/qtstreamize
%{_bindir}/qtyuv4toyuv
%{_mandir}/man1/lqtplay.1%{?ext_man}

%files lang -f %{name}.lang

%changelog
* Wed Jul 23 2025 Bjørn Lie <bjorn.lie@gmail.com>
- Enable faad2 support.
* Sat May  3 2025 Friedrich Haubensak <hsk17@mail.de>
- add fix-gcc15-build.patch from upstream to fix gcc-15 compile
  time error
* Mon Jan 27 2025 Bjørn Lie <bjorn.lie@gmail.com>
- Move build of ffmpeg plugin to conditional BUILD_ORIG part of the
  spec (move pkgconfig(libavcodec) and pkgconfig(libswscale)
  BuildRequires). Avoid pulling in obsolete ffmpeg-4 during main
  build.
- Update to current macros.
* Sun Jan 12 2025 Giacomo Comes <gcomes.obs@gmail.com>
- update fix-gcc14-build.patch
  * add fix for faad2 and faac as well
* Wed Apr 10 2024 Danilo Spinella <danilo.spinella@suse.com>
- Fix build with GCC 14, bsc#1221701
  * fix-gcc14-build.patch
* Fri Mar  3 2023 olaf@aepfle.de
- Fix previous change, add version constraints for every
  ffmpeg subpackage
* Fri Apr 29 2022 Jan Engelhardt <jengelh@inai.de>
- Update BuildRequires to reflect it does not work with ffmpeg5
  at this time.
* Tue Feb 25 2020 Ignaz Forster <iforster@suse.com>
- Build 32bit compatibility packages also for plugin libraries.
  [boo#1164899]
* Wed Jul 10 2019 Tomáš Chvátal <tchvatal@suse.com>
- Remove merged patches:
  * 0001-Fix-sizeof-call-in-faad2.patch
  * 0002-Allow-any-avcodec-to-be-detected-by-configure.patch
  * 0003-Fix-AVCODEC_HEADER-macro-replacement.patch
  * 0005-ffmpeg4-conversion-fixing-the-erroring-ones-only.patch
* Wed Jul 10 2019 tchvatal@suse.com
- Update to version 1.2.4+git20180804.fff99cd:
  * Should be LIBAVCODEC_LIBS rather than AVCODEC_LIBS in both configure.ac and plugis/ffmpeg/Makfile/am
  * ffmpeg4 conversion fixing the erroring ones only
  * Ignore prepared patches in git checkout
  * Fix AVCODEC_HEADER macro replacement
  * Allow any avcodec to be detected by configure
  * Fix sizeof call in faad2
* Wed Jun 13 2018 tchvatal@suse.com
- Update to version 1.2.4+git20180207.666c35c:
  * remove generated file that got committed somehow
  * cleanup - remove all the .cvsignore files
  * remove another .cvsignore file
  * remove typo
  * add a bunch more generated files to ignore
  * more files added
  * add more files
  * switch to .gitignore from .cvsignore
  * remove m4/avcodec.m4, not needed with changes to configure.ac
  * don't need avcodec.m4 with changes to configure.ac
- Remove merged patches:
  * libquicktime-1.2.4-integer_overflow.patch
  * libquicktime-1.2.4-multiple_vulnerabilities.patch
- Remove all local patches:
  * libquicktime-faad2.patch
  * libquicktime-1.2.4-ffmpeg2.patch
  * libquicktime-1.2.4-ffmpeg29.patch
  * libquicktime-1.2.4-ffmpeg4.patch
- Readd patches to be rebased from the git:
  * 0001-Fix-sizeof-call-in-faad2.patch
  * 0002-Allow-any-avcodec-to-be-detected-by-configure.patch
  * 0003-Fix-AVCODEC_HEADER-macro-replacement.patch
  * 0005-ffmpeg4-conversion-fixing-the-erroring-ones-only.patch
* Wed Jun 13 2018 tchvatal@suse.com
- Switch to Git snapshots as upstream moved to git, use _service
* Mon Jun 11 2018 tchvatal@suse.com
- Remove redone patch:
  * libquicktime-ffmpeg3.patch
- Add patch to work with ffmpeg4:
  * libquicktime-1.2.4-ffmpeg2.patch
  * libquicktime-1.2.4-ffmpeg29.patch
  * libquicktime-1.2.4-ffmpeg4.patch
* Fri May  4 2018 olaf@aepfle.de
- Use ffmpeg3 versions of pkgconfig(libav*)
* Sat Apr 21 2018 jengelh@inai.de
- Explicitly request ffmpeg 3.x for building
* Tue Nov 28 2017 zaitor@opensuse.org
- Add %%%%{name} Requires to orig-addon sub-package, installing the
  addon-package does not make sense without the main package.
* Fri Nov  3 2017 zaitor@opensuse.org
- Drop gtk2-devel BuildRequires and pass --without-gtk to
  configure, no longer build gtk2 support.
- Following the above, stop using sed to remove
  GTK_DISABLE_DEPRECATED from configure.ac, no longer needed.
- Add explicit pkgconfig(libpng) BuildRequries, previously pulled
  in by the gtk2-devel BuildRequries.
* Fri Aug 25 2017 olaf@aepfle.de
- Enable lame unconditionally
- Remove ffmpeg conditional because it is always present
* Tue Jul  4 2017 kstreitova@suse.com
- adjust libquicktime-1.2.4-integer_overflow.patch to prevent
  endless loop when there are less than 256 bytes to read
  [bsc#1022805] CVE-2016-2399
* Fri Jun 23 2017 kstreitova@suse.com
- add libquicktime-1.2.4-multiple_vulnerabilities.patch to fix the
  following security issues:
  * CVE-2017-9122 [bsc#1044077]
  * CVE-2017-9123 [bsc#1044009]
  * CVE-2017-9124 [bsc#1044008]
  * CVE-2017-9125 [bsc#1044122]
  * CVE-2017-9126 [bsc#1044006]
  * CVE-2017-9127 [bsc#1044002]
  * CVE-2017-9128 [bsc#1044000]
* Sat Feb 25 2017 zaitor@opensuse.org
- Move unversioned so files to previously not built main package.
- Following this, split out a new sub-package
  libquicktime-orig-addon, built depending on macro BUILD_ORIG.
- Split out a new lang subpackage.
- Stop providing/obsoleting libquicktime last available in openSUSE
  11.4.
* Thu Feb 16 2017 jengelh@inai.de
- Rename %%soname to %%sover to better reflect its use.
  Correct RPM group.
* Tue Feb 14 2017 kstreitova@suse.com
- add libquicktime-1.2.4-integer_overflow.patch to fix integer
  overflow in the quicktime_read_pascal function in libquicktime
  1.2.4 and earlier that allows remote attackers to cause a denial
  of service or possibly have other unspecified impact via a crafted
  hdlr MP4 atom [bsc#1022805] CVE-2016-2399
* Mon Jul 25 2016 olaf@aepfle.de
- Convert buildconditionals for faac, faad, lame and x264
* Wed Feb 17 2016 olaf@aepfle.de
- Remove usage of some deprecated names to fix compile with ffmpeg3
  libquicktime-ffmpeg3.patch
- Fix compiler warning about incorrect memset args
  libquicktime-faad2.patch
* Fri Dec 11 2015 tchvatal@suse.com
- Use ffmpeg even in OBS with reduced scope of course
- Cleanup with spec-cleaner
* Tue Sep 22 2015 olaf@aepfle.de
- Use pkgconfig for ffmpeg BuildRequires
* Mon Feb 23 2015 avvissu@yandex.ru
- Update to cvs20150223:
- Remove all patches (fixed in upstream):
  * libquicktime-1.2.2-dont_disable_deprecated.patch
  * libquicktime-libpng16.patch
* Fri Oct  3 2014 crrodriguez@opensuse.org
- Add baselibs.conf as Source.
* Wed Oct  1 2014 crrodriguez@opensuse.org
- Cleanup buildRequires, do not use xorg-x11-devel.
* Wed May 28 2014 crrodriguez@opensuse.org
- disable timestamps in doxygen, make build-compare happy
* Mon Mar 18 2013 pgajdos@suse.com
- builds also with libpng16
  * libpng16.patch
* Fri Mar 30 2012 pascal.bleser@opensuse.org
- update to 1.2.4:
  * upgrades for newer ffmpeg versions
  * 10 bit DNxHD support
  * limited support for edit lists in the public API
  * several fixes
* Fri Mar  2 2012 reddwarf@opensuse.org
- Compile against newest ffmpeg
* Tue Feb 28 2012 puzel@suse.com
- BuildRequire xorg-x11-devel to build lqtplay
* Fri Jul 22 2011 pascal.bleser@opensuse.org
- update to 1.2.3:
  * fixes compilation with newer versions of gtk, ffmpeg, and x264
  * some contributed patches were applied as well
* Sun Jun 26 2011 davejplater@gmail.com
- Removed services
* Fri Jun 24 2011 davejplater@gmail.com
- Replace old COPYING file with new one with correct FSF address.
* Sat Jun 18 2011 reddwarf@opensuse.org
- changed BuildRequires libffmpeg-devel to libffmpeg_oldabi-devel.
  Original fix from Manfred.Tremmel.
* Wed May 18 2011 reddwarf@opensuse.org
- fix baselibs.conf
- allow GTK deprectaed functions
* Thu Apr 28 2011 reddwarf@opensuse.org
- rebased on Packman package. Now it will be shared between both
  repositories.
* Thu Apr 14 2011 toddrme2178@gmail.com
- added 32bit compatibility libraries
* Thu Feb  3 2011 davejplater@gmail.com
- Update to version 1.2.2
- This fixes compilation errors with newer gtk versions and a
  crash in the plugin registry.
* Sun Dec  5 2010 puzel@novell.com
- update to libquicktime-1.2.1
  - fix compilation errors with newer x264 versions
* Thu Dec  2 2010 puzel@novell.com
- update to libquicktime-1.2.0
  - reading and writing of compressed packets for lots of
    codecs
  - cleanup of internals, enhancements, bugfixes
- drop libquicktime-jpeg7.patch (in upstream)
- clean up specfile
* Wed Nov  3 2010 puzel@novell.com
- add libquicktime-jpeg7.patch (bnc#647859)
  - patch by Martin Wilck
* Fri Feb 26 2010 puzel@novell.com
- update to libquicktime-1.1.5
  - encoding of AC3 and H.264 in AVI and some minor fixes
* Fri Jan  8 2010 puzel@novell.com
- update to libquicktime-1.1.4
  - fix avi decoding (broken in 1.1.3)
* Tue Jul 14 2009 puzel@novell.com
- update to libquicktime-1.1.3
  - fix a crash in the v308 codec
* Thu Jun 18 2009 puzel@novell.com
- update to libquicktime-1.1.2
  - dirac video en-/decoding
  - several fixes
- add dirac-devel to BR
* Fri Mar  6 2009 puzel@suse.cz
- update to libquicktime-1.1.1
  * read/write support for timecode tracks
  * support for newer versions of ffmpeg and x264
  * several bugfixes and cleanups
- fix some rpmlint warnings
* Thu Jan 22 2009 crrodriguez@suse.de
- remove "la" files
* Thu Jul 17 2008 puzel@suse.cz
- specfile fixes
  * use configure macro
  * fix htmldir location
  * use %%fdupes only on suse > 10.2
* Tue Jul 15 2008 puzel@suse.cz
- update to 1.0.3
  * dnxhd decoding support
  * double precision audio I/O
  * bugfixes
- add doxygen to BuildRequires
- license changed to LGPL v2 or later
- use RPM_OPT_FLAGS
- minor .spec fixes
* Tue Apr 15 2008 pcerny@suse.cz
- update to 1.0.2
  * removing libquicktime-1.0.0-arrayoverflow.patch
    (merged in upstream)
* Fri Jul 27 2007 maw@suse.de
- Add dont-disable-deprecated.patch
- Use %%fdupes.
* Sat May 12 2007 olh@suse.de
- remove unneded Requires libraw1394-devel
* Wed May  9 2007 pcerny@suse.cz
- minor .spec file changes (%%suse_update_config)
* Fri May  4 2007 pcerny@suse.cz
- update to 1.0.0 which is considered final wrt functionality
- .spec file cleanup
- fixed #218037
* Tue Oct 10 2006 pnemec@suse.cz
- updated to 0.9.10
  Read/Write support for: DVCPRO50 video, OpenDML AVIs, mp4/m4a files
  and Quicktime 7 lpcm audio
  H.264 encoding using x264.
  Improved compatibility with players: Quicktime 7, WMP, Divx player
  see http://libquicktime.sourceforge.net/ for detailed changelog
- minor changes in patch -mjpeg_def_huffman.diff and legal.diff
* Fri Feb 10 2006 bk@suse.de
- fix optimisation (used P4 insns!) and force using RPM_OPT_FLAGS
- fix firewire support (libdv-devel was splitted from libdv)
- remove the forced backout of MMX instructions (obsolete)
- don't include unused libquicktime-cflags.diff
* Sat Feb  4 2006 aj@suse.de
- Reduce BuildRequires.
* Sun Jan 29 2006 aj@suse.de
- Fix BuildRequires.
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Thu Sep 15 2005 jw@suse.de
- added support for mjpeg files without
  huffman tables.
* Fri Jul 29 2005 kraxel@suse.de
- fix -devel package dependencies.
* Fri Jul 29 2005 kraxel@suse.de
- add backward compatibility symlink to the new include file location.
* Thu Jul 28 2005 kraxel@suse.de
- update to 0.9.7.
* Mon Apr 18 2005 ro@suse.de
- make it build with gcc-4
* Thu Jan 13 2005 kraxel@suse.de
- update to 0.9.4.
* Tue Aug 17 2004 kraxel@suse.de
- update to 0.9.3.
* Thu Apr 22 2004 kraxel@suse.de
- fix compiler warnings.
* Wed Feb 11 2004 kraxel@suse.de
- update to version 0.9.2.
* Sat Jan 10 2004 adrian@suse.de
- add %%run_dconfig
- -devel package requires glibc-devel now
* Fri Jul 25 2003 kraxel@suse.de
- more cflags fixes, also builds on ppc now ...
* Wed Jul 23 2003 kraxel@suse.de
- play with cflags to make thing build on all archs.
* Mon Jun 16 2003 kukuk@suse.de
- More filelist fixes
* Thu Jun 12 2003 kukuk@suse.de
- Add missing directory to filelist
- *.la file should be mode 644
* Thu May 15 2003 ro@suse.de
- fix build with current libtool
* Mon Aug 12 2002 kraxel@suse.de
- fixed Requires: for the -devel package.
* Wed Jul 31 2002 kraxel@suse.de
- fixed plugin path lookup for lib64.
* Fri Jul 26 2002 adrian@suse.de
- fix neededforbuild
* Mon Jul 15 2002 kraxel@suse.de
- fixed permission issues with fix-libtool script.
* Wed Jul 10 2002 uli@suse.de
- forgot to re-enable %%clean section
* Wed Jul 10 2002 uli@suse.de
- replace "SDL SDL-devel" with "SDL-devel-packages" in neededforbuild
  (fixes libdv detection)
- fixed MMX detection, then disabled it :) (no runtime detection)
- added DISTRIBUTABLE flag to facilitate full-featured rebuild
* Thu Jun 27 2002 kraxel@suse.de
- fixed neededforbuild.
* Mon Jun 24 2002 kraxel@suse.de
- updated to version 0.9.1
* Mon Jun 24 2002 ro@suse.de
- run full autoreconf to also get shared lib on x86_64
* Fri Jun 21 2002 ro@suse.de
- run libtoolize to build also on archs that are
  younger than a decade
* Thu Jun 20 2002 kraxel@suse.de
- fixed build problems by using $RPM_OPT_FLAGS
- disabled divx codec (divx/mpeg4 is patent minefield, sorry folks ...).
* Mon Jun 17 2002 kraxel@suse.de
- initial release.
openSUSE Build Service is sponsored by