#
-# TODO: check why build requires libselinux-devel (because of some gnome* stuff)
-#
# Conditional build
-%bcond_without xft # Don't use xft scalable font database
-%bcond_without gnomevfs # Don't use gnome vfs for loading files
-%bcond_without mmx # Force building without MMX optimazation (Default: auto-detect)
-%bcond_with inkboard # Enable inkboard support
+%bcond_with dbus # DBus interface
%bcond_with relocation # Enable binary relocation support
+%bcond_with imagick # ImageMagick 6.x instead of GraphicsMagick
#
-# just set it nil when non-preview arrives
-%define beta %{nil}
-
Summary: Scalable vector graphics editor
Summary(pl.UTF-8): Edytor skalowalnej grafiki wektorowej
Name: inkscape
-Version: 0.91
-Release: 4
+Version: 1.3
+Release: 1
License: GPL v2+, LGPL v2.1+
Group: X11/Applications/Graphics
-#Source0: http://downloads.sourceforge.net/inkscape/%{name}-%{version}%{beta}.tar.bz2
-Source0: https://inkscape.org/en/gallery/item/3860/%{name}-%{version}%{beta}.tar.bz2
-# Source0-md5: 278dfa4514adcde23546370ec2c84581
-# workaround for https://bugs.launchpad.net/inkscape/+bug/487038
-Patch0: %{name}-ldl.patch
-Patch1: %{name}-0.48.2-types.patch
-URL: http://www.inkscape.org/
-BuildRequires: ImageMagick-c++-devel
+# download: follow https://inkscape.org/release/
+Source0: https://media.inkscape.org/dl/resources/file/%{name}-%{version}.tar.xz
+# Source0-md5: 3b16db43ffdae2156c4f318a44c32bbd
+URL: https://inkscape.org/
+%{!?with_imagick:BuildRequires: GraphicsMagick-c++-devel}
+%{?with_imagick:BuildRequires: ImageMagick6-c++-devel < 7}
BuildRequires: aspell-devel
-BuildRequires: autoconf >= 2.59-3
-BuildRequires: automake >= 1:1.9.4-2
BuildRequires: boost-devel >= 1.36
-BuildRequires: cairo-devel >= 1.8.0
+BuildRequires: cairo-devel >= 1.10
+BuildRequires: cairomm-devel >= 1.9.8
+BuildRequires: cmake >= 3.1.0
+%if %{with dbus}
+BuildRequires: dbus-devel
+BuildRequires: dbus-glib-devel
+%endif
+BuildRequires: double-conversion-devel
+BuildRequires: fontconfig-devel
BuildRequires: freetype-devel >= 2.0
-BuildRequires: gc-devel >= 6.4
-BuildRequires: gettext-tools
-BuildRequires: glibmm-devel >= 2.16.0
-%{?with_gnomevfs:BuildRequires: gnome-vfs2-devel >= 2.15.2}
+BuildRequires: gc-devel >= 7.2
+BuildRequires: gdl-devel >= 3.6
+BuildRequires: gettext-tools >= 0.17
+BuildRequires: glib2-devel >= 1:2.28
+BuildRequires: glibmm-devel >= 2.28
BuildRequires: gsl-devel
-BuildRequires: gtk+2-devel >= 2:2.14.0
-BuildRequires: gtkmm-devel >= 2.10.0
-BuildRequires: gtkspell-devel >= 2.0.11
-BuildRequires: intltool >= 0.35.0
+BuildRequires: gspell-devel >= 1.0
+BuildRequires: gtk+3-devel >= 3.22
+BuildRequires: gtkmm3-devel >= 3.22
+BuildRequires: gtksourceview4-devel
+BuildRequires: harfbuzz-devel
BuildRequires: lcms2-devel >= 2
+BuildRequires: lib2geom-devel >= 1.3
+BuildRequires: libcdr-devel >= 0.1
+BuildRequires: libexif-devel
BuildRequires: libgomp-devel
+BuildRequires: libjpeg-devel
BuildRequires: libpng-devel >= 1.2
+BuildRequires: librevenge-devel
BuildRequires: libsigc++-devel >= 2.0.17
-BuildRequires: libstdc++-devel >= 6:4.2.2-2
-BuildRequires: libtool
+BuildRequires: libsoup-devel >= 2.42
+BuildRequires: libstdc++-devel >= 6:4.7
+BuildRequires: libvisio-devel >= 0.1
BuildRequires: libwpd-devel >= 0.9
-BuildRequires: libwpg-devel >= 0.2
+BuildRequires: libwpg-devel >= 0.3
BuildRequires: libxml2-devel >= 1:2.6.26
BuildRequires: libxslt-devel >= 1.1.17
-%{?with_inkboard:BuildRequires: loudmouth-devel >= 1.0.3}
+BuildRequires: pango-devel >= 1:1.24
+BuildRequires: perl-tools-pod
BuildRequires: pkgconfig
-BuildRequires: poppler-glib-devel >= 0.20.0
+BuildRequires: poppler-glib-devel >= 0.29.0
BuildRequires: popt-devel
+BuildRequires: potrace-devel
+BuildRequires: ragel
+BuildRequires: rpm-build >= 4.6
BuildRequires: rpm-pythonprov
+BuildRequires: rpmbuild(macros) >= 1.752
BuildRequires: sed >= 4.0
-%{?with_xft:BuildRequires: xorg-lib-libXft-devel}
+BuildRequires: tar >= 1:1.22
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: xz
BuildRequires: zlib-devel
Requires(post,postun): desktop-file-utils
-Requires: cairo >= 1.8.0
-Requires: gc >= 6.4
-Requires: glibmm >= 2.16.0
-%{?with_gnomevfs:Requires: gnome-vfs2 >= 2.15.2}
-Requires: gtk+2 >= 2:2.14.0
-Requires: gtkmm >= 2.24.0
-Requires: gtkspell >= 2.0.11
+Requires(post,postun): gtk-update-icon-cache
+Requires: cairo >= 1.10
+Requires: cairomm >= 1.9.8
+Requires: gc >= 7.2
+Requires: gdl >= 3.6
+Requires: glib2 >= 1:2.28
+Requires: glibmm >= 2.28
+Requires: gtk+3 >= 3.22
+Requires: gtkmm3 >= 3.22
+Requires: hicolor-icon-theme
Requires: libsigc++ >= 2.0.17
Requires: libxml2 >= 1:2.6.26
Requires: libxslt >= 1.1.17
+Requires: pango >= 1:1.24
Requires: perl-XML-XQL
-Requires: poppler-glib >= 0.20.0
+Requires: poppler-glib >= 0.29.0
Suggests: python-lxml
-# sr@Latn vs. sr@latin
-Conflicts: glibc-misc < 6:2.7
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Inkscape jest programem do przeglądania, tworzenia i edycji
dwuwymiarowej grafiki wektorowej.
+%package -n bash-completion-inkscape
+Summary: Bash completion for inkscape arguments
+Summary(pl.UTF-8): Bashowe dopełnianie argumentów programu inkscape
+Group: Applications/Shells
+Requires: %{name} = %{version}-%{release}
+Requires: bash-completion >= 1:2.0
+BuildArch: noarch
+
+%description -n bash-completion-inkscape
+Bash completion for inkscape arguments.
+
+%description -n bash-completion-inkscape -l pl.UTF-8
+Bashowe dopełnianie argumentów programu inkscape.
+
%prep
-%setup -q -n %{name}-%{version}%{beta}
-%patch0 -p1
-%patch1 -p1
+%setup -q -n %{name}-%{version}_2023-07-21_0e150ed6c4
+
+# python3-only
+%{__sed} -i -e '1s,/usr/bin/env python3,%{__python3},' \
+ CMakeScripts/cmake_consistency_check.py \
+ buildtools/check_license_headers.py \
+ share/extensions/*.py \
+ share/extensions/tests/add_pylint.py \
+ share/*/i18n.py
+
+# look python2/3 compatible
+%{__sed} -i -e '1s,/usr/bin/env python$,%{__python3},' \
+ buildtools/msys2checkdeps.py \
+ share/extensions/*.py \
+ share/extensions/inkex/tester/inx.py \
+ share/extensions/tests/test_*.py \
+
+# python2-only
+%{__sed} -i -e '1s,/usr/bin/python$,%{__python},' \
+ packaging/scripts/lp-mark-bugs-released
+
+%{__sed} -i -e '1s,/usr/bin/env perl$,%{__perl},' \
+ share/attributes/genMapDataCSS.pl \
+ share/attributes/genMapDataSVG.pl
%build
-%{__libtoolize}
-%{__glib_gettextize}
-%{__intltoolize}
-%{__aclocal}
-%{__autoheader}
-%{__automake}
-%{__autoconf}
-%configure \
- --disable-silent-rules \
- %{!?with_xft: --without-xft} \
- %{!?with_gnomevfs:--without-gnome-vfs} \
- %{!?with_mmx:--disable-mmx} \
- %{?with_relocation:--enable-binreloc} \
- %{?with_inkboard:--enable-inkboard}
+mkdir -p build
+cd build
+
+%cmake .. \
+ -DBUILD_SHARED_LIBS:BOOL=OFF \
+ %{cmake_on_off relocation ENABLE_BINRELOC} \
+ %{cmake_on_off dbus WITH_DBUS} \
+ %{cmake_on_off imagick WITH_IMAGE_MAGICK}
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
+%{__make} -C build install \
DESTDIR=$RPM_BUILD_ROOT
-%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/locale/{bn_BD,en_US@piglatin}
+# unify locale name, overwrite outdated bn
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{bn_BD,bn}/LC_MESSAGES/inkscape.mo
+# unify names
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{ks@aran,ks}
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{ks@deva,ks@devanagari}
+%{__mv} $RPM_BUILD_ROOT%{_localedir}/{sd@deva,sd@devanagari}
+# unsupported variants
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/{kok@latin,mni@beng,sat@deva}
+
+%{__rm} $RPM_BUILD_ROOT%{_datadir}/inkscape/extensions/{.darglint,.pre-commit-config.yaml,.pylintrc,CONTRIBUTING.md,LICENSE.txt,MANIFEST.in,README.md,TESTING.md,doxygen-main.dox,package-readme.md,poetry.lock,pyproject.toml,tox.ini}
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/inkscape/extensions/docs
%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
-
%post
%update_desktop_database_post
+%update_icon_cache hicolor
%postun
%update_desktop_database_postun
+%update_icon_cache hicolor
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README TRANSLATORS doc/HACKING.txt
-%lang(ca) %doc README.ca.txt
-%lang(de) %doc README.de.txt
-%lang(es) %doc README.es.txt
-%lang(fr) %doc README.fr.txt
-%lang(it) %doc README.it.txt
-%lang(pt_BR) %doc README.it.txt
-%lang(sk) %doc README.it.txt
-%lang(sr) %doc README.it.txt
-%lang(de) %doc doc/HACKING.de.txt
-%lang(fr) %doc doc/HACKING.fr.txt
-%lang(it) %doc doc/HACKING.it.txt
-%lang(pt_BR) %doc doc/HACKING.it.txt
+%doc AUTHORS CONTRIBUTING.md NEWS.md README.md
%attr(755,root,root) %{_bindir}/inkscape
%attr(755,root,root) %{_bindir}/inkview
%dir %{_datadir}/inkscape
%{_datadir}/inkscape/[!e]*
%{_datadir}/inkscape/examples
%dir %{_datadir}/inkscape/extensions
-%{_datadir}/inkscape/extensions/Poly3DObjects/
-%{_datadir}/inkscape/extensions/alphabet_soup/
+%dir %{_datadir}/inkscape/extensions/icons
+%{_datadir}/inkscape/extensions/Poly3DObjects
+%{_datadir}/inkscape/extensions/alphabet_soup
+%{_datadir}/inkscape/extensions/barcode
+%{_datadir}/inkscape/extensions/ink2canvas_lib
+%{_datadir}/inkscape/extensions/inkex
+%{_datadir}/inkscape/extensions/inkman
+%{_datadir}/inkscape/extensions/other
+%{_datadir}/inkscape/extensions/svg_fonts
+%{_datadir}/inkscape/extensions/tools
+%attr(755,root,root) %{_datadir}/inkscape/extensions/*.py
+%{_datadir}/inkscape/extensions/dxf14_*.txt
%{_datadir}/inkscape/extensions/*.inx
%{_datadir}/inkscape/extensions/*.js
+%{_datadir}/inkscape/extensions/*.svg
%{_datadir}/inkscape/extensions/*.xml
%{_datadir}/inkscape/extensions/*.xsl
%{_datadir}/inkscape/extensions/*.xslt
-%attr(755,root,root) %{_datadir}/inkscape/extensions/*.pl
-%attr(755,root,root) %{_datadir}/inkscape/extensions/*.py
-%attr(755,root,root) %{_datadir}/inkscape/extensions/*.rb
-%attr(755,root,root) %{_datadir}/inkscape/extensions/*.sh
-%dir %{_datadir}/inkscape/extensions/ink2canvas
-%attr(755,root,root) %{_datadir}/inkscape/extensions/ink2canvas/*.py
-%dir %{_datadir}/inkscape/extensions/Barcode
-%attr(755,root,root) %{_datadir}/inkscape/extensions/Barcode/*.py
-%dir %{_datadir}/inkscape/extensions/xaml2svg
-%{_datadir}/inkscape/extensions/xaml2svg/*.xsl
%{_datadir}/inkscape/extensions/fontfix.conf
-%{_datadir}/inkscape/extensions/inkscape.extension.rng
-%{_datadir}/inkscape/extensions/jessyInk_video.svg
-%{_mandir}/man1/*.1*
-%lang(el) %{_mandir}/el/man1/*.1*
-%lang(fr) %{_mandir}/fr/man1/*.1*
-%lang(ja) %{_mandir}/ja/man1/*.1*
-%lang(sk) %{_mandir}/sk/man1/*.1*
-%lang(zh_TW) %{_mandir}/zh_TW/man1/*.1*
-%{_iconsdir}/hicolor/*/apps/inkscape.png
-%{_desktopdir}/inkscape.desktop
+%{_datadir}/inkscape/extensions/icons/*.svg
+%{_datadir}/metainfo/org.inkscape.Inkscape.appdata.xml
+%{_iconsdir}/hicolor/*/apps/org.inkscape.Inkscape.png
+%{_iconsdir}/hicolor/scalable/apps/org.inkscape.Inkscape.svg
+%{_iconsdir}/hicolor/symbolic/apps/org.inkscape.Inkscape-symbolic.svg
+%{_desktopdir}/org.inkscape.Inkscape.desktop
+%{_mandir}/man1/inkscape.1*
+%{_mandir}/man1/inkview.1*
+%lang(de) %{_mandir}/de/man1/inkscape.1*
+%lang(fr) %{_mandir}/fr/man1/inkscape.1*
+%lang(hu) %{_mandir}/hu/man1/inkscape.1*
+%lang(ko) %{_mandir}/ko/man1/inkscape.1*
+%lang(zh_TW) %{_mandir}/zh_TW/man1/inkscape.1*
+%lang(de) %{_mandir}/de/man1/inkview.1*
+%lang(es) %{_mandir}/es/man1/inkview.1*
+%lang(fr) %{_mandir}/fr/man1/inkview.1*
+%lang(hr) %{_mandir}/hr/man1/inkview.1*
+%lang(hu) %{_mandir}/hu/man1/inkview.1*
+%lang(ko) %{_mandir}/ko/man1/inkview.1*
+%lang(pt_BR) %{_mandir}/pt_BR/man1/inkview.1*
+%lang(zh_TW) %{_mandir}/zh_TW/man1/inkview.1*
+
+%files -n bash-completion-inkscape
+%defattr(644,root,root,755)
+%{bash_compdir}/inkscape