[packages/dia] - update to current git snap (vs 10 year old release)

baggins baggins at pld-linux.org
Wed Sep 20 05:01:07 CEST 2023


commit d901c4f9fac15f6b9cd62438368a94faad9fdb9e
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Wed Sep 20 03:18:40 2023 +0200

    - update to current git snap (vs 10 year old release)

 dia.spec         | 71 ++++++++++++++++++++++++-------------------------
 emf-detect.patch | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 soname.patch     | 10 +++++++
 3 files changed, 125 insertions(+), 37 deletions(-)
---
diff --git a/dia.spec b/dia.spec
index 4cfee71..8a3bf25 100644
--- a/dia.spec
+++ b/dia.spec
@@ -8,12 +8,14 @@ Summary(uk.UTF-8):	Програма для малювання діаграм
 Summary(zh_CN.UTF-8):	基于GTK+的流程图程序
 Name:		dia
 Version:	0.97.3
+%define	gitref	399526892d86d7e00e2f565e6c50b73c1195c810
+%define	snap	20230920
 Release:	1
 Epoch:		1
 License:	GPL v2+
 Group:		X11/Applications/Graphics
-Source0:	http://ftp.gnome.org/pub/gnome/sources/dia/0.97/%{name}-%{version}.tar.xz
-# Source0-md5:	0e744a0f6a6c4cb6a089e4d955392c3c
+Source0:	https://gitlab.gnome.org/GNOME/dia/-/archive/%{gitref}/%{name}-%{snap}.tar.bz2
+# Source0-md5:	a22cfc481bb22461ca63dc47e1693411
 Source1:	http://dia-installer.de/shapes/central_data_processing/central_data_processing.zip
 # Source1-md5:	103865b35609d2a0f8a0e034c49cf130
 Source2:	http://dia-installer.de/shapes/chemistry_lab/chemistry_lab.zip
@@ -57,36 +59,40 @@ Source20:	http://dia-installer.de/shapes/Automata/Automata.zip
 Source21:	http://dia-installer.de/shapes/value_stream_mapping/value_stream_mapping.zip
 # Source21-md5:	98705330f435f06c7a8864b543ef4617
 Patch0:		%{name}-wmf-cast.patch
+Patch1:		soname.patch
+Patch2:		emf-detect.patch
 URL:		https://live.gnome.org/Dia
-BuildRequires:	autoconf >= 2.50
-BuildRequires:	automake
+#Library emf found: NO
+#Library ogdf found: NO
 BuildRequires:	cairo-devel >= 1.0.0
+BuildRequires:	dblatex
 BuildRequires:	docbook-style-xsl
 BuildRequires:	gettext-tools
+BuildRequires:	graphene-devel
 BuildRequires:	gtk+2-devel >= 2:2.6.0
 BuildRequires:	intltool >= 0.35.0
 BuildRequires:	libEMF-devel
-BuildRequires:	libart_lgpl-devel >= 2.0
-BuildRequires:	libgnomeui-devel >= 2.0.0
 BuildRequires:	libpng-devel
 BuildRequires:	libstdc++-devel
-BuildRequires:	libtool >= 2:1.5
 BuildRequires:	libxml2-devel >= 2.3.9
 BuildRequires:	libxslt-devel
 BuildRequires:	libxslt-progs
 BuildRequires:	pkgconfig
-BuildRequires:	python-devel >= 1:2.3
+BuildRequires:	poppler-cpp-devel
+BuildRequires:	poppler-devel
+BuildRequires:	poppler-progs
+BuildRequires:	python3-devel
 BuildRequires:	rpm-pythonprov
 BuildRequires:	rpmbuild(find_lang) >= 1.23
-BuildRequires:	rpmbuild(macros) >= 1.311
+BuildRequires:  rpmbuild(macros) >= 1.726
 BuildRequires:	scrollkeeper
 BuildRequires:	sed >= 4.0
 BuildRequires:	unzip
 BuildRequires:	zlib-devel
 Requires(post,postun):	desktop-file-utils
 Requires(post,postun):	gtk-update-icon-cache
