-# TODO: build shared library
Summary: MuPDF - lightweight PDF, XPS and CBZ viewer and parser/rendering library
-Summary(pl.UTF-8): MuPDF - lekka przeglądarka oraz biblioteka renderująca PDF, XPS, CBZ
+Summary(pl.UTF-8): MuPDF - lekka przeglądarka PDF, XPS, CBZ
Name: mupdf
-Version: 1.3
-Release: 0.1
-License: AGPL v3
-Group: Libraries
-#Source0Download: http://code.google.com/p/mupdf/downloads/list?q=source
-Source0: http://mupdf.googlecode.com/files/%{name}-%{version}-source.tar.gz
-# Source0-md5: fe53c2a56ebd7759f5f965bc4ff66359
-Patch0: %{name}-openjpeg.patch
-Patch1: %{name}-curl.patch
-Patch2: %{name}-v8.patch
-URL: http://www.mupdf.com/
-BuildRequires: curl-devel
-BuildRequires: freetype-devel >= 2
-BuildRequires: jbig2dec-devel
+Version: 1.15.0
+Release: 1
+License: AGPL v3+
+Group: Applications/Text
+Source0: https://www.mupdf.com/downloads/archive/%{name}-%{version}-source.tar.gz
+# Source0-md5: e9f1d47108e4e9151666c56ecad47fc9
+Patch0: %{name}-shared.patch
+URL: https://www.mupdf.com/
+BuildRequires: OpenGL-glut-devel
+BuildRequires: freetype-devel >= 1:2.9.1
+BuildRequires: harfbuzz-devel >= 1.9.0
+BuildRequires: jbig2dec-devel >= 0.14
BuildRequires: libjpeg-devel
-BuildRequires: openjpeg2-devel >= 2
-BuildRequires: openssl-devel
+BuildRequires: libstdc++-devel
+BuildRequires: libtool
+BuildRequires: mujs-devel >= 1.0.6
+BuildRequires: openjpeg2-devel >= 2.3.0
+BuildRequires: openssl-devel >= 1.1.0
BuildRequires: pkgconfig
-BuildRequires: v8-devel
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXext-devel
-BuildRequires: zlib-devel
+BuildRequires: zlib-devel >= 1.2.11
+Requires: freetype >= 1:2.9.1
+Requires: harfbuzz >= 1.9.0
+Requires: jbig2dec >= 0.14
+Requires: openjpeg2 >= 2.3.0
+Requires: zlib >= 1.2.11
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
-MuPDF is a lightweight PDF, XPS and CBZ viewer and parser/rendering
-library.
+MuPDF is a lightweight PDF, XPS and CBZ viewer.
%description -l pl.UTF-8
-MuPDF to lekka przeglądarka oraz biblioteka analizująca/renderująca
-pliki PDF, XPS i CBZ.
+MuPDF to lekka przeglądarka pliki PDF, XPS i CBZ.
+
+%package libs
+Summary: Shared MuPDF libraries
+Summary(pl.UTF-8): Biblioteki współdzielone MuPDF
+Group: Libraries
+Requires: freetype >= 1:2.9.1
+Requires: jbig2dec >= 0.14
+Requires: mujs >= 1.0.6
+Requires: openjpeg2
+Requires: openssl >= 1.1.0
+Requires: zlib >= 1.2.11
+
+%description libs
+Shared MuPDF libraries.
+
+%description libs -l pl.UTF-8
+Biblioteki współdzielone MuPDF.
%package devel
-Summary: Header files for MuPDF library
-Summary(pl.UTF-8): Pliki nagłówkowe biblioteki MuPDF
+Summary: Header files for MuPDF libraries
+Summary(pl.UTF-8): Pliki nagłówkowe bibliotek MuPDF
Group: Development/Libraries
-Requires: %{name} = %{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
+Requires: freetype-devel >= 1:2.9.1
+Requires: jbig2dec-devel >= 0.14
+Requires: libjpeg-devel
+Requires: libstdc++-devel
+Requires: mujs-devel >= 1.0.6
+Requires: openjpeg2-devel >= 2.3.0
+Requires: openssl-devel >= 1.1.0
+Requires: zlib-devel >= 1.2.11
%description devel
-Header files for MuPDF library.
+Header files for MuPDF libraries.
%description devel -l pl.UTF-8
-Pliki nagłówkowe biblioteki MuPDF.
+Pliki nagłówkowe bibliotek MuPDF.
%package static
-Summary: Static MuPDF library
-Summary(pl.UTF-8): Statyczna biblioteka MuPDF
+Summary: Static MuPDF libraries
+Summary(pl.UTF-8): Statyczne biblioteki MuPDF
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
%description static
-Static MuPDF library.
+Static MuPDF libraries.
%description static -l pl.UTF-8
-Statyczna biblioteka MuPDF.
+Statyczne biblioteki MuPDF.
%prep
%setup -q -n %{name}-%{version}-source
%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%{__rm} -r thirdparty/{curl,freetype,jbig2dec,jpeg,openjpeg,zlib}
+# use system libs instead:
+# freetype 2.9.1
+# harfbuzz 1.9.0 + git update (nothing crucial)
+# jbig2dec 0.14
+# libjpeg 9
+# mujs ?
+# openjpeg 2.3.0
+# zlib 1.2.11
+%{__rm} -r thirdparty/{freetype,jbig2dec,libjpeg,mujs,openjpeg,zlib}
+# but keep:
+# freeglut - 3.0.0 + some additional keyboard and clipboard APIs
+# lcms2 - "art" fork with tread safety
%build
CFLAGS="%{rpmcflags} %{rpmcppflags}" \
-%{__make} \
+LDFLAGS="%{rpmldflags}" \
+%{__make} -j1 \
CC="%{__cc}" \
- V8_PRESENT=yes \
+ CXX="%{__cxx}" \
+ SYS_OPENJPEG_CFLAGS="$(pkg-config --cflags libopenjp2)" \
+ USE_SYSTEM_LIBS=yes \
+ USE_SYSTEM_MUJS=yes \
build=release \
- verbose=1
+ libdir=%{_libdir} \
+ verbose=yes
%install
rm -rf $RPM_BUILD_ROOT
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
- V8_PRESENT=yes \
+ USE_SYSTEM_LIBS=yes \
+ USE_SYSTEM_MUJS=yes \
build=release \
prefix=%{_prefix} \
libdir=%{_libdir}
%clean
rm -rf $RPM_BUILD_ROOT
-#%post -p /sbin/ldconfig
-#%postun -p /sbin/ldconfig
+%post libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
-%doc CHANGES CONTRIBUTORS README
-%attr(755,root,root) %{_bindir}/mudraw
-%attr(755,root,root) %{_bindir}/mujstest-v8
+%doc CHANGES CONTRIBUTORS README docs/{index,manual*,thirdparty}.html
+%attr(755,root,root) %{_bindir}/mupdf-gl
%attr(755,root,root) %{_bindir}/mupdf-x11
-%attr(755,root,root) %{_bindir}/mupdf-x11-curl
-%attr(755,root,root) %{_bindir}/mupdf-x11-v8
+%attr(755,root,root) %{_bindir}/muraster
%attr(755,root,root) %{_bindir}/mutool
-%{_mandir}/man1/mudraw.1*
%{_mandir}/man1/mupdf.1*
%{_mandir}/man1/mutool.1*
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libmupdf.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmupdf.so.0
+%attr(755,root,root) %{_libdir}/libmupdf-third.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libmupdf-third.so.0
+
%files devel
%defattr(644,root,root,755)
-%doc docs/{naming,overview,progressive,refcount,thirdparty}.txt
-%{_libdir}/libmupdf.a
-%{_libdir}/libmupdf-js-none.a
-%{_libdir}/libmupdf-js-v8.a
+%attr(755,root,root) %{_libdir}/libmupdf.so
+%attr(755,root,root) %{_libdir}/libmupdf-third.so
+%{_libdir}/libmupdf.la
+%{_libdir}/libmupdf-third.la
%{_includedir}/mupdf
-%if 0
%files static
%defattr(644,root,root,755)
%{_libdir}/libmupdf.a
-%{_libdir}/libmupdf-js-none.a
-%{_libdir}/libmupdf-js-v8.a
-%endif
+%{_libdir}/libmupdf-third.a