mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-24 06:48:18 -07:00
app-text/paps: add 0.8.0
EAPI bump use python-r1 to install the script src-to-paps move to official github repo build-system changed to meson deps : add missing dev-libs/glib add x11-libs/cairo (since 0.7.0) add basic test patches from PR merged : fix compiler warnings fix glib/fmt compatilibity Closes: https://bugs.gentoo.org/936584 Closes: https://bugs.gentoo.org/944759 Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr> Part-of: https://github.com/gentoo/gentoo/pull/42957 Closes: https://github.com/gentoo/gentoo/pull/42957 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
committed by
Sam James
parent
a04c891b28
commit
5602c153d4
@@ -1 +1,2 @@
|
||||
DIST paps-0.6.8.tar.gz 460062 BLAKE2B 8ca34cd217a5ed26de80a1e35f5cb05d75c291a966923ddcf73fb8a6db1a3823075c480c876cff932757feb3a4767057d269bac0863236df0b513e246726b01b SHA512 db657d90179e11fe42bbcdbebe09a84f1927c99d0b539c9e29b66b3cb8ffcf33ff500c9d81835ae5a0880382bf8f24801f04742517b76b8e005b125a139d8bba
|
||||
DIST paps-0.8.0.tar.gz 75685 BLAKE2B e20ea4ceafe41e938901d61c3c684d9d6b53a621127a66551d0137215c42a7a3c9a8657456bfe4893b8b6b9cd0b65fb104e0492d090b1bb584ca850c06d01236 SHA512 f8c101f6439159354b6a6d218b19baab605f08fa4e70171addb6e38cf5645a7888601fa0aa9d067ec1e5c423297f305cc35268cfde8a3327ffc6ced73ce6df50
|
||||
|
||||
31
app-text/paps/files/paps-0.8.0-fix_fmt11.2.patch
Normal file
31
app-text/paps/files/paps-0.8.0-fix_fmt11.2.patch
Normal file
@@ -0,0 +1,31 @@
|
||||
https://github.com/dov/paps/pull/77.patch
|
||||
PR merged
|
||||
From 2a37bffcaddd93002bea9fb49122167274a0cbbd Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
|
||||
Date: Fri, 11 Jul 2025 07:23:51 +0200
|
||||
Subject: [PATCH] Replace deprecated fmt::localtime with std::localtime
|
||||
|
||||
fmt::localtime is deprecated since fmt 11.2.0
|
||||
|
||||
Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
|
||||
---
|
||||
src/format_from_dict.cc | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/format_from_dict.cc b/src/format_from_dict.cc
|
||||
index bcad60e..ce72e99 100644
|
||||
--- a/src/format_from_dict.cc
|
||||
+++ b/src/format_from_dict.cc
|
||||
@@ -54,7 +54,11 @@ static string scalar_to_string(scalar_t scalar,
|
||||
time_t val = get<time_t>(scalar);
|
||||
if (!spec.length())
|
||||
return to_string(val);
|
||||
- return format(runtime(format("{{:{}}}", spec)), fmt::localtime(val));
|
||||
+ const auto *tm = std::localtime(&val);
|
||||
+ if (tm == nullptr)
|
||||
+ return {};
|
||||
+
|
||||
+ return format(runtime(format("{{:{}}}", spec)), *tm);
|
||||
}
|
||||
throw runtime_error("Unrecognized type!"); // I shouldn't be here!
|
||||
}
|
||||
47
app-text/paps/files/paps-0.8.0-fix_glib.patch
Normal file
47
app-text/paps/files/paps-0.8.0-fix_glib.patch
Normal file
@@ -0,0 +1,47 @@
|
||||
https://github.com/dov/paps/pull/71.patch
|
||||
PR merged
|
||||
From e6ec698be127822661e31f7fca7d2e0107944b24 Mon Sep 17 00:00:00 2001
|
||||
From: Yaakov Selkowitz <yselkowi@redhat.com>
|
||||
Date: Tue, 17 Sep 2024 13:58:46 -0400
|
||||
Subject: [PATCH] Fix build with glib 2.82
|
||||
|
||||
g_utf8_next_char no longer includes a cast to char* as of this change:
|
||||
|
||||
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4016
|
||||
|
||||
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
|
||||
---
|
||||
src/paps.cc | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/paps.cc b/src/paps.cc
|
||||
index fde04d1..3ab9a7c 100644
|
||||
--- a/src/paps.cc
|
||||
+++ b/src/paps.cc
|
||||
@@ -1107,7 +1107,7 @@ split_text_into_paragraphs (PangoContext *pango_context,
|
||||
while (p != nullptr && *p)
|
||||
{
|
||||
wc = g_utf8_get_char (p);
|
||||
- next = g_utf8_next_char (p);
|
||||
+ next = (char *) g_utf8_next_char (p);
|
||||
if (wc == (gunichar)-1)
|
||||
{
|
||||
fprintf (stderr, _("%s: Invalid character in input\n"), g_get_prgname ());
|
||||
@@ -1122,7 +1122,7 @@ split_text_into_paragraphs (PangoContext *pango_context,
|
||||
para->length = p - last_para;
|
||||
/* handle dos line breaks */
|
||||
if (wc == '\r' && *next == '\n')
|
||||
- next = g_utf8_next_char(next);
|
||||
+ next = (char *) g_utf8_next_char(next);
|
||||
para->layout = pango_layout_new (pango_context);
|
||||
|
||||
if (page_layout->cpi > 0.0L)
|
||||
@@ -1193,7 +1193,7 @@ split_text_into_paragraphs (PangoContext *pango_context,
|
||||
g_free (newtext);
|
||||
|
||||
para->length = i;
|
||||
- next = g_utf8_offset_to_pointer (para->text, para->length);
|
||||
+ next = (char *) g_utf8_offset_to_pointer (para->text, para->length);
|
||||
wc = g_utf8_get_char (g_utf8_prev_char (next));
|
||||
}
|
||||
else
|
||||
84
app-text/paps/files/paps-0.8.0-fix_unused_results.patch
Normal file
84
app-text/paps/files/paps-0.8.0-fix_unused_results.patch
Normal file
@@ -0,0 +1,84 @@
|
||||
https://github.com/dov/paps/pull/58.patch
|
||||
PR merged
|
||||
From 0eac5cb403dd7dc4f4ebd05c9a93730fa1521e53 Mon Sep 17 00:00:00 2001
|
||||
From: Akira TAGOH <akira@tagoh.org>
|
||||
Date: Wed, 1 Mar 2023 15:24:27 +0900
|
||||
Subject: [PATCH] Fix the build issue
|
||||
|
||||
Some code ignores a return value of g_string_free() and that causes:
|
||||
|
||||
ignoring return value of 'gchar* g_string_free_and_steal(GString*)' declared with attribute 'warn_unused_result' [-Wunused-result]
|
||||
|
||||
This fixes it.
|
||||
---
|
||||
src/paps.cc | 21 ++++++++++++---------
|
||||
1 file changed, 12 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/src/paps.cc b/src/paps.cc
|
||||
index cb48ddc..429b764 100644
|
||||
--- a/src/paps.cc
|
||||
+++ b/src/paps.cc
|
||||
@@ -368,6 +368,7 @@ copy_pango_parse_enum (GType type,
|
||||
{
|
||||
int i;
|
||||
GString *s = g_string_new (nullptr);
|
||||
+ gchar *gstr;
|
||||
|
||||
for (i = 0, v = g_enum_get_value (klass, i); v;
|
||||
i++ , v = g_enum_get_value (klass, i))
|
||||
@@ -382,10 +383,10 @@ copy_pango_parse_enum (GType type,
|
||||
G_ENUM_CLASS_TYPE_NAME(klass),
|
||||
s->str);
|
||||
|
||||
- if (possible_values)
|
||||
- *possible_values = s->str;
|
||||
+ gstr = g_string_free (s, possible_values ? false : true);
|
||||
|
||||
- g_string_free (s, possible_values ? false : true);
|
||||
+ if (possible_values)
|
||||
+ *possible_values = gstr;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1001,7 +1002,7 @@ read_file (FILE *file,
|
||||
if (ferror (file))
|
||||
{
|
||||
fprintf(stderr, _("%s: Error reading file.\n"), g_get_prgname ());
|
||||
- g_string_free (inbuf, true);
|
||||
+ (void) g_string_free (inbuf, true);
|
||||
exit(1);
|
||||
}
|
||||
else if (bp == nullptr)
|
||||
@@ -1043,8 +1044,7 @@ read_file (FILE *file,
|
||||
if (inbuf->len && inbuf->str[inbuf->len-1] != '\n')
|
||||
g_string_append(inbuf, "\n");
|
||||
|
||||
- text = inbuf->str;
|
||||
- g_string_free (inbuf, false);
|
||||
+ text = g_string_free (inbuf, false);
|
||||
|
||||
if (encoding != nullptr && cvh != nullptr)
|
||||
g_iconv_close(cvh);
|
||||
@@ -1671,7 +1671,11 @@ get_date()
|
||||
fprintf(stderr, _("%1$s: Error while converting date string from '%2$s' to UTF-8.\n"),
|
||||
g_get_prgname(), get_encoding());
|
||||
/* Return the unconverted string. */
|
||||
- g_string_free(inbuf, false);
|
||||
+ /*
|
||||
+ * inbuf isn't used here, but a few memory is
|
||||
+ * allocated by default. so it should be freed anyway.
|
||||
+ */
|
||||
+ (void) g_string_free(inbuf, true);
|
||||
g_iconv_close(cvh);
|
||||
return date;
|
||||
}
|
||||
@@ -1679,8 +1683,7 @@ get_date()
|
||||
obuffer[BUFSIZE * 6 - 1 - oblen] = 0;
|
||||
g_string_append(inbuf, bp);
|
||||
|
||||
- date_utf8 = inbuf->str;
|
||||
- g_string_free(inbuf, false);
|
||||
+ date_utf8 = g_string_free(inbuf, false);
|
||||
g_iconv_close(cvh);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<upstream>
|
||||
<remote-id type="sourceforge">paps</remote-id>
|
||||
<remote-id type="sourceforge">paps</remote-id><!-- old -->
|
||||
<remote-id type="github">dov/paps</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
||||
52
app-text/paps/paps-0.8.0.ebuild
Normal file
52
app-text/paps/paps-0.8.0.ebuild
Normal file
@@ -0,0 +1,52 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
|
||||
inherit edo meson python-r1
|
||||
|
||||
DESCRIPTION="Unicode-aware text to PostScript converter"
|
||||
HOMEPAGE="https://github.com/dov/paps"
|
||||
SRC_URI="https://github.com/dov/paps/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-libs/glib:2
|
||||
dev-libs/libfmt:=
|
||||
x11-libs/cairo
|
||||
x11-libs/pango
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
PATCHES=(
|
||||
# patches merged in upstream, to be removed for the next version.
|
||||
"${FILESDIR}"/${P}-fix_glib.patch
|
||||
"${FILESDIR}"/${P}-fix_unused_results.patch
|
||||
"${FILESDIR}"/${P}-fix_fmt11.2.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# even if it can be changed with --pango-outlang-path, fix the default value
|
||||
sed -e "/^pango_outlang_path =/s/\/usr\/local/${EPREFIX}\/usr/" \
|
||||
-i scripts/src-to-paps || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
edo "${BUILD_DIR}"/src/paps examples/small-hello.utf8 -o "${T}"/test-out.ps
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
python_foreach_impl python_doscript scripts/src-to-paps
|
||||
}
|
||||
Reference in New Issue
Block a user