-Requires:	python-modules >= 1:2.3
-Requires:	python-pygtk-gtk
+Requires:	python3-modules >= 1:2.3
+Requires:	python3-pygobject3
 # sr at Latn vs. sr at latin
 Conflicts:	glibc-misc < 6:2.7
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -146,33 +152,25 @@ PostScript(TM).
 а також експортувати їх в PostScript(TM).
 
 %prep
-%setup -q
+%setup -q -n %{name}-%{gitref}
 %patch0 -p1
+%patch1 -p1
+%patch2 -p1
 
-%{__sed} -i -e s#sr at Latn#sr at latin# po/LINGUAS
-mv -f po/sr@{Latn,latin}.po
+%{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+python(\s|$),#!%{__python3}\1,' -e '1s,#!\s*/usr/bin/python(\s|$),#!%{__python3}\1,' \
+      plug-ins/python/doxrev.py \
+      plug-ins/python/gtkcons.py
 
 %build
-%{__intltoolize}
-%{__libtoolize}
-%{__aclocal}
-%{__autoheader}
-%{__autoconf}
-%{__automake}
-%{__sed} -i -e 's|/lib/|/%{_lib}/|' configure
-%configure \
-	--disable-silent-rules \
-	--enable-gnome \
-	--with-python \
-	--with-xslt-prefix=%{_libdir}
-
-%{__make}
+%meson --default-library=shared build \
+	-Dtests=false
+
+%ninja_build -C build \
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} install \
-	DESTDIR=$RPM_BUILD_ROOT
+%ninja_install -C build
 
 unzip -n -d $RPM_BUILD_ROOT%{_datadir}/%{name} %{SOURCE1}
 unzip -n -d $RPM_BUILD_ROOT%{_datadir}/%{name} %{SOURCE2}
