From 32720c1663763521992aac9abacce11ec5eb4fe1 Mon Sep 17 00:00:00 2001 From: Ilya Date: Sat, 17 Feb 2024 22:19:55 +0500 Subject: [PATCH 1/2] add dcnnt template --- srcpkgs/dcnnt/template | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 srcpkgs/dcnnt/template diff --git a/srcpkgs/dcnnt/template b/srcpkgs/dcnnt/template new file mode 100644 index 0000000000000..4cf20b867c58e --- /dev/null +++ b/srcpkgs/dcnnt/template @@ -0,0 +1,18 @@ +# Template file for 'dcnnt' +pkgname=dcnnt +version=0.9.2 +revision=1 +build_style=python3-module +hostmakedepends="python3-setuptools" +makedepends="python3-devel " +depends="python3 python3-pycryptodome" +short_desc="Tool to connect Android phone with desktop similar to KDE Connect" +maintainer="Ilya " +license="MIT" +homepage="https://github.com/cyanomiko/dcnnt-py" +distfiles="https://github.com/cyanomiko/dcnnt-py/archive/refs/tags/${version}.tar.gz" +checksum=2d8c46b7d3d64a22e97699679604581bcf2db03d33c830025f4ad0e3eb62801f + +post_install() { + vlicense LICENSE +} From da05e3492b7a9f551cf4d230715bcb5abb5ea6c7 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Fri, 16 Feb 2024 20:07:36 -0500 Subject: [PATCH 2/2] mdocml: fix section name bugs in man-cgi because of the previous patch that allows man-cgi to use `.gz`-compressed manpages, there were some issues in various places. also adds patch that allows for injecting HTML into ``, so we can drop putting custom stuff in mandoc.css and just add a second stylesheet when building the containers in void-infrastructure. --- srcpkgs/dcnnt/template | 19 +++++ srcpkgs/mdocml/files/void.css | 61 ---------------- srcpkgs/mdocml/patches/cgi-head.patch | 60 ++++++++++++++++ srcpkgs/mdocml/patches/cgi-trim.patch | 100 ++++++++++++++++++++++++++ srcpkgs/mdocml/template | 3 +- 5 files changed, 180 insertions(+), 63 deletions(-) create mode 100644 srcpkgs/dcnnt/template delete mode 100644 srcpkgs/mdocml/files/void.css create mode 100644 srcpkgs/mdocml/patches/cgi-head.patch create mode 100644 srcpkgs/mdocml/patches/cgi-trim.patch diff --git a/srcpkgs/dcnnt/template b/srcpkgs/dcnnt/template new file mode 100644 index 0000000000000..ac2acd5b816e6 --- /dev/null +++ b/srcpkgs/dcnnt/template @@ -0,0 +1,19 @@ +# Template file for 'dcnnt' +pkgname=dcnnt +version=0.9.2 +revision=1 +build_style=python3-module +hostmakedepends="python3-setuptools" +makedepends="python3-devel" +depends="python3 python3-pycryptodome" +checkdepends="python3-tox $depends" +short_desc="Tool to connect Android phone with desktop similar to KDE Connect" +maintainer="Ilya " +license="MIT" +homepage="https://github.com/cyanomiko/dcnnt-py" +distfiles="https://github.com/cyanomiko/dcnnt-py/archive/refs/tags/${version}.tar.gz" +checksum=2d8c46b7d3d64a22e97699679604581bcf2db03d33c830025f4ad0e3eb62801f + +post_install() { + vlicense LICENSE +} diff --git a/srcpkgs/mdocml/files/void.css b/srcpkgs/mdocml/files/void.css deleted file mode 100644 index 17bb533d10c0e..0000000000000 --- a/srcpkgs/mdocml/files/void.css +++ /dev/null @@ -1,61 +0,0 @@ - -/** Void style **/ -html { - --fg: #333; - --bg: #fff; - --fg-accent: #478061; - --nav-fg: #fff; - --nav-bg: #478061; -} -@media (prefers-color-scheme: dark) { - html { - --fg: #ccc; - --bg: #222; - --fg-accent: #62b086; - --nav-fg: #fff; - --nav-bg: #295340; - } -} - -a, :link, :visited { color: var(--fg-accent); } -a:hover { color: var(--fg); } - -html { max-width: 100% } -body { margin: 0 } -.manual-text { max-width: 65em; padding: 0 1em; } - -nav#void-nav { - width:100%; - min-height:50px; - color:var(--nav-fg); - background-color:var(--nav-bg); - z-index:110; - font-size:14px -} -nav#void-nav ul { - display:block; - list-style:none; - margin:0 -} -nav#void-nav ul li { - display:inline-block; - margin:0; -} -nav#void-nav ul li a { - display:inline-block; - padding:15px; - line-height:20px; - font-size:1.2em; - color:var(--nav-fg); - text-decoration: none -} -nav#void-nav ul li a:hover,nav#void-nav ul li a:focus { - color:#fff; - background-color:#000; - text-decoration:none -} - -/** Hide architecture selector **/ -select[name="arch"] { - display: none; -} diff --git a/srcpkgs/mdocml/patches/cgi-head.patch b/srcpkgs/mdocml/patches/cgi-head.patch new file mode 100644 index 0000000000000..c0429ce20c43b --- /dev/null +++ b/srcpkgs/mdocml/patches/cgi-head.patch @@ -0,0 +1,60 @@ +allows for injecting html into for man-cgi + +https://inbox.vuxu.org/mandoc-tech/4d6a587e4edb6a4bd7fc6c5a790e3cf9e16ed7a6.camel@placeviolette.net/T/#u + +--- a/cgi.c ++++ b/cgi.c +@@ -408,11 +408,14 @@ + printf("(%.*s)", secsz, sec); + fputs(" - ", stdout); + } +- printf("%s\n" +- "\n" +- "\n", ++ printf("%s\n", + CUSTOMIZE_TITLE); + ++ resp_copy(MAN_DIR "/head.html"); ++ ++ printf("\n" ++ "\n"); ++ + resp_copy(MAN_DIR "/header.html"); + } + +--- a/man.cgi.3 15 Mar 2017 13:18:53 -0000 1.4 ++++ b/man.cgi.3 7 Nov 2022 17:32:35 -0000 +@@ -240,8 +240,10 @@ + .It Ft void Fn resp_begin_html "int code" "const char *msg" "const char *file" + This generator calls + .Fn resp_begin_http +-to print the HTTP headers, then prints the HTML header up to the +-opening tag of the element, then copies the file ++to print the HTTP headers, then prints the HTML header, then copies the file ++.Pa head.html ++to the output, if it exists and is readable, then prints up to the opening tag ++of the element, then copies the file + .Pa header.html + to the output, if it exists and is readable. + If +--- a/man.cgi.8 6 Jul 2022 15:47:28 -0000 1.24 ++++ b/man.cgi.8 7 Nov 2022 17:32:35 -0000 +@@ -199,6 +199,7 @@ + for this purpose. + The files + .Pa manpath.conf , ++.Pa head.html , + .Pa header.html , + and + .Pa footer.html +@@ -380,6 +381,10 @@ + .Sx Restricted character set , + .Nm + reports an internal server error and exits without doing anything. ++.It Pa /man/head.html ++An optional file containing static HTML code to be inserted right before ++closing the element. ++For example, it can contain additional tags or s to other resources. + .It Pa /man/header.html + An optional file containing static HTML code to be wrapped in + a
element and inserted right after opening the element. diff --git a/srcpkgs/mdocml/patches/cgi-trim.patch b/srcpkgs/mdocml/patches/cgi-trim.patch new file mode 100644 index 0000000000000..cb434ab4338c4 --- /dev/null +++ b/srcpkgs/mdocml/patches/cgi-trim.patch @@ -0,0 +1,100 @@ +fixes issues with the cgi script caused by our hacked-in gzip support. + +* the page showed foo.N(gz) instead of foo(N) +* links in apropos results linked to .../foo.N.gz instead of .../foo.N, + confusing man-cgi +* redirects for single-result apropos searches redirected to .../foo.N.gz too + +--- a/cgi.c ++++ b/cgi.c +@@ -99,6 +99,7 @@ + static int validate_filename(const char *); + static int validate_manpath(const struct req *, const char *); + static int validate_urifrag(const char *); ++static char * filename_trim_gz(const char *); + + static const char *scriptname = SCRIPT_NAME; + +@@ -139,6 +140,18 @@ + }; + static const int arch_MAX = sizeof(arch_names) / sizeof(char *); + ++static char * ++filename_trim_gz(const char *s) { ++ char *r, *cp; ++ if (s == NULL || (r = malloc(strlen(s) + 1)) == NULL) ++ return NULL; ++ strcpy(r, s); ++ cp = strrchr(r, '.'); ++ if (cp != NULL && strcasecmp(cp, ".gz") == 0) ++ *cp = '\0'; ++ return r; ++} ++ + /* + * Print a character, escaping HTML along the way. + * This will pass non-ASCII straight to output: be warned! +@@ -641,7 +641,7 @@ + static void + pg_searchres(const struct req *req, struct manpage *r, size_t sz) + { +- char *arch, *archend; ++ char *arch, *archend, *fn; + const char *sec; + size_t i, iuse; + int archprio, archpriouse; +@@ -654,9 +667,11 @@ + printf("%s/", scriptname); + if (strcmp(req->q.manpath, req->p[0])) + printf("%s/", req->q.manpath); ++ fn = filename_trim_gz(r[0].file); + printf("%s\r\n" + "Content-Type: text/html; charset=utf-8\r\n\r\n", +- r[0].file); ++ fn); ++ free(fn); + return; + } + +@@ -699,7 +714,9 @@ + priouse = prio; + iuse = i; + } +- resp_begin_html(200, NULL, r[iuse].file); ++ fn = filename_trim_gz(r[iuse].file); ++ resp_begin_html(200, NULL, fn); ++ free(fn); + } else + resp_begin_html(200, NULL, NULL); + +@@ -716,7 +733,9 @@ + printf("%s/", scriptname); + if (strcmp(req->q.manpath, req->p[0])) + printf("%s/", req->q.manpath); +- printf("%s\">", r[i].file); ++ fn = filename_trim_gz(r[i].file); ++ printf("%s\">", fn); ++ free(fn); + html_print(r[i].names); + printf("</a></td>\n" + " <td><span class=\"Nd\">"); +@@ -951,7 +951,7 @@ + static void + pg_show(struct req *req, const char *fullpath) + { +- char *manpath; ++ char *manpath, *fn; + const char *file; + + if ((file = strchr(fullpath, '/')) == NULL) { +@@ -970,7 +989,9 @@ + return; + } + +- resp_begin_html(200, NULL, file); ++ fn = filename_trim_gz(file); ++ resp_begin_html(200, NULL, fn); ++ free(fn); + resp_searchform(req, FOCUS_NONE); + resp_show(req, file); + resp_end_html(); diff --git a/srcpkgs/mdocml/template b/srcpkgs/mdocml/template index 9b9d5394a292c..9f14ddf4f56c6 100644 --- a/srcpkgs/mdocml/template +++ b/srcpkgs/mdocml/template @@ -1,7 +1,7 @@ # Template file for 'mdocml' pkgname=mdocml version=1.14.6 -revision=7 +revision=8 build_style=configure make_build_args="all man.cgi" make_check_target="regress" @@ -29,7 +29,6 @@ alternatives=" CFLAGS="-fcommon" post_patch() { - cat ${FILESDIR}/void.css >>mandoc.css cp ${FILESDIR}/cgi.h . } pre_configure() {