[packages/libsixel] - updated to 1.10.5; python module moved to python3

qboosh qboosh at pld-linux.org
Sun Aug 24 19:06:24 CEST 2025


commit ef563c7613d4c74e665a4f76d31730b91dc61d86
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sun Aug 24 19:09:02 2025 +0200

    - updated to 1.10.5; python module moved to python3

 git-fixes.patch | 481 --------------------------------------------------------
 libsixel.spec   |  68 ++++----
 2 files changed, 36 insertions(+), 513 deletions(-)
---
diff --git a/libsixel.spec b/libsixel.spec
index f97676c..5ce617c 100644
--- a/libsixel.spec
+++ b/libsixel.spec
@@ -1,28 +1,30 @@
 #
 # Conditional build:
-%bcond_without	python2		# Python 2 bindings
+%bcond_with	curl		# URL handling via cURL
+%bcond_without	python3		# Python 3 bindings
 
 Summary:	A SIXEL encoder/decoder implementation
 Summary(pl.UTF-8):	Implementacja kodera/dekodera SIXEL
 Name:		libsixel
-Version:	1.10.3
-Release:	2
+Version:	1.10.5
+Release:	1
 License:	MIT
 Group:		Libraries
 Source0:	https://github.com/libsixel/libsixel/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	c104233ee1a4c18fb2e76a478d9bb60c
-Patch0:		git-fixes.patch
+# Source0-md5:	f2c6fe7edb589576465e18d46e02bffe
 URL:		https://github.com/libsixel/libsixel
+%{?with_curl:BuildRequires:	curl-devel}
+BuildRequires:	gcc >= 5:3.2
 BuildRequires:	gd-devel
 BuildRequires:	libjpeg-devel
 BuildRequires:	libpng-devel
 BuildRequires:	meson
 BuildRequires:	ninja
 BuildRequires:	pkgconfig
-%if %{with python2}
-BuildRequires:	python >= 1:2.3
-BuildRequires:	python-modules >= 1:2.3
-BuildRequires:	python-setuptools
+%if %{with python3}
+BuildRequires:	python3 >= 1:3.2
+BuildRequires:	python3-modules >= 1:3.2
+BuildRequires:	python3-setuptools
 %endif
 BuildRequires:	rpm-build >= 4.6
 BuildRequires:	rpmbuild(macros) >= 2.042
@@ -83,34 +85,39 @@ Converter utilities to/from SIXEL format.
 %description utils -l pl.UTF-8
 Narzędzia konwertujące na/z formatu SIXEL.
 
-%package -n python-libsixel
-Summary:	Python 2 bindings for libsixel
-Summary(pl.UTF-8):	Wiązania Pythona 2 do biblioteki libsixel
+%package -n python3-libsixel
+Summary:	Python 3 bindings for libsixel
+Summary(pl.UTF-8):	Wiązania Pythona 3 do biblioteki libsixel
 Group:		Libraries/Python
 Requires:	%{name} = %{version}-%{release}
-Requires:	python-modules >= 1:2.3
+Requires:	python3-modules >= 1:3.2
+Obsoletes:	python-libsixel < 1.10.5
 BuildArch:	noarch
 
-%description -n python-libsixel
-Python 2 bindings for libsixel.
+%description -n python3-libsixel
+Python 3 bindings for libsixel.
 
-%description -n python-libsixel -l pl.UTF-8
-Wiązania Pythona 2 do biblioteki libsixel.
+%description -n python3-libsixel -l pl.UTF-8
+Wiązania Pythona 3 do biblioteki libsixel.
 
 %prep
 %setup -q
-%patch -P0 -p1
 
 %build
 %meson \
 	-Dbashcompletiondir="%{bash_compdir}" \
+	-Dgd=enabled \
+	-Djpeg=enabled \
+	%{?with_curl:-Dlibcurl=enabled} \
+	-Dpng=enabled \
 	-Dzshcompletiondir="%{zsh_compdir}"
+#	%{?with_python3:-Dpython=enabled} \
 
 %meson_build
 
-%if %{with python2}
+%if %{with python3}
 cd python
-%py_build
+%py3_build
 cd ..
 %endif
 
@@ -119,11 +126,9 @@ rm -rf $RPM_BUILD_ROOT
 
 %meson_install
 
-%if %{with python2}
+%if %{with python3}
 cd python
-%py_install
-
-%py_postclean
+%py3_install
 cd ..
 %endif
 
@@ -137,12 +142,12 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc AUTHORS LICENSE NEWS README.md
 %attr(755,root,root) %{_libdir}/libsixel.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsixel.so.1
+%ghost %{_libdir}/libsixel.so.1
 
 %files devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/libsixel-config
-%attr(755,root,root) %{_libdir}/libsixel.so
+%{_libdir}/libsixel.so
 %{_includedir}/sixel.h
 %{_pkgconfigdir}/libsixel.pc
 
@@ -159,11 +164,10 @@ rm -rf $RPM_BUILD_ROOT
 %{bash_compdir}/img2sixel
 %{zsh_compdir}/_img2sixel
 
-%if %{with python2}
-%files -n python-libsixel
+%if %{with python3}
+%files -n python3-libsixel
 %defattr(644,root,root,755)
-%doc python/README.rst
-%dir %{py_sitescriptdir}/libsixel
-%{py_sitescriptdir}/libsixel/*.py[co]
-%{py_sitescriptdir}/libsixel_python-*-py*.egg-info
+%doc python/{LICENSE,README.rst}
+%{py3_sitescriptdir}/libsixel
+%{py3_sitescriptdir}/libsixel_python-0.5.1-py*.egg-info
 %endif
diff --git a/git-fixes.patch b/git-fixes.patch
deleted file mode 100644
index d34dcfd..0000000
--- a/git-fixes.patch
+++ /dev/null
@@ -1,481 +0,0 @@
-From d333fa320498c39615c4dad58b9864e1fc525540 Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz at archlinux.org>
-Date: Mon, 27 Sep 2021 02:56:39 -0400
-Subject: [PATCH] rename internal variables "_found" -> "_dep"
-
-These variables contain dependency objects, which might have a
-"not-found" value. Naming their variable references "found" is...
-confusing.
----
- meson.build | 38 +++++++++++++++++++-------------------
- 1 file changed, 19 insertions(+), 19 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index 3ce94fab..d2b8e06c 100644
---- a/meson.build
-+++ b/meson.build
-@@ -49,8 +49,8 @@ endforeach
- endif
- 
- 
--libm_found = cc.find_library('m')
--libsixel_deps += [libm_found]
-+libm_dep = cc.find_library('m')
-+libsixel_deps += [libm_dep]
- 
- needed_headers = [
-   'assert.h',
-@@ -85,34 +85,34 @@ foreach a : needed_headers
-   assert(cc.has_header(a), 'Needed header not found')
- endforeach
- 
--gdkpixbuf2_found = dependency('gdk-pixbuf-2.0', required: get_option('gdk-pixbuf2'))
--gd_found = cc.find_library('gd', required: get_option('gd'))
--curl_found = dependency('libcurl', required: get_option('libcurl'))
--jpeg_found = dependency('libjpeg', required: get_option('jpeg'))
--png_found = dependency('libpng', required: get_option('png'))
-+gdkpixbuf2_dep = dependency('gdk-pixbuf-2.0', required: get_option('gdk-pixbuf2'))
-+gd_dep = cc.find_library('gd', required: get_option('gd'))
-+curl_dep = dependency('libcurl', required: get_option('libcurl'))
-+jpeg_dep = dependency('libjpeg', required: get_option('jpeg'))
-+png_dep = dependency('libpng', required: get_option('png'))
- pymod = import('python')
- python2_installation = pymod.find_installation('python2', required: get_option('python2'))
- 
--if get_option('libcurl').enabled() and curl_found.found()
-+if get_option('libcurl').enabled() and curl_dep.found()
-   conf_data.set('HAVE_LIBCURL', true)
--  libsixel_deps += [curl_found]
-+  libsixel_deps += [curl_dep]
- endif
- 
--if get_option('jpeg').enabled() and jpeg_found
-+if get_option('jpeg').enabled() and jpeg_dep
-   conf_data.set('HAVE_JPEG', true)
--  libsixel_deps += [jpeg_found]
-+  libsixel_deps += [jpeg_dep]
- endif
- 
--if get_option('png').enabled() and png_found
-+if get_option('png').enabled() and png_dep
-   conf_data.set('HAVE_PNG', true)
--  libsixel_deps += [png_found]
-+  libsixel_deps += [png_dep]
- endif
- 
- loaders = ['stb-image']
- 
--if get_option('gd').enabled() and gd_found.found()
-+if get_option('gd').enabled() and gd_dep.found()
-   conf_data.set('HAVE_GD', true)
--  libsixel_deps += [gd_found]
-+  libsixel_deps += [gd_dep]
-   loaders += ['gd']
- 
-   gd_funcs = [
-@@ -124,15 +124,15 @@ if get_option('gd').enabled() and gd_found.found()
-   ]
- 
-   foreach f : gd_funcs
--    if cc.has_function(f, dependencies: gd_found)
-+    if cc.has_function(f, dependencies: gd_dep)
-       conf_data.set('HAVE_DECL_ at 0@'.format(f.to_upper()), true)
-     endif
-   endforeach
- endif
- 
--if get_option('gdk-pixbuf2').enabled() and gdkpixbuf2_found.found()
-+if get_option('gdk-pixbuf2').enabled() and gdkpixbuf2_dep.found()
-   conf_data.set('HAVE_GDK_PIXBUF2', true)
--  libsixel_deps += [gdkpixbuf2_found]
-+  libsixel_deps += [gdkpixbuf2_dep]
-   loaders += ['gdk-pixbuf2']
- endif
- 
-@@ -170,7 +170,7 @@ libsixel was configured as follows
-   '''.format(
-     get_option('prefix'),
-     ' '.join(loaders),
--    curl_found.found(),
-+    curl_dep.found(),
-     get_option('pkg_config_path'),
-     bashcompletiondir,
-     zshcompletiondir,
-From af3bce783d2604a439c9f90b6c9d9a4082b5fd32 Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz at archlinux.org>
-Date: Mon, 27 Sep 2021 02:56:40 -0400
-Subject: [PATCH] consistently check whether dependency objects were, in fact,
- found
-
----
- meson.build | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index d2b8e06c..a6a3be1b 100644
---- a/meson.build
-+++ b/meson.build
-@@ -98,12 +98,12 @@ if get_option('libcurl').enabled() and curl_dep.found()
-   libsixel_deps += [curl_dep]
- endif
- 
--if get_option('jpeg').enabled() and jpeg_dep
-+if get_option('jpeg').enabled() and jpeg_dep.found()
-   conf_data.set('HAVE_JPEG', true)
-   libsixel_deps += [jpeg_dep]
- endif
- 
--if get_option('png').enabled() and png_dep
-+if get_option('png').enabled() and png_dep.found()
-   conf_data.set('HAVE_PNG', true)
-   libsixel_deps += [png_dep]
- endif
-From 150aecacd2467cd143ece18295a0bc1ed0b0413d Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz at archlinux.org>
-Date: Mon, 27 Sep 2021 02:56:41 -0400
-Subject: [PATCH] correctly use feature options
-
-In every case, feature options are passed to the required: kwarg, which
-means that:
-- if enabled, failure to find the dependency results in immediate error
-- if auto, try to find the dependency but disable it if not found
-- if disabled, log a message that the dependency was skipped
-
-It is not useful to then further check if the feature was enabled,
-before adding it into the built software. The only difference this ever
-makes is in the "auto" case, which then completely ignores that the user
-specified "auto", discards any found dependencies, and acts as though
-"disabled" was specified.
-
-Allow the feature options to fulfill their specified role.
----
- meson.build | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index a6a3be1b..982d89d6 100644
---- a/meson.build
-+++ b/meson.build
-@@ -93,24 +93,24 @@ png_dep = dependency('libpng', required: get_option('png'))
- pymod = import('python')
- python2_installation = pymod.find_installation('python2', required: get_option('python2'))
- 
--if get_option('libcurl').enabled() and curl_dep.found()
-+if curl_dep.found()
-   conf_data.set('HAVE_LIBCURL', true)
-   libsixel_deps += [curl_dep]
- endif
- 
--if get_option('jpeg').enabled() and jpeg_dep.found()
-+if jpeg_dep.found()
-   conf_data.set('HAVE_JPEG', true)
-   libsixel_deps += [jpeg_dep]
- endif
- 
--if get_option('png').enabled() and png_dep.found()
-+if png_dep.found()
-   conf_data.set('HAVE_PNG', true)
-   libsixel_deps += [png_dep]
- endif
- 
- loaders = ['stb-image']
- 
--if get_option('gd').enabled() and gd_dep.found()
-+if gd_dep.found()
-   conf_data.set('HAVE_GD', true)
-   libsixel_deps += [gd_dep]
-   loaders += ['gd']
-@@ -130,7 +130,7 @@ if get_option('gd').enabled() and gd_dep.found()
-   endforeach
- endif
- 
--if get_option('gdk-pixbuf2').enabled() and gdkpixbuf2_dep.found()
-+if gdkpixbuf2_dep.found()
-   conf_data.set('HAVE_GDK_PIXBUF2', true)
-   libsixel_deps += [gdkpixbuf2_dep]
-   loaders += ['gdk-pixbuf2']
-@@ -148,7 +148,7 @@ subdir('src')
- subdir('converters')
- subdir('tools')
- 
--if get_option('python2').enabled() and python2_installation.found()
-+if python2_installation.found()
-   subdir('python')
- endif
- 
-From ca29aa64808375a3ec1c8bb826462c52a0ea25c8 Mon Sep 17 00:00:00 2001
-From: nick black <dankamongmen at gmail.com>
-Date: Thu, 30 Sep 2021 00:22:50 -0400
-Subject: [PATCH] gdk-pixbuf-2.0 for include
-
----
- src/loader.c | 4 ++--
- src/status.c | 8 ++++----
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/src/loader.c b/src/loader.c
-index 30042afe..303f6cfc 100644
---- a/src/loader.c
-+++ b/src/loader.c
-@@ -30,7 +30,7 @@
- #ifdef HAVE_GDK_PIXBUF2
- //#   pragma GCC diagnostic push
- //#   pragma GCC diagnostic ignored "-Wtypedef-redefinition"
--# include <gdk-pixbuf/gdk-pixbuf.h>
-+# include <gdk-pixbuf-2.0/gdk-pixbuf.h>
- //#   pragma GCC diagnostic pop
- #endif
- #ifdef HAVE_GD
-@@ -109,7 +109,7 @@ stbi_free(void *p)
- #endif
- 
- 
--# if HAVE_JPEG
-+#ifdef HAVE_JPEG
- /* import from @uobikiemukot's sdump loader.h */
- static SIXELSTATUS
- load_jpeg(unsigned char **result,
-diff --git a/src/status.c b/src/status.c
-index 97f3b793..c7f8016d 100644
---- a/src/status.c
-+++ b/src/status.c
-@@ -266,28 +266,28 @@ test2(void)
-     }
- #endif
- 
--#if HAVE_JPEG
-+#ifdef HAVE_JPEG
-     message = sixel_helper_format_error(SIXEL_JPEG_ERROR);
-     if (strcmp(message, SIXEL_MESSAGE_JPEG_ERROR) != 0) {
-         goto error;
-     }
- #endif
- 
--#if HAVE_LIBPNG
-+#ifdef HAVE_LIBPNG
-     message = sixel_helper_format_error(SIXEL_PNG_ERROR);
-     if (strcmp(message, SIXEL_MESSAGE_PNG_ERROR) != 0) {
-         goto error;
-     }
- #endif
- 
--#if HAVE_GD
-+#ifdef HAVE_GD
-     message = sixel_helper_format_error(SIXEL_GD_ERROR);
-     if (strcmp(message, SIXEL_MESSAGE_GD_ERROR) != 0) {
-         goto error;
-     }
- #endif
- 
--#if HAVE_GDK_PIXBUF2
-+#ifdef HAVE_GDK_PIXBUF2
-     message = sixel_helper_format_error(SIXEL_GDK_ERROR);
-     if (strcmp(message, SIXEL_MESSAGE_GDK_ERROR) != 0) {
-         goto error;
-From 8caeacc102efe5c270a66b472d7057dff02de925 Mon Sep 17 00:00:00 2001
-From: nick black <dankamongmen at gmail.com>
-Date: Tue, 14 Dec 2021 17:44:08 -0500
-Subject: [PATCH] HAVE_LIBPNG -> HAVE_PNG
-
-about half of the compilation checks were using
-HAVE_LIBPNG, and the other half were using
-HAVE_PNG. converge on HAVE_PNG, matching the
-other declarations in config.h.
----
- src/loader.c | 18 ++++++++----------
- src/status.c |  4 ++--
- src/writer.c | 24 +++++++++---------------
- 3 files changed, 19 insertions(+), 27 deletions(-)
-
-diff --git a/src/loader.c b/src/loader.c
-index d5595923..7e19b177 100644
---- a/src/loader.c
-+++ b/src/loader.c
-@@ -36,9 +36,9 @@
- #ifdef HAVE_GD
- # include <gd.h>
- #endif
--#ifdef HAVE_LIBPNG
-+#ifdef HAVE_PNG
- # include <png.h>
--#endif  /* HAVE_LIBPNG */
-+#endif  /* HAVE_PNG */
- #ifdef HAVE_JPEG
- # include <jpeglib.h>
- #endif  /* HAVE_JPEG */
-@@ -81,10 +81,8 @@ stbi_free(void *p)
- #define STBI_NO_GIF
- #define STBI_NO_PNM
- 
--#ifdef HAVE_DIAGNOSTIC_SIGN_CONVERSION
- # pragma GCC diagnostic push
- # pragma GCC diagnostic ignored "-Wsign-conversion"
--#endif
- # pragma GCC diagnostic push
- # pragma GCC diagnostic ignored "-Wstrict-overflow"
- # pragma GCC diagnostic push
-@@ -182,7 +180,7 @@ load_jpeg(unsigned char **result,
- # endif  /* HAVE_JPEG */
- 
- 
--# if HAVE_LIBPNG
-+# ifdef HAVE_PNG
- static void
- read_png(png_structp png_ptr,
-          png_bytep data,
-@@ -601,7 +599,7 @@ load_png(unsigned char      /* out */ **result,
- }
- # pragma GCC diagnostic pop
- 
--# endif  /* HAVE_LIBPNG */
-+# endif  /* HAVE_PNG */
- 
- 
- static SIXELSTATUS
-@@ -713,7 +711,7 @@ chunk_is_pnm(sixel_chunk_t const *chunk)
- }
- 
- 
--#ifdef HAVE_LIBPNG
-+#ifdef HAVE_PNG
- /* detect whether given chunk is PNG stream */
- static int
- chunk_is_png(sixel_chunk_t const *chunk)
-@@ -726,7 +724,7 @@ chunk_is_png(sixel_chunk_t const *chunk)
-     }
-     return 0;
- }
--#endif  /* HAVE_LIBPNG */
-+#endif  /* HAVE_PNG */
- 
- 
- /* detect whether given chunk is GIF stream */
-@@ -843,7 +841,7 @@ load_with_builtin(
-         }
-     }
- #endif  /* HAVE_JPEG */
--#ifdef HAVE_LIBPNG
-+#ifdef HAVE_PNG
-     else if (chunk_is_png(pchunk)) {
-         status = sixel_frame_new(&frame, pchunk->allocator);
-         if (SIXEL_FAILED(status)) {
-@@ -865,7 +863,7 @@ load_with_builtin(
-             goto end;
-         }
-     }
--#endif  /* HAVE_LIBPNG */
-+#endif  /* HAVE_PNG */
-     else if (chunk_is_gif(pchunk)) {
-         fnp.fn = fn_load;
-         status = load_gif(pchunk->buffer,
-diff --git a/src/status.c b/src/status.c
-index c7f8016d..000be3c2 100644
---- a/src/status.c
-+++ b/src/status.c
-@@ -153,7 +153,7 @@ sixel_helper_format_error(
-             error_string = SIXEL_MESSAGE_JPEG_ERROR;
-             break;
- #endif
--#ifdef HAVE_LIBPNG
-+#ifdef HAVE_PNG
-         case SIXEL_PNG_ERROR:
-             error_string = SIXEL_MESSAGE_PNG_ERROR;
-             break;
-@@ -273,7 +273,7 @@ test2(void)
-     }
- #endif
- 
--#ifdef HAVE_LIBPNG
-+#ifdef HAVE_PNG
-     message = sixel_helper_format_error(SIXEL_PNG_ERROR);
-     if (strcmp(message, SIXEL_MESSAGE_PNG_ERROR) != 0) {
-         goto error;
-diff --git a/src/writer.c b/src/writer.c
-index 0afb1bad..24b8584a 100644
---- a/src/writer.c
-+++ b/src/writer.c
-@@ -25,15 +25,15 @@
- # include <stdio.h>
- # include <stdlib.h>
- # include <string.h>
--#if HAVE_SETJMP_H
-+#ifdef HAVE_SETJMP_H
- # include <setjmp.h>
- #endif  /* HAVE_SETJMP_H */
- # include <errno.h>
--#if HAVE_LIBPNG
-+#ifdef HAVE_PNG
- # include <png.h>
- #else
- # include "stb_image_write.h"
--#endif  /* HAVE_LIBPNG */
-+#endif  /* HAVE_PNG */
- 
- #include <sixel.h>
- 
-@@ -44,12 +44,6 @@
- #endif  /* !defined(O_BINARY) && !defined(_O_BINARY) */
- 
- 
--#if !HAVE_LIBPNG
--unsigned char *
--stbi_write_png_to_mem(unsigned char *pixels, int stride_bytes,
--                      int x, int y, int n, int *out_len);
--#endif
--
- static SIXELSTATUS
- write_png_to_file(
-     unsigned char       /* in */ *data,         /* source pixel data */
-@@ -64,7 +58,7 @@ write_png_to_file(
-     FILE *output_fp = NULL;
-     unsigned char *pixels = NULL;
-     unsigned char *new_pixels = NULL;
--#if HAVE_LIBPNG
-+#ifdef HAVE_PNG
-     int y;
-     png_structp png_ptr = NULL;
-     png_infop info_ptr = NULL;
-@@ -73,7 +67,7 @@ write_png_to_file(
-     unsigned char *png_data = NULL;
-     int png_len;
-     int write_len;
--#endif  /* HAVE_LIBPNG */
-+#endif  /* HAVE_PNG */
-     int i;
-     unsigned char *src;
-     unsigned char *dst;
-@@ -211,7 +205,7 @@ write_png_to_file(
-         }
-     }
- 
--#if HAVE_LIBPNG
-+#ifdef HAVE_PNG
-     rows = sixel_allocator_malloc(allocator, (size_t)height * sizeof(unsigned char *));
-     if (rows == NULL) {
-         status = SIXEL_BAD_ALLOCATION;
-@@ -263,7 +257,7 @@ write_png_to_file(
-         sixel_helper_set_additional_message("fwrite() failed.");
-         goto end;
-     }
--#endif  /* HAVE_LIBPNG */
-+#endif  /* HAVE_PNG */
- 
-     status = SIXEL_OK;
- 
-@@ -271,14 +265,14 @@ write_png_to_file(
-     if (output_fp && output_fp != stdout) {
-         fclose(output_fp);
-     }
--#if HAVE_LIBPNG
-+#ifdef HAVE_PNG
-     sixel_allocator_free(allocator, rows);
-     if (png_ptr) {
-         png_destroy_write_struct(&png_ptr, &info_ptr);
-     }
- #else
-     sixel_allocator_free(allocator, png_data);
--#endif  /* HAVE_LIBPNG */
-+#endif  /* HAVE_PNG */
-     sixel_allocator_free(allocator, new_pixels);
- 
-     return status;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/libsixel.git/commitdiff/ef563c7613d4c74e665a4f76d31730b91dc61d86



More information about the pld-cvs-commit mailing list