Installer murexpo
nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Reprise du message précédent
Bonjour,Citation :
Bien j'y suis arrivé (quand on persévère)
Justement en lisant le lien indiqué, je me suis dit la même chose. %license indique que le fichier qui suit est le fichier de licence et qu' il doit être utilisé comme fichier de licence. %license LICENSE est difficile à interpréter dans leur exemple.
Alors pour l' instant ( sous réserve que rpmbuild en veuille
); j' ai changé le commit à celui du 19 mars car celui ci indique "support de python 3.8" (et comme la version actuelle est une version 3.8...) :Pour la spec pour murexpo en lui même ( d' ailleurs je me demande si le lien de download est bon vu que cela redirige vers un une page de téléchargement et non vers un fichier en lui même)
Code TEXT :
Name: murexpo
Version: 0.6.8
Release: %mkrel 2
Group: Education
Summary: Software to create virtual exhibition walls
License: GPLv3
URL: https://murexpo.org/me/
Source0: https://downloads.sourceforge.net/project/murexpo/murexpo-%{version}.tgz
BuildArch: noarch
Requires: wkhtmltopdf
Requires: python3-numpy
Requires: python3
Requires: python3-imageio
Requires: python3-pillow
Requires: python3-pyqt5-sip
#Requires : python3-pymupdf ( to be created)
Requires : python3-pdfkit
%description
Murexpo provides exhibition walls on which you can hang works (works of art,
student works, ...) in order to put them in a situation like in an exhibition
room.
%prep
%autosetup -c
%build
%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_docdir}
mkdir -p %{buildroot}%{_mandir}
mkdir -p %{buildroot}%{_datadir}/murexpo
mkdir -p %{buildroot}%{_datadir}/applications/
cp ./%{_bindir}/murexpo %{buildroot}%{_bindir}
cp -r ./%{_datadir}/murexpo/* %{buildroot}%{_datadir}/murexpo/
cp -r ./%{_datadir}/applications/murexpo.desktop %{buildroot}%{_datadir}/applications/murexpo.desktop
cp -r ./%{_datadir}/doc/* %{buildroot}%{_datadir}/doc
cp -r ./%{_datadir}/man/* %{buildroot}%{_datadir}/man
#Not debian here
rm %{buildroot}%{_docdir}/murexpo/changelog.Debian.gz
#redundancy with .txt
rm %{buildroot}%{_datadir}/murexpo/gpl-3.0.odt
#useless
rm %{buildroot}%{_datadir}/murexpo/ressources_murexpo/.directory
#Only for macOS
rm %{buildroot}%{_datadir}/murexpo/ressources_murexpo/logo_murexpo_me_format_carre_256x256.icns
#Remove po files not needed in final package
rm %{buildroot}%{_datadir}/murexpo/locale/{de,en,es,it}/LC_MESSAGES/murexpo.po
rm %{buildroot}%{_datadir}/murexpo/locale/murexpo.po
# Remove onefile/onedirectory script ( not needed for running program)
rm %{buildroot}%{_datadir}/murexpo/pyinstaller_creation_executable_murexpo.py
%files
%{_bindir}/murexpo
%dir %{_datadir}/murexpo
%{_datadir}/murexpo/__pycache__/*.cpython-38.opt-1.pyc
%{_datadir}/murexpo/__pycache__/*.cpython-38.pyc
%{_datadir}/murexpo/locale/{de,en,es,it}/LC_MESSAGES/murexpo.mo
%{_datadir}/murexpo/ressources_murexpo/*.png
%{_datadir}/murexpo/ressources_murexpo/*.gif
%{_datadir}/murexpo/ressources_murexpo/*.ico
%{_datadir}/murexpo/*.py
%{_datadir}/murexpo/logo_murexpo_me_format_carre_256x256.png
%{_datadir}/applications/murexpo.desktop
%doc %{_docdir}/murexpo/changelog.gz
%doc %{_docdir}/murexpo/copyright
%{_mandir}/fr/man6/murexpo.6.xz
%{_mandir}/man6/murexpo.6.xz
%license %{_datadir}/murexpo/gpl-3.0.txt
%postun
#Seems folder /usr/sahre/murexpo is not removed when removing package. So force it.
rm -f -r /usr/share/murexpo
%changelog
* Sat Sep 18 2021 nic80 <nic80> 0.6.8.mga8
- uncomment require for package python3-pdfkit as it now might exists
- define gpl-3.0.txt as license file
- define changelog and copyrught files as documentation files
- removed unecessary dependancies as wrong fitz module was targed in initial package
* Sun Sep 12 2021 nic80 <nic80> 0.6.8.mga8
- initial package murexpo
Pour la spec de pdfkit
Code TEXT :
%global module pdfkit
%global commit ac092fec86f713200bb874412b470574e2107154
%global commitdate 20210319
%global short_commit %(c=%{commit}; echo ${c:0:7})
Name: python-%{module}
Version: %commitdate
Release: %mkrel -c git%{commitdate} 1
Summary: Python 2 and 3 wrapper for wkhtmltopdf
Group: Development/Python
License: MIT
URL: http://pypi.python.org/pypi/pdfkit/
Source0: https://github.com/JazzCore/python-pdfkit/archive/%{short_commit}.tar.gz
BuildArch: noarch
%description
Python 2 and 3 wrapper for wkhtmltopdf utility to convert HTML to PDF using Webkit.
%package -n python3-%{module}
Summary: Python 2 and 3 wrapper for wkhtmltopdf
Group: Development/Python
BuildRequires: pkgconfig(python3)
# For use by selftests:
%if %{with test}
BuildRequires: python3dist(pytest)
BuildRequires: python3dist(funcsigs)
%endif
BuildRequires: python3-pkg-resources
BuildRequires: tkinter3
%{?python_provide:%python_provide python3-%{module}}
%description -n python3-%{module}
Python 2 and 3 wrapper for wkhtmltopdf utility to convert HTML to PDF using Webkit.
%prep
%autosetup -n %{module}--%{commit}
%build
%py3_build
%install
%py3_install
%files -n python3-%{module}
%{python3_sitelib}/%{module}/__pycache__/*
%{python3_sitelib}/pdfkit*
%license LICENSE
%doc README.rst AUTHORS.rst HISTORY.rstAprès il faudra s' attaquer à Mupdf et PyMuPdf et là cela semble plus compliqué ( déjà faut déjà arriver à compiler Mupdf sans pour le moment construire un fichier spec.
Édité par nic80 Le 18/09/2021 à 16h51
Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
https://github.com/JazzCore/python-pdfkit/blob/master/HISTORY.rst
j'utilise aussi Version: %commitdate lorsque les projets n'ont pas de version, mais là c'est un cas spécial, 4 ans sans nouvelle version, mais il y a des versions... Je pense que devrait garder Version: 0.6.1 car de toutes les manières on utilise %commitdate dans mkrel.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
| Arch | Machine | OS |
| x86_64 | lenovo x250 | mga9 |
| armv7hl | bananapro | mga9 |
| aarch64 | Raspberry Pi 4B | mga9 |
Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
La constructions passe.
Je n'ai testé ni l'installation ni le fonctionnement.
J'ai changé aussi dans le man le .gz en .xz
PS : il faut aussi reprendre deux fichiers desktop et un patch.
Edit2 : le lien vers le source Fedora : https://download-ib01.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/source/tree/Packages/m/mupdf-1.18.0-9.fc36.src.rpm
Code TEXT :
%global jbig2dec_version 0.19
Name: mupdf
Version: 1.18.0
Release: %mkrel 1
Summary: A lightweight PDF viewer and toolkit
License: AGPLv3+
URL: http://mupdf.com/
Source0: http://mupdf.com/downloads/archive/%{name}-%{version}-source.tar.gz
Source1: %{name}.desktop
Source2: %{name}-gl.desktop
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: make
BuildRequires: binutils
BuildRequires: desktop-file-utils
BuildRequires: coreutils
BuildRequires: pkgconfig
BuildRequires: openjpeg2-devel
BuildRequires: desktop-file-utils
BuildRequires: libjpeg-devel
BuildRequires: freetype-devel
BuildRequires: pkgconfig(xext)
BuildRequires: curl-devel
BuildRequires: harfbuzz-devel
BuildRequires: openssl-devel
BuildRequires: libegl-devel
BuildRequires: libgl-devel
BuildRequires: libglu-devel
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xrandr)
BuildRequires: gumbo-devel
BuildRequires: pkgconfig(jbig2dec) = %{jbig2dec_version}
BuildRequires: jbig2dec = %{jbig2dec_version}
Requires: jbig2dec = %{jbig2dec_version}
# We need to build against the Artifex fork of lcms2 so that we are thread safe
# (see bug #1553915). Artifex make sure to rebase against upstream, who refuse
# to integrate Artifex's changes.
Provides: bundled(lcms2-devel) = 2.10art
# We need to build against the Artifex fork of freeglut so that we are unicode safe.
Provides: bundled(freeglut-devel) = 3.0.0
# muPDF needs the muJS sources for the build even if we build against the system
# version so bundling them is the safer choice.
Provides: bundled(mujs-devel) = 1.0.9
Patch1: 0001-Bug-703366-Fix-double-free-of-object-during-lineariz.patch
%description
MuPDF is a lightweight PDF viewer and toolkit written in portable C.
The renderer in MuPDF is tailored for high quality anti-aliased
graphics. MuPDF renders text with metrics and spacing accurate to
within fractions of a pixel for the highest fidelity in reproducing
the look of a printed page on screen.
MuPDF has a small footprint. A binary that includes the standard
Roman fonts is only one megabyte. A build with full CJK support
(including an Asian font) is approximately seven megabytes.
MuPDF has support for all non-interactive PDF 1.7 features, and the
toolkit provides a simple API for accessing the internal structures of
the PDF document. Example code for navigating interactive links and
bookmarks, encrypting PDF files, extracting fonts, images, and
searchable text, and rendering pages to image files is provided.
%package devel
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}
Provides: %{name}-static = %{version}-%{release}
%description devel
The mupdf-devel package contains header files for developing
applications that use mupdf and static libraries
%prep
%setup -q -n %{name}-%{version}-source
for d in $(ls thirdparty | grep -v -e freeglut -e lcms2 -e mujs)
do
rm -rf thirdparty/$d
done
%patch1 -p1
echo > user.make "\
USE_SYSTEM_FREETYPE := yes
USE_SYSTEM_HARFBUZZ := yes
USE_SYSTEM_JBIG2DEC := yes
USE_SYSTEM_JPEGXR := yes # not used without HAVE_JPEGXR
USE_SYSTEM_LCMS2 := no # need lcms2-art fork
USE_SYSTEM_LIBJPEG := yes
USE_SYSTEM_MUJS := no # build needs source anyways
USE_SYSTEM_OPENJPEG := yes
USE_SYSTEM_ZLIB := yes
USE_SYSTEM_GLUT := no # need freeglut2-art fork
USE_SYSTEM_CURL := yes
USE_SYSTEM_GUMBO := yes
"
%build
export XCFLAGS="%{optflags} -fPIC -DJBIG_NO_MEMENTO -DTOFU -DTOFU_CJK_EXT"
make build=debug verbose=yes
%install
make DESTDIR=%{buildroot} install prefix=%{_prefix} libdir=%{_libdir} build=debug verbose=yes
## handle docs on our own
rm -rf %{buildroot}/%{_docdir}
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE2}
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps
install -p -m644 docs/logo/mupdf-logo.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/mupdf.svg
install -p -m644 docs/logo/mupdf-logo.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/mupdf-gl.svg
## fix strange permissons
chmod 0644 %{buildroot}%{_libdir}/*.a
find %{buildroot}/%{_mandir} -type f -exec chmod 0644 {} \;
find %{buildroot}/%{_includedir} -type f -exec chmod 0644 {} \;
cd %{buildroot}/%{_bindir} && ln -s %{name}-x11 %{name}
%files
%license COPYING
%doc README CHANGES docs/*
%{_bindir}/*
%{_datadir}/applications/mupdf*.desktop
%{_datadir}/icons/hicolor/*/apps/*
%{_mandir}/man1/*.1.xz
%files devel
%{_includedir}/%{name}
%{_libdir}/lib%{name}*.aÉdité par Papoteur Le 18/09/2021 à 18h41
Yves
nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
La création du rpm mupdf fonctionne et visiblement le logiciel se lance et crée le paquet devel.
Donc au niveau des specs:
Mupdf.spec
Code TEXT :
%global jbig2dec_version 0.19
Name: mupdf
Version: 1.18.0
Release: %mkrel 1
Summary: A lightweight PDF viewer and toolkit
License: AGPLv3+
URL: http://mupdf.com/
Source0: http://mupdf.com/downloads/archive/%{name}-%{version}-source.tar.gz
Source1: %{name}.desktop
Source2: %{name}-gl.desktop
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: make
BuildRequires: binutils
BuildRequires: desktop-file-utils
BuildRequires: coreutils
BuildRequires: pkgconfig
BuildRequires: openjpeg2-devel
BuildRequires: desktop-file-utils
BuildRequires: libjpeg-devel
BuildRequires: freetype-devel
BuildRequires: pkgconfig(xext)
BuildRequires: curl-devel
BuildRequires: harfbuzz-devel
BuildRequires: openssl-devel
BuildRequires: libegl-devel
BuildRequires: libgl-devel
BuildRequires: libglu-devel
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xrandr)
BuildRequires: gumbo-devel
BuildRequires: pkgconfig(jbig2dec) = %{jbig2dec_version}
BuildRequires: jbig2dec = %{jbig2dec_version}
Requires: jbig2dec = %{jbig2dec_version}
# We need to build against the Artifex fork of lcms2 so that we are thread safe
# (see bug #1553915). Artifex make sure to rebase against upstream, who refuse
# to integrate Artifex's changes.
Provides: bundled(lcms2-devel) = 2.10art
# We need to build against the Artifex fork of freeglut so that we are unicode safe.
Provides: bundled(freeglut-devel) = 3.0.0
# muPDF needs the muJS sources for the build even if we build against the system
# version so bundling them is the safer choice.
Provides: bundled(mujs-devel) = 1.0.9
Patch1: 0001-Bug-703366-Fix-double-free-of-object-during-lineariz.patch
%description
MuPDF is a lightweight PDF viewer and toolkit written in portable C.
The renderer in MuPDF is tailored for high quality anti-aliased
graphics. MuPDF renders text with metrics and spacing accurate to
within fractions of a pixel for the highest fidelity in reproducing
the look of a printed page on screen.
MuPDF has a small footprint. A binary that includes the standard
Roman fonts is only one megabyte. A build with full CJK support
(including an Asian font) is approximately seven megabytes.
MuPDF has support for all non-interactive PDF 1.7 features, and the
toolkit provides a simple API for accessing the internal structures of
the PDF document. Example code for navigating interactive links and
bookmarks, encrypting PDF files, extracting fonts, images, and
searchable text, and rendering pages to image files is provided.
%package devel
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}
Provides: %{name}-static = %{version}-%{release}
%description devel
The mupdf-devel package contains header files for developing
applications that use mupdf and static libraries
%prep
%setup -q -n %{name}-%{version}-source
for d in $(ls thirdparty | grep -v -e freeglut -e lcms2 -e mujs)
do
rm -rf thirdparty/$d
done
%patch1 -p1
echo > user.make "\
USE_SYSTEM_FREETYPE := yes
USE_SYSTEM_HARFBUZZ := yes
USE_SYSTEM_JBIG2DEC := yes
USE_SYSTEM_JPEGXR := yes # not used without HAVE_JPEGXR
USE_SYSTEM_LCMS2 := no # need lcms2-art fork
USE_SYSTEM_LIBJPEG := yes
USE_SYSTEM_MUJS := no # build needs source anyways
USE_SYSTEM_OPENJPEG := yes
USE_SYSTEM_ZLIB := yes
USE_SYSTEM_GLUT := no # need freeglut2-art fork
USE_SYSTEM_CURL := yes
USE_SYSTEM_GUMBO := yes
"
%build
export XCFLAGS="%{optflags} -fPIC -DJBIG_NO_MEMENTO -DTOFU -DTOFU_CJK_EXT"
make build=debug verbose=yes
%install
make DESTDIR=%{buildroot} install prefix=%{_prefix} libdir=%{_libdir} build=debug verbose=yes
## handle docs on our own
rm -rf %{buildroot}/%{_docdir}
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE2}
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps
install -p -m644 docs/logo/mupdf-logo.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/mupdf.svg
install -p -m644 docs/logo/mupdf-logo.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/mupdf-gl.svg
## fix strange permissons
chmod 0644 %{buildroot}%{_libdir}/*.a
find %{buildroot}/%{_mandir} -type f -exec chmod 0644 {} \;
find %{buildroot}/%{_includedir} -type f -exec chmod 0644 {} \;
cd %{buildroot}/%{_bindir} && ln -s %{name}-x11 %{name}
%files
%license COPYING
%doc README CHANGES docs/*
%{_bindir}/*
%{_datadir}/applications/mupdf*.desktop
%{_datadir}/icons/hicolor/*/apps/*
%{_mandir}/man1/*.1.xz
%files devel
%{_includedir}/%{name}
%{_libdir}/lib%{name}*.a
murexpo.spec
Code TEXT :
Name: murexpo
Version: 0.6.8
Release: %mkrel 2
Group: Education
Summary: Software to create virtual exhibition walls
License: GPLv3
URL: https://murexpo.org/me/
Source0: https://downloads.sourceforge.net/project/murexpo/murexpo-%{version}.tgz
BuildArch: noarch
Requires: wkhtmltopdf
Requires: python3-numpy
Requires: python3
Requires: python3-imageio
Requires: python3-pillow
Requires: python3-pyqt5-sip
Requires : python3-pymupdf
Requires : python3-pdfkit
%description
Murexpo provides exhibition walls on which you can hang works (works of art,
student works, ...) in order to put them in a situation like in an exhibition
room.
%prep
%autosetup -c
%build
%install
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_docdir}
mkdir -p %{buildroot}%{_mandir}
mkdir -p %{buildroot}%{_datadir}/murexpo
mkdir -p %{buildroot}%{_datadir}/applications/
cp ./%{_bindir}/murexpo %{buildroot}%{_bindir}
cp -r ./%{_datadir}/murexpo/* %{buildroot}%{_datadir}/murexpo/
cp -r ./%{_datadir}/applications/murexpo.desktop %{buildroot}%{_datadir}/applications/murexpo.desktop
cp -r ./%{_datadir}/doc/* %{buildroot}%{_datadir}/doc
cp -r ./%{_datadir}/man/* %{buildroot}%{_datadir}/man
#Not debian here
rm %{buildroot}%{_docdir}/murexpo/changelog.Debian.gz
#redundancy with .txt
rm %{buildroot}%{_datadir}/murexpo/gpl-3.0.odt
#useless
rm %{buildroot}%{_datadir}/murexpo/ressources_murexpo/.directory
#Only for macOS
rm %{buildroot}%{_datadir}/murexpo/ressources_murexpo/logo_murexpo_me_format_carre_256x256.icns
#Remove po files not needed in final package
rm %{buildroot}%{_datadir}/murexpo/locale/{de,en,es,it}/LC_MESSAGES/murexpo.po
rm %{buildroot}%{_datadir}/murexpo/locale/murexpo.po
# Remove onefile/onedirectory script ( not needed for running program)
rm %{buildroot}%{_datadir}/murexpo/pyinstaller_creation_executable_murexpo.py
%files
%{_bindir}/murexpo
%dir %{_datadir}/murexpo
%{_datadir}/murexpo/__pycache__/*.cpython-38.opt-1.pyc
%{_datadir}/murexpo/__pycache__/*.cpython-38.pyc
%{_datadir}/murexpo/locale/{de,en,es,it}/LC_MESSAGES/murexpo.mo
%{_datadir}/murexpo/ressources_murexpo/*.png
%{_datadir}/murexpo/ressources_murexpo/*.gif
%{_datadir}/murexpo/ressources_murexpo/*.ico
%{_datadir}/murexpo/*.py
%{_datadir}/murexpo/logo_murexpo_me_format_carre_256x256.png
%{_datadir}/applications/murexpo.desktop
%doc %{_docdir}/murexpo/changelog.gz
%doc %{_docdir}/murexpo/copyright
%{_mandir}/fr/man6/murexpo.6.xz
%{_mandir}/man6/murexpo.6.xz
%license %{_datadir}/murexpo/gpl-3.0.txt
%postun
#Seems folder /usr/sahre/murexpo is not removed when removing package. So force it.
rm -f -r /usr/share/murexpo
%changelog
* Sat Sep 18 2021 nic80 <nic80> 0.6.8.mga8
- uncomment require for package python3-pdfkit as it now might exists
- define gpl-3.0.txt as license file
- define changelog and copyrught files as documentation files
- removed unecessary dependancies as wrong fitz module was targed in initial package
* Sun Sep 12 2021 nic80 <nic80> 0.6.8.mga8
- initial package murexpopython-pdfkit.spec
Code TEXT :
%global module pdfkit
%global commit ac092fec86f713200bb874412b470574e2107154
%global commitdate 20210319
%global short_commit %(c=%{commit}; echo ${c:0:7})
Name: python-%{module}
Version: %commitdate
Release: %mkrel -c git%{commitdate} 1
Summary: Python 2 and 3 wrapper for wkhtmltopdf
Group: Development/Python
License: MIT
URL: http://pypi.python.org/pypi/pdfkit/
Source0: https://github.com/JazzCore/python-pdfkit/archive/python-%{module}-%{commit}.tar.gz
BuildArch: noarch
%description
Python 2 and 3 wrapper for wkhtmltopdf utility to convert HTML to PDF using Webkit.
%package -n python3-%{module}
Summary: Python 2 and 3 wrapper for wkhtmltopdf
Group: Development/Python
BuildRequires: pkgconfig(python3)
# For use by selftests:
%if %{with test}
BuildRequires: python3dist(pytest)
BuildRequires: python3dist(funcsigs)
%endif
BuildRequires: python3-pkg-resources
BuildRequires: tkinter3
%{?python_provide:%python_provide python3-%{module}}
%description -n python3-%{module}
Python 2 and 3 wrapper for wkhtmltopdf utility to convert HTML to PDF using Webkit.
%prep
%autosetup -n python-%{module}-%{commit}
%build
%py3_build
%install
%py3_install
%files -n python3-%{module}
%{python3_sitelib}/%{module}/__pycache__/*
%{python3_sitelib}/pdfkit*
%license LICENSE
%doc README.rst AUTHORS.rst HISTORY.rstpython-pymupdf.spec
Code TEXT :
%define module PyMuPDF
Name: python-%{module}
Version: 1.18.19
Release: %mkrel 1
Summary: Python bindings for the PDF toolkit and renderer MuPDF
Group: Development/Python
License: AGPLv3
URL: https://pypi.org/project/PyMuPDF/
Source0: https://github.com/pymupdf/PyMuPDF/archive/refs/tags/PyMuPDF-%{version}.tar.gz
#Need to add Mageia to setup.py and to add libm and zlib to requisites
#Patch1: setup.py-addMageia.patch
%description
Python bindings for the PDF toolkit and renderer MuPDF
%package -n python3-%{module}
Summary: Python bindings for the PDF toolkit and renderer MuPDF
Group: Development/Python
BuildRequires: pkgconfig(python3)
# For use by selftests:
%if %{with test}
BuildRequires: python3dist(pytest)
BuildRequires: python3dist(funcsigs)
%endif
BuildRequires: mupdf-devel
BuildRequires: gcc
BuildRequires: zlib-devel
BuildRequires: gumbo-devel
BuildRequires: jbig2dec-devel
BuildRequires: openjpeg2-devel
BuildRequires: freetype-devel
Requires: mupdf
%{?python_provide:%python_provide python3-%{module}}
%description -n python3-%{module}
Python bindings for the PDF toolkit and renderer MuPDF
%prep
%autosetup -n %{module}-%{version}
#%patch1 -p1
%build
%py3_build
%install
%py3_install
%files -n python3-%{module}
/usr/lib64/python3.8/site-packages/PyMuPDF-%{version}*
/usr/lib64/python3.8/site-packages/fitz/*
/usr/lib/debug/usr/lib64/python3.8/site-packages/fitz/_fitz.cpython-38-x86_64-linux-gnu.so-1.18.19-1.mga8.x86_64.debug
%license COPYINGDans ce dernier spec, j' ai bien essayé de mettre un patch pour ajouter Mageia ( pour forcer l' utilisation de libm et zlib, sinon ça ne marche pas sur ma vm), mais cela ne marche pas
- (donc le fichier rpm est fait à partir de ma modification manuelle du fichier setup.py, remis dans un fichier tar.gz)Patch setup.py
[code=text]--- setup.py 2021-09-16 22:26:58.000000000 +0200
+++ setup.py 2021-09-19 15:27:32.326994386 +0200
@@ -28,6 +28,10 @@
FEDORA = ARCH_LINUX + [
"harfbuzz",
]
+MAGEIA = FEDORA + [
+"m",
+"z"
+]
NIX = ARCH_LINUX + [
"harfbuzz"
]
@@ -40,7 +44,8 @@
"opensuse": OPENSUSE,
"fedora": FEDORA,
"alpine": ALPINE,
- "nix": NIX
+ "nix": NIX,
+"mageia": MAGEIA
}
/code]
Finalement les fichiers rpm générés pour l' application:
https://we.tl/t-8hQuWEdmc1
( après vu que j' ai beaucoup traffiqué la vm, je ne sais pas l' installation se fait correctement)
edit: le devel n' est pas forcément nécessaire, il doit uniquement servir pour la construction du rpm python-pymupdf.
Ici, les paquets n' étant pas les dépots Mageia, il faut les installer manuellement avec un "urpmi ./nom_du_paquet.rpm", potentiellement dans cet ordre:
python3-pdfkit
mupdf
pymupdf
murexpo
edit 2: bien entendu, ces paquets étant expérimentaux, il est préférable d' éviter de les installer sur une machine de production

edit 3 : je n' ai pas testé la désinstallation afin de voir s' il restait des traces après suppression des paquets.
Édité par nic80 Le 19/09/2021 à 17h05
Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Est-ce que le dossier existait déjà avant l'installation ? C'est peut-être pour cette raison qu'il n'a pas été supprimé ? En tous cas, je suis certains qu'il ne doit pas y être.
Peux-tu nous expliquer le principe du patch ?
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
| Arch | Machine | OS |
| x86_64 | lenovo x250 | mga9 |
| armv7hl | bananapro | mga9 |
| aarch64 | Raspberry Pi 4B | mga9 |
nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
En fait, dans le setup.py, je suppose qu' il y a identification de la distribution sur laquelle le module est construit ( et Mageia n' y est pas
).Plus sérieusement, quand j' essaye de construire le rpm sur ma machine sans modifications ( ajout de la libm ("m") et zlib ("z"), les fonctions mathématiques (sqrt,log,cos,tan, etc...) ne sont pas trouvées, ainsi que les fonctions inflateend/deflate, crc32( undefined reference).En rajoutant les modifications, cela rajoute -lm et -lz à la ligne de gcc et il n' y a plus de plaintes.
Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
nic80 :
edit 2: bien entendu, ces paquets étant expérimentaux, il est préférable d' éviter de les installer sur une machine de production
Moi je fais confiance à RPM
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
| Arch | Machine | OS |
| x86_64 | lenovo x250 | mga9 |
| armv7hl | bananapro | mga9 |
| aarch64 | Raspberry Pi 4B | mga9 |
Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Est-ce que BuildRequires: pkgconfig(harfbuzz) vient apporter quelque chose ? Je vois qu'il est nécessaire pour Arch et Fedora et il est présent chez nous...
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
| Arch | Machine | OS |
| x86_64 | lenovo x250 | mga9 |
| armv7hl | bananapro | mga9 |
| aarch64 | Raspberry Pi 4B | mga9 |
nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Aucune idée, mais je suppose que si mupdf ( sur lequel repose PyMuPDF) a été compilé avec cette bibliothèque, peut être que si elle ne l' est pas, cela entraine des fonctions non reconnues ?
@MurExpoAPSC: j' ai constaté un bug mais j' ignore si c' est du à la construction des paquets... Pour reproduire, je prend l' étape un, je choisis un mur, puis je décide de passer à l' étape 4 ( sans passer par les étapes 2 et 3), je rajoute un personnage, puis je décide de le supprimer directement... Cela entraine un crash.
Code TEXT :
Traceback (most recent call last):
File "/usr/share/murexpo/fabrique_murexpo_gui.py", line 6406, in supprimer_image_oeuvre
for element in self.liste_fondu_images_et_pixmap :
AttributeError: 'MonGraphiqueVueMur' object has no attribute 'liste_fondu_images_et_pixmap'
/usr/bin/murexpo : ligne 2 : 19747 Abandon (core dumped)python3 murexpo_gui.pyMurExpoAPSC Membre non connecté
-
- Voir le profil du membre MurExpoAPSC
- Inscrit le : 09/09/2021
- Site internet
nic80 :
Bonjour,
@MurExpoAPSC: j' ai constaté un bug mais j' ignore si c' est du à la construction des paquets... Pour reproduire, je prend l' étape un, je choisis un mur, puis je décide de passer à l' étape 4 ( sans passer par les étapes 2 et 3), je rajoute un personnage, puis je décide de le supprimer directement... Cela entraine un crash.
@MurExpoAPSC: j' ai constaté un bug mais j' ignore si c' est du à la construction des paquets... Pour reproduire, je prend l' étape un, je choisis un mur, puis je décide de passer à l' étape 4 ( sans passer par les étapes 2 et 3), je rajoute un personnage, puis je décide de le supprimer directement... Cela entraine un crash.
Code TEXT :
Traceback (most recent call last):
File "/usr/share/murexpo/fabrique_murexpo_gui.py", line 6406, in supprimer_image_oeuvre
for element in self.liste_fondu_images_et_pixmap :
AttributeError: 'MonGraphiqueVueMur' object has no attribute 'liste_fondu_images_et_pixmap'
/usr/bin/murexpo : ligne 2 : 19747 Abandon (core dumped)python3 murexpo_gui.pyBonsoir nic80,
Je vais essayer de reproduire ça ... Je vais essayer de trouver un peu de temps demain soir.
En tous cas merci pour ce retour !

À bientôt.
Édité par MurExpoAPSC Le 20/09/2021 à 00h48
MurExpoAPSC Membre non connecté
-
- Voir le profil du membre MurExpoAPSC
- Inscrit le : 09/09/2021
- Site internet
Problème résolu (par rapport au Traceback ... AttributeError: 'MonGraphiqueVueMur' object has no attribute 'liste_fondu_images_et_pixmap'). En fait une exception fait l'affaire.
Là je suis au boulot au collège et je n'ai pas accès au dépôt SVN de MurExpo. Je viens d'uploader le fichier fabrique_murexpo_gui.py ici et il me semble semble bien être attaché au message (par contre après upload ici il semble qu'il y ait un gros problème d'encodage (avec les accents !), ce n'est pas le cas dans le fichier originel ... encodage en utf-8 à l'origine).
Bonne aprèm.

fabrique_murexpo_gui.py
Édité par MurExpoAPSC Le 20/09/2021 à 19h25
Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Rien ne presse

Sinon oui, on peut téléverser des fichiers (.txt ça passe, .py j'ai un doute), ou faire des patchs et le poster ici dans les balises code.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
| Arch | Machine | OS |
| x86_64 | lenovo x250 | mga9 |
| armv7hl | bananapro | mga9 |
| aarch64 | Raspberry Pi 4B | mga9 |
MurExpoAPSC Membre non connecté
-
- Voir le profil du membre MurExpoAPSC
- Inscrit le : 09/09/2021
- Site internet
Jybz :
Attendons la version 0.6.9 dans le svn?
Rien ne presse
Rien ne presse

Hello
,Ce qu'à signalé nic80 est un bug, et j'aime pas les bugs

Ce ne sera pas une version 0.6.9, mais une ... à voir ... j'aurais au moins une grosse fonctionnalité à implémenter ; l'exportation de l'expo sous la forme d'une vidéo --> travail avec ffmpeg (qui sera embarqué dans MurExpo).
Citation :
Sinon oui, on peut téléverser des fichiers (.txt ça passe, .py j'ai un doute), ou faire des patchs et le poster ici dans les balises code.
A voir dans mon dernier message ; tentative d'upload du fichier .py rectifié et problème d'encodage à l'arrivée.
Édité par MurExpoAPSC Le 20/09/2021 à 16h34
Papoteur Membre non connecté
-
- Voir le profil du membre Papoteur
- Inscrit le : 03/10/2011
- Groupes :
-
Modérateur
-
Équipe Mageia
-
Administrateur
-
Forgeron
Yves
MurExpoAPSC Membre non connecté
-
- Voir le profil du membre MurExpoAPSC
- Inscrit le : 09/09/2021
- Site internet
Papoteur :
Pas de problème d'encodage ici. Ce doit être ton éditeur local, le problème, non ?
Je vais retenter depuis chez moi tout à l'heure.
MurExpoAPSC Membre non connecté
-
- Voir le profil du membre MurExpoAPSC
- Inscrit le : 09/09/2021
- Site internet
Il serait bon d'inclure ce script modifié dans le futur paquet rpm, et ce pour éviter le bug trouvé par nic80, qu'en pensez-vous ?
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie