Gentoo Archives: gentoo-commits

From: Andreas Sturmlechner <asturm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-text/aha/, app-text/aha/files/
Date: Wed, 14 Sep 2022 14:01:34
Message-Id: 1663164071.a020c595903fd11dedc3d33bc3f898651fc8eb36.asturm@gentoo
1 commit: a020c595903fd11dedc3d33bc3f898651fc8eb36
2 Author: Zoltan Puskas <zoltan <AT> sinustrom <DOT> info>
3 AuthorDate: Wed Jun 29 04:52:27 2022 +0000
4 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
5 CommitDate: Wed Sep 14 14:01:11 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a020c595
7
8 app-text/aha: new package, add 0.5.1
9
10 Signed-off-by: Zoltan Puskas <zoltan <AT> sinustrom.info>
11 Closes: https://github.com/gentoo/gentoo/pull/26131
12 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
13
14 app-text/aha/Manifest | 1 +
15 app-text/aha/aha-0.5.1.ebuild | 20 ++++
16 .../files/aha-0.5.1-null-ptr-dereference-fix.patch | 105 +++++++++++++++++++++
17 app-text/aha/metadata.xml | 20 ++++
18 4 files changed, 146 insertions(+)
19
20 diff --git a/app-text/aha/Manifest b/app-text/aha/Manifest
21 new file mode 100644
22 index 000000000000..35f1276e19ca
23 --- /dev/null
24 +++ b/app-text/aha/Manifest
25 @@ -0,0 +1 @@
26 +DIST aha-0.5.1.tar.gz 394410 BLAKE2B 7276219068a8e496b41a953f4cdfc130b85778b44d194fedb63b0f0d921db0efcf0f62fae52ec580ac1462e3b03edd6ad97dab7d7ff2c138ef300824efbad111 SHA512 0eb88e681208c0956e344d6574f9d7ba155d38bfb386d0a9f17022c5e925fb16d0efb6aa04804191b4cac1697a87a0f16ba51bcd97b6135cc7606046eaf89288
27
28 diff --git a/app-text/aha/aha-0.5.1.ebuild b/app-text/aha/aha-0.5.1.ebuild
29 new file mode 100644
30 index 000000000000..2cb556e1e882
31 --- /dev/null
32 +++ b/app-text/aha/aha-0.5.1.ebuild
33 @@ -0,0 +1,20 @@
34 +# Copyright 2022 Gentoo Authors
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +EAPI=8
38 +
39 +DESCRIPTION="Converts ANSI escape sequences of a unix terminal to HTML code"
40 +HOMEPAGE="https://github.com/theZiz/aha"
41 +SRC_URI="https://github.com/theZiz/aha/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
42 +
43 +LICENSE="LGPL-2+ MPL-1.1"
44 +SLOT="0"
45 +KEYWORDS="~amd64"
46 +
47 +PATCHES=(
48 + "${FILESDIR}/${P}-null-ptr-dereference-fix.patch"
49 +)
50 +
51 +src_install() {
52 + emake PREFIX="${D}/usr" install
53 +}
54
55 diff --git a/app-text/aha/files/aha-0.5.1-null-ptr-dereference-fix.patch b/app-text/aha/files/aha-0.5.1-null-ptr-dereference-fix.patch
56 new file mode 100644
57 index 000000000000..6ec2ca9cae1d
58 --- /dev/null
59 +++ b/app-text/aha/files/aha-0.5.1-null-ptr-dereference-fix.patch
60 @@ -0,0 +1,105 @@
61 +diff --git a/aha.c b/aha.c
62 +index 46e43c0..2bfebb7 100644
63 +--- a/aha.c
64 ++++ b/aha.c
65 +@@ -138,6 +138,15 @@ pelem parseInsert(char* s)
66 + return firstelem;
67 + }
68 +
69 ++int parseDepthAtLeast(pelem elem, unsigned int wanted) {
70 ++ while (elem != NULL) {
71 ++ if (wanted == 0) return 1;
72 ++ elem = elem->next;
73 ++ --wanted;
74 ++ }
75 ++ return 0;
76 ++}
77 ++
78 + void deleteParse(pelem elem)
79 + {
80 + while (elem!=NULL)
81 +@@ -831,27 +840,20 @@ int main(int argc,char* args[])
82 + }
83 + else
84 + if (momelem->value == 38 &&
85 +- momelem->next &&
86 +- momelem->next->value == 2 &&
87 +- momelem->next->next)// 38;2;<n> -> 24 Bit
88 ++ parseDepthAtLeast(momelem, 4) &&
89 ++ momelem->next->value == 2)// 38;2;<r>;<g>;<b> -> 24 Bit
90 + {
91 +- momelem = momelem->next->next;
92 +- pelem r,g,b;
93 +- r = momelem;
94 +- momelem = momelem->next;
95 +- g = momelem;
96 +- if ( momelem )
97 +- momelem = momelem->next;
98 +- b = momelem;
99 +- if ( r && g && b )
100 +- {
101 +- state.highlighted = 0;
102 +- state.fc_colormode = MODE_24BIT;
103 +- *dest =
104 +- (r->value & 255) * 65536 +
105 +- (g->value & 255) * 256 +
106 +- (b->value & 255);
107 +- }
108 ++ pelem r = momelem->next->next;
109 ++ pelem g = r->next;
110 ++ pelem b = g->next;
111 ++ momelem = b;
112 ++
113 ++ state.highlighted = 0;
114 ++ state.fc_colormode = MODE_24BIT;
115 ++ *dest =
116 ++ (r->value & 255) * 65536 +
117 ++ (g->value & 255) * 256 +
118 ++ (b->value & 255);
119 + }
120 + else
121 + {
122 +@@ -899,27 +901,20 @@ int main(int argc,char* args[])
123 + }
124 + else
125 + if (momelem->value == 48 &&
126 +- momelem->next &&
127 +- momelem->next->value == 2 &&
128 +- momelem->next->next)// 48;2;<n> -> 24 Bit
129 ++ parseDepthAtLeast(momelem, 4) &&
130 ++ momelem->next->value == 2)// 48;2;<r>;<g>;<b> -> 24 Bit
131 + {
132 +- momelem = momelem->next->next;
133 +- pelem r,g,b;
134 +- r = momelem;
135 +- momelem = momelem->next;
136 +- g = momelem;
137 +- if ( momelem )
138 +- momelem = momelem->next;
139 +- b = momelem;
140 +- if ( r && g && b )
141 +- {
142 +- state.bc_colormode = MODE_24BIT;
143 +- state.highlighted = 0;
144 +- *dest =
145 +- (r->value & 255) * 65536 +
146 +- (g->value & 255) * 256 +
147 +- (b->value & 255);
148 +- }
149 ++ pelem r = momelem->next->next;
150 ++ pelem g = r->next;
151 ++ pelem b = g->next;
152 ++ momelem = b;
153 ++
154 ++ state.bc_colormode = MODE_24BIT;
155 ++ state.highlighted = 0;
156 ++ *dest =
157 ++ (r->value & 255) * 65536 +
158 ++ (g->value & 255) * 256 +
159 ++ (b->value & 255);
160 + }
161 + else
162 + {
163 +--
164 +2.35.1
165 +
166
167 diff --git a/app-text/aha/metadata.xml b/app-text/aha/metadata.xml
168 new file mode 100644
169 index 000000000000..16118a3d4fa8
170 --- /dev/null
171 +++ b/app-text/aha/metadata.xml
172 @@ -0,0 +1,20 @@
173 +<?xml version="1.0" encoding="UTF-8"?>
174 +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
175 +<pkgmetadata>
176 + <maintainer type="person" proxied="yes">
177 + <email>zoltan@×××××××××.info</email>
178 + <name>Zoltan Puskas</name>
179 + </maintainer>
180 + <maintainer type="project" proxied="proxy">
181 + <email>proxy-maint@g.o</email>
182 + <name>Proxy Maintainers</name>
183 + </maintainer>
184 + <longdescription>
185 + aha (ANSI HTML Adapter) converts ANSI colors to HTML, e.g. if you want
186 + to publish the output of ls --color=yes, git diff, ccal or htop as
187 + static HTML somewhere.
188 + </longdescription>
189 + <upstream>
190 + <remote-id type="github">theZiz/aha</remote-id>
191 + </upstream>
192 +</pkgmetadata>