@@ -196,9 +194,6 @@ unzip -n -d $RPM_BUILD_ROOT%{_datadir}/%{name} %{SOURCE19}
 unzip -n -d $RPM_BUILD_ROOT%{_datadir}/%{name} %{SOURCE20}
 unzip -n -d $RPM_BUILD_ROOT%{_datadir}/%{name} %{SOURCE21}
 
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/dia/*.la
-%{__rm} -rf $RPM_BUILD_ROOT%{_datadir}/mime-info
-
 %find_lang %{name} --with-gnome --with-omf
 
 %clean
@@ -214,14 +209,16 @@ rm -rf $RPM_BUILD_ROOT
 
 %files -f %{name}.lang
 %defattr(644,root,root,755)
-%doc AUTHORS NEWS README TODO
+%doc AUTHORS MAINTAINERS NEWS README.md TODO
 %attr(755,root,root) %{_bindir}/dia
+%attr(755,root,root) %{_libdir}/libdia.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libdia.so.0
 %dir %{_libdir}/dia
 %attr(755,root,root) %{_libdir}/dia/lib*.so
 %{_docdir}/dia
 %{_mandir}/man1/dia.1*
-%lang(fr) %{_mandir}/fr/man1/dia.1*
-%{_iconsdir}/hicolor/*/*/*.png
 %{_iconsdir}/hicolor/*/*/*.svg
 %{_datadir}/dia
-%{_desktopdir}/dia.desktop
+%{_desktopdir}/org.gnome.Dia.desktop
+%{_datadir}/metainfo/org.gnome.Dia.appdata.xml
+%{_datadir}/thumbnailers/org.gnome.Dia.thumbnailer
diff --git a/emf-detect.patch b/emf-detect.patch
new file mode 100644
index 0000000..1716e4a
--- /dev/null
+++ b/emf-detect.patch
@@ -0,0 +1,81 @@
+--- dia-399526892d86d7e00e2f565e6c50b73c1195c810/meson.build~	2023-09-16 11:51:53.000000000 +0200
++++ dia-399526892d86d7e00e2f565e6c50b73c1195c810/meson.build	2023-09-20 03:02:24.782540486 +0200
+@@ -32,7 +32,7 @@
+ libpoppler_dep = dependency('poppler', version: '> 0.62.0', required: false)
+ libpopplercpp_dep = dependency('poppler-cpp', required: false)
+ conf.set('HAVE_POPPLER', libpoppler_dep.found() and libpopplercpp_dep.found())
+-libemf_dep = cc.find_library('emf', required: false)
++libemf_dep = cc.find_library('EMF', required: false)
+ conf.set('HAVE_LIBEMF', libemf_dep.found())
+ libogdf_dep = cc.find_library('ogdf', required: false)
+ conf.set('HAVE_OGDF', libogdf_dep.found())
+--- dia-399526892d86d7e00e2f565e6c50b73c1195c810/plug-ins/wmf/wmf.cpp.orig	2023-09-20 03:16:33.087448310 +0200
++++ dia-399526892d86d7e00e2f565e6c50b73c1195c810/plug-ins/wmf/wmf.cpp	2023-09-20 03:16:06.856486686 +0200
+@@ -60,7 +60,7 @@
+ 
+ #include <pango/pangowin32.h>
+ 
+-#elif HAVE_LIBEMF
++#elif defined(HAVE_LIBEMF)
+ /* We have to define STRICT to make libemf/64 work. Otherwise there is
+ wmf.cpp:1383:40: error: cast from 'void*' to 'W32::HDC' loses precision
+  */
+@@ -177,7 +177,7 @@
+     W32::HPEN hOldPen;
+     if (colour) {
+ 	W32::COLORREF rgb = W32COLOR(colour);
+-#if defined(G_OS_WIN32) || HAVE_LIBEMF
++#if defined(G_OS_WIN32) || defined(HAVE_LIBEMF)
+ 	if ((renderer->platform_is_nt && renderer->hPrintDC) || renderer->target_emf) {
+           W32::LOGBRUSH logbrush;
+ 	  W32::DWORD    dashes[6];
+@@ -255,7 +255,6 @@
+ #else
+ #  define DIAG_NOTE my_log
+ #endif
+-#ifdef G_OS_WIN32
+ static void
+ my_log(WmfRenderer* renderer, const char* format, ...)
+ {
+@@ -273,7 +272,6 @@
+ 
+     g_free(string);
+ }
+-#endif
+ 
+ /*
+  * renderer interface implementation
+@@ -1377,7 +1375,6 @@
+   g_object_class_override_property (object_class, PROP_FONT_HEIGHT, "font-height");
+ }
+ 
+-#ifdef G_OS_WIN32
+ /* plug-in export api */
+ static gboolean
+ export_data(DiagramData *data, DiaContext *ctx,
+@@ -1412,7 +1409,7 @@
+     bbox.bottom = (int)((data->extents.bottom - data->extents.top) * scale *
+         100 * W32::GetDeviceCaps(refDC, VERTSIZE) / W32::GetDeviceCaps(refDC, VERTRES));
+ 
+-#if HAVE_LIBEMF
++#ifdef HAVE_LIBEMF
+     FILE* ofile = g_fopen (filename, "w");
+     if (ofile)
+       file = CreateEnhMetaFileWithFILEA (refDC, ofile, &bbox, "Created with Dia/libEMF\0");
+@@ -1548,6 +1545,7 @@
+ };
+ 
+ 
++#ifdef G_OS_WIN32
+ static DiaObjectChange *
+ print_callback (DiagramData *data,
+                 const char  *filename,
+@@ -1599,7 +1597,7 @@
+     filter_register_export(&emf_export_filter);
+ 
+     filter_register_callback (&cb_gdi_print);
+-#elif HAVE_LIBEMF
++#elif defined(HAVE_LIBEMF)
+     /* not sure if libEMF really saves EMF ;) */
+     filter_register_export(&emf_export_filter);
+ #endif
diff --git a/soname.patch b/soname.patch
new file mode 100644
index 0000000..188c1a7
--- /dev/null
+++ b/soname.patch
@@ -0,0 +1,10 @@
+--- dia-399526892d86d7e00e2f565e6c50b73c1195c810/lib/meson.build~	2023-09-16 11:51:53.000000000 +0200
++++ dia-399526892d86d7e00e2f565e6c50b73c1195c810/lib/meson.build	2023-09-20 02:54:39.959839397 +0200
+@@ -239,6 +239,7 @@
+     c_args: ['-Wall', '-DLIBDIA_COMPILATION'],
+     vs_module_defs: 'libdia.def',
+     install: true,
++    version: meson.project_version(),
+ )
+ 
+ libdia_dep = declare_dependency (include_directories: libdia_inc,
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/dia.git/commitdiff/d901c4f9fac15f6b9cd62438368a94faad9fdb9e



More information about the pld-cvs-commit mailing list