diff options
-rw-r--r-- | network/gemget/README | 19 | ||||
-rw-r--r-- | network/gemget/gemget.1 | 95 | ||||
-rw-r--r-- | network/gemget/gemget.SlackBuild | 98 | ||||
-rw-r--r-- | network/gemget/gemget.info | 10 | ||||
-rw-r--r-- | network/gemget/slack-desc | 19 |
5 files changed, 241 insertions, 0 deletions
diff --git a/network/gemget/README b/network/gemget/README new file mode 100644 index 0000000000..84e11710e2 --- /dev/null +++ b/network/gemget/README @@ -0,0 +1,19 @@ +gemget (Command line downloader for the Gemini protocol) + +A command line downloader for the Gemini protocol. It works well with +streams and can print headers for debugging as well. + +gemget is in maintenance mode. See blog post of author for details. + +If you never used Go lang before: setup environment variable. Otherwise +all content of Go follow on $TMP (/tmp/SBo/go) - set by SlackBuild. + +Delete GOPATH line or change path of this on SlackBuild Script. Whatever +you want. + +NOTE: the build of package do use of the Internet connection to download +assets needed. + +* after build you can delete /tmp/SBo/go recursively + +THIS PACKAGE CONFLICTS WITH gemget-bin. diff --git a/network/gemget/gemget.1 b/network/gemget/gemget.1 new file mode 100644 index 0000000000..df0dd2d348 --- /dev/null +++ b/network/gemget/gemget.1 @@ -0,0 +1,95 @@ +.TH GEMGET 1 "7 December 2024" + +.SH NAME +gemget \- file downloader for gemini protocol + +.SH SYNOPSIS +.B gemget +[\fI\,OPTION\/\fR]... +[\fI\,URL\/\fR]... + +.SH DESCRIPTION +A command line downloader for the Gemini protocol. It works well with +streams and can print headers for debugging as well. + +.SH OPTIONS +.TP 5 +\fB\,-e\/\fR, \fB\,--add-extension\/\fR +Add .gmi extensions to gemini files that don't have it, like +directories. +.TP 5 +\fB\,--cert\/\fR \fI\,string\/\fR +Path to a PEM encoded TLS client certificate to be sent with the +request. +.TP 5 +\fB\,--connect-timeout\/\fR \fI\,uint\/\fR +Max time allowed to form a connection and get the header, in seconds. +Set to 0 for no timeout. (default 15) +.TP 5 +\fB\,-d\/\fR, \fB\,--directory\/\fR \fI\,string\/\fR +The directory where downloads go (default ".") +.TP 5 +\fB\,--header\/\fR +Print out (even with --quiet) the response header to stdout in the +format: Header: <status> <meta> +.TP 5 +\fB\,-f\/\fR, \fB\,--input-file\/\fR \fI\,string\/\fR +Input file with a single URL on each line. Empty lines or lines starting +with # are ignored. URLs on the command line will be processed first. +.TP 5 +\fB\,-i\/\fR, \fB\,--insecure\/\fR +Skip checking the cert. +.TP 5 +\fB\,--key\/\fR \fI\,string\/\fR +Path to a PEM encoded TLS key for the provided client cert. +.TP 5 +\fB\,-m\/\fR, \fB\,--max-size\/\fR \fI\,string\/\fR +Set the file size limit. Any download that exceeds this size will +cause an Info output and be deleted. +Leaving it blank or setting to zero bytes will result in no limit. +This flag is ignored when outputting to stdout. + +Format: <num> <optional-byte-size> + +Examples: 423, 3.2KiB, '2.5 MB', '22 MiB', '10gib', 3M +.TP 5 +\fB\,-t\/\fR, \fB\,--max-time\/\fR \fI\,uint\/\fR +Set the downloading time limit, in seconds. Any download that +takes longer will cause an Info output and be deleted. +.TP 5 +\fB\,--no-progress-bar\/\fR +Disable the progress bar output. +.TP 5 +\fB\,-o\/\fR, \fB\,--output\/\fR \fI\,string\/\fR +Output path, for when there is only one URL. +'-' means stdout and implies --quiet. +It overrides --directory. +.TP 5 +\fB\,-p\/\fR, \fB\,--proxy\/\fR \fI\,string\/\fR +A proxy that can requests are sent to instead. +Can be a domain or IP with port. Port 1965 is assumed otherwise. +.TP 5 +\fB\,-q\/\fR, \fB\,--quiet\/\fR +Neither info strings or the progress bar will be printed. +Note that normally infos are printed to stderr, not stdout. +.TP 5 +\fB\,-r\/\fR, \fB\,--redirect\/\fR \fI\,uint\/\fR +How many redirects to follow before erroring out. (default 5) +.TP 5 +\fB\,-s\/\fR, \fB\,--skip\/\fR +Move to the next URL when one fails. +.TP 5 +\fB\,--socks\/\fR \fI\,string\/\fR +Host/address for a SOCKS5 proxy. +.TP 5 +\fB\,--socks-pass\/\fR \fI\,string\/\fR +Password for a SOCKS5 proxy (optional) +.TP 5 +\fB\,--socks-user\/\fR \fI\,string\/\fR +Username for a SOCKS5 proxy (optional) +.TP 5 +\fB\,-v\/\fR, \fB\,--version\/\fR +Find out what version of gemget you're running. + +.SH AUTHOR +makeworld <makeworld@protonmail.com> diff --git a/network/gemget/gemget.SlackBuild b/network/gemget/gemget.SlackBuild new file mode 100644 index 0000000000..00835c0f0d --- /dev/null +++ b/network/gemget/gemget.SlackBuild @@ -0,0 +1,98 @@ +#!/bin/bash + +# Slackware build script for gemget + +# Copyright 2024 G. Galdini <jake@dioniso.com.br> Brazil +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=gemget +VERSION=${VERSION:-1.9.0} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" +elif [ "$ARCH" = "aarch64" ]; then + SLKCFLAGS="-O2 -fPIC" +else + SLKCFLAGS="-O2" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +sed -i 's/$(PREFIX)/$(DESTDIR)$(PREFIX)/g' Makefile + +GOPATH="$TMP/go" \ +CGO_CFLAGS="$SLKCFLAGS" \ +make +make install PREFIX=/usr DESTDIR=$PKG + +install -Dm644 $CWD/$PRGNAM.1 -t $PKG/usr/man/man1 + +strip --strip-unneeded $PKG/usr/bin/$PRGNAM +gzip -9 $PKG/usr/man/man?/*.? + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a LICENSE README.md \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/network/gemget/gemget.info b/network/gemget/gemget.info new file mode 100644 index 0000000000..d6d5ac0348 --- /dev/null +++ b/network/gemget/gemget.info @@ -0,0 +1,10 @@ +PRGNAM="gemget" +VERSION="1.9.0" +HOMEPAGE="https://github.com/makew0rld/gemget" +DOWNLOAD="https://github.com/makew0rld/gemget/archive/v1.9.0/gemget-1.9.0.tar.gz" +MD5SUM="dffcd40f2752a1fad223dcd827adae57" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="G. Galdini" +EMAIL="jake@dioniso.com.br" diff --git a/network/gemget/slack-desc b/network/gemget/slack-desc new file mode 100644 index 0000000000..b11ea58199 --- /dev/null +++ b/network/gemget/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +gemget: gemget (Command line downloader for the Gemini protocol) +gemget: +gemget: A command line downloader for the Gemini protocol. It works well with +gemget: streams and can print headers for debugging as well. +gemget: +gemget: gemget is in maintenance mode. See blog post of author for details. +gemget: +gemget: Homepage: https://github.com/makew0rld/gemget +gemget: +gemget: +gemget: |