02d93ee
# Desired jbig2dec header files and library version
02d93ee
# Apparantly, jbig2dec complains even about newer versions.
02d93ee
# Please update if needed.
4c9de20
%global jbig2dec_version 0.19
02d93ee
3cf3a06
Name:           mupdf
6574495
Version:        1.18.0
bf6f961
Release:        5%{?dist}
3cf3a06
Summary:        A lightweight PDF viewer and toolkit
582410f
License:        AGPLv3+
3cf3a06
URL:            http://mupdf.com/
8ea33ca
Source0:        http://mupdf.com/downloads/archive/%{name}-%{version}-source.tar.gz
3cf3a06
Source1:        %{name}.desktop
98514fe
Source2:        %{name}-gl.desktop
bbe255f
BuildRequires:  gcc gcc-c++ make binutils desktop-file-utils coreutils pkgconfig
02d93ee
BuildRequires:  openjpeg2-devel desktop-file-utils
fbcd9c1
BuildRequires:  libjpeg-devel freetype-devel libXext-devel curl-devel
0deaaaa
BuildRequires:  harfbuzz-devel openssl-devel mesa-libEGL-devel
e18ba2a
BuildRequires:  mesa-libGL-devel mesa-libGLU-devel libXi-devel libXrandr-devel
bbe255f
BuildRequires:  gumbo-parser-devel
02d93ee
BuildRequires:  jbig2dec-devel = %{jbig2dec_version}
02d93ee
BuildRequires:  jbig2dec-libs = %{jbig2dec_version}
02d93ee
Requires:       jbig2dec-libs = %{jbig2dec_version}
a1f9a81
# We need to build against the Artifex fork of lcms2 so that we are thread safe
a1f9a81
# (see bug #1553915). Artifex make sure to rebase against upstream, who refuse
a1f9a81
# to integrate Artifex's changes. 
6574495
Provides:       bundled(lcms2-devel) = 2.10art
4090fd9
# We need to build against the Artifex fork of freeglut so that we are unicode safe.
fb4c142
Provides:       bundled(freeglut-devel) = 3.0.0
fb4c142
# muPDF needs the muJS sources for the build even if we build against the system
fb4c142
# version so bundling them is the safer choice.
6574495
Provides:       bundled(mujs-devel) = 1.0.9
b803ed1
Patch1:		0001-support-PyMuPDF.patch
bf6f961
Patch2:		0001-Bug-703366-Fix-double-free-of-object-during-lineariz.patch
3cf3a06
3cf3a06
%description
3cf3a06
MuPDF is a lightweight PDF viewer and toolkit written in portable C.
3cf3a06
The renderer in MuPDF is tailored for high quality anti-aliased
3cf3a06
graphics.  MuPDF renders text with metrics and spacing accurate to
3cf3a06
within fractions of a pixel for the highest fidelity in reproducing
3cf3a06
the look of a printed page on screen.
3cf3a06
MuPDF has a small footprint.  A binary that includes the standard
3cf3a06
Roman fonts is only one megabyte.  A build with full CJK support
3cf3a06
(including an Asian font) is approximately five megabytes.
3cf3a06
MuPDF has support for all non-interactive PDF 1.7 features, and the
3cf3a06
toolkit provides a simple API for accessing the internal structures of
3cf3a06
the PDF document.  Example code for navigating interactive links and
3cf3a06
bookmarks, encrypting PDF files, extracting fonts, images, and
3cf3a06
searchable text, and rendering pages to image files is provided.
3cf3a06
3cf3a06
%package devel
3cf3a06
Summary:        Development files for %{name}
3cf3a06
Requires:         %{name} = %{version}-%{release}
3cf3a06
Provides:         %{name}-static = %{version}-%{release}
3cf3a06
3cf3a06
%description devel
3cf3a06
The mupdf-devel package contains header files for developing
3cf3a06
applications that use mupdf and static libraries
3cf3a06
3cf3a06
%prep
8ea33ca
%setup -q -n %{name}-%{version}-source
fb4c142
for d in $(ls thirdparty | grep -v -e freeglut -e lcms2 -e mujs)
a1f9a81
do
a1f9a81
  rm -rf thirdparty/$d
a1f9a81
done
b803ed1
%patch1 -p1
bf6f961
%patch2 -p1
bf6f961
fb4c142
echo > user.make "\
fb4c142
  USE_SYSTEM_FREETYPE := yes
fb4c142
  USE_SYSTEM_HARFBUZZ := yes
fb4c142
  USE_SYSTEM_JBIG2DEC := yes
fb4c142
  USE_SYSTEM_JPEGXR := yes # not used without HAVE_JPEGXR
fb4c142
  USE_SYSTEM_LCMS2 := no # need lcms2-art fork
fb4c142
  USE_SYSTEM_LIBJPEG := yes
fb4c142
  USE_SYSTEM_MUJS := no # build needs source anyways
fb4c142
  USE_SYSTEM_OPENJPEG := yes
fb4c142
  USE_SYSTEM_ZLIB := yes
134f257
  USE_SYSTEM_GLUT := no # need freeglut2-art fork
fb4c142
  USE_SYSTEM_CURL := yes
bbe255f
  USE_SYSTEM_GUMBO := yes
fb4c142
"
3cf3a06
3cf3a06
%build
902e4b5
export XCFLAGS="%{optflags} -fPIC -DJBIG_NO_MEMENTO -DTOFU -DTOFU_CJK"
3cf3a06
4090fd9
make  %{?_smp_mflags}  build=debug verbose=yes
3cf3a06
%install
97e5912
make DESTDIR=%{buildroot} install prefix=%{_prefix} libdir=%{_libdir} build=debug verbose=yes
Petr Šabata 9c10d01
## handle docs on our own
Petr Šabata 9c10d01
rm -rf %{buildroot}/%{_docdir}
3cf3a06
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
98514fe
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE2}
7c48150
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps
7c48150
install -p -m644 docs/logo/mupdf-logo.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/mupdf.svg
98514fe
install -p -m644 docs/logo/mupdf-logo.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/mupdf-gl.svg
3cf3a06
## fix strange permissons
9dad1cb
chmod 0644 %{buildroot}%{_libdir}/*.a
9691794
find %{buildroot}/%{_mandir} -type f -exec chmod 0644 {} \;
4dc10c7
find %{buildroot}/%{_includedir} -type f -exec chmod 0644 {} \;
0724065
cd %{buildroot}/%{_bindir} && ln -s %{name}-x11 %{name}
253456a
3cf3a06
%files
Petr Šabata 9c10d01
%license COPYING
Petr Šabata 9c10d01
%doc README CHANGES docs/*
4dc10c7
%{_bindir}/*
98514fe
%{_datadir}/applications/mupdf*.desktop
7c48150
%{_datadir}/icons/hicolor/*/apps/*
4dc10c7
%{_mandir}/man1/*.1.gz
db9819a
3cf3a06
%files devel
4dc10c7
%{_includedir}/%{name}
c923519
%{_libdir}/lib%{name}*.a
4dc10c7
Petr Šabata 9c10d01
%changelog
bf6f961
* Tue Feb 23 2021 Michael J Gruber <mjg@fedoraproject.org> - 1.18.0-5
bf6f961
- CVE-2021-3407 (bz #1931964, bz#1931965)
bf6f961
44f3b84
* Tue Jan 26 2021 Michael J Gruber <mjg@fedoraproject.org> - 1.18.0-4
44f3b84
- (original date: Thu Oct 29 2020)
44f3b84
- remove obsolete patch
44f3b84
6af4815
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.18.0-3
6af4815
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
6af4815
b803ed1
* Thu Oct 08 2020 Michael J Gruber <mjg@fedoraproject.org> - 1.18.0-2
b803ed1
- support PyMuPDF
b803ed1
8ea33ca
* Thu Oct 08 2020 Michael J Gruber <mjg@fedoraproject.org> - 1.18.0-1
8ea33ca
- bugfix and feature release
8ea33ca
- bz #1886338 #1886339 #1886083
8ea33ca
6574495
* Sun Oct 04 2020 Michael J Gruber <mjg@fedoraproject.org> - 1.18.0-0.1.rc1
6574495
- properly name the rc prerelease
6574495
- update versions of bundled libs
6574495
bbe255f
* Sat Oct 03 2020 Michael J Gruber <mjg@fedoraproject.org> - 1.18.0-rc1
bbe255f
- mupdf 1.18.0-rc1 test
bbe255f
4c9de20
* Fri Sep 18 2020 Michael J Gruber <mjg@fedoraproject.org> - 1.17.0-4
4c9de20
- rebuild with jbig2dec 0.19
4c9de20
02d93ee
* Mon Jul 27 2020 Michael J Gruber <mjg@fedoraproject.org> - 1.17.0-3
02d93ee
- depend on exact jbig2dec version (bz 1861103)
02d93ee
7c82340
* Sun May 31 2020 Michael J Gruber <mjg@fedoraproject.org> - 1.17.0-2
7c82340
- fix signature check crash
7c82340
8199344
* Mon May 11 2020 Michael J Gruber <mjg@fedoraproject.org> - 1.17.0-1
8199344
- rebase to 1.17.0 (bz #1831652)
8199344
134f257
* Wed Feb 05 2020 Michael J Gruber <mjg@fedoraproject.org> - 1.16.1-3
134f257
- fix build with gcc 10
134f257
028c489
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.16.1-2
028c489
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
028c489
73341b1
* Fri Aug 16 2019 Michael J Gruber <mjg@fedoraproject.org> - 1.16.1-1
73341b1
- rebase to 1.16.1
73341b1
0a5fa46
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.15.0-2
0a5fa46
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
0a5fa46
11770d6
* Tue May 07 2019 Michael J Gruber <mjg@fedoraproject.org> - 1.15.0-1
11770d6
- rebase to 1.15.0
11770d6
7cda982
* Mon Apr 29 2019 Michael J Gruber <mjg@fedoraproject.org> - 1.15rc1-1
7cda982
- rc1 test
7cda982
b8a4109
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.14.0-8
b8a4109
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
b8a4109
0deaaaa
* Thu Nov 15 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.14.0-7
0deaaaa
- work around missing mesa EGl dependency
0deaaaa
693f749
* Thu Nov 15 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.14.0-6
693f749
- signature handling fix needs more patches than claimed
693f749
1527431
* Thu Nov 15 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.14.0-5
1527431
- fix signature handling
1527431
165174f
* Thu Nov 15 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.14.0-4
165174f
- bz #1644444 #1644445
165174f
cf0035c
* Thu Nov 15 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.14.0-3
cf0035c
- bz #1626481 #1626484
cf0035c
3da1a09
* Thu Nov 15 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.14.0-2
3da1a09
- bz #1626483 #1626484
3da1a09
7eeedaa
* Thu Nov 15 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.14.0-1
7eeedaa
- rebase to 1.14.0
7eeedaa
98514fe
* Mon Oct 01 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.14rc1-3
98514fe
- mupdf-gl desktop entry
98514fe
97e5912
* Mon Oct 01 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.14rc1-2
97e5912
- enable libcrypto
97e5912
fb4c142
* Wed Sep 26 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.14rc1-1
fb4c142
- rc test
fb4c142
- adjust to new build system setup
fb4c142
c1882bd
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.13.0-9
c1882bd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
c1882bd
10faca3
* Sun Jun 10 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.13.0-8
10faca3
- CVE-2018-10289 (rh bz #1573050) (gs bz #699271)
10faca3
582410f
* Wed Jun 06 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.13.0-7
582410f
- fix license field (bug #1586328)
582410f
c7a5946
* Sun Jun 03 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.13.0-6
c7a5946
- fix lcms2art build on big endian
c7a5946
e18ba2a
* Fri May 18 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.13.0-5
e18ba2a
- fix BR (pulled in by freeglut-devel before)
e18ba2a
4090fd9
* Mon Apr 23 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.13.0-4
4090fd9
- bundle unicode safe freeglut
4090fd9
5979668
* Mon Apr 23 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.13.0-3
5979668
- include (now non-empty) libmupdfthird.a again (fixes bug #1553915 for zathura-pdf-mupdf)
5979668
a1f9a81
* Fri Apr 20 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.13.0-2
a1f9a81
- bundle thread-safe lcms2 (fixes bug #1553915)
a1f9a81
be6b689
* Fri Apr 20 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.13.0-1
be6b689
- rebase to 1.13.0 (rh bz #1569993)
be6b689
be6b689
* Fri Apr 13 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.12.0-6
be6b689
- install svg icon
0b3e62c
7c48150
* Fri Apr 13 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.12.0-6
7c48150
- install svg icon
7c48150
8579757
* Wed Feb 14 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.12.0-5
8579757
- CVE-2018-6192 (rh bz #1539845 #1539846) (gs bz #698916)
46b1efb
- CVE-2018-6544 (rh bz #1542264 #1542265) (gs bz #698830 #698965)
46b1efb
- CVE-2018-1000051 (rh bz #1544847 #1544848) (gs bz #698825 #698873)
8579757
f790f9f
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-3
f790f9f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
f790f9f
da88d59
* Tue Feb 06 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.12.0-4
da88d59
- CVE-2018-6187 (rh bz #1538432 #1538433) (gs bz #698908)
da88d59
d859ab3
* Wed Jan 24 2018 Michael J Gruber <mjg@fedoraproject.org> - 1.12.0-2
d859ab3
- CVE-2017-17858 (rh bz #1537952) (gs bz #698819)
d859ab3
- CVE-2018-5686 (gs bz #698860)
d859ab3
1d0b5ef
* Thu Dec 14 2017 Michael J Gruber <mjg@fedoraproject.org> - 1.12.0-1
1d0b5ef
- rebase to 1.12
1d0b5ef
- follow switch from GLFW to GLUT
1d0b5ef
- follow switch to new version scheme
1d0b5ef
f1b65b7
* Sun Nov 26 2017 Michael J Gruber <mjg@fedoraproject.org> - 1.12rc1-1
f1b65b7
- rc test
f1b65b7
3de7e96
* Sat Nov 11 2017 Michael J Gruber <mjg@fedoraproject.org> - 1.11-9
98c6676
- CVE-2017-15369
98c6676
- CVE-2017-15587
3de7e96
3aae526
* Sat Nov 11 2017 Michael J Gruber <mjg@fedoraproject.org> - 1.11-8
98c6676
- repair FTBFS from version specific patch in 412e729 ("New release 1.11", 2017-04-11)
3aae526
153dba2
* Sat Nov 11 2017 Michael J Gruber <mjg@fedoraproject.org> - 1.11-7
153dba2
- rebuild with jbig2dec 0.14 (#1456731)
153dba2
23810f1
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.11-6
23810f1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
23810f1
eb6cd6d
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.11-5
eb6cd6d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
eb6cd6d
6b735dc
* Tue May 09 2017 Pavel Zhukov <landgraf@fedoraproject.org> - 1.11-4
6b735dc
- Rebuild with new jbig2dec (#1443933)
6b735dc
a4812e4
* Fri Apr 14 2017 Pavel Zhukov <landgraf@fedoraproject.org> - 1.11-3
902e4b5
- Fix mupdf-gl build (#1442384)
902e4b5
412e729
* Tue Apr 11 2017 Pavel Zhukov <landgraf@fedoraproject.org> - 1.11-1
412e729
- New release 1.11 (#1441186)
412e729
20aa222
* Thu Apr  6 2017 Pavel Zhukov <landgraf@fedoraproject.org> - 1.10a-5
20aa222
- Fix stack consumption CVE (#1439643)
20aa222
71ac78f
* Thu Mar  2 2017 Pavel Zhukov <landgraf@fedoraproject.org> - 1.10a-4
71ac78f
- fix buffer overflow (#1425338)
71ac78f
253456a
* Thu Mar 02 2017 Michael J Gruber <mjg@fedoraproject.org> - 1.10a-3
253456a
- Several packaging fixes
253456a
532c95c
* Thu Feb 23 2017 Pavel Zhukov <landgraf@fedoraproject.org> - 1.10a-2
532c95c
- Add comment with explanation of disabled debuginfo
532c95c
- Fix make verbose output
532c95c
c923519
* Sat Feb 11 2017 Pavel Zhukov <pzhukov@redhat.com> - 1.10a-1
c923519
- New release (1.10a)
c923519
4ac3886
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8-3
4ac3886
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
4ac3886
e448eff
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.8-2
e448eff
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
e448eff
c74618e
* Sat Nov 28 2015 Pavel Zhukov <landgraf@fedoraproject.org> -1.8-1
c74618e
- New release (#1280518)
c74618e
0e893ab
* Sat Nov 28 2015 Pavel Zhukov <landgraf@fedoraproject.org> -1.7a-4
0e893ab
- Disable memento
0e893ab
Petr Šabata 9c10d01
* Wed Nov 18 2015 Petr Ĺ abata <contyk@redhat.com> - 1.7a-3
Petr Šabata 9c10d01
- Package the license text with the %%license macro
Petr Šabata 9c10d01
- Don't use the %%version macro in filenames, it's not helpful
Petr Šabata 9c10d01
- Added extra handling for the docs; %%_docdir is no longer autopackaged,
Petr Šabata 9c10d01
  plus we want to install the license text elsewhere
Petr Šabata 9c10d01
c4336d9
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7a-2
c4336d9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
c4336d9
0724065
* Mon Jun 01 2015  Pavel Zhukov <landgraf@fedoraproject.org> - 1.7a-1
0724065
- New release 1.7a (#1219482)
75efb8a
* Wed May 06 2015  Pavel Zhukov <landgraf@fedoraproject.org> - 1.7-1
75efb8a
- New release 1.7 (#1210318)
81fb0ca
- Fix segfault in obj_close routine (#1202137, #1215752)
75efb8a
3524e0f
* Wed May 06 2015 Pavel Zhukov <landgraf@fedoraproject.org> - 1.5-6
3524e0f
- Fix executable name in desktop file
3524e0f
fbcd9c1
* Sat Oct 11 2014 Pavel Zhukov <landgraf@fedoraproject.org> - 1.5-5
fbcd9c1
- Add missed curl-devel
fbcd9c1
c5c814f
* Fri Jul 04 2014 Pavel Zhukov <landgraf@fedoraproject.org> - 1.5-3
c5c814f
- Add fPIC flag (#1109589)
c5c814f
- Add curl-devel to BR (#1114566)
fbcd9c1
e50eed4
* Sun Jun 15 2014 Pavel Zhukov <landgraf@fedoraproject.org> - 1.5-2
e50eed4
- Add fix for new openjpeg2
e50eed4
5dc09a4
* Sun Jun 15 2014 Pavel Zhukov <landgraf@fedoraproject.org> - 1.5-1
5dc09a4
- New release 1.5 (#1108710)
5dc09a4
eb84b08
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4-2
eb84b08
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
eb84b08
5dc09a4
* Tue May  6 2014 Pavel Zhukov <landgraf@fedoraproject.org> - 1.4-1
4dc10c7
- New release 1.4 (#1087287)
4dc10c7
fae027b
* Fri Jan 24 2014 Pavel Zhukov <landgraf@fedoraproject.org> - 1.1-5
fae027b
- Fix stack overflow (#1056699)
fae027b
4d7c4aa
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1-4
4d7c4aa
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
4d7c4aa
9f61557
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1-3
9f61557
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
9f61557
Adam Tkac 90f5bfa
* Mon Jan 21 2013 Adam Tkac <atkac redhat com> - 1.1-2
Adam Tkac 90f5bfa
- rebuild due to "jpeg8-ABI" feature drop
Adam Tkac 90f5bfa
b655403
* Wed Jan 09 2013 Pavel Zhukov <landgraf@fedoraproject.org> - 1.1-1
b655403
- New release
66112c0
db9819a
* Sun May 20 2012  Pavel Zhukov <landgraf@fedoraproject.org> - 1.0-1
db9819a
- New release
92c98d7
db9819a
* Wed Mar 14 2012  Pavel Zhukov <landgraf@fedoraproject.org> - 0.9-2
db9819a
- Fix buffer overflow (#752388)
92c98d7
8fffe58
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9-2
8fffe58
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild