diff --git a/mupdf-1.25.3-Do-not-complain-to-your-friendly-local-distribution-.patch b/mupdf-1.25.3-Do-not-complain-to-your-friendly-local-distribution-.patch new file mode 100644 index 0000000..b6538bb --- /dev/null +++ b/mupdf-1.25.3-Do-not-complain-to-your-friendly-local-distribution-.patch @@ -0,0 +1,29 @@ +From 2fdf3e160fc2f30324d1ce9eaceedd3f0ea158bd Mon Sep 17 00:00:00 2001 +Message-ID: <2fdf3e160fc2f30324d1ce9eaceedd3f0ea158bd.1717676942.git.mjg@fedoraproject.org> +From: Michael J Gruber +Date: Thu, 6 Jun 2024 14:27:12 +0200 +Subject: [PATCH] Do not complain to your friendly local distribution manager + +Artifex decided to rely on local forks for added functionality, so do +not complain to the distribution manager about lack of functionality in +unbundled builds. +--- + platform/gl/gl-ui.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/platform/gl/gl-ui.c b/platform/gl/gl-ui.c +index d3dfb1de6..c0d9d72d7 100644 +--- a/platform/gl/gl-ui.c ++++ b/platform/gl/gl-ui.c +@@ -449,8 +449,6 @@ void ui_init(int w, int h, const char *title) + #if defined(FREEGLUT) && (GLUT_API_VERSION >= 6) + glutKeyboardExtFunc(on_keyboard); + #else +- fz_warn(ctx, "This version of MuPDF has been built WITHOUT clipboard or unicode input support!"); +- fz_warn(ctx, "Please file a complaint with your friendly local distribution manager."); + glutKeyboardFunc(on_keyboard); + #endif + glutSpecialFunc(on_special); +-- +2.45.2.607.ge77ae43106 + diff --git a/mupdf-1.25.3-setup.py-do-not-bundle-c-and-c-libs-in-wheel.patch b/mupdf-1.25.3-setup.py-do-not-bundle-c-and-c-libs-in-wheel.patch new file mode 100644 index 0000000..e0681a6 --- /dev/null +++ b/mupdf-1.25.3-setup.py-do-not-bundle-c-and-c-libs-in-wheel.patch @@ -0,0 +1,28 @@ +From 3be6b6703aa0a9431b788d08c4d26d6209be3316 Mon Sep 17 00:00:00 2001 +Message-ID: <3be6b6703aa0a9431b788d08c4d26d6209be3316.1731337861.git.mjg@fedoraproject.org> +From: Michael J Gruber +Date: Mon, 11 Nov 2024 16:08:56 +0100 +Subject: [PATCH] setup.py: do not bundle c and c++ libs in wheel + +We want to package libs separately, so do not include them in the wheel +(and, consequently, not in the python package). +--- + setup.py | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/setup.py b/setup.py +index f740931c8..1330da7b5 100755 +--- a/setup.py ++++ b/setup.py +@@ -334,8 +334,6 @@ def build(): + ] + else: + names = [ +- pipcl.get_soname(f'{build_dir()}/libmupdf.so'), # C. +- pipcl.get_soname(f'{build_dir()}/libmupdfcpp.so'), # C++. + f'{build_dir()}/_mupdf.so', # Python internals. + f'{build_dir()}/mupdf.py', # Python. + ] +-- +2.47.0.346.g8c6d622db9 + diff --git a/mupdf-1.25.3-setup.py-do-not-require-libclang-and-swig.patch b/mupdf-1.25.3-setup.py-do-not-require-libclang-and-swig.patch new file mode 100644 index 0000000..d2d0e0d --- /dev/null +++ b/mupdf-1.25.3-setup.py-do-not-require-libclang-and-swig.patch @@ -0,0 +1,37 @@ +From 31912c1ca051d30f882f90658958bf0f67b75001 Mon Sep 17 00:00:00 2001 +Message-ID: <31912c1ca051d30f882f90658958bf0f67b75001.1730495944.git.mjg@fedoraproject.org> +From: Michael J Gruber +Date: Thu, 31 Oct 2024 23:53:31 +0100 +Subject: [PATCH] setup.py: do not require libclang and swig + +libclang and swig may be present but under different package names (e.g. +on Fedora), so do not add them to the requirements by default. +--- + setup.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/setup.py b/setup.py +index 1cc97efb5..f740931c8 100755 +--- a/setup.py ++++ b/setup.py +@@ -525,7 +525,7 @@ def get_requires_for_build_wheel(config_settings=None): + # ) + ret.append('libclang==16.0.6') + else: +- ret.append('libclang') ++ pass + if msys2(): + #print(f'msys2: pip install of swig does not build; assuming `pacman -S swig`.') + pass +@@ -533,7 +533,7 @@ def get_requires_for_build_wheel(config_settings=None): + #print(f'OpenBSD: pip install of swig does not build; assuming `pkg_add swig`.') + pass + else: +- ret.append( 'swig') ++ pass + return ret + + +-- +2.47.0.285.g5ef4903f31 + diff --git a/mupdf.spec b/mupdf.spec index 9a332bb..1967d5a 100644 --- a/mupdf.spec +++ b/mupdf.spec @@ -1,5 +1,5 @@ Name: mupdf -Version: 1.25.2 +Version: 1.25.4 Release: 1mamba Summary: A lightweight PDF, XPS, and E-book viewer Group: Graphical Desktop/Applications/Publishing @@ -8,17 +8,32 @@ Distribution: openmamba Packager: Silvan Calarco URL: https://mupdf.com/ Source: https://mupdf.com/downloads/archive/mupdf-%{version}-source.tar.lz -#Source: http://mupdf.com/downloads/mupdf-%{version}-source.tar.gz +Patch0: mupdf-1.25.3-setup.py-do-not-bundle-c-and-c-libs-in-wheel.patch +Patch1: mupdf-1.25.3-setup.py-do-not-require-libclang-and-swig.patch +Patch2: mupdf-1.25.3-Do-not-complain-to-your-friendly-local-distribution-.patch License: Affero GNU Public License ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libX11-devel BuildRequires: libXext-devel -BuildRequires: libXrandr-devel +BuildRequires: libarchive-devel BuildRequires: libcurl-devel +BuildRequires: libfreeglut-devel +BuildRequires: libfreetype-devel +BuildRequires: libgcc BuildRequires: libglvnd-devel +BuildRequires: libgumbo-parser-devel +BuildRequires: libharfbuzz-devel +BuildRequires: libjbig2dec-devel +BuildRequires: libjpeg-turbo +BuildRequires: libleptonica-devel +BuildRequires: libopenjpeg-devel BuildRequires: libopenssl-devel +BuildRequires: libstdc++6-devel +BuildRequires: libtesseract-devel +BuildRequires: libz-devel ## AUTOBUILDREQ-END +Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} %description A lightweight PDF, XPS, and E-book viewer. @@ -33,31 +48,51 @@ This package contains shared libraries for %{name}. %package -n lib%{name}-devel Group: Development/Libraries Summary: Development files for %{name} +Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description -n lib%{name}-devel This package contains libraries and header files for developing applications that use %{name}. -#% debug_package - %prep %setup -q -n %{name}-%{version}-source +%patch 0 -p1 -b .setup.py-do-not-bundle-c-and-c-libs-in-wheel +%patch 1 -p1 -b .setup.py-do-not-require-libclang-and-swig +%patch 2 -p1 -b .Do-not-complain-to-your-friendly-local-distribution- + +for d in $(ls thirdparty | grep -v -e extract -e lcms2 -e mujs) +do + rm -rf thirdparty/$d +done + +echo > user.make "\ + USE_SYSTEM_LIBS := yes + USE_SYSTEM_MUJS := no # build needs source anyways + USE_TESSERACT := yes + VENV_FLAG := + build := debug + shared := yes + verbose := yes +" + +# c++ and python install targets rebuild unconditionally. Avoid multiple rebuilds: +sed -i -e '/^install-shared-c++:/s/ c++//' Makefile +sed -i -e '/^install-shared-python:/s/ python//' Makefile %build -%make prefix=%{_prefix} libdir=%{_libdir} +export XCFLAGS="%{optflags} -fPIC -DJBIG_NO_MEMENTO -DTOFU -DTOFU_CJK_EXT" +%make prefix=%{_prefix} libdir=%{_libdir} shared c++ %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" -%makeinstall prefix=%{_prefix} libdir=%{_libdir} +%makeinstall install-shared-c install-shared-c++ prefix=%{_prefix} libdir=%{_libdir} \ + pydir=%{python3_sitearch} SO_INSTALL_MODE=755 %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" - %files %defattr(-,root,root) -#%{_bindir}/mujstest -#%{_bindir}/mjsgen %{_bindir}/mupdf-gl %{_bindir}/mupdf-x11 %{_bindir}/mupdf-x11-curl @@ -65,6 +100,11 @@ This package contains libraries and header files for developing applications tha %{_bindir}/mutool %{_mandir}/man1/mupdf.1* %{_mandir}/man1/mutool.1* + +%files -n lib%{name} +%defattr(-,root,root) +%{_libdir}/libmupdf.so.* +%{_libdir}/libmupdfcpp.so.* %doc COPYING %files -n lib%{name}-devel @@ -75,14 +115,19 @@ This package contains libraries and header files for developing applications tha %{_includedir}/mupdf/fitz/*.h %dir %{_includedir}/mupdf/pdf %{_includedir}/mupdf/pdf/* -%{_libdir}/libmupdf.a -%{_libdir}/libmupdf-third.a +%{_libdir}/libmupdf.so +%{_libdir}/libmupdfcpp.so %dir %{_docdir}/mupdf %{_docdir}/mupdf/* %doc CHANGES README - %changelog +* Mon Jan 27 2025 Automatic Build System 1.25.4-1mamba +- automatic version update by autodist + +* Sat Jan 25 2025 Automatic Build System 1.25.3-1mamba +- automatic version update by autodist + * Wed Dec 11 2024 Automatic Build System 1.25.2-1mamba - automatic version update by autodist