diff options
author | Sam James <sam@gentoo.org> | 2023-05-11 01:36:32 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-05-11 01:36:32 +0100 |
commit | 1e312126df0b0debe1e16baf40d210c0377df4fb (patch) | |
tree | 8dad579e071a7b4d6e82f3d25325a07fd939dd7c /app-accessibility | |
parent | media-libs/plib: build w/ c++03 (-Wregister) (diff) | |
download | gentoo-1e312126df0b0debe1e16baf40d210c0377df4fb.tar.gz gentoo-1e312126df0b0debe1e16baf40d210c0377df4fb.tar.bz2 gentoo-1e312126df0b0debe1e16baf40d210c0377df4fb.zip |
app-accessibility/nfbtrans: fix modern C issues
Closes: https://bugs.gentoo.org/874390
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-accessibility')
-rw-r--r-- | app-accessibility/nfbtrans/files/nfbtrans-7.74-modern-c.patch | 98 | ||||
-rw-r--r-- | app-accessibility/nfbtrans/nfbtrans-7.74-r3.ebuild | 49 |
2 files changed, 147 insertions, 0 deletions
diff --git a/app-accessibility/nfbtrans/files/nfbtrans-7.74-modern-c.patch b/app-accessibility/nfbtrans/files/nfbtrans-7.74-modern-c.patch new file mode 100644 index 000000000000..7752655138fe --- /dev/null +++ b/app-accessibility/nfbtrans/files/nfbtrans-7.74-modern-c.patch @@ -0,0 +1,98 @@ +https://bugs.gentoo.org/874390 + +Fix -Wimplicit-function-declaration and -Wformat-security. +--- a/NFBTRANS.C ++++ b/NFBTRANS.C +@@ -8,10 +8,12 @@ + #else + #define UNIX_PATH "/etc/nfbtrans/" + #endif /* unix */ +-#include <stdio.h> ++#include <ctype.h> ++#include <stdio.h> + #include <sys/types.h> + #include <sys/stat.h> + #include <stdlib.h> ++#include <unistd.h> + #ifdef DOS + #include <io.h> + #include <string.h> +@@ -132,6 +134,12 @@ char *output_extension[2] = {".brf", ".txt"}; + int paramcount; + char **paramstr; + ++void strnset(char *string, char c, short n); ++int strcmpi(char *s1, char *s2); ++void unbuf_stdin(); ++void restore_stdin(); ++void save_stdin(); ++ + typedef struct + { + char *name; +@@ -5130,7 +5138,7 @@ void insert_hyphen_word(int date_only) + field[l - 1] = 0; /* remove lf */ + if (!lines) + { /* first line */ +- fprintf(tempfile, date_string); ++ fprintf(tempfile, "%s", date_string); + cptr = strchr(field, 'A'); + if (cptr) + strcpy(field, cptr); /* get rid of date */ +@@ -5341,7 +5349,7 @@ void test_hyphen_dictionary(int mode) + /* open for r+ */ + open_hyp_dictionary(hyphen_dic_name, 3, 1); + rewind(hyp_dic_ptr); +- fprintf(hyp_dic_ptr, date_string); ++ fprintf(hyp_dic_ptr, "%s", date_string); + open_hyp_dictionary(hyphen_dic_name, 3, 2); + } /* date found on first line */ + else +@@ -6511,7 +6519,7 @@ void translate_file() + { /* no file args */ + if (!indirect_ptr) + { +- fprintf(stderr, menu[10]); ++ fprintf(stderr, "%s", menu[10]); + get_input(temp, 80); + if (!temp[0]) + exit_program(0); +@@ -6709,9 +6717,9 @@ void translate_file() + if (!trans_mode1) + { /* get secondary translation mode */ + i = (trans_default / 10); +- fprintf(stderr, menu[0]); ++ fprintf(stderr, "%s", menu[0]); + for (j = 5; j < 8; j++) +- fprintf(stderr, menu[j]); ++ fprintf(stderr, "%s", menu[j]); + backspace_int(i); + do + { +@@ -6744,7 +6752,7 @@ void translate_file() + } /* construct output name */ + else + { /* prompt */ +- fprintf(stderr, menu[11]); ++ fprintf(stderr, "%s", menu[11]); + get_input(outf_name, MAXPATHLEN - 1); + } /* prompt */ + if (!outf_name[0]) +@@ -7110,7 +7118,7 @@ void get_page_range() + if (pageend < pagestart) + { /* pageend */ + pageend = 9999; +- fprintf(stderr, menu[9]); ++ fprintf(stderr, "%s", menu[9]); + backspace_int(pageend); + get_input(temp, 5); + get_end_page(temp); +@@ -7481,7 +7489,7 @@ int main(int argc, char *argv[]) + { /* choose mode */ + j = (trans_default % 10); + for (i = 0; i < 4; i++) +- fprintf(stderr, menu[i]); ++ fprintf(stderr, "%s", menu[i]); + while (trans_mode < 1 || trans_mode > 3) + { + fprintf(stderr, "\n%s", menu[4]); diff --git a/app-accessibility/nfbtrans/nfbtrans-7.74-r3.ebuild b/app-accessibility/nfbtrans/nfbtrans-7.74-r3.ebuild new file mode 100644 index 000000000000..6e3e0b89805f --- /dev/null +++ b/app-accessibility/nfbtrans/nfbtrans-7.74-r3.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Braille translator from the National Federation of the Blind" +HOMEPAGE="http://www.nfbnet.org/download/nfbtrans.htm" +SRC_URI="http://www.nfb.org/Images/nfb/Products_Technology/nfbtr$(ver_rs 1-2 '').zip" +S="${WORKDIR}" + +LICENSE="public-domain" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" + +BDEPEND=">=app-arch/unzip-5.50-r2" + +PATCHES=( + "${FILESDIR}"/${P}-gentoo-fix.patch + "${FILESDIR}"/${P}-getline-fix.patch + "${FILESDIR}"/${P}-respect-ldflags.patch + "${FILESDIR}"/${P}-modern-c.patch +) + +src_prepare() { + mv MAKEFILE Makefile || die + mv SPANISH.ZIP spanish.zip || die + + default + + emake lowercase +} + +src_compile() { + emake \ + CC="$(tc-getCC)" \ + LIBS= \ + CFLAGS="${CFLAGS} -DLINUX" \ + LDFLAGS="${LDFLAGS}" \ + all +} + +src_install() { + dobin nfbtrans + dodoc *fmt readme.txt makedoc + insinto /etc/nfbtrans + doins *cnf *tab *dic spell.dat *zip +} |