mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 17:09:10 -07:00
x11-misc/sent: add 1_p20230110, fix gcc15
create a post_release to fix bugs and gcc15 building call pkg-config to define libs and include-dir remove debug compiler flag Closes: https://bugs.gentoo.org/732426 Closes: https://bugs.gentoo.org/874708 Closes: https://bugs.gentoo.org/919444 Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr> Part-of: https://github.com/gentoo/gentoo/pull/43509 Closes: https://github.com/gentoo/gentoo/pull/43509 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
committed by
Sam James
parent
800ea43f59
commit
eda4f089d9
31
x11-misc/sent/files/sent-1-fix_mk.patch
Normal file
31
x11-misc/sent/files/sent-1-fix_mk.patch
Normal file
@@ -0,0 +1,31 @@
|
||||
use pkg-config to define libs/includes instead of old paths
|
||||
remove debug compiler flag
|
||||
--- a/config.mk
|
||||
+++ b/config.mk
|
||||
@@ -7,12 +7,11 @@ VERSION = 1
|
||||
PREFIX = /usr/local
|
||||
MANPREFIX = ${PREFIX}/share/man
|
||||
|
||||
-X11INC = /usr/X11R6/include
|
||||
-X11LIB = /usr/X11R6/lib
|
||||
+PKG_CONFIG ?= pkg-config
|
||||
|
||||
# includes and libs
|
||||
-INCS = -I. -I/usr/include -I/usr/include/freetype2 -I${X11INC}
|
||||
-LIBS = -L/usr/lib -lc -lm -L${X11LIB} -lXft -lfontconfig -lX11
|
||||
+INCS = $(shell ${PKG_CONFIG} --print-errors --exists fontconfig xft x11 --cflags)
|
||||
+LIBS = -lc -lm $(shell ${PKG_CONFIG} --print-errors --exists fontconfig xft x11 --libs)
|
||||
# OpenBSD (uncomment)
|
||||
#INCS = -I. -I${X11INC} -I${X11INC}/freetype2
|
||||
# FreeBSD (uncomment)
|
||||
@@ -21,8 +20,8 @@ LIBS = -L/usr/lib -lc -lm -L${X11LIB} -lXft -lfontconfig -lX11
|
||||
|
||||
# flags
|
||||
CPPFLAGS = -DVERSION=\"${VERSION}\" -D_XOPEN_SOURCE=600
|
||||
-CFLAGS += -g -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS}
|
||||
-LDFLAGS += -g ${LIBS}
|
||||
+CFLAGS += -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS}
|
||||
+LDFLAGS += ${LIBS}
|
||||
#CFLAGS += -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
|
||||
#LDFLAGS += ${LIBS}
|
||||
|
||||
295
x11-misc/sent/files/sent-1_p20230110.patch
Normal file
295
x11-misc/sent/files/sent-1_p20230110.patch
Normal file
@@ -0,0 +1,295 @@
|
||||
create a post release with this patch (no tarball from the git webui)
|
||||
git diff 4736a61..882d54c
|
||||
update license
|
||||
Correctly handle files that contain no slides
|
||||
Avoid out-of-bounds access when a slide input line begins with \0
|
||||
free XImage before creating a new one
|
||||
Makefile: be verbose
|
||||
sent.1: fix some mandoc warnings
|
||||
remove unnecessary NULL checks and add `void` for an empty parameter list
|
||||
--- a/LICENSE
|
||||
+++ b/LICENSE
|
||||
@@ -1,6 +1,6 @@
|
||||
ISC-License
|
||||
|
||||
-(c) 2014-2016 Markus Teich <markus.teich@stusta.mhn.de>
|
||||
+(c) 2014-2017 Markus Teich <markus.teich@stusta.mhn.de>
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -14,15 +14,16 @@ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
-(c) 2015 Jonas Jelten <jj@sft.mx>
|
||||
-(c) 2015 Szabolcs Nagy <nsz@port70.net>
|
||||
-(c) 2015 Tony Lainson <t.lainson@gmail.com>
|
||||
-(c) 2015 Jan Christoph Ebersbach <jceb@e-jc.de>
|
||||
-(c) 2015 Ivan Tham <pickfire@riseup.net>
|
||||
-(c) 2015 Quentin Rameau <quinq@fifth.space>
|
||||
-(c) 2015 Alexis <surryhill@gmail.com>
|
||||
-(c) 2015 Dimitris Papastamos <sin@2f30.org>
|
||||
-(c) 2015 Grant Mathews <grant.m.mathews@gmail.com>
|
||||
-(c) 2015 David Phillips <dbphillipsnz@gmail.com>
|
||||
-(c) 2016 Laslo Hunhold <dev@frign.de>
|
||||
+(c) 2016,2017 Laslo Hunhold <dev@frign.de>
|
||||
+(c) 2016 ssd <ssd@mailless.org>
|
||||
(c) 2016 Hiltjo Posthuma <hiltjo@codemadness.org>
|
||||
+(c) 2015 David Phillips <dbphillipsnz@gmail.com>
|
||||
+(c) 2015 Grant Mathews <grant.m.mathews@gmail.com>
|
||||
+(c) 2015 Dimitris Papastamos <sin@2f30.org>
|
||||
+(c) 2015 Alexis <surryhill@gmail.com>
|
||||
+(c) 2015 Quentin Rameau <quinq@fifth.space>
|
||||
+(c) 2015 Ivan Tham <pickfire@riseup.net>
|
||||
+(c) 2015 Jan Christoph Ebersbach <jceb@e-jc.de>
|
||||
+(c) 2015 Tony Lainson <t.lainson@gmail.com>
|
||||
+(c) 2015 Szabolcs Nagy <nsz@port70.net>
|
||||
+(c) 2015 Jonas Jelten <jj@sft.mx>
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -18,43 +18,35 @@ config.h:
|
||||
cp config.def.h config.h
|
||||
|
||||
.c.o:
|
||||
- @echo CC $<
|
||||
- @${CC} -c ${CFLAGS} $<
|
||||
+ ${CC} -c ${CFLAGS} $<
|
||||
|
||||
${OBJ}: config.h config.mk
|
||||
|
||||
sent: ${OBJ}
|
||||
- @echo CC -o $@
|
||||
- @${CC} -o $@ ${OBJ} ${LDFLAGS}
|
||||
+ ${CC} -o $@ ${OBJ} ${LDFLAGS}
|
||||
|
||||
cscope: ${SRC} config.h
|
||||
- @echo cScope
|
||||
- @cscope -R -b || echo cScope not installed
|
||||
+ cscope -R -b || echo cScope not installed
|
||||
|
||||
clean:
|
||||
- @echo cleaning
|
||||
- @rm -f sent ${OBJ} sent-${VERSION}.tar.gz
|
||||
+ rm -f sent ${OBJ} sent-${VERSION}.tar.gz
|
||||
|
||||
dist: clean
|
||||
- @echo creating dist tarball
|
||||
- @mkdir -p sent-${VERSION}
|
||||
- @cp -R LICENSE Makefile config.mk config.def.h ${SRC} sent-${VERSION}
|
||||
- @tar -cf sent-${VERSION}.tar sent-${VERSION}
|
||||
- @gzip sent-${VERSION}.tar
|
||||
- @rm -rf sent-${VERSION}
|
||||
+ mkdir -p sent-${VERSION}
|
||||
+ cp -R LICENSE Makefile config.mk config.def.h ${SRC} sent-${VERSION}
|
||||
+ tar -cf sent-${VERSION}.tar sent-${VERSION}
|
||||
+ gzip sent-${VERSION}.tar
|
||||
+ rm -rf sent-${VERSION}
|
||||
|
||||
install: all
|
||||
- @echo installing executable file to ${DESTDIR}${PREFIX}/bin
|
||||
- @mkdir -p ${DESTDIR}${PREFIX}/bin
|
||||
- @cp -f sent ${DESTDIR}${PREFIX}/bin
|
||||
- @chmod 755 ${DESTDIR}${PREFIX}/bin/sent
|
||||
- @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1
|
||||
- @mkdir -p ${DESTDIR}${MANPREFIX}/man1
|
||||
- @cp sent.1 ${DESTDIR}${MANPREFIX}/man1/sent.1
|
||||
- @chmod 644 ${DESTDIR}${MANPREFIX}/man1/sent.1
|
||||
+ mkdir -p ${DESTDIR}${PREFIX}/bin
|
||||
+ cp -f sent ${DESTDIR}${PREFIX}/bin
|
||||
+ chmod 755 ${DESTDIR}${PREFIX}/bin/sent
|
||||
+ mkdir -p ${DESTDIR}${MANPREFIX}/man1
|
||||
+ cp sent.1 ${DESTDIR}${MANPREFIX}/man1/sent.1
|
||||
+ chmod 644 ${DESTDIR}${MANPREFIX}/man1/sent.1
|
||||
|
||||
uninstall:
|
||||
- @echo removing executable file from ${DESTDIR}${PREFIX}/bin
|
||||
- @rm -f ${DESTDIR}${PREFIX}/bin/sent
|
||||
+ rm -f ${DESTDIR}${PREFIX}/bin/sent
|
||||
|
||||
.PHONY: all options clean dist install uninstall cscope
|
||||
--- a/sent.1
|
||||
+++ b/sent.1
|
||||
@@ -1,5 +1,6 @@
|
||||
-.Dd 2016-08-12
|
||||
+.Dd August 12, 2016
|
||||
.Dt SENT 1
|
||||
+.Os
|
||||
.Sh NAME
|
||||
.Nm sent
|
||||
.Nd simple plaintext presentation tool
|
||||
@@ -10,13 +11,14 @@
|
||||
.Sh DESCRIPTION
|
||||
.Nm
|
||||
is a simple plain text presentation tool for X. sent does not need LaTeX,
|
||||
-LibreOffice or any other fancy file format. Instead, sent reads plain text
|
||||
-describing the slides. sent can also draw images.
|
||||
+LibreOffice or any other fancy file format.
|
||||
+Instead, sent reads plain text describing the slides. sent can also draw
|
||||
+images.
|
||||
.Pp
|
||||
-Every paragraph represents a slide in the presentation. Especially for
|
||||
-presentations using the Takahashi method this is very nice and allows
|
||||
-you to write the presentation for a quick lightning talk within a
|
||||
-few minutes.
|
||||
+Every paragraph represents a slide in the presentation.
|
||||
+Especially for presentations using the Takahashi method this is very nice and
|
||||
+allows you to write the presentation for a quick lightning talk within a few
|
||||
+minutes.
|
||||
.Sh OPTIONS
|
||||
.Bl -tag -width Ds
|
||||
.It Fl v
|
||||
@@ -36,7 +38,8 @@ Go to previous slide, if existent.
|
||||
.It Sy Escape | q
|
||||
Quit.
|
||||
.It Sy r
|
||||
-Reload the slides. Only works on file input.
|
||||
+Reload the slides.
|
||||
+Only works on file input.
|
||||
.It Sy Right | Return | Space | l | j | Down | Next | n
|
||||
Go to next slide, if existent.
|
||||
.It Sy Left | Backspace | h | k | Up | Prior | p
|
||||
@@ -63,6 +66,7 @@ without interpreting them.
|
||||
.Sh CUSTOMIZATION
|
||||
.Nm
|
||||
can be customized by creating a custom config.h and (re)compiling the
|
||||
-source code. This keeps it fast, secure and simple.
|
||||
+source code.
|
||||
+This keeps it fast, secure and simple.
|
||||
.Sh SEE ALSO
|
||||
.Xr 2ff 1
|
||||
--- a/sent.c
|
||||
+++ b/sent.c
|
||||
@@ -99,12 +99,12 @@ static void load(FILE *fp);
|
||||
static void advance(const Arg *arg);
|
||||
static void quit(const Arg *arg);
|
||||
static void resize(int width, int height);
|
||||
-static void run();
|
||||
-static void usage();
|
||||
-static void xdraw();
|
||||
-static void xhints();
|
||||
-static void xinit();
|
||||
-static void xloadfonts();
|
||||
+static void run(void);
|
||||
+static void usage(void);
|
||||
+static void xdraw(void);
|
||||
+static void xhints(void);
|
||||
+static void xinit(void);
|
||||
+static void xloadfonts(void);
|
||||
|
||||
static void bpress(XEvent *);
|
||||
static void cmessage(XEvent *);
|
||||
@@ -216,8 +216,7 @@ ffload(Slide *s)
|
||||
s->img->bufwidth = ntohl(*(uint32_t *)&hdr[8]);
|
||||
s->img->bufheight = ntohl(*(uint32_t *)&hdr[12]);
|
||||
|
||||
- if (s->img->buf)
|
||||
- free(s->img->buf);
|
||||
+ free(s->img->buf);
|
||||
/* internally the image is stored in 888 format */
|
||||
s->img->buf = ecalloc(s->img->bufwidth * s->img->bufheight, strlen("888"));
|
||||
|
||||
@@ -270,6 +269,9 @@ ffprepare(Image *img)
|
||||
if (depth < 24)
|
||||
die("sent: Display color depths < 24 not supported");
|
||||
|
||||
+ if (img->ximg)
|
||||
+ XDestroyImage(img->ximg);
|
||||
+
|
||||
if (!(img->ximg = XCreateImage(xw.dpy, CopyFromParent, depth, ZPixmap, 0,
|
||||
NULL, width, height, 32, 0)))
|
||||
die("sent: Unable to create XImage");
|
||||
@@ -428,6 +430,10 @@ load(FILE *fp)
|
||||
maxlines = 0;
|
||||
memset((s = &slides[slidecount]), 0, sizeof(Slide));
|
||||
do {
|
||||
+ /* if there's a leading null, we can't do blen-1 */
|
||||
+ if (buf[0] == '\0')
|
||||
+ continue;
|
||||
+
|
||||
if (buf[0] == '#')
|
||||
continue;
|
||||
|
||||
@@ -457,6 +463,9 @@ load(FILE *fp)
|
||||
if (!p)
|
||||
break;
|
||||
}
|
||||
+
|
||||
+ if (!slidecount)
|
||||
+ die("sent: No slides in file");
|
||||
}
|
||||
|
||||
void
|
||||
@@ -489,7 +498,7 @@ resize(int width, int height)
|
||||
}
|
||||
|
||||
void
|
||||
-run()
|
||||
+run(void)
|
||||
{
|
||||
XEvent ev;
|
||||
|
||||
@@ -511,7 +520,7 @@ run()
|
||||
}
|
||||
|
||||
void
|
||||
-xdraw()
|
||||
+xdraw(void)
|
||||
{
|
||||
unsigned int height, width, i;
|
||||
Image *im = slides[idx].img;
|
||||
@@ -539,7 +548,7 @@ xdraw()
|
||||
}
|
||||
|
||||
void
|
||||
-xhints()
|
||||
+xhints(void)
|
||||
{
|
||||
XClassHint class = {.res_name = "sent", .res_class = "presenter"};
|
||||
XWMHints wm = {.flags = InputHint, .input = True};
|
||||
@@ -557,7 +566,7 @@ xhints()
|
||||
}
|
||||
|
||||
void
|
||||
-xinit()
|
||||
+xinit(void)
|
||||
{
|
||||
XTextProperty prop;
|
||||
unsigned int i;
|
||||
@@ -601,7 +610,7 @@ xinit()
|
||||
}
|
||||
|
||||
void
|
||||
-xloadfonts()
|
||||
+xloadfonts(void)
|
||||
{
|
||||
int i, j;
|
||||
char *fstrs[LEN(fontfallbacks)];
|
||||
@@ -620,8 +629,7 @@ xloadfonts()
|
||||
}
|
||||
|
||||
for (j = 0; j < LEN(fontfallbacks); j++)
|
||||
- if (fstrs[j])
|
||||
- free(fstrs[j]);
|
||||
+ free(fstrs[j]);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -670,7 +678,7 @@ configure(XEvent *e)
|
||||
}
|
||||
|
||||
void
|
||||
-usage()
|
||||
+usage(void)
|
||||
{
|
||||
die("usage: %s [file]", argv0);
|
||||
}
|
||||
@@ -695,9 +703,6 @@ main(int argc, char *argv[])
|
||||
load(fp);
|
||||
fclose(fp);
|
||||
|
||||
- if (!slidecount)
|
||||
- usage();
|
||||
-
|
||||
xinit();
|
||||
run();
|
||||
|
||||
47
x11-misc/sent/sent-1_p20230110.ebuild
Normal file
47
x11-misc/sent/sent-1_p20230110.ebuild
Normal file
@@ -0,0 +1,47 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit savedconfig toolchain-funcs
|
||||
|
||||
DESCRIPTION="Simple plaintext presentation tool"
|
||||
HOMEPAGE="https://tools.suckless.org/sent/"
|
||||
SRC_URI="https://dl.suckless.org/tools/${PN}-1.tar.gz"
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~riscv"
|
||||
|
||||
DEPEND="
|
||||
media-libs/fontconfig
|
||||
x11-libs/libX11
|
||||
x11-libs/libXft
|
||||
"
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
!savedconfig? ( media-gfx/farbfeld )
|
||||
"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1-fix_mk.patch
|
||||
"${FILESDIR}"/${P}.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
restore_config config.h
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
tc-export CC PKG_CONFIG
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
|
||||
save_config config.h
|
||||
}
|
||||
Reference in New Issue
Block a user