diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 05:48:38 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 05:48:38 -0500 |
| commit | bfd9c39e4712ebdb442d4ca0673061faed1e70e1 (patch) | |
| tree | 0d7a74b4463ee387f9cf9368ceb1b757f694f72a /net-dialup | |
| parent | f716a9fe6455d39eef01e718aae68dae61c19704 (diff) | |
| download | baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.gz baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.tar.xz baldeagleos-repo-bfd9c39e4712ebdb442d4ca0673061faed1e70e1.zip | |
Revert "Adding metadata"
This reverts commit f716a9fe6455d39eef01e718aae68dae61c19704.
Diffstat (limited to 'net-dialup')
212 files changed, 8563 insertions, 0 deletions
diff --git a/net-dialup/accel-ppp/Manifest b/net-dialup/accel-ppp/Manifest new file mode 100644 index 000000000000..16264b9170ac --- /dev/null +++ b/net-dialup/accel-ppp/Manifest @@ -0,0 +1,2 @@ +DIST accel-ppp-1.12.0_p20230609.tar.bz2 1679570 BLAKE2B 3af713135f755215dc6cd4484ca02f182a17c5240b0b6edf2627412391396ccc1de41dc0098b10e2359ea6d9737c6ff177dc753209a50bdc6989103332453d93 SHA512 c78b8accf74e0f047a9c07b1259f18c7cba3a4e5ecdc594bb4fde4bbbc7b33eeac28265da879bdb17f935628f58f0828eebac0e08ec8ca079ac95911e3851ac2 +DIST accel-ppp-1.14.0.tar.gz 1925929 BLAKE2B 44cc701a534f2eaa7fa4c579fdde895c2df7389108959e9bd5b7dc4406fedc6bb3fbc148b817c4605e071a09571923a3a3b0d9a8ad11b01392b412810afe7059 SHA512 58c75ec94eb197540ea2d2c4b03befbbaf040af6df7c002588f092b6cebfe40299e503875d669f2f1cff5ba14f3357fe3205fa56f4aee3337eb3dc85ae7e8e98 diff --git a/net-dialup/accel-ppp/accel-ppp-1.12.0_p20230609.ebuild b/net-dialup/accel-ppp/accel-ppp-1.12.0_p20230609.ebuild new file mode 100644 index 000000000000..aba4ff70eaf6 --- /dev/null +++ b/net-dialup/accel-ppp/accel-ppp-1.12.0_p20230609.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +MODULES_OPTIONAL_IUSE="ipoe" +inherit cmake flag-o-matic linux-mod-r1 lua-single + +DESCRIPTION="High performance PPTP, PPPoE and L2TP server" +HOMEPAGE="https://sourceforge.net/projects/accel-ppp/" +SRC_URI="https://dev.gentoo.org/~pinkbyte/distfiles/snapshots/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="debug doc libtomcrypt lua postgres radius shaper snmp valgrind" + +RDEPEND="!libtomcrypt? ( dev-libs/openssl:0= ) + libtomcrypt? ( dev-libs/libtomcrypt:0= ) + lua? ( ${LUA_DEPS} ) + postgres? ( dev-db/postgresql:* ) + snmp? ( net-analyzer/net-snmp ) + dev-libs/libpcre" +DEPEND="${RDEPEND} + valgrind? ( dev-debug/valgrind )" +PDEPEND="net-dialup/ppp-scripts" + +DOCS=( README ) + +CONFIG_CHECK="~L2TP ~PPPOE ~PPTP" + +REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} ) + valgrind? ( debug )" + +PATCHES=( + "${FILESDIR}/${PN}-1.11.1-socklen.patch" +) + +S="${WORKDIR}" + +pkg_setup() { + linux-mod-r1_pkg_setup + set_arch_to_kernel + use lua && lua-single_pkg_setup +} + +src_prepare() { + sed -i -e "/mkdir/d" \ + -e "s: RENAME accel-ppp.conf.dist::" accel-pppd/CMakeLists.txt || die 'sed on accel-pppd/CMakeLists.txt failed' + + # Do not install kernel modules like that - breaks sandbox! + sed -i -e '/modules_install/d' \ + drivers/ipoe/CMakeLists.txt \ + drivers/vlan_mon/CMakeLists.txt || die + + # Fix version + sed -i -e "s/1.11/${PV}/" drivers/ipoe/ipoe.c || die + sed -i -e "s/1.11/${PV}/" drivers/vlan_mon/vlan_mon.c || die + + # Bug #549918 + append-ldflags -Wl,-z,lazy + + cmake_src_prepare +} + +src_configure() { + local libdir="$(get_libdir)" + local mycmakeargs=( + -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc" + -DCMAKE_INSTALL_LOCALSTATEDIR="${EPREFIX}/var" + -DLIB_SUFFIX="${libdir#lib}" + -DBUILD_IPOE_DRIVER="$(usex ipoe)" + -DBUILD_PPTP_DRIVER=no + -DBUILD_VLAN_MON_DRIVER="$(usex ipoe)" + -DCRYPTO="$(usex libtomcrypt TOMCRYPT OPENSSL)" + -DLOG_PGSQL="$(usex postgres)" + -DLUA="$(usex lua TRUE FALSE)" + -DMEMDEBUG="$(usex debug)" + -DNETSNMP="$(usex snmp)" + -DRADIUS="$(usex radius)" + -DSHAPER="$(usex shaper)" + $(use debug && echo "-DVALGRIND=$(usex valgrind)") + ) + cmake_src_configure +} + +src_compile() { + local modlist=( ipoe=accel-ppp:drivers/ipoe vlan_mon=accel-ppp:drivers/vlan_mon ) + MODULES_MAKEARGS+=( + KDIR="${KV_OUT_DIR}" + ) + linux-mod-r1_src_compile + cmake_src_compile +} + +src_install() { + linux-mod-r1_src_install + cmake_src_install + + use doc && dodoc -r rfc + + if use snmp; then + insinto /usr/share/snmp/mibs + doins accel-pppd/extra/net-snmp/ACCEL-PPP-MIB.txt + fi + + newinitd "${FILESDIR}"/${PN}.initd ${PN}d + newconfd "${FILESDIR}"/${PN}.confd ${PN}d + + keepdir /var/lib/accel-ppp + keepdir /var/log/accel-ppp +} diff --git a/net-dialup/accel-ppp/accel-ppp-1.14.0-r2.ebuild b/net-dialup/accel-ppp/accel-ppp-1.14.0-r2.ebuild new file mode 100644 index 000000000000..37a7dd5c9d40 --- /dev/null +++ b/net-dialup/accel-ppp/accel-ppp-1.14.0-r2.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +MODULES_OPTIONAL_IUSE="ipoe" +inherit cmake flag-o-matic linux-mod-r1 lua-single + +DESCRIPTION="High performance PPTP/L2TP/SSTP/PPPoE/IPoE server" +HOMEPAGE="https://accel-ppp.org/" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/accel-ppp/accel-ppp.git" +else + SRC_URI="https://github.com/accel-ppp/accel-ppp/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="debug doc lua postgres radius shaper snmp valgrind" + +RDEPEND=" + dev-libs/libpcre2 + dev-libs/openssl:0= + lua? ( ${LUA_DEPS} ) + postgres? ( dev-db/postgresql:* ) + snmp? ( net-analyzer/net-snmp ) +" +DEPEND="${RDEPEND} + valgrind? ( dev-debug/valgrind )" +PDEPEND="net-dialup/ppp-scripts" + +DOCS=( README ) + +CONFIG_CHECK="~L2TP ~PPPOE ~PPTP" + +REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} ) + valgrind? ( debug )" + +pkg_setup() { + linux-mod-r1_pkg_setup + set_arch_to_kernel + use lua && lua-single_pkg_setup +} + +src_configure() { + append-ldflags -Wl,-z,lazy # Bug #549918 + local libdir="$(get_libdir)" + local mycmakeargs=( + -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc" + -DCMAKE_INSTALL_LOCALSTATEDIR="${EPREFIX}/var" + -DLIB_SUFFIX="${libdir#lib}" + # modules handled by linux-mod + -DBUILD_IPOE_DRIVER=no + -DBUILD_PPTP_DRIVER=no + -DBUILD_VLAN_MON_DRIVER=no + -DCRYPTO_LIBRARY=OPENSSL + -DLOG_PGSQL="$(usex postgres)" + -DLUA="$(usex lua TRUE FALSE)" + -DMEMDEBUG="$(usex debug)" + -DNETSNMP="$(usex snmp)" + -DRADIUS="$(usex radius)" + -DSHAPER="$(usex shaper)" + $(use debug && echo "-DVALGRIND=$(usex valgrind)") + ) + cmake_src_configure +} + +build_modules() { + local mod modlist + for mod in ipoe vlan_mon; do + # see bug #971394 + ln -s "${BUILD_DIR}"/version.h drivers/${mod} || die + local modlist+=( ${mod}=accel-ppp:drivers/${mod} ) + done + MODULES_MAKEARGS+=( + KDIR="${KV_OUT_DIR}" + ) + linux-mod-r1_src_compile +} + +src_compile() { + use ipoe && build_modules + cmake_src_compile + +} + +src_install() { + linux-mod-r1_src_install + cmake_src_install + + use doc && dodoc -r rfc + + if use snmp; then + insinto /usr/share/snmp/mibs + doins accel-pppd/extra/net-snmp/ACCEL-PPP-MIB.txt + fi + + mv "${ED}"/etc/accel-ppp.conf{.dist,} || die + + newinitd "${FILESDIR}"/${PN}.initd ${PN}d + newconfd "${FILESDIR}"/${PN}.confd ${PN}d + + keepdir /var/lib/accel-ppp + keepdir /var/log/accel-ppp +} diff --git a/net-dialup/accel-ppp/accel-ppp-1.14.0.ebuild b/net-dialup/accel-ppp/accel-ppp-1.14.0.ebuild new file mode 100644 index 000000000000..83bc16b7098b --- /dev/null +++ b/net-dialup/accel-ppp/accel-ppp-1.14.0.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +MODULES_OPTIONAL_IUSE="ipoe" +inherit cmake flag-o-matic linux-mod-r1 lua-single + +DESCRIPTION="High performance PPTP/L2TP/SSTP/PPPoE/IPoE server" +HOMEPAGE="https://accel-ppp.org/" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/accel-ppp/accel-ppp.git" +else + SRC_URI="https://github.com/accel-ppp/accel-ppp/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="debug doc libtomcrypt lua postgres radius shaper snmp valgrind" + +RDEPEND="!libtomcrypt? ( dev-libs/openssl:0= ) + libtomcrypt? ( dev-libs/libtomcrypt:0= ) + lua? ( ${LUA_DEPS} ) + postgres? ( dev-db/postgresql:* ) + snmp? ( net-analyzer/net-snmp ) + dev-libs/libpcre" +DEPEND="${RDEPEND} + valgrind? ( dev-debug/valgrind )" +PDEPEND="net-dialup/ppp-scripts" + +DOCS=( README ) + +CONFIG_CHECK="~L2TP ~PPPOE ~PPTP" + +REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} ) + valgrind? ( debug )" + +pkg_setup() { + linux-mod-r1_pkg_setup + set_arch_to_kernel + use lua && lua-single_pkg_setup +} + +src_prepare() { + sed -i -e "/mkdir/d" \ + -e "s: RENAME accel-ppp.conf.dist::" accel-pppd/CMakeLists.txt || die 'sed on accel-pppd/CMakeLists.txt failed' + + # Do not install kernel modules like that - breaks sandbox! + sed -i -e '/modules_install/d' \ + drivers/ipoe/CMakeLists.txt \ + drivers/vlan_mon/CMakeLists.txt || die + + append-ldflags -Wl,-z,lazy # Bug #549918 + + cmake_src_prepare +} + +src_configure() { + local libdir="$(get_libdir)" + local mycmakeargs=( + -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc" + -DCMAKE_INSTALL_LOCALSTATEDIR="${EPREFIX}/var" + -DLIB_SUFFIX="${libdir#lib}" + -DBUILD_IPOE_DRIVER="$(usex ipoe)" + -DBUILD_PPTP_DRIVER=no + -DBUILD_VLAN_MON_DRIVER="$(usex ipoe)" + -DCRYPTO="$(usex libtomcrypt TOMCRYPT OPENSSL)" + -DLOG_PGSQL="$(usex postgres)" + -DLUA="$(usex lua TRUE FALSE)" + -DMEMDEBUG="$(usex debug)" + -DNETSNMP="$(usex snmp)" + -DRADIUS="$(usex radius)" + -DSHAPER="$(usex shaper)" + $(use debug && echo "-DVALGRIND=$(usex valgrind)") + ) + cmake_src_configure +} + +src_compile() { + local modlist=( ipoe=accel-ppp:drivers/ipoe vlan_mon=accel-ppp:drivers/vlan_mon ) + MODULES_MAKEARGS+=( + KDIR="${KV_OUT_DIR}" + ) + linux-mod-r1_src_compile + cmake_src_compile +} + +src_install() { + linux-mod-r1_src_install + cmake_src_install + + use doc && dodoc -r rfc + + if use snmp; then + insinto /usr/share/snmp/mibs + doins accel-pppd/extra/net-snmp/ACCEL-PPP-MIB.txt + fi + + newinitd "${FILESDIR}"/${PN}.initd ${PN}d + newconfd "${FILESDIR}"/${PN}.confd ${PN}d + + keepdir /var/lib/accel-ppp + keepdir /var/log/accel-ppp +} diff --git a/net-dialup/accel-ppp/accel-ppp-9999.ebuild b/net-dialup/accel-ppp/accel-ppp-9999.ebuild new file mode 100644 index 000000000000..37a7dd5c9d40 --- /dev/null +++ b/net-dialup/accel-ppp/accel-ppp-9999.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) +MODULES_OPTIONAL_IUSE="ipoe" +inherit cmake flag-o-matic linux-mod-r1 lua-single + +DESCRIPTION="High performance PPTP/L2TP/SSTP/PPPoE/IPoE server" +HOMEPAGE="https://accel-ppp.org/" + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/accel-ppp/accel-ppp.git" +else + SRC_URI="https://github.com/accel-ppp/accel-ppp/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="debug doc lua postgres radius shaper snmp valgrind" + +RDEPEND=" + dev-libs/libpcre2 + dev-libs/openssl:0= + lua? ( ${LUA_DEPS} ) + postgres? ( dev-db/postgresql:* ) + snmp? ( net-analyzer/net-snmp ) +" +DEPEND="${RDEPEND} + valgrind? ( dev-debug/valgrind )" +PDEPEND="net-dialup/ppp-scripts" + +DOCS=( README ) + +CONFIG_CHECK="~L2TP ~PPPOE ~PPTP" + +REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} ) + valgrind? ( debug )" + +pkg_setup() { + linux-mod-r1_pkg_setup + set_arch_to_kernel + use lua && lua-single_pkg_setup +} + +src_configure() { + append-ldflags -Wl,-z,lazy # Bug #549918 + local libdir="$(get_libdir)" + local mycmakeargs=( + -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc" + -DCMAKE_INSTALL_LOCALSTATEDIR="${EPREFIX}/var" + -DLIB_SUFFIX="${libdir#lib}" + # modules handled by linux-mod + -DBUILD_IPOE_DRIVER=no + -DBUILD_PPTP_DRIVER=no + -DBUILD_VLAN_MON_DRIVER=no + -DCRYPTO_LIBRARY=OPENSSL + -DLOG_PGSQL="$(usex postgres)" + -DLUA="$(usex lua TRUE FALSE)" + -DMEMDEBUG="$(usex debug)" + -DNETSNMP="$(usex snmp)" + -DRADIUS="$(usex radius)" + -DSHAPER="$(usex shaper)" + $(use debug && echo "-DVALGRIND=$(usex valgrind)") + ) + cmake_src_configure +} + +build_modules() { + local mod modlist + for mod in ipoe vlan_mon; do + # see bug #971394 + ln -s "${BUILD_DIR}"/version.h drivers/${mod} || die + local modlist+=( ${mod}=accel-ppp:drivers/${mod} ) + done + MODULES_MAKEARGS+=( + KDIR="${KV_OUT_DIR}" + ) + linux-mod-r1_src_compile +} + +src_compile() { + use ipoe && build_modules + cmake_src_compile + +} + +src_install() { + linux-mod-r1_src_install + cmake_src_install + + use doc && dodoc -r rfc + + if use snmp; then + insinto /usr/share/snmp/mibs + doins accel-pppd/extra/net-snmp/ACCEL-PPP-MIB.txt + fi + + mv "${ED}"/etc/accel-ppp.conf{.dist,} || die + + newinitd "${FILESDIR}"/${PN}.initd ${PN}d + newconfd "${FILESDIR}"/${PN}.confd ${PN}d + + keepdir /var/lib/accel-ppp + keepdir /var/log/accel-ppp +} diff --git a/net-dialup/accel-ppp/files/accel-ppp-1.11.1-socklen.patch b/net-dialup/accel-ppp/files/accel-ppp-1.11.1-socklen.patch new file mode 100644 index 000000000000..79f76cae98a3 --- /dev/null +++ b/net-dialup/accel-ppp/files/accel-ppp-1.11.1-socklen.patch @@ -0,0 +1,18 @@ +commit 68008248259dfaa2fde91f8697db889971056bb3 +Author: lmwangi <lmwangi@gmail.com> +Date: Tue Jun 7 13:55:04 2016 +0300 + + fix build issue where socketlen is not found + +diff --git a/accel-pppd/logs/log_pgsql.c b/accel-pppd/logs/log_pgsql.c +index e4b5a9e..78fa72d 100644 +--- a/accel-pppd/logs/log_pgsql.c ++++ b/accel-pppd/logs/log_pgsql.c +@@ -1,6 +1,7 @@ + #include <stdio.h> + #include <stdlib.h> + #include <string.h> ++#include <sys/socket.h> + + #include <postgresql/libpq-fe.h> + diff --git a/net-dialup/accel-ppp/files/accel-ppp.confd b/net-dialup/accel-ppp/files/accel-ppp.confd new file mode 100644 index 000000000000..7a4d2d3712bd --- /dev/null +++ b/net-dialup/accel-ppp/files/accel-ppp.confd @@ -0,0 +1,17 @@ +# Config file for accel-pppd + +# Pid file +ACCEL_PPPD_PID="/run/accel-ppp/accel-pppd.pid" + +# Directory for radius attributes +RADATTR_DIR="/run/radattr" + +# Daemon options +ACCEL_PPPD_OPTS="-d -c /etc/accel-ppp.conf" + +# Set type of shutdown for accel-ppp daemon +# Default is 'hard' shutdown due to freezes +# when using upstream default('soft') with +# hundreds of sessions. +# Uncomment and set different mode if you wish +#SHUTDOWN_MODE="hard" diff --git a/net-dialup/accel-ppp/files/accel-ppp.initd b/net-dialup/accel-ppp/files/accel-ppp.initd new file mode 100644 index 000000000000..357ae424edc9 --- /dev/null +++ b/net-dialup/accel-ppp/files/accel-ppp.initd @@ -0,0 +1,44 @@ +#!/sbin/openrc-run +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later + +extra_started_commands="reload" + +depend() { + need net +} + +start_pre() { + # Create directory for PID file + checkpath -d -q "$(dirname ${ACCEL_PPPD_PID})" + # Create default directory for radius attributes + checkpath -d -q "${RADATTR_DIR}" +} + +start() { + ebegin "Starting accel-pppd" + start-stop-daemon --start --quiet --exec /usr/sbin/accel-pppd -- ${ACCEL_PPPD_OPTS} -p ${ACCEL_PPPD_PID} + eend $? +} + +stop() { + ebegin "Stopping accel-pppd" + accel-cmd shutdown ${SHUTDOWN_MODE:-hard} + [ $? -ne 0 ] && kill -9 $(pidof accel-pppd) + PID="$(cat ${ACCEL_PPPD_PID})" + while [ -n "${PID}" -a -d "/proc/${PID}" ]; do + sleep 1 + done + rm -f ${ACCEL_PPPD_PID} + eend 0 +} + +reload() { + if [ ! -f ${ACCEL_PPPD_PID} ]; then + eerror "accel-pppd isn't running" + return 1 + fi + ebegin "Reloading configuration" + start-stop-daemon --signal USR1 --pidfile ${ACCEL_PPPD_PID} + eend $? +} diff --git a/net-dialup/accel-ppp/metadata.xml b/net-dialup/accel-ppp/metadata.xml new file mode 100644 index 000000000000..80bea16c3f2f --- /dev/null +++ b/net-dialup/accel-ppp/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <use> + <flag name="ipoe">Build IPoE kernel module</flag> + <flag name="libtomcrypt">Support crypto algorithms through <pkg>dev-libs/libtomcrypt</pkg> instead of <pkg>dev-libs/openssl</pkg></flag> + <flag name="shaper">Support for traffic shaping</flag> + </use> + <upstream> + <changelog>https://github.com/accel-ppp/accel-ppp/blob/master/CHANGELOG.md</changelog> + <remote-id type="github">accel-ppp/accel-ppp</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/atinout/Manifest b/net-dialup/atinout/Manifest new file mode 100644 index 000000000000..71e1a00a7a5e --- /dev/null +++ b/net-dialup/atinout/Manifest @@ -0,0 +1 @@ +DIST atinout-0.9.1.tar.gz 24117 BLAKE2B b8d7f120d010d12f8acf620ddeb697c2e63d5b33711c2e717ba378f3a97fbc3ab8dafeceb2782779e33defc072923a2be21020e0826f9909f4707528baead926 SHA512 ae25b2c4f3e2a9b861a7fc7d8e469d0d9d7a230281266393ce8547abca7e2368a709db3293ca31c00d5599b1de12ae9c8cd2bc0beefce53fa30012b6a2d7764b diff --git a/net-dialup/atinout/atinout-0.9.1-r1.ebuild b/net-dialup/atinout/atinout-0.9.1-r1.ebuild new file mode 100644 index 000000000000..1d89db87056b --- /dev/null +++ b/net-dialup/atinout/atinout-0.9.1-r1.ebuild @@ -0,0 +1,25 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="AT commands as input are sent to modem and responses given as output" +HOMEPAGE="https://atinout.sourceforge.net/index.html" +SRC_URI="https://netix.dl.sourceforge.net/project/atinout/v0.9.1/${P}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +PATCHES=( + "${FILESDIR}"/0001-make-gcc-happy-by-adding-fallthrough-comment.patch + "${FILESDIR}"/0002-do-not-rely-on-CR-in-modem-output.patch + "${FILESDIR}"/0003-patch-makefile.patch +) + +src_compile() { + tc-export CC + emake +} diff --git a/net-dialup/atinout/files/0001-make-gcc-happy-by-adding-fallthrough-comment.patch b/net-dialup/atinout/files/0001-make-gcc-happy-by-adding-fallthrough-comment.patch new file mode 100644 index 000000000000..ce7800fe0b95 --- /dev/null +++ b/net-dialup/atinout/files/0001-make-gcc-happy-by-adding-fallthrough-comment.patch @@ -0,0 +1,25 @@ +From ca2e04f8b069d269172f0d55d3716a809537f696 Mon Sep 17 00:00:00 2001 +From: Beralt Meppelink <b.meppelink@riwo.eu> +Date: Fri, 27 Oct 2017 09:12:18 +0200 +Subject: [PATCH 1/2] make gcc happy by adding fallthrough comment + +--- + atinout.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/atinout.c b/atinout.c +index d04f300..924b5bc 100644 +--- a/atinout.c ++++ b/atinout.c +@@ -150,7 +150,7 @@ static bool is_final_result(const char * const response) + if (strcmp(&response[1], "K\r\n") == 0) { + return true; + } +- /* no break */ ++ // fallthrough + default: + return false; + } +-- +2.23.0 + diff --git a/net-dialup/atinout/files/0002-do-not-rely-on-CR-in-modem-output.patch b/net-dialup/atinout/files/0002-do-not-rely-on-CR-in-modem-output.patch new file mode 100644 index 000000000000..593dc853812d --- /dev/null +++ b/net-dialup/atinout/files/0002-do-not-rely-on-CR-in-modem-output.patch @@ -0,0 +1,84 @@ +From 65dae46181119867cd8e93ca5b33d3b0cf3df08c Mon Sep 17 00:00:00 2001 +From: Beralt Meppelink <b.meppelink@riwo.eu> +Date: Fri, 27 Oct 2017 10:42:50 +0200 +Subject: [PATCH 2/2] do not rely on CR in modem output + +--- + atinout.c | 24 +++++++++++------------- + 1 file changed, 11 insertions(+), 13 deletions(-) + +diff --git a/atinout.c b/atinout.c +index 924b5bc..4cd7689 100644 +--- a/atinout.c ++++ b/atinout.c +@@ -34,7 +34,6 @@ + + #define MAX_LINE_LENGTH (4 * 1024) + static char buf[MAX_LINE_LENGTH]; +-static char buf2[MAX_LINE_LENGTH]; + + static struct option long_options[] = { + {"help", no_argument, NULL, 'h'}, +@@ -125,36 +124,36 @@ static bool is_final_result(const char * const response) + } + return false; + case 'B': +- if (strcmp(&response[1], "USY\r\n") == 0) { ++ if (strcmp(&response[1], "USY\n") == 0) { + return true; +- } ++ } ++ + return false; + + case 'E': +- if (strcmp(&response[1], "RROR\r\n") == 0) { ++ if (strcmp(&response[1], "RROR\n") == 0) { + return true; + } + return false; + case 'N': +- if (strcmp(&response[1], "O ANSWER\r\n") == 0) { ++ if (strcmp(&response[1], "O ANSWER\n") == 0) { + return true; + } +- if (strcmp(&response[1], "O CARRIER\r\n") == 0) { ++ if (strcmp(&response[1], "O CARRIER\n") == 0) { + return true; + } +- if (strcmp(&response[1], "O DIALTONE\r\n") == 0) { ++ if (strcmp(&response[1], "O DIALTONE\n") == 0) { + return true; + } + return false; + case 'O': +- if (strcmp(&response[1], "K\r\n") == 0) { ++ if (strcmp(&response[1], "K\n") == 0) { + return true; + } + // fallthrough + default: + return false; + } +- + } + + int main(int argc, char *argv[]) +@@ -248,11 +247,10 @@ int main(int argc, char *argv[]) + fprintf(stderr, "EOF from modem\n"); + return EXIT_FAILURE; + } +- strcpy(buf2, line); +- strip_cr(buf2); +- res = fputs(buf2, output); ++ strip_cr(line); ++ res = fputs(line, output); + if (res < 0) { +- fprintf(stderr, "failed to write '%s' to output file (res = %d)\n", buf2, res); ++ fprintf(stderr, "failed to write '%s' to output file (res = %d)\n", line, res); + return EXIT_FAILURE; + } + } while (! is_final_result(line)); +-- +2.23.0 + diff --git a/net-dialup/atinout/files/0003-patch-makefile.patch b/net-dialup/atinout/files/0003-patch-makefile.patch new file mode 100644 index 000000000000..871a61efe86d --- /dev/null +++ b/net-dialup/atinout/files/0003-patch-makefile.patch @@ -0,0 +1,40 @@ +From 404fb66abd5db4ef4b824ec67c56887773c99962 Mon Sep 17 00:00:00 2001 +From: Marco Scardovi <marco@scardovi.com> +Date: Sun, 27 Jun 2021 18:21:15 +0200 +Subject: [PATCH] patch makefile + +Signed-off-by: Marco Scardovi <marco@scardovi.com> +--- + Makefile | 12 +++++------- + 1 file changed, 5 insertions(+), 7 deletions(-) + +diff --git a/Makefile b/Makefile +index 1daa431..bb27d0b 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,17 +1,15 @@ + VERSION = 0.9.1 + +-PREFIX = /usr ++PREFIX ?= /usr + +-CC = gcc +-CFLAGS = -W -Wall -Wextra -Werror \ +- -DVERSION=\"$(VERSION)\" \ +- -g +-LDFLAGS = ++CC ?= gcc ++CFLAGS ?= -W -Wall -Wextra -Werror -g ++LDFLAGS ?= + + all: atinout + + atinout: atinout.c +- $(CC) -o $@ $(CFLAGS) $(LDFLAGS) $^ ++ $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -DVERSION=\"$(VERSION)\" $(LDFLAGS) $^ + + clean: + rm -f atinout +-- +2.32.0 + diff --git a/net-dialup/atinout/metadata.xml b/net-dialup/atinout/metadata.xml new file mode 100644 index 000000000000..21afb5edd70a --- /dev/null +++ b/net-dialup/atinout/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <upstream> + <remote-id type="sourceforge">atinout</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/cutecom/Manifest b/net-dialup/cutecom/Manifest new file mode 100644 index 000000000000..84390342677e --- /dev/null +++ b/net-dialup/cutecom/Manifest @@ -0,0 +1 @@ +DIST cutecom-v0.60.0-RC1.tar.bz2 1291319 BLAKE2B 8d73a51916d8d3f103ba6215d0bf2865337aa82f95d12be512001abd845cac08f9c9b6fb9022574aff42fef958c90676ae0828d1597879c798bd1ffe4bec68ba SHA512 92a210ab846f452287693add8db52833fd83814f59a2be8de304278dbc711b2a5dc0fdaadf877a588ad023849370151788d1ea678ba777fe0a4a600429669151 diff --git a/net-dialup/cutecom/cutecom-0.60.0_rc1-r1.ebuild b/net-dialup/cutecom/cutecom-0.60.0_rc1-r1.ebuild new file mode 100644 index 000000000000..da2e9afe8dfa --- /dev/null +++ b/net-dialup/cutecom/cutecom-0.60.0_rc1-r1.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake desktop xdg + +MY_PV=${PV/_rc/-RC} + +DESCRIPTION="Serial terminal, like minicom, written in Qt" +HOMEPAGE="https://gitlab.com/cutecom/cutecom" +SRC_URI="https://gitlab.com/cutecom/cutecom/-/archive/v${MY_PV}/cutecom-v${MY_PV}.tar.bz2" +S="${WORKDIR}/cutecom-v${MY_PV}" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" + +DEPEND=" + dev-qt/qtbase:6[gui,network,widgets] + dev-qt/qtserialport:6" +RDEPEND="${DEPEND} + net-dialup/lrzsz" + +src_install() { + cmake_src_install + doicon "distribution/${PN}.png" +} diff --git a/net-dialup/cutecom/metadata.xml b/net-dialup/cutecom/metadata.xml new file mode 100644 index 000000000000..4d60d1402818 --- /dev/null +++ b/net-dialup/cutecom/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>bkohler@gentoo.org</email> + <name>Ben Kohler</name> + </maintainer> + <longdescription>CuteCom is a graphical serial terminal, like minicom. It is aimed mainly at hardware developers or other people who need a terminal to talk to their devices.</longdescription> + <upstream> + <remote-id type="gitlab">cutecom/cutecom</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/dial/Manifest b/net-dialup/dial/Manifest new file mode 100644 index 000000000000..ae16ac673f0d --- /dev/null +++ b/net-dialup/dial/Manifest @@ -0,0 +1 @@ +DIST dial-1.2.tar.gz 48400 BLAKE2B fc51e04d73e0ab1d1d4921f3707ba7827f0a2ec1aad39a835d364d1bada7cb2032ef9a025c7e717545a55801fb8e957e6fd02fe1650d9325c3d9377cd465d9c8 SHA512 de24bc0c23c2e0daf305b7808a203dde97811d96c034b9a326dea3aec1a97538475a1ef56f4b4efba762c866d294e0e29dcbc16aa3779d5e74cab1aea8131957 diff --git a/net-dialup/dial/dial-1.2-r2.ebuild b/net-dialup/dial/dial-1.2-r2.ebuild new file mode 100644 index 000000000000..9ff829f99715 --- /dev/null +++ b/net-dialup/dial/dial-1.2-r2.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="A simple client for DWUN" +HOMEPAGE="http://dwun.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/dwun/${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 x86" + +RDEPEND="net-dialup/dwun" + +PATCHES=( + "${FILESDIR}"/${P}-gcc3.3.patch + "${FILESDIR}"/${P}-rename-configure.ac.patch +) + +src_prepare() { + default + + eautoreconf +} diff --git a/net-dialup/dial/files/dial-1.2-gcc3.3.patch b/net-dialup/dial/files/dial-1.2-gcc3.3.patch new file mode 100644 index 000000000000..18cacbf4916e --- /dev/null +++ b/net-dialup/dial/files/dial-1.2-gcc3.3.patch @@ -0,0 +1,13 @@ +diff -ur dial-1.2.orig/src/dial.c dial-1.2/src/dial.c +--- dial-1.2.orig/src/dial.c 2003-11-28 13:24:13.000000000 +1300 ++++ dial-1.2/src/dial.c 2003-11-28 13:25:12.000000000 +1300 +@@ -162,8 +162,7 @@ + snprintf(rcfile, MAXPATHLEN, "%s/.dialrc", home); + #else + if (strlen(home) + strlen("/.dialrc") + 1 > MAXPATHLEN) { +- fprintf(stderr, "$HOME environment variable too +- long\n"); ++ fprintf(stderr, "$HOME environment variable too long\n"); + return 1; + } + sprintf(rcfile, "%s/.dialrc", home); diff --git a/net-dialup/dial/files/dial-1.2-rename-configure.ac.patch b/net-dialup/dial/files/dial-1.2-rename-configure.ac.patch new file mode 100644 index 000000000000..e4436427e529 --- /dev/null +++ b/net-dialup/dial/files/dial-1.2-rename-configure.ac.patch @@ -0,0 +1,12 @@ +--- a/configure.in ++++ b/configure.in +@@ -1,5 +1,5 @@ + dnl Process this file with autoconf to produce a configure script. +-AC_INIT(configure.in) ++AC_INIT(configure.ac) + AM_INIT_AUTOMAKE(dial, 1.2) + AM_CONFIG_HEADER(config.h) + +-- +2.37.3 + diff --git a/net-dialup/dial/metadata.xml b/net-dialup/dial/metadata.xml new file mode 100644 index 000000000000..71d315101d66 --- /dev/null +++ b/net-dialup/dial/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <upstream> + <remote-id type="sourceforge">dwun</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/dwun/Manifest b/net-dialup/dwun/Manifest new file mode 100644 index 000000000000..51dd3c6f0a64 --- /dev/null +++ b/net-dialup/dwun/Manifest @@ -0,0 +1 @@ +DIST dwun-0.96e.tar.gz 147960 BLAKE2B 2f1a414d629ff7d0c4f35c37b803819f141385225f151b8d6cb2ef0ad53aaa22067d974f085c5d239bb42c0faa1e8330a7ca1dba83a6c78cd24f802d78223663 SHA512 6763acd60192f18ffd81edd4f4e18ccfb8c5ac3882db96f9b7d2d032e9a0c61cb843094222744525a9927981c8cc7a603fd0aa1e1d4309d3f7fab21fec028115 diff --git a/net-dialup/dwun/dwun-0.96e-r6.ebuild b/net-dialup/dwun/dwun-0.96e-r6.ebuild new file mode 100644 index 000000000000..2acd33a674c2 --- /dev/null +++ b/net-dialup/dwun/dwun-0.96e-r6.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools toolchain-funcs + +DESCRIPTION="Dialer Without a Useful Name (DWUN)" +HOMEPAGE="http://dwun.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +LICENSE="MIT GPL-2" # GPL-2 only for init script +SLOT="0" +KEYWORDS="~amd64 x86" + +RDEPEND="virtual/libcrypt:=" +DEPEND="${RDEPEND}" + +DOCS=( AUTHORS ChangeLog QUICKSTART README TODO UPGRADING ) + +PATCHES=( + "${FILESDIR}"/${P}-fno-common.patch + "${FILESDIR}"/${P}-rename-configure.patch + "${FILESDIR}"/${P}-implicit-function-declarations.patch + "${FILESDIR}"/${P}-respect-AR.patch +) + +src_prepare() { + default + + sed -i -e "s:TODO QUICKSTART README UPGRADING ChangeLog COPYING AUTHORS::" Makefile.in || die + + eautoreconf +} + +src_configure() { + tc-export CC + + econf --with-docdir="share/doc/${PF}" +} + +src_install() { + default + + insinto /etc + newins doc/examples/complete-rcfile dwunrc + newins debian/dwunauth dwunauth + newinitd "${FILESDIR}/dwun" dwun +} + +pkg_postinst() { + elog + elog 'Make sure you have "net-dialup/ppp" merged if you intend to use dwun' + elog "to control a standard PPP network link." + elog "See /usr/share/doc/${P}/QUICKSTART for instructions on" + elog "configuring dwun." + elog +} diff --git a/net-dialup/dwun/files/dwun b/net-dialup/dwun/files/dwun new file mode 100644 index 000000000000..8584844fa1fb --- /dev/null +++ b/net-dialup/dwun/files/dwun @@ -0,0 +1,22 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +DAEMON=/usr/sbin/dwun +PIDFILE="/run/${SVCNAME}.pid" + +start() { + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --pidfile ${PIDFILE} --startas ${DAEMON} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --signal 1 --pidfile ${PIDFILE} + eend $? +} diff --git a/net-dialup/dwun/files/dwun-0.96e-fno-common.patch b/net-dialup/dwun/files/dwun-0.96e-fno-common.patch new file mode 100644 index 000000000000..c84c027e42d5 --- /dev/null +++ b/net-dialup/dwun/files/dwun-0.96e-fno-common.patch @@ -0,0 +1,41 @@ +--- a/src/main.c ++++ b/src/main.c +@@ -37,11 +37,11 @@ + /* extern'ed in main.h */ + struct settings set; + char *error_messages; ++enum MYLOG_OPTIONS MYLOG_OPTIONS = MYLOG_STDERR; + + int main(int argc, char *argv[]) + { + char orig_work_dir[MAXPATHLEN]; +- MYLOG_OPTIONS = MYLOG_STDERR; + umask(022); /* -rw-r--r- */ + + if (!(error_messages = xmalloc(MAX_LOG_LENGTH))) +--- a/src/shared.h ++++ b/src/shared.h +@@ -56,10 +56,11 @@ + char *external; /* named pipe (optional) */ + }; + +-enum { ++enum MYLOG_OPTIONS { + MYLOG_STDERR, + MYLOG_STDERR_DATEPID, + MYLOG_SYSLOG +-} MYLOG_OPTIONS; ++}; ++extern enum MYLOG_OPTIONS MYLOG_OPTIONS; + + #endif +--- a/src/util.c ++++ b/src/util.c +@@ -26,6 +26,7 @@ + #include "util.h" + #include "child.h" + #include "main.h" ++#include "shared.h" + + static bool create_file(char *file, int options); + static void print_date_pid(void); diff --git a/net-dialup/dwun/files/dwun-0.96e-implicit-function-declarations.patch b/net-dialup/dwun/files/dwun-0.96e-implicit-function-declarations.patch new file mode 100644 index 000000000000..11248396f145 --- /dev/null +++ b/net-dialup/dwun/files/dwun-0.96e-implicit-function-declarations.patch @@ -0,0 +1,14 @@ +Needed for asprintf. + +https://bugs.gentoo.org/870676 +--- a/configure.in ++++ b/configure.in +@@ -8,6 +8,8 @@ AC_PROG_CC + AC_PROG_RANLIB + AC_PROG_INSTALL + ++AC_USE_SYSTEM_EXTENSIONS ++ + dnl Checks for libraries. + AC_CHECK_LIB(crypt, crypt) + AC_CHECK_LIB(nsl, gethostbyname) diff --git a/net-dialup/dwun/files/dwun-0.96e-rename-configure.patch b/net-dialup/dwun/files/dwun-0.96e-rename-configure.patch new file mode 100644 index 000000000000..9a0a843d6efa --- /dev/null +++ b/net-dialup/dwun/files/dwun-0.96e-rename-configure.patch @@ -0,0 +1,9 @@ +--- a/configure.in ++++ b/configure.in +@@ -1,5 +1,5 @@ + dnl Process this file with autoconf to produce a configure script. +-AC_INIT(configure.in) ++AC_INIT(configure.ac) + AM_INIT_AUTOMAKE(dwun, 0.96e) + AM_CONFIG_HEADER(config.h) + diff --git a/net-dialup/dwun/files/dwun-0.96e-respect-AR.patch b/net-dialup/dwun/files/dwun-0.96e-respect-AR.patch new file mode 100644 index 000000000000..b0b3a707e858 --- /dev/null +++ b/net-dialup/dwun/files/dwun-0.96e-respect-AR.patch @@ -0,0 +1,11 @@ +https://bugs.gentoo.org/724968 +--- a/configure.in ++++ b/configure.in +@@ -7,6 +7,7 @@ dnl Checks for programs. + AC_PROG_CC + AC_PROG_RANLIB + AC_PROG_INSTALL ++AM_PROG_AR + + AC_USE_SYSTEM_EXTENSIONS + diff --git a/net-dialup/dwun/metadata.xml b/net-dialup/dwun/metadata.xml new file mode 100644 index 000000000000..71d315101d66 --- /dev/null +++ b/net-dialup/dwun/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <upstream> + <remote-id type="sourceforge">dwun</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/freeradius-client/Manifest b/net-dialup/freeradius-client/Manifest new file mode 100644 index 000000000000..823dfeba0735 --- /dev/null +++ b/net-dialup/freeradius-client/Manifest @@ -0,0 +1 @@ +DIST freeradius-client-1.1.8.tar.gz 439294 BLAKE2B 2b0d26dbe8b341ddaa683109fb9f3cb5f8a016ea76d2b85e8c89fcd54d9595ab49602da6c5cdfe95e89dab9264c1eb898670042abf806edfe398a179d4ce3065 SHA512 b79511f11a66f4288735e02dab2e7f8ecb1f5e8b2ee66e3e8e207a9f900572c64db6c1e1ad9ab7c7255d412549c88ba77f229687fc6d9ec9ac1b1d0807682525 diff --git a/net-dialup/freeradius-client/files/freeradius-client-1.1.7-ar-configure.in.patch b/net-dialup/freeradius-client/files/freeradius-client-1.1.7-ar-configure.in.patch new file mode 100644 index 000000000000..07d477bcc901 --- /dev/null +++ b/net-dialup/freeradius-client/files/freeradius-client-1.1.7-ar-configure.in.patch @@ -0,0 +1,10 @@ +--- a/configure.in 2020-07-08 19:20:38.180447370 +0200 ++++ b/configure.in 2020-07-08 19:21:00.840479965 +0200 +@@ -33,6 +33,6 @@ + + dnl Needed for normal compile +-AC_PATH_PROG(AR, ar) ++AM_PROG_AR + AM_PROG_LIBTOOL + + dnl HAVE_SHADOW_PASSWORDS diff --git a/net-dialup/freeradius-client/files/freeradius-client-1.1.7-configure-clang16.patch b/net-dialup/freeradius-client/files/freeradius-client-1.1.7-configure-clang16.patch new file mode 100644 index 000000000000..58cf78c6ff23 --- /dev/null +++ b/net-dialup/freeradius-client/files/freeradius-client-1.1.7-configure-clang16.patch @@ -0,0 +1,17 @@ +https://src.fedoraproject.org/rpms/freeradius-client/c/12ee8b567ce2a1b6637ad01e5806a15eeef410cc?branch=rawhide + +Add return type to main for autoconf check for C99 compliance. +https://github.com/FreeRADIUS/freeradius-client/issues/113 + +--- a/configure.in ++++ b/configure.in +@@ -212,7 +212,7 @@ then + AC_TRY_RUN([ + #include <sys/utsname.h> + +- main(int argc, char **argv) ++ int main(int argc, char **argv) + { + struct utsname uts; + uts.domainname[0] = '\0'; + diff --git a/net-dialup/freeradius-client/freeradius-client-1.1.8.ebuild b/net-dialup/freeradius-client/freeradius-client-1.1.8.ebuild new file mode 100644 index 000000000000..4f6aac1be907 --- /dev/null +++ b/net-dialup/freeradius-client/freeradius-client-1.1.8.ebuild @@ -0,0 +1,62 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic + +DESCRIPTION="FreeRADIUS Client framework" +HOMEPAGE="https://wiki.freeradius.org/project/Radiusclient" +SRC_URI="https://github.com/FreeRADIUS/freeradius-client/archive/refs/tags/release_${PV//[.]/_}.tar.gz -> ${PF}.tar.gz" + +S="${WORKDIR}/${PN}-release_${PV//[.]/_}" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86" +IUSE="shadow static-libs" + +DEPEND=" + !net-dialup/radiusclient-ng + virtual/libcrypt:= +" +RDEPEND="${DEPEND}" + +DOCS=( + BUGS doc/{ChangeLog,login.example,release-method.txt,instop.html} + README.{radexample,rst} +) + +PATCHES=( + "${FILESDIR}/${PN}-1.1.7-ar-configure.in.patch" + "${FILESDIR}/${PN}-1.1.7-configure-clang16.patch" +) + +src_prepare() { + default + mv configure.in configure.ac || die \ + "Renaming configure.in to configure.ac failed" + + eautoreconf +} + +src_configure() { + # -Werror=lto-type-mismatch + # https://bugs.gentoo.org/927175 + # https://github.com/FreeRADIUS/freeradius-client/issues/128 + filter-lto + + local myeconfargs=( + $(use_enable shadow) + --with-secure-path + ) + econf "${myeconfargs[@]}" +} + +src_install() { + default + newdoc doc/README README.login.example + + use static-libs || \ + find "${ED}" \( -name '*.a' -o name '*.la' \) -delete +} diff --git a/net-dialup/freeradius-client/metadata.xml b/net-dialup/freeradius-client/metadata.xml new file mode 100644 index 000000000000..b4d9a8614775 --- /dev/null +++ b/net-dialup/freeradius-client/metadata.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person" proxied="yes"> + <email>alarig@swordarmor.fr</email> + <name>Alarig Le Lay</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription> + FreeRADIUS Client is a framework and library for writing RADIUS Clients + which additionally includes radlogin, a flexible RADIUS aware login + replacement, a command line program to send RADIUS accounting records, a + utility allowing to send RADIUS AAA requests from command line or from + shell scripts and a utility to query the status of a (Merit) RADIUS + server. + </longdescription> + <upstream> + <remote-id type="github">FreeRADIUS/freeradius-client</remote-id> + </upstream> + <use> + <flag name="shadow">Enable shadow password support</flag> + </use> +</pkgmetadata> diff --git a/net-dialup/freeradius/Manifest b/net-dialup/freeradius/Manifest new file mode 100644 index 000000000000..68b5c2da2a13 --- /dev/null +++ b/net-dialup/freeradius/Manifest @@ -0,0 +1,2 @@ +DIST freeradius-server-3.2.7.tar.bz2 3517595 BLAKE2B cd523fbc01e82d87f0944926612223ee2acafc008f0f50447c35263b5dcdd36c8f00c54dde1102a3987b45a7e67426c99a7aee692cf59983c80ead111a2188dd SHA512 c4a13471844ab4ce041db1567e2827370433725beadfbf425d2522b0bf9a4def8ebd41d3c4f45ad350dacdf86bc5bf3952d519d84672c7dde25a12005a009ae5 +DIST freeradius-server-3.2.8.tar.bz2 3671952 BLAKE2B 6266c00c68cbb02de65f88d976453fdcdda552d7554199030640f9bcd60f208afaf75aaac8fbf0a2eea0022eb23ad7b809cb910d48618261ea9f52100732c469 SHA512 31db199c3847bfdb80b726e16cece0d660bd741fae0fca8ba96aaaee30972c657438c4e1fdaa7ef070f84d8b7889a8da8db1defc542b0c0e18f247156f17e0ae diff --git a/net-dialup/freeradius/files/cb.patch b/net-dialup/freeradius/files/cb.patch new file mode 100644 index 000000000000..81517944867c --- /dev/null +++ b/net-dialup/freeradius/files/cb.patch @@ -0,0 +1,21 @@ +Index: src/main/cb.c +--- src/main/cb.c.orig ++++ src/main/cb.c +@@ -64,7 +64,7 @@ void cbtls_info(SSL const *s, int where, int ret) + /* + * After a ClientHello, list all the proposed ciphers from the client + */ +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) + if (SSL_get_state(s) == TLS_ST_SR_CLNT_HELLO) { + int i; + int num_ciphers; +@@ -192,7 +192,7 @@ void cbtls_msg(int write_p, int msg_version, int conte + state->info.alert_level = 0x00; + state->info.alert_description = 0x00; + +-#if OPENSSL_VERSION_NUMBER >= 0x10101000L ++#if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER) + } else if (content_type == SSL3_RT_INNER_CONTENT_TYPE && buf[0] == SSL3_RT_APPLICATION_DATA) { + /* let tls_ack_handler set application_data */ + state->info.content_type = SSL3_RT_HANDSHAKE; diff --git a/net-dialup/freeradius/files/freeradius-3.2.1-tls.patch b/net-dialup/freeradius/files/freeradius-3.2.1-tls.patch new file mode 100644 index 000000000000..27bed5e956e6 --- /dev/null +++ b/net-dialup/freeradius/files/freeradius-3.2.1-tls.patch @@ -0,0 +1,91 @@ +Index: src/main/tls.c +--- src/main/tls.c.orig ++++ src/main/tls.c +@@ -688,7 +688,7 @@ tls_session_t *tls_new_session(TALLOC_CTX *ctx, fr_tls + /* + * Swap empty store with the old one. + */ +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L + conf->old_x509_store = SSL_CTX_get_cert_store(conf->ctx); + /* Bump refcnt so the store is kept allocated till next store replacement */ + X509_STORE_up_ref(conf->old_x509_store); +@@ -1427,7 +1427,7 @@ void tls_session_information(tls_session_t *tls_sessio + if ((SSL_version(tls_session->ssl) > tls_session->conf->max_version) && + (rad_debug_lvl > 0)) { + WARN("TLS 1.3 has been negotiated even though it was disabled. This is an OpenSSL Bug."); +- WARN("Please set: cipher_list = \"DEFAULT@SECLEVEL=1\" in the tls {...} section."); ++ WARN("Setting cipher_list in the tls {...} section might help."); + } + #endif + break; +@@ -2034,7 +2034,7 @@ done: + return 0; + } + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + static SSL_SESSION *cbtls_get_session(SSL *ssl, unsigned char *data, int len, int *copy) + #else + static SSL_SESSION *cbtls_get_session(SSL *ssl, const unsigned char *data, int len, int *copy) +@@ -2418,7 +2418,7 @@ static int cbtls_cache_refresh(SSL *ssl, SSL_SESSION * + return 0; + } + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + static SSL_SESSION *cbtls_cache_load(SSL *ssl, unsigned char *data, int len, int *copy) + #else + static SSL_SESSION *cbtls_cache_load(SSL *ssl, const unsigned char *data, int len, int *copy) +@@ -2954,7 +2954,7 @@ int cbtls_verify(int ok, X509_STORE_CTX *ctx) + char cn_str[1024]; + char buf[64]; + X509 *client_cert; +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L + const STACK_OF(X509_EXTENSION) *ext_list; + #else + STACK_OF(X509_EXTENSION) *ext_list; +@@ -3182,7 +3182,7 @@ int cbtls_verify(int ok, X509_STORE_CTX *ctx) + } + + if (lookup == 0) { +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L + ext_list = X509_get0_extensions(client_cert); + #else + X509_CINF *client_inf; +@@ -3235,7 +3235,7 @@ int cbtls_verify(int ok, X509_STORE_CTX *ctx) + value[0] = '0'; + value[1] = 'x'; + const unsigned char *srcp; +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L + const ASN1_STRING *srcasn1p; + srcasn1p = X509_EXTENSION_get_data(ext); + srcp = ASN1_STRING_get0_data(srcasn1p); +@@ -4253,7 +4253,7 @@ post_ca: + } + } + +-#if OPENSSL_VERSION_NUMBER >= 0x10101000L ++#if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER) /* SSL_CTX_set1_sigalgs_list */ + if (conf->sigalgs_list) { + char *list; + +@@ -4272,6 +4272,7 @@ post_ca: + * Because saying "use TLS 1.1" isn't enough. We have to + * send it flowers and cake. + */ ++#ifndef LIBRESSL_VERSION_NUMBER /* No support for DEFAULT@SECLEVEL=n */ + if (min_version <= TLS1_1_VERSION) { + #if OPENSSL_VERSION_NUMBER >= 0x10101000L + int seclevel = SSL_CTX_get_security_level(ctx); +@@ -4297,6 +4298,7 @@ post_ca: + } + #endif + } ++#endif + + #if OPENSSL_VERSION_NUMBER >= 0x10100000L + if (conf->disable_tlsv1) { diff --git a/net-dialup/freeradius/files/mppe_keys_c.patch b/net-dialup/freeradius/files/mppe_keys_c.patch new file mode 100644 index 000000000000..47ceb3488081 --- /dev/null +++ b/net-dialup/freeradius/files/mppe_keys_c.patch @@ -0,0 +1,12 @@ +diff -urN freeradius-server-3.2.4.orig/src/modules/rlm_eap/libeap/mppe_keys.c freeradius-server-3.2.4/src/modules/rlm_eap/libeap/mppe_keys.c +--- freeradius-server-3.2.4.orig/src/modules/rlm_eap/libeap/mppe_keys.c 2024-05-31 20:14:54.237017045 +0200 ++++ freeradius-server-3.2.4/src/modules/rlm_eap/libeap/mppe_keys.c 2024-05-31 20:17:14.077027116 +0200 +@@ -34,7 +34,7 @@ + #include <openssl/provider.h> + #endif + +-#if OPENSSL_VERSION_NUMBER >= 0x10101000L ++#if OPENSSL_VERSION_NUMBER >= 0x10101000L && !defined(LIBRESSL_VERSION_NUMBER) + #include <openssl/kdf.h> + + void TLS_PRF(SSL *ssl, diff --git a/net-dialup/freeradius/files/patch-src_main_cb_c b/net-dialup/freeradius/files/patch-src_main_cb_c new file mode 100644 index 000000000000..2ee57c03c29c --- /dev/null +++ b/net-dialup/freeradius/files/patch-src_main_cb_c @@ -0,0 +1,12 @@ +Index: src/main/cb.c +--- src/main/cb.c.orig ++++ src/main/cb.c +@@ -122,7 +122,7 @@ void cbtls_info(SSL const *s, int where, int ret) + return; + } + RERROR("(TLS) %s - %s: Error in %s", conf->name, role, state); +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L ++#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) + if (RDEBUG_ENABLED3 && (SSL_get_state(s) == TLS_ST_SR_CLNT_HELLO)) goto report_ciphers; + #endif + } diff --git a/net-dialup/freeradius/files/radius.conf-r4 b/net-dialup/freeradius/files/radius.conf-r4 new file mode 100644 index 000000000000..a5760d29f7b9 --- /dev/null +++ b/net-dialup/freeradius/files/radius.conf-r4 @@ -0,0 +1,16 @@ +# Config file for /etc/init.d/radiusd + +# see man pages for radiusd run `radiusd -h` +# for valid cmdline options +#RADIUSD_OPTS="" + +# Change this value if you change it in /etc/raddb/radiusd.conf +pidfile=/var/run/radiusd/radiusd.pid + +# Change these values if you change them in /etc/raddb/radiusd.conf +RADIUSD_USER=radius +RADIUSD_GROUP=radius + +# If you set up logging to syslog in /etc/raddb/radiusd.conf, you want +# to uncomment the following line. +#rc_use="logger" diff --git a/net-dialup/freeradius/files/radius.conf-r5 b/net-dialup/freeradius/files/radius.conf-r5 new file mode 100644 index 000000000000..7114c32ef923 --- /dev/null +++ b/net-dialup/freeradius/files/radius.conf-r5 @@ -0,0 +1,18 @@ +# Config file for /etc/init.d/radiusd + +# see man pages for radiusd run `radiusd -h` +# for valid cmdline options +#RADIUSD_OPTS="" + +# Change this value if you change it in /etc/raddb/radiusd.conf +pidfile=/var/run/radiusd/radiusd.pid + +# Change these values if you change them in /etc/raddb/radiusd.conf +RADIUSD_USER=radius +RADIUSD_GROUP=radius + +RADIUSD_LOGPATH=/var/log/radius + +# If you set up logging to syslog in /etc/raddb/radiusd.conf, you want +# to uncomment the following line. +#rc_use="logger" diff --git a/net-dialup/freeradius/files/radius.conf-r6 b/net-dialup/freeradius/files/radius.conf-r6 new file mode 100644 index 000000000000..50d2a1ce1f14 --- /dev/null +++ b/net-dialup/freeradius/files/radius.conf-r6 @@ -0,0 +1,22 @@ +# Config file for /etc/init.d/radiusd + +# see man pages for radiusd run `radiusd -h` +# for valid cmdline options +#RADIUSD_OPTS="" + +# Change this value if you change it in /etc/raddb/radiusd.conf +pidfile=/run/radiusd/radiusd.pid + +# Change these values if you change them in /etc/raddb/radiusd.conf +RADIUSD_USER=radius +RADIUSD_GROUP=radius + +RADIUSD_LOGPATH=/var/log/radius + +# If you set up logging to syslog in /etc/raddb/radiusd.conf, you want +# to uncomment the following line. +#rc_use="logger" + +# If you use ldap, start the ldap server prior to FreeRADIUS to avoid +# startup crashes. +#rc_use="ldap" diff --git a/net-dialup/freeradius/files/radius.init-r3 b/net-dialup/freeradius/files/radius.init-r3 new file mode 100644 index 000000000000..b4d7c380aeba --- /dev/null +++ b/net-dialup/freeradius/files/radius.init-r3 @@ -0,0 +1,31 @@ +#!/sbin/openrc-run +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +command=/usr/sbin/radiusd +command_args="${RADIUSD_OPTS}" +pidfile="${pidfile:-/run/radiusd/radiusd.pid}" +extra_started_commands="reload" + +depend() { + need localmount + use dns +} + +start_pre() { + if [ ! -f /etc/raddb/radiusd.conf ] ; then + eerror "No /etc/raddb/radiusd.conf file exists!" + return 1 + fi + + checkpath -m0750 -o "${RADIUSD_USER:-root}:${RADIUSD_GROUP:-root}" -d \ + $(dirname ${pidfile}) /var/log/radius + checkpath -m0750 -o "${RADIUSD_USER:-root}:${RADIUSD_GROUP:-root}" -d \ + $(dirname ${pidfile}) /run/radiusd +} + +reload() { + ebegin "Reloading radiusd" + kill -HUP $(cat ${pidfile}) + eend $? +} diff --git a/net-dialup/freeradius/files/radius.init-r4 b/net-dialup/freeradius/files/radius.init-r4 new file mode 100644 index 000000000000..dee1842e5cbf --- /dev/null +++ b/net-dialup/freeradius/files/radius.init-r4 @@ -0,0 +1,31 @@ +#!/sbin/openrc-run +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +command=/usr/sbin/radiusd +command_args="${RADIUSD_OPTS}" +pidfile="${pidfile:-/run/radiusd/radiusd.pid}" +extra_started_commands="reload" + +depend() { + need localmount + use dns +} + +start_pre() { + if [ ! -f /etc/raddb/radiusd.conf ] ; then + eerror "No /etc/raddb/radiusd.conf file exists!" + return 1 + fi + + checkpath -m0750 -o "${RADIUSD_USER:-root}:${RADIUSD_GROUP:-root}" -d \ + $(dirname ${pidfile}) "${RADIUSD_LOGPATH:-/var/log/radius}" + checkpath -m0750 -o "${RADIUSD_USER:-root}:${RADIUSD_GROUP:-root}" -d \ + $(dirname ${pidfile}) /run/radiusd +} + +reload() { + ebegin "Reloading radiusd" + kill -HUP $(cat ${pidfile}) + eend $? +} diff --git a/net-dialup/freeradius/files/rlm_eap_fast.patch b/net-dialup/freeradius/files/rlm_eap_fast.patch new file mode 100644 index 000000000000..b6e6cebbc7e4 --- /dev/null +++ b/net-dialup/freeradius/files/rlm_eap_fast.patch @@ -0,0 +1,21 @@ +Index: src/modules/rlm_eap/types/rlm_eap_fast/rlm_eap_fast.c +--- src/modules/rlm_eap/types/rlm_eap_fast/rlm_eap_fast.c.orig ++++ src/modules/rlm_eap/types/rlm_eap_fast/rlm_eap_fast.c +@@ -200,7 +200,7 @@ static void eap_fast_session_ticket(tls_session_t *tls + } + + // hostap:src/crypto/tls_openssl.c:tls_sess_sec_cb() +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + static int _session_secret(SSL *s, void *secret, int *secret_len, + UNUSED STACK_OF(SSL_CIPHER) *peer_ciphers, + UNUSED SSL_CIPHER **cipher, void *arg) +@@ -224,7 +224,7 @@ static int _session_secret(SSL *s, void *secret, int * + + RDEBUG("processing PAC-Opaque"); + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) ++#if OPENSSL_VERSION_NUMBER < 0x10100000L + eap_fast_session_ticket(tls_session, s->s3->client_random, s->s3->server_random, secret, secret_len); + #else + uint8_t client_random[SSL3_RANDOM_SIZE]; diff --git a/net-dialup/freeradius/freeradius-3.2.7.ebuild b/net-dialup/freeradius/freeradius-3.2.7.ebuild new file mode 100644 index 000000000000..49372f077f3c --- /dev/null +++ b/net-dialup/freeradius/freeradius-3.2.7.ebuild @@ -0,0 +1,291 @@ +# Copyright 2021-2025 Liguros Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +AUTOTOOLS_DEPEND=">=dev-build/autoconf-2.69" +inherit autotools pam python-single-r1 systemd + +MY_PN=${PN}-server +MY_P=${MY_PN}-${PV} +MY_PV=$(ver_rs 1- "_") + +DESCRIPTION="Highly configurable free RADIUS server" +HOMEPAGE="https://freeradius.org/" +SRC_URI="https://github.com/FreeRADIUS/freeradius-server/releases/download/release_${MY_PV}/${MY_P}.tar.bz2" +S="${WORKDIR}"/${MY_P} + +KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~sparc x86" +LICENSE="GPL-2" +SLOT="0" + +IUSE=" + debug firebird iodbc kerberos ldap memcached mysql mongodb odbc oracle pam + postgres python readline redis samba sqlite ssl systemd +" +RESTRICT="test firebird? ( bindist )" + +# TODO: rlm_mschap works with both samba library or without. I need to avoid +# linking of samba library if -samba is used. + +# TODO: unconditional json-c for now as automagic dep despite efforts to stop it +# ditto libpcap. Can restore USE=rest, USE=pcap if/when fixed. + +RDEPEND="acct-group/radius + acct-user/radius + !net-dialup/cistronradius + dev-libs/libltdl + dev-libs/libpcre + dev-libs/json-c:= + dev-lang/perl:= + net-libs/libpcap + net-misc/curl + sys-libs/gdbm:= + sys-libs/libcap + sys-libs/talloc + virtual/libcrypt:= + firebird? ( dev-db/firebird ) + iodbc? ( dev-db/libiodbc ) + kerberos? ( virtual/krb5 ) + ldap? ( net-nds/openldap:= ) + memcached? ( dev-libs/libmemcached ) + mysql? ( dev-db/mysql-connector-c:= ) + mongodb? ( >=dev-libs/mongo-c-driver-1.13.0-r1 ) + odbc? ( dev-db/unixODBC ) + oracle? ( dev-db/oracle-instantclient[sdk] ) + pam? ( sys-libs/pam ) + postgres? ( dev-db/postgresql:= ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:= ) + redis? ( dev-libs/hiredis:= ) + samba? ( net-fs/samba ) + sqlite? ( dev-db/sqlite:3 ) + ssl? ( + >=dev-libs/openssl-1.0.2:= + + ) + systemd? ( sys-apps/systemd:= )" +DEPEND="${RDEPEND}" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +# bug #721040 +QA_SONAME="usr/lib.*/libfreeradius-.*.so" + +PATCHES=( + "${FILESDIR}"/mppe_keys_c.patch +) + +pkg_setup() { + if use python ; then + python-single-r1_pkg_setup + export PYTHONBIN="${EPYTHON}" + fi +} + +src_prepare() { + # Most of the configuration options do not appear as ./configure + # switches. Instead it identifies the directories that are available + # and run through them. These might check for the presence of + # various libraries, in which case they are not built. To avoid + # automagic dependencies, we just remove all the modules that we're + # not interested in using. + + + eapply_user + default + + use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; } + use ldap || { rm -r src/modules/rlm_ldap || die ; } + use kerberos || { rm -r src/modules/rlm_krb5 || die ; } + use memcached || { rm -r src/modules/rlm_cache/drivers/rlm_cache_memcached || die ; } + use pam || { rm -r src/modules/rlm_pam || die ; } + + # Drop support for python2 + rm -r src/modules/rlm_python || die + + use python || { rm -r src/modules/rlm_python3 || die ; } + use redis || { rm -r src/modules/rlm_redis{,who} || die ; } + # Do not install ruby rlm module, bug #483108 + rm -r src/modules/rlm_ruby || die + + # These are all things we don't have in portage/I don't want to deal + # with myself. + # + # Requires TNCS library + rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die + # Requires libeap-ikev2 + rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die + # Requires some membership.h + rm -r src/modules/rlm_opendirectory || die + # ? + rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds} || die + + # SQL drivers that are not part of experimental are loaded from a + # file, so we have to remove them from the file itself when we + # remove them. + usesqldriver() { + local flag=$1 + local driver=rlm_sql_${2:-${flag}} + + if ! use ${flag} ; then + rm -r src/modules/rlm_sql/drivers/${driver} || die + sed -i -e /${driver}/d src/modules/rlm_sql/stable || die + fi + } + + sed -i \ + -e 's:^#\tuser = :\tuser = :g' \ + -e 's:^#\tgroup = :\tgroup = :g' \ + -e 's:/var/run/radiusd:/run/radiusd:g' \ + -e '/^run_dir/s:${localstatedir}::g' \ + raddb/radiusd.conf.in || die + + # - Verbosity + # - B uild shared libraries using jlibtool -shared + sed -i \ + -e 's|--silent ||g' \ + -e 's:--mode=\(compile\|link\):& -shared:g' \ + scripts/libtool.mk || die + + # Crude measure to stop jlibtool from running ranlib and ar + sed -i \ + -e '/LIBRARIAN/s|".*"|"true"|g' \ + -e '/RANLIB/s|".*"|"true"|g' \ + scripts/jlibtool.c || die + + usesqldriver mysql + usesqldriver postgres postgresql + usesqldriver firebird + usesqldriver iodbc + usesqldriver odbc unixodbc + usesqldriver oracle + usesqldriver sqlite + usesqldriver mongodb mongo + + eautoreconf +} + +src_configure() { + # Do not try to enable static with static-libs; upstream is a + # massacre of libtool best practices so you also have to make sure + # to --enable-shared explicitly. + local myeconfargs=( + --enable-shared + --disable-static + --disable-ltdl-install + --disable-silent-rules + --with-system-libtool + --with-system-libltdl + + --enable-strict-dependencies + --without-rlm_couchbase + --without-rlm_securid + --without-rlm_unbound + --without-rlm_idn + + # Our OpenSSL should be patched. Avoid false-positive failures. + --disable-openssl-version-check + --with-ascend-binary + --with-udpfromto + --with-dhcp + --with-pcre + --with-iodbc-include-dir=/usr/include/iodbc + --with-experimental-modules + --with-docdir=/usr/share/doc/${PF} + --with-logdir=/var/log/radius + $(use_enable debug developer) + $(use_with ldap edir) + $(use_with redis rlm_cache_redis) + $(use_with redis rlm_redis) + $(use_with redis rlm_rediswho) + $(use_with ssl openssl) + $(use_with systemd systemd) + ) + + # bug #77613 + if has_version app-crypt/heimdal ; then + myeconfargs+=( --enable-heimdal-krb5 ) + fi + + if use python ; then + myeconfargs+=( + --with-rlm-python3-bin=${EPYTHON} + --with-rlm-python3-config-bin=${EPYTHON}-config + ) + fi + + if ! use readline ; then + export ac_cv_lib_readline=no + fi + + econf "${myeconfargs[@]}" +} + +src_compile() { + # Verbose, do not generate certificates + emake \ + Q='' ECHO=true \ + LOCAL_CERT_PRODUCTS='' +} + +src_install() { + dodir /etc + diropts -m0750 -o root -g radius + dodir /etc/raddb + diropts -m0750 -o radius -g radius + dodir /var/log/radius + keepdir /var/log/radius/radacct + diropts + + # - Verbose, do not install certificates + # - Parallel install fails (bug #509498) + emake -j1 \ + Q='' ECHO=true \ + LOCAL_CERT_PRODUCTS='' \ + R="${D}" \ + install + + if use pam ; then + pamd_mimic_system radiusd auth account password session + fi + + # bug #711756 + fowners -R radius:radius /etc/raddb + fowners -R radius:radius /var/log/radius + + dodoc CREDITS + + rm "${ED}"/usr/sbin/rc.radiusd || die + + newinitd "${FILESDIR}"/radius.init-r4 radiusd + newconfd "${FILESDIR}"/radius.conf-r6 radiusd + + if ! use systemd ; then + # If systemd builtin is not enabled we need use Type=Simple + # as systemd .service + sed -i -e 's:^Type=.*::g' \ + -e 's:^WatchdogSec=.*::g' -e 's:^NotifyAccess=all.*::g' \ + "${S}"/debian/freeradius.service + fi + systemd_dounit "${S}"/debian/freeradius.service + + find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die +} + +pkg_config() { + if use ssl ; then + cd "${ROOT}"/etc/raddb/certs || die + ./bootstrap || die "Error while running ./bootstrap script." + chown root:radius "${ROOT}"/etc/raddb/certs || die + chown root:radius "${ROOT}"/etc/raddb/certs/ca.pem || die + chown root:radius "${ROOT}"/etc/raddb/certs/server.{key,crt,pem} || die + fi +} + +pkg_preinst() { + if ! has_version ${CATEGORY}/${PN} && use ssl ; then + elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able" + elog "to start the radiusd service." + fi +} diff --git a/net-dialup/freeradius/freeradius-3.2.8.ebuild b/net-dialup/freeradius/freeradius-3.2.8.ebuild new file mode 100644 index 000000000000..6b23bd216ff3 --- /dev/null +++ b/net-dialup/freeradius/freeradius-3.2.8.ebuild @@ -0,0 +1,293 @@ +# Copyright 2021-2026 Liguros Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +AUTOTOOLS_DEPEND=">=dev-build/autoconf-2.69" +inherit autotools pam python-single-r1 systemd + +MY_PN=${PN}-server +MY_P=${MY_PN}-${PV} +MY_PV=$(ver_rs 1- "_") + +DESCRIPTION="Highly configurable free RADIUS server" +HOMEPAGE="https://freeradius.org/" +SRC_URI="https://github.com/FreeRADIUS/freeradius-server/releases/download/release_${MY_PV}/${MY_P}.tar.bz2" +S="${WORKDIR}"/${MY_P} + +KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~sparc x86" +LICENSE="GPL-2" +SLOT="0" + +IUSE=" + debug firebird iodbc kafka kerberos ldap memcached mysql mongodb odbc oracle pam + postgres python readline redis samba sqlite ssl systemd +" +RESTRICT="test firebird? ( bindist )" + +# TODO: rlm_mschap works with both samba library or without. I need to avoid +# linking of samba library if -samba is used. + +# TODO: unconditional json-c for now as automagic dep despite efforts to stop it +# ditto libpcap. Can restore USE=rest, USE=pcap if/when fixed. + +RDEPEND="acct-group/radius + acct-user/radius + !net-dialup/cistronradius + dev-libs/libltdl + dev-libs/libpcre + dev-libs/json-c:= + dev-lang/perl:= + net-libs/libpcap + net-misc/curl + sys-libs/gdbm:= + sys-libs/libcap + sys-libs/talloc + virtual/libcrypt:= + firebird? ( dev-db/firebird ) + iodbc? ( dev-db/libiodbc ) + kafka? ( dev-libs/librdkafka:= ) + kerberos? ( virtual/krb5 ) + ldap? ( net-nds/openldap:= ) + memcached? ( dev-libs/libmemcached ) + mysql? ( dev-db/mysql-connector-c:= ) + mongodb? ( >=dev-libs/mongo-c-driver-1.13.0-r1 ) + odbc? ( dev-db/unixODBC ) + oracle? ( dev-db/oracle-instantclient[sdk] ) + pam? ( sys-libs/pam ) + postgres? ( dev-db/postgresql:= ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:= ) + redis? ( dev-libs/hiredis:= ) + samba? ( net-fs/samba ) + sqlite? ( dev-db/sqlite:3 ) + ssl? ( + >=dev-libs/openssl-1.0.2:= + + ) + systemd? ( sys-apps/systemd:= )" +DEPEND="${RDEPEND}" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +# bug #721040 +QA_SONAME="usr/lib.*/libfreeradius-.*.so" + +PATCHES=( + "${FILESDIR}"/mppe_keys_c.patch +) + +pkg_setup() { + if use python ; then + python-single-r1_pkg_setup + export PYTHONBIN="${EPYTHON}" + fi +} + +src_prepare() { + # Most of the configuration options do not appear as ./configure + # switches. Instead it identifies the directories that are available + # and run through them. These might check for the presence of + # various libraries, in which case they are not built. To avoid + # automagic dependencies, we just remove all the modules that we're + # not interested in using. + + + eapply_user + default + + use ssl || { rm -r src/modules/rlm_eap/types/rlm_eap_{tls,ttls,peap} || die ; } + use ldap || { rm -r src/modules/rlm_ldap || die ; } + use kerberos || { rm -r src/modules/rlm_krb5 || die ; } + use memcached || { rm -r src/modules/rlm_cache/drivers/rlm_cache_memcached || die ; } + use pam || { rm -r src/modules/rlm_pam || die ; } + + # Drop support for python2 + rm -r src/modules/rlm_python || die + + use python || { rm -r src/modules/rlm_python3 || die ; } + use redis || { rm -r src/modules/rlm_redis{,who} || die ; } + # Do not install ruby rlm module, bug #483108 + rm -r src/modules/rlm_ruby || die + + # These are all things we don't have in portage/I don't want to deal + # with myself. + # + # Requires TNCS library + rm -r src/modules/rlm_eap/types/rlm_eap_tnc || die + # Requires libeap-ikev2 + rm -r src/modules/rlm_eap/types/rlm_eap_ikev2 || die + # Requires some membership.h + rm -r src/modules/rlm_opendirectory || die + # ? + rm -r src/modules/rlm_sql/drivers/rlm_sql_{db2,freetds} || die + + # SQL drivers that are not part of experimental are loaded from a + # file, so we have to remove them from the file itself when we + # remove them. + usesqldriver() { + local flag=$1 + local driver=rlm_sql_${2:-${flag}} + + if ! use ${flag} ; then + rm -r src/modules/rlm_sql/drivers/${driver} || die + sed -i -e /${driver}/d src/modules/rlm_sql/stable || die + fi + } + + sed -i \ + -e 's:^#\tuser = :\tuser = :g' \ + -e 's:^#\tgroup = :\tgroup = :g' \ + -e 's:/var/run/radiusd:/run/radiusd:g' \ + -e '/^run_dir/s:${localstatedir}::g' \ + raddb/radiusd.conf.in || die + + # - Verbosity + # - B uild shared libraries using jlibtool -shared + sed -i \ + -e 's|--silent ||g' \ + -e 's:--mode=\(compile\|link\):& -shared:g' \ + scripts/libtool.mk || die + + # Crude measure to stop jlibtool from running ranlib and ar + sed -i \ + -e '/LIBRARIAN/s|".*"|"true"|g' \ + -e '/RANLIB/s|".*"|"true"|g' \ + scripts/jlibtool.c || die + + usesqldriver mysql + usesqldriver postgres postgresql + usesqldriver firebird + usesqldriver iodbc + usesqldriver odbc unixodbc + usesqldriver oracle + usesqldriver sqlite + usesqldriver mongodb mongo + + eautoreconf +} + +src_configure() { + # Do not try to enable static with static-libs; upstream is a + # massacre of libtool best practices so you also have to make sure + # to --enable-shared explicitly. + local myeconfargs=( + --enable-shared + --disable-static + --disable-ltdl-install + --disable-silent-rules + --with-system-libtool + --with-system-libltdl + + --enable-strict-dependencies + --without-rlm_couchbase + --without-rlm_securid + --without-rlm_unbound + --without-rlm_idn + + # Our OpenSSL should be patched. Avoid false-positive failures. + --disable-openssl-version-check + --with-ascend-binary + --with-udpfromto + --with-dhcp + --with-pcre + --with-iodbc-include-dir=/usr/include/iodbc + --with-experimental-modules + --with-docdir=/usr/share/doc/${PF} + --with-logdir=/var/log/radius + $(use_enable debug developer) + $(use_with kafka rlm_kafka) + $(use_with ldap edir) + $(use_with redis rlm_cache_redis) + $(use_with redis rlm_redis) + $(use_with redis rlm_rediswho) + $(use_with ssl openssl) + $(use_with systemd systemd) + ) + + # bug #77613 + if has_version app-crypt/heimdal ; then + myeconfargs+=( --enable-heimdal-krb5 ) + fi + + if use python ; then + myeconfargs+=( + --with-rlm-python3-bin=${EPYTHON} + --with-rlm-python3-config-bin=${EPYTHON}-config + ) + fi + + if ! use readline ; then + export ac_cv_lib_readline=no + fi + + econf "${myeconfargs[@]}" +} + +src_compile() { + # Verbose, do not generate certificates + emake \ + Q='' ECHO=true \ + LOCAL_CERT_PRODUCTS='' +} + +src_install() { + dodir /etc + diropts -m0750 -o root -g radius + dodir /etc/raddb + diropts -m0750 -o radius -g radius + dodir /var/log/radius + keepdir /var/log/radius/radacct + diropts + + # - Verbose, do not install certificates + # - Parallel install fails (bug #509498) + emake -j1 \ + Q='' ECHO=true \ + LOCAL_CERT_PRODUCTS='' \ + R="${D}" \ + install + + if use pam ; then + pamd_mimic_system radiusd auth account password session + fi + + # bug #711756 + fowners -R radius:radius /etc/raddb + fowners -R radius:radius /var/log/radius + + dodoc CREDITS + + rm "${ED}"/usr/sbin/rc.radiusd || die + + newinitd "${FILESDIR}"/radius.init-r4 radiusd + newconfd "${FILESDIR}"/radius.conf-r6 radiusd + + if ! use systemd ; then + # If systemd builtin is not enabled we need use Type=Simple + # as systemd .service + sed -i -e 's:^Type=.*::g' \ + -e 's:^WatchdogSec=.*::g' -e 's:^NotifyAccess=all.*::g' \ + "${S}"/debian/freeradius.service + fi + systemd_dounit "${S}"/debian/freeradius.service + + find "${ED}" \( -name "*.a" -o -name "*.la" \) -delete || die +} + +pkg_config() { + if use ssl ; then + cd "${ROOT}"/etc/raddb/certs || die + ./bootstrap || die "Error while running ./bootstrap script." + chown root:radius "${ROOT}"/etc/raddb/certs || die + chown root:radius "${ROOT}"/etc/raddb/certs/ca.pem || die + chown root:radius "${ROOT}"/etc/raddb/certs/server.{key,crt,pem} || die + fi +} + +pkg_preinst() { + if ! has_version ${CATEGORY}/${PN} && use ssl ; then + elog "You have to run \`emerge --config =${CATEGORY}/${PF}\` to be able" + elog "to start the radiusd service." + fi +} diff --git a/net-dialup/freeradius/metadata.xml b/net-dialup/freeradius/metadata.xml new file mode 100644 index 000000000000..dc2309397907 --- /dev/null +++ b/net-dialup/freeradius/metadata.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>dev@liguros.net</email> + <name>Development</name> + </maintainer> + <maintainer type="person"> + <email>geaaru@gmail.com</email> + <name>Daniele Rondina</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:freeradius:freeradius</remote-id> + </upstream> + <use> + <flag name="memcached">Include <pkg>dev-libs/libmemcached</pkg> in caching drivers</flag> + <flag name="pcap">Build the RADIUS sniffer which requires <pkg>net-libs/libpcap</pkg>.</flag> + <flag name="rest">Include support for sending and receiving HTTP requests</flag> + <flag name="redis">Include support for Redis database</flag> + <flag name="mongodb">Include support for MongoDB database</flag> + </use> + <origin>ports</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/net-dialup/isdn-firmware/Manifest b/net-dialup/isdn-firmware/Manifest new file mode 100644 index 000000000000..f6fe688dbb05 --- /dev/null +++ b/net-dialup/isdn-firmware/Manifest @@ -0,0 +1 @@ +DIST i4lfirm-2011.8.29-lp152.8.37.x86_64.rpm 1274484 BLAKE2B 63a698adadeb0fe9e11533cf56d2cd026552e599e0e47dbe07694558af07aedfe51d626c4894c6b0cb59d49e85486de6d408405047be39eb1086361b4129f7eb SHA512 fac70bbe8983cfb02f53880c04e317f52a33b2972fd657b5dd375cb4924cf61efe8da8cb35448d39fc628599da35fa24f3b1275a0f76c1421bbaeab1e17713f9 diff --git a/net-dialup/isdn-firmware/isdn-firmware-2011.8.29.8.37.ebuild b/net-dialup/isdn-firmware/isdn-firmware-2011.8.29.8.37.ebuild new file mode 100644 index 000000000000..8f425c6b48c3 --- /dev/null +++ b/net-dialup/isdn-firmware/isdn-firmware-2011.8.29.8.37.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +RPM_COMPRESS_TYPE=xz +inherit rpm + +MY_PN="i4lfirm" +MY_PV="$(ver_cut 1-3)" +MY_PP="lp152.$(ver_cut 4-)" +MY_P="${MY_PN}-${MY_PV}-${MY_PP}" + +DESCRIPTION="ISDN firmware for active ISDN cards (AVM, Eicon, etc.)" +HOMEPAGE="https://www.isdn4linux.de/" +SRC_URI="https://rsync.opensuse.org/distribution/leap/15.2/repo/oss/x86_64/${MY_P}.x86_64.rpm" +S="${WORKDIR}/lib/firmware/isdn" + +LICENSE="freedist" #446158 +SLOT="0" +KEYWORDS="amd64 ppc x86" + +# Bug #827318 +BDEPEND="app-arch/xz-utils[extra-filters(+)]" + +src_install() { + insinto $(get_libdir)/firmware + insopts -m 0644 + doins * +} diff --git a/net-dialup/isdn-firmware/metadata.xml b/net-dialup/isdn-firmware/metadata.xml new file mode 100644 index 000000000000..115e9d64a669 --- /dev/null +++ b/net-dialup/isdn-firmware/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> +</pkgmetadata> diff --git a/net-dialup/kpnadsl4linux/Manifest b/net-dialup/kpnadsl4linux/Manifest new file mode 100644 index 000000000000..1dd270146b76 --- /dev/null +++ b/net-dialup/kpnadsl4linux/Manifest @@ -0,0 +1 @@ +DIST kpnadsl4linux-1.11.tar.gz 15068 BLAKE2B 2199414df46df750ce5df12f44eadee29114e3b8211283a39bca26b0d2f697609aeaf3f022679fa165971b1182e175e8e15c17e7afd0315feca75a3302252e5a SHA512 050c879aff115169e6cb0f0bf081a8172a3f4735f7231d1e5d1f245b34a1b522691e7640d146eac3c894a17c2901e59f1f942f7be5a2eed5ce1eb8c96bfef201 diff --git a/net-dialup/kpnadsl4linux/files/kpnadsl4linux-1.11-Makefile.patch b/net-dialup/kpnadsl4linux/files/kpnadsl4linux-1.11-Makefile.patch new file mode 100644 index 000000000000..051dffe47fc5 --- /dev/null +++ b/net-dialup/kpnadsl4linux/files/kpnadsl4linux-1.11-Makefile.patch @@ -0,0 +1,25 @@ +--- a/Makefile ++++ b/Makefile +@@ -1,18 +1,18 @@ + # Makefile for ADSL4Linux 1.11 Gentoo Edition + + all: adsl + + adsl: adsl.o adslstatus.o adslstatus.h adsl.h +- gcc adsl.o adslstatus.o -o adsl ++ $(CC) $(LDFLAGS) adsl.o adslstatus.o -o adsl $(LIBS) + + adsl.o: adsl.c adsl.h +- gcc -c adsl.c ++ $(CC) $(CPPFLAGS) $(CFLAGS) -c adsl.c + + adslstatus: adslstatus.o adslstatus.h adsl.h +- gcc adslstatus.o -o adslstatus ++ $(CC) $(LDFLAGS) adslstatus.o -o adslstatus $(LIBS) + + adslstatus.o: adslstatus.c adslstatus.h adsl.h +- gcc -c adslstatus.c ++ $(CC) $(CPPFLAGS) $(CFLAGS) -c adslstatus.c + + clean: + rm adsl *.o diff --git a/net-dialup/kpnadsl4linux/files/kpnadsl4linux-1.11-fno-common.patch b/net-dialup/kpnadsl4linux/files/kpnadsl4linux-1.11-fno-common.patch new file mode 100644 index 000000000000..586b517822fe --- /dev/null +++ b/net-dialup/kpnadsl4linux/files/kpnadsl4linux-1.11-fno-common.patch @@ -0,0 +1,13 @@ +--- a/adslstatus.c ++++ b/adslstatus.c +@@ -40,8 +40,8 @@ version 0.13 moved logging to /var/log/kpnadsl4linux (by Sam Besselink <sambesse + #define FOURGB 4294967296.0 + + /* global variables */ +-time_t tmNow; +-uid_t uid; ++extern time_t tmNow; ++extern uid_t uid; + char pppBuf[256]; /* textbuffer containing ppp0 info */ + struct stat st; /* contains filestatus of STATFILE */ + double received, sent ; diff --git a/net-dialup/kpnadsl4linux/files/kpnadsl4linux-config b/net-dialup/kpnadsl4linux/files/kpnadsl4linux-config new file mode 100644 index 000000000000..439528e14f4a --- /dev/null +++ b/net-dialup/kpnadsl4linux/files/kpnadsl4linux-config @@ -0,0 +1,100 @@ +#/bin/bash + +# This script is to be distributed on the Gentoo liveCD's under the terms or the GNU General Public License version 2 or later +# Copyright 2002 Sam Besselink (sambesselink@planet.nl) +# This script does some configuration needed before it's possible to make a succesful pptp tunnel. + +a4lvarconfig() { + # Get username, password and 'phonenumber' (pc1/pc2/pc3/...) + echo "What's your username? (ie. myname@subscription-form)"; read USERNAME; + echo "" + echo "What's your password?"; read PAWD; + echo "" + echo "If you have a subscription with multiple ip addresses, please specify your 'pc-number'? (ie. pc3) Press"\ + "ENTER if you have no idea what I'm talking about."; read PCNUMBER; + echo "" + if [ -z ${PCNUMBER} ]; then PCNUMBER=pc1; else :; fi; + echo "Are these, in order, your username, password and pc-number?"; + echo "username: ${USERNAME}"; + echo "password: ${PAWD}"; + echo "pc-number: ${PCNUMBER}"; + # Ask whether settings are correct and act accordingly. + CHECK="Yes No"; + select CHCKCHCK in ${CHECK}; do + if [ ${CHCKCHCK} = "Yes" ]; + # Get username etc. again if last try was incorrect. + then adslconfigins; + # Else go to the next step. + else echo ""; echo ""; echo ""; a4lvarconfig; + fi + done +} + +adslconfigins() { + if [ -d /etc/ppp/peers ]; then :; else mkdir /etc/ppp/peers; fi + cd /etc/ppp/peers + + # Save your settings to a file. + echo "idle 0" > .adsl + echo "noauth" >> .adsl + echo "user ${USERNAME}" >> .adsl + echo "usepeerdns" >> .adsl + echo "defaultroute" >> .adsl + echo "linkname mxstream" >> .adsl + echo 'pty "/usr/sbin/pptp 10.0.0.138 --nolaunchpppd --phone '"${PCNUMBER}"'"' >> .adsl + if [ -e adsl ]; then mv .adsl ._cfg0000_adsl; else mv .adsl adsl; fi + chmod 644 adsl + pap-secretsins; +} + +pap-secretsins() { + if [ -d /etc/ppp/peers ]; then :; else mkdir /etc/ppp/peers; fi + cd /etc/ppp + # Save the 'secret' (password) in the secrets file. + echo "# Secrets for authentication using PAP" > .pap-secrets + echo "# client server secret ip-addresses" >> .pap-secrets + echo "${USERNAME} * "'"'"${PAWD}"'"'" *" >> .pap-secrets + if [ -e pap-secrets ]; then mv .pap-secrets ._cfg0000_pap-secrets; else mv .pap-secrets pap-secrets; fi + loggingadsl; +} + +loggingadsl() { + # Crontab Logging + echo "Trying to install logging..." + local TESTER="root test -x /usr/sbin/adsl && /usr/sbin/adsl update" + local STRING1="/5 * * * * ${TESTER}" + # Check if /etc/crontab exists + if [ -e /etc/crontab ]; then \ + # If cron works install, else don't. + if [ `grep -c "/5 \* \* \* \* ${TESTER}" /etc/crontab` != "0" ]; then echo "Not adding string for crontab"; + else echo -e '\n# 5-minute ADSL log update' >> /etc/crontab; + echo -e "${STRING1}" >> /etc/crontab; + echo "Added to crontab: a 5 minute log update"; + fi; + else echo "/etc/crontab doesn't exist!" + fi; + + # ip-down.local logging + local TEST="" + local TEST2="^/usr/sbin/adsl stoplog$" + local STRING2="/usr/sbin/adsl stoplog" + if [ -e /etc/ppp/ip-down.local ]; then :; else touch /etc/ppp/ip-down.local; fi + local test=`grep -c "${TEST2}" /etc/ppp/ip-down.local` + # If there already is such a string, don't do anything, else add it. + if [ "${TEST}" != "0" ]; then echo "Not adding string for log in /etc/ppp/ip-down.local"; + else echo -e '\n# ADSL log save' >> /etc/ppp/ip-down.local; + echo -e "${STRING2}" >> /etc/ppp/ip-down.local; + echo "Added to ip-down.local: log save"; + fi; + + echo "Configuration is done!" + echo "If you want you can check/tweak your settings by editting /etc/ppp/pap-secrets" + echo "and /etc/ppp/peers/adsl. Enjoy!" + echo -e "\e[33;01m* IMPORTANT:\e[00;00m files in /etc _MAY_ need updating."; + echo -e "\e[33;01m*\e[00;00m Type \e[32;01memerge --help config \e[00;00mto learn how to update config files."; + + exit; +} + +# Start the configuring +a4lvarconfig; diff --git a/net-dialup/kpnadsl4linux/kpnadsl4linux-1.11.ebuild b/net-dialup/kpnadsl4linux/kpnadsl4linux-1.11.ebuild new file mode 100644 index 000000000000..988a1e9b2bee --- /dev/null +++ b/net-dialup/kpnadsl4linux/kpnadsl4linux-1.11.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +DESCRIPTION="ADSL4Linux, a PPTP start/stop/etc. program especially for Dutch users" +HOMEPAGE="http://www.adsl4linux.nl/" +SRC_URI="http://home.planet.nl/~mcdon001/${P}.tar.gz + http://www.adsl4linux.nl/download/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc ppc64 x86" + +RDEPEND=" + net-dialup/ppp + net-dialup/pptpclient" + +PATCHES=( + "${FILESDIR}"/${P}-Makefile.patch + "${FILESDIR}"/${P}-fno-common.patch +) + +src_prepare() { + tc-export CC + default + + sed -i -e 's:* at first:/\0:' adslstatus.c || die + sed -i -e 's/runscript/openrc-run/g' init.d.adsl || die +} + +src_install() { + dosbin adsl + dodoc Changelog modemREADME README + newinitd init.d.adsl adsl + dosbin "${FILESDIR}/${PN}-config" +} + +pkg_postinst() { + if [[ -z ${REPLACING_VERSIONS} ]]; then + elog "Do _NOT_ forget to run the following if this is your _FIRST_ install:" + elog " kpnadsl4linux-config" + elog " etc-update" + elog "To start ${P} at boot type:" + elog " rc-update add adsl default" + fi +} diff --git a/net-dialup/kpnadsl4linux/metadata.xml b/net-dialup/kpnadsl4linux/metadata.xml new file mode 100644 index 000000000000..85e4ed814fa2 --- /dev/null +++ b/net-dialup/kpnadsl4linux/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<!-- maintainer-needed --> +</pkgmetadata> diff --git a/net-dialup/linux-atm/Manifest b/net-dialup/linux-atm/Manifest new file mode 100644 index 000000000000..36616ee595ac --- /dev/null +++ b/net-dialup/linux-atm/Manifest @@ -0,0 +1 @@ +DIST linux-atm-2.5.2.tar.gz 1082256 BLAKE2B 329aad437a1e6a17fd7d7d2b81c976a76c684aaf127006ed3af1e998a0f52df056747cc84fc13c933dc15c07246f1f00e4ff101ac98ef1dd1bea102830a83625 SHA512 0a50e91513e4e1f882dc6f4792dc032e89497ff745c0eaea0c0c848b0f84e40d19e038e4ab5aa70c1f915c28a9f845340c332ac5c3ae838b8f539466e10a0a08 diff --git a/net-dialup/linux-atm/files/linux-atm-2.5.2-c99-musl.patch b/net-dialup/linux-atm/files/linux-atm-2.5.2-c99-musl.patch new file mode 100644 index 000000000000..7c39bb0482c1 --- /dev/null +++ b/net-dialup/linux-atm/files/linux-atm-2.5.2-c99-musl.patch @@ -0,0 +1,113 @@ +Author: NHOrus <jy6x2b32pie9@yahoo.com> +Bug: https://bugs.gentoo.org/897842 +Enabling the system extension that gate some POSIX features +and fixing missing includes, 32/64 bit confusion, standard +atexit function instead of non-standard, and function signature +--- a/configure.in ++++ b/configure.in +@@ -34,6 +34,7 @@ dnl We have some special PERL scripts wh + AC_PATH_PROG(PERL, perl) + AC_SUBST(PERL) + ++AC_USE_SYSTEM_EXTENSIONS + + dnl Check for needed header files + AC_CHECK_HEADER(asm/errno.h, , +--- a/src/lib/unix.c ++++ b/src/lib/unix.c +@@ -10,6 +10,7 @@ + #include <stdio.h> + #include <unistd.h> + #include <errno.h> ++#include <string.h> + #include <sys/types.h> + #include <sys/stat.h> + #include <sys/socket.h> +--- a/src/sigd/policy.c ++++ b/src/sigd/policy.c +@@ -8,6 +8,7 @@ + + #include <atm.h> + #include <atmd.h> ++#include <string.h> + + #include "proto.h" /* for "pretty" */ + #include "policy.h" +--- a/src/sigd/kernel.c ++++ b/src/sigd/kernel.c +@@ -10,6 +10,7 @@ + #include <stdio.h> + #include <errno.h> + #include <assert.h> ++#include <string.h> + + #include <atm.h> + #include <linux/atmsvc.h> +--- a/src/sigd/atmsigd.c ++++ b/src/sigd/atmsigd.c +@@ -283,12 +283,12 @@ static void setup_signals(void) + /* ------------------------------- main ... ------------------------------- */ + + +-static void trace_on_exit(int status,void *dummy) ++static void trace_on_exit(void) + { + char path[PATH_MAX+1]; + FILE *file; + +- if (!status) return; ++// if (!status) return; + if (!dump_dir) file = stderr; + else { + sprintf(path,"atmsigd.%d.trace.exit",getpid()); +@@ -517,7 +517,7 @@ int main(int argc,char **argv) + exit(0); + } + } +- (void) on_exit(trace_on_exit,NULL); ++ (void) atexit(trace_on_exit); + poll_loop(); + close_all(); + for (sig = entities; sig; sig = sig->next) stop_saal(&sig->saal); +--- a/src/led/address.c ++++ b/src/led/address.c +@@ -33,6 +33,7 @@ + #include <sys/ioctl.h> + #include <unistd.h> + #include <errno.h> ++#include <string.h> + + #include <atm.h> + #include <linux/atmdev.h> +--- a/src/led/conn.c ++++ b/src/led/conn.c +@@ -405,7 +405,7 @@ Conn_t *accept_conn(Conn_t *conn) + { + Conn_t *new; + struct sockaddr_atmsvc addr; +- size_t len; ++ socklen_t len; + int fd; + char buff[MAX_ATM_ADDR_LEN+1]; + +--- a/src/led/display.c ++++ b/src/led/display.c +@@ -6,6 +6,7 @@ + #include <config.h> + #endif + ++#include <string.h> + #include <atm.h> + #include <atmd.h> + +--- a/src/mpoad/io.c ++++ b/src/mpoad/io.c +@@ -16,7 +16,7 @@ + #include <syscall.h> + #include <linux/poll.h> + #define SYS_poll 168 +-_syscall3(int,poll,struct pollfd *,ufds,unsigned int,nfds,int,timeout); ++int _syscall3(int, int poll,struct pollfd *,int ufds,unsigned int,int nfds,int,int timeout); + #endif + #include <atm.h> + #include <linux/types.h> diff --git a/net-dialup/linux-atm/files/linux-atm-2.5.2-fix-booleans.patch b/net-dialup/linux-atm/files/linux-atm-2.5.2-fix-booleans.patch new file mode 100644 index 000000000000..3b563cbcdb19 --- /dev/null +++ b/net-dialup/linux-atm/files/linux-atm-2.5.2-fix-booleans.patch @@ -0,0 +1,42 @@ +Correct for building with C23, rename `bool` struct member +https://bugs.gentoo.org/949721 +--- a/src/lane/load.c ++++ b/src/lane/load.c +@@ -498,8 +498,8 @@ + break; + case BOOLEAN: + Debug_unit(&load_unit, "Variable is boolean: %s", +- g_return.bool==BL_TRUE?"True":"False"); +- set_var_bool(curr_unit, varname, g_return.bool); ++ g_return.boolval==BL_TRUE?"True":"False"); ++ set_var_bool(curr_unit, varname, g_return.boolval); + break; + case INTEGER: + Debug_unit(&load_unit, "Variable is integer: %d", g_return.intti); +--- a/src/lane/load_lex.h ++++ b/src/lane/load_lex.h +@@ -24,7 +24,7 @@ + #define END 0 + + typedef struct { +- Bool_t bool; ++ Bool_t boolval; + int intti; + AtmAddr_t *atmaddress; + LaneDestination_t *destaddr; +--- a/src/lane/load_lex.l ++++ b/src/lane/load_lex.l +@@ -44,11 +44,11 @@ + return ATMADDRESS; + } + True | +-true {g_return.bool = BL_TRUE; ++true {g_return.boolval = BL_TRUE; + return BOOLEAN; + } + False | +-false {g_return.bool = BL_FALSE; ++false {g_return.boolval = BL_FALSE; + return BOOLEAN; + } + \#.* {} diff --git a/net-dialup/linux-atm/files/linux-atm-2.5.2-fix-formatting.patch b/net-dialup/linux-atm/files/linux-atm-2.5.2-fix-formatting.patch new file mode 100644 index 000000000000..00d5d29060e2 --- /dev/null +++ b/net-dialup/linux-atm/files/linux-atm-2.5.2-fix-formatting.patch @@ -0,0 +1,192 @@ +Changes cherry-picked from +https://sources.debian.org/patches/linux-atm/1:2.5.1-7/misc/ +https://sources.debian.org/patches/linux-atm/1:2.5.1-7/linux-atm-2.5.2-c99-musl.patch/ +to fix -Werror=format +Also all changes I did on second pass for printing size_t and friends +https://bugs.gentoo.org/949721 +--- a/src/ilmid/asn1/asn_int.c ++++ b/src/ilmid/asn1/asn_int.c +@@ -185,7 +185,7 @@ FILE* f _AND_ + AsnInt* v _AND_ + unsigned short int indent) + { +- fprintf(f,"%d", *v); ++ fprintf(f,"%ld", *v); + } + + +--- a/src/ilmid/asn1/asn_oid.c ++++ b/src/ilmid/asn1/asn_oid.c +@@ -127,7 +127,7 @@ unsigned short int indent) + if (firstArcNum > 2) + firstArcNum = 2; + +- fprintf(f,"%u %u", firstArcNum, arcNum - (firstArcNum * 40)); ++ fprintf(f,"%d %lu", firstArcNum, arcNum - (firstArcNum * 40)); + + for (; i < v->octetLen ; ) + { +@@ -136,7 +136,7 @@ unsigned short int indent) + + arcNum = (arcNum << 7) + (v->octs[i] & 0x7f); + i++; +- fprintf(f," %u", arcNum); ++ fprintf(f," %lu", arcNum); + } + fprintf(f,"}"); + +--- a/src/lib/ans.c ++++ b/src/lib/ans.c +@@ -41,7 +41,7 @@ + static int ans(const char *text,int wanted,void *result,int res_len) + { + unsigned char answer[MAX_ANSWER]; +- unsigned char name[MAX_NAME]; ++ char name[MAX_NAME]; + unsigned char *pos,*data,*found; + int answer_len,name_len,data_len,found_len; + int questions,answers; +--- a/src/test/ttcp.c ++++ b/src/test/ttcp.c +@@ -664,7 +664,7 @@ int no_check = 0; + exit(0); + + usage: +- fprintf(stderr, Usage); ++ fprintf(stderr, "%s", Usage); + exit(1); + } + +Further changes are novel and fix size_t formatting +--- a/src/arpd/atmarp.c ++++ b/src/arpd/atmarp.c +@@ -67,7 +67,7 @@ + } + if (req->type == art_query) return query_result(&reply); + if (len != sizeof(int)) { +- fprintf(stderr,"bad read: %d != %d\n",len,sizeof(int)); ++ fprintf(stderr,"bad read: %d != %zu\n",len,sizeof(int)); + exit(1); + } + if (*(int *) &reply < 0) { +--- a/src/ilmid/asn1/asn_int.c ++++ b/src/ilmid/asn1/asn_int.c +@@ -370,5 +370,5 @@ + UAsnInt* v _AND_ + unsigned short int indent) + { +- fprintf(f,"%u", *v); ++ fprintf(f,"%lu", *v); + } +--- a/src/lane/mem_lecs.c ++++ b/src/lane/mem_lecs.c +@@ -77,7 +77,7 @@ + free(tmp->start); + free(tmp); + } else { +- printf("Trying to free memory by %s, allocated by %s, size %d\n", ++ printf("Trying to free memory by %s, allocated by %s, size %zu\n", + unit, tmp->unit, tmp->size); + } + } +@@ -89,6 +89,6 @@ + + printf("Dumping memory allocation\n"); + for (tmp=memlist;tmp;tmp=tmp->next) +- printf("%s : %d bytes from %p\n", tmp->unit, tmp->size, tmp->start); ++ printf("%s : %zu bytes from %p\n", tmp->unit, tmp->size, tmp->start); + printf("-------------------------\n"); + } +--- a/src/maint/atmaddr.c ++++ b/src/maint/atmaddr.c +@@ -97,7 +97,7 @@ + } + if (cmd != ATM_GETADDR) return 0; + if (req.length % sizeof(*addr)) { +- fprintf(stderr,"internal error: len %d %% %d\n",req.length, ++ fprintf(stderr,"internal error: len %d %% %zu\n",req.length, + sizeof(*addr)); + return 1; + } +--- a/src/maint/atmtcp.c ++++ b/src/maint/atmtcp.c +@@ -579,7 +579,7 @@ + exit(1); + } + if (wrote != sizeof(stream)) { +- fprintf(stderr,"short write (%d < %d)\n",wrote,sizeof(stream)); ++ fprintf(stderr,"short write (%d < %zu)\n",wrote,sizeof(stream)); + exit(1); + } + wrote = write(fd,data,size); +--- a/src/mpoad/lecs.c ++++ b/src/mpoad/lecs.c +@@ -157,7 +157,7 @@ + /* Sampo-Add: end */ + } + if (end_of_tlvs - tlvs != 0) +- printf("mpcd: lecs.c: get_reply: ignoring %d bytes of trailing TLV carbage\n", ++ printf("mpcd: lecs.c: get_reply: ignoring %ld bytes of trailing TLV carbage\n", + end_of_tlvs - tlvs); + return 1; + } +--- a/src/switch/swc.c ++++ b/src/switch/swc.c +@@ -28,7 +28,7 @@ + exit(1); + } + if (size != sizeof(*msg)) { +- fprintf(stderr,"bad write: %d != %d\n",size,sizeof(*msg)); ++ fprintf(stderr,"bad write: %d != %zu\n",size,sizeof(*msg)); + exit(1); + } + size = read(s,msg,sizeof(*msg)); +@@ -37,7 +37,7 @@ + exit(1); + } + if (size != sizeof(*msg)) { +- fprintf(stderr,"bad read: %d != %d\n",size,sizeof(*msg)); ++ fprintf(stderr,"bad read: %d != %zu\n",size,sizeof(*msg)); + exit(1); + } + } +--- a/src/test/isp.c ++++ b/src/test/isp.c +@@ -37,7 +37,7 @@ + wrote = write(sock,msg,sizeof(*msg)); + if (wrote == sizeof(*msg)) return; + if (wrote < 0) perror("write"); +- else fprintf(stderr,"bad write: %d != %d\n",wrote,sizeof(*msg)); ++ else fprintf(stderr,"bad write: %d != %zu\n",wrote,sizeof(*msg)); + exit(1); + } + +@@ -49,7 +49,7 @@ + got = read(sock,msg,sizeof(*msg)); + if (got == sizeof(*msg)) return; + if (got < 0) perror("read"); +- else fprintf(stderr,"bad read: %d != %d\n",got,sizeof(*msg)); ++ else fprintf(stderr,"bad read: %d != %zu\n",got,sizeof(*msg)); + exit(1); + } + +--- a/src/test/window.c ++++ b/src/test/window.c +@@ -180,7 +180,7 @@ + /* Get a reply */ + size = read(s2, buffer2, REPLY_SIZE); + if (size != REPLY_SIZE) { +- fprintf(stderr,"Received reply of length %d, should be %d.\n", ++ fprintf(stderr,"Received reply of length %zd, should be %d.\n", + size,REPLY_SIZE); + } + #endif +@@ -264,7 +264,7 @@ + } + + } else { +- fprintf(stderr,"Received message of length %d, should be %d.\n", ++ fprintf(stderr,"Received message of length %zd, should be %d.\n", + size,PINGPONG_SIZE); + } + } diff --git a/net-dialup/linux-atm/files/linux-atm-2.5.2-headers.patch b/net-dialup/linux-atm/files/linux-atm-2.5.2-headers.patch new file mode 100644 index 000000000000..edfb38d68b7b --- /dev/null +++ b/net-dialup/linux-atm/files/linux-atm-2.5.2-headers.patch @@ -0,0 +1,30 @@ +--- linux-atm/src/maint/hediag.c.orig ++++ linux-atm/src/maint/hediag.c +@@ -1,5 +1,6 @@ + #include <stdio.h> + #include <stdlib.h> ++#include <string.h> + #include <unistd.h> + #include <sys/ioctl.h> + #include <sys/types.h> +--- linux-atm/src/qgen/ql_y.y ++++ linux-atm/src/qgen/ql_y.y +@@ -17,6 +17,8 @@ + static STRUCTURE *structures = NULL; + static const char *abort_id; /* indicates abort flag */ + ++void yyerror(const char *s); ++int yylex ( void ); + + static NAME_LIST *get_name_list(const char *name) + { +--- linux-atm/src/test/ispl_y.y ++++ linux-atm/src/test/ispl_y.y +@@ -16,6 +16,7 @@ + + static struct atmsvc_msg msg; + ++int yylex ( void ); + + %} + diff --git a/net-dialup/linux-atm/files/linux-atm-2.5.2-linux-5.2-SIOCGSTAMP.patch b/net-dialup/linux-atm/files/linux-atm-2.5.2-linux-5.2-SIOCGSTAMP.patch new file mode 100644 index 000000000000..ff91c7f16e06 --- /dev/null +++ b/net-dialup/linux-atm/files/linux-atm-2.5.2-linux-5.2-SIOCGSTAMP.patch @@ -0,0 +1,41 @@ +Fix build failure against linux-5.2+: + https://www.spinics.net/lists/linux-sh/msg53430.html + +--- a/src/maint/atmdump.c ++++ b/src/maint/atmdump.c +@@ -17,6 +17,16 @@ + #include <netinet/in.h> /* for htonl and ntohl */ + #include <atm.h> + ++#ifndef SIOCGSTAMP ++/* linux-5.2+ added support for 64-bit time_t into ioctls ++ that support 'struct timeval' and removed 'SIOCGSTAMP' ++ define. ++ ++ Include 'SIOCGSTAMP' wrapper via linux/sockios.h ++ if does not exist. ++ */ ++# include <linux/sockios.h> ++#endif + + static const char *pti[] = { "Data SDU 0","Data SDU 1","Data SDU 0, CE", + "Data SDU 1, CE","Segment OAM F5","End-to-end OAM F5","Reserved (RM)", +--- a/src/maint/saaldump.c ++++ b/src/maint/saaldump.c +@@ -24,6 +24,16 @@ + + #define MAX_ITEM 2048 /* longest string emitted by q.dump */ + ++#ifndef SIOCGSTAMP ++/* linux-5.2+ added support for 64-bit time_t into ioctls ++ that support 'struct timeval' and removed 'SIOCGSTAMP' ++ define. ++ ++ Include 'SIOCGSTAMP' wrapper via linux/sockios.h ++ if does not exist. ++ */ ++# include <linux/sockios.h> ++#endif + + static int interval = 0; /* display absolute time by default */ + static int quiet = 0; /* decode Q.2931 messages by default */ diff --git a/net-dialup/linux-atm/files/linux-atm-2.5.2-linux-headers-5.19.patch b/net-dialup/linux-atm/files/linux-atm-2.5.2-linux-headers-5.19.patch new file mode 100644 index 000000000000..eeb96f262f2e --- /dev/null +++ b/net-dialup/linux-atm/files/linux-atm-2.5.2-linux-headers-5.19.patch @@ -0,0 +1,24 @@ +linux/atm_zatm.h was removed in >=linux-headers-5.19. As the hardware is +said to be unlikely working on modern systems, just disable its utility +program to keep the rest building. + +See: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=052e1f01bfae8be6 + +--- a/src/maint/Makefile.am ++++ b/src/maint/Makefile.am +@@ -1,5 +1,5 @@ + BOOTPGMS=atmaddr esi +-SYSPGMS=atmloop atmtcp enitune zntune hediag # nstune ++SYSPGMS=atmloop atmtcp enitune hediag # nstune zntune + USRPGMS=atmdiag atmdump sonetdiag saaldump + + INCLUDES=-I$(srcdir)/../q2931 -I$(srcdir)/../saal -I. +@@ -14,7 +14,7 @@ esi_SOURCES = esi.c + atmloop_SOURCES = atmloop.c + atmtcp_SOURCES = atmtcp.c + enitune_SOURCES = enitune.c +-zntune_SOURCES = zntune.c ++#zntune_SOURCES = zntune.c + #nstune_SOURCES = nstune.c + + atmdiag_SOURCES = atmdiag.c diff --git a/net-dialup/linux-atm/files/linux-atm-2.5.2-remove-bad-define.patch b/net-dialup/linux-atm/files/linux-atm-2.5.2-remove-bad-define.patch new file mode 100644 index 000000000000..8eb17463bc15 --- /dev/null +++ b/net-dialup/linux-atm/files/linux-atm-2.5.2-remove-bad-define.patch @@ -0,0 +1,31 @@ +previously was sed -i '/#define _LINUX_NETDEVICE_H/d' src/arpd/*.c in ebuild +--- a/src/arpd/arp.c ++++ b/src/arpd/arp.c +@@ -15,7 +15,6 @@ + #include <sys/types.h> + #include <sys/socket.h> /* for linux/if_arp.h */ + #include <netinet/in.h> /* for ntohs, etc. */ +-#define _LINUX_NETDEVICE_H /* very crude hack for glibc2 */ + #include <linux/types.h> + #include <linux/if_arp.h> + #include <linux/if_ether.h> +--- a/src/arpd/io.c ++++ b/src/arpd/io.c +@@ -21,7 +21,6 @@ + #include <atm.h> + #include <linux/atmclip.h> /* for CLIP_DEFAULT_IDLETIMER */ + #include <linux/atmarp.h> +-#define _LINUX_NETDEVICE_H /* glibc2 */ + #include <linux/types.h> + #include <linux/if_arp.h> + +--- a/src/arpd/itf.c ++++ b/src/arpd/itf.c +@@ -12,7 +12,6 @@ + #include <sys/types.h> + #include <linux/atmclip.h> + #include <sys/socket.h> +-#define _LINUX_NETDEVICE_H /* glibc2 */ + #include <linux/types.h> + #include <linux/if_arp.h> + diff --git a/net-dialup/linux-atm/files/linux-atm-2.5.2-socklen-types.patch b/net-dialup/linux-atm/files/linux-atm-2.5.2-socklen-types.patch new file mode 100644 index 000000000000..f6ae96e6d1e7 --- /dev/null +++ b/net-dialup/linux-atm/files/linux-atm-2.5.2-socklen-types.patch @@ -0,0 +1,182 @@ +Correct type used for all calls to socket-related business, +so the won't throw errors. +https://bugs.gentoo.org/949721 +--- a/src/arpd/io.c ++++ b/src/arpd/io.c +@@ -276,7 +276,8 @@ + struct atm_qos qos; + ENTRY *entry; + VCC *vcc; +- int fd,len,size,error; ++ int fd,error; ++ socklen_t len,size; + + len = sizeof(addr); + if ((fd = accept(incoming,(struct sockaddr *) &addr,&len)) < 0) { +@@ -613,7 +614,8 @@ + + int get_local(int fd,struct sockaddr_atmsvc *addr) + { +- int length,result; ++ int result; ++ socklen_t length; + + length = sizeof(struct sockaddr_atmsvc); + result = getsockname(fd,(struct sockaddr *) addr,&length); +--- a/src/arpd/table.c ++++ b/src/arpd/table.c +@@ -101,7 +101,8 @@ + char addr_buf[MAX_ATM_ADDR_LEN+1]; + char qos_buf[MAX_ATM_QOS_LEN+1]; + struct atm_qos qos; +- int size,sndbuf; ++ int sndbuf; ++ socklen_t size; + + size = sizeof(addr); + if (getpeername(vcc->fd,(struct sockaddr *) &addr,&size) < 0) { +--- a/src/include/atmd.h ++++ b/src/include/atmd.h +@@ -104,7 +104,7 @@ + typedef struct { + int s; /* socket */ + struct sockaddr_un addr; /* reply address */ +- int size; /* address size */ ++ socklen_t size; /* address size */ + } UN_CTX; + + +--- a/src/lane/connect_bus.c ++++ b/src/lane/connect_bus.c +@@ -170,7 +170,8 @@ + data_handler(const Event_t *event, void *funcdata) + { + Conn_t *tmp, *newconn; +- int fd, nbytes; ++ int fd; ++ socklen_t nbytes; + static char buffer[BUFSIZE]; + struct sockaddr_atmsvc addr; + +--- a/src/lane/connect.c ++++ b/src/lane/connect.c +@@ -258,7 +258,8 @@ + data_handler(const Event_t *event, void *funcdata) + { + Conn_t *tmp, *newconn; +- int fd, nbytes; ++ int fd; ++ socklen_t nbytes; + static char buffer[BUFSIZE]; + LaneControl_t *ctmp; + struct sockaddr_atmsvc addr; +--- a/src/lane/lane_atm.c ++++ b/src/lane/lane_atm.c +@@ -138,7 +138,7 @@ + struct atm_blli blli; + struct atm_qos qos; + int fd, ret; +- int len = sizeof(address); ++ socklen_t len = sizeof(address); + + fd = socket(PF_ATMSVC, SOCK_DGRAM, 0); + if (fd <0) { +--- a/src/lane/lecs.c ++++ b/src/lane/lecs.c +@@ -119,7 +119,7 @@ + int just_dump=0; + fd_set fds; + struct sockaddr_atmsvc client; +- int len; ++ socklen_t len; + unsigned char buffer[P_SIZE]; + + while(i!=-1) { +--- a/src/lib/sdu2cell.c ++++ b/src/lib/sdu2cell.c +@@ -15,7 +15,8 @@ + { + struct atm_qos qos; + int trailer,total,cells; +- int size,i; ++ int i; ++ socklen_t size; + + size = sizeof(qos); + if (getsockopt(s,SOL_AAL,SO_ATMQOS,&qos,&size) < 0) return -1; +--- a/src/lib/unix.c ++++ b/src/lib/unix.c +@@ -64,7 +64,7 @@ + int un_recv_connect(int s,void *buf,int size) + { + struct sockaddr_un addr; +- int addr_size; ++ socklen_t addr_size; + int len; + + addr_size = sizeof(addr); +--- a/src/maint/atmtcp.c ++++ b/src/maint/atmtcp.c +@@ -817,7 +817,8 @@ + } + else if (!strcmp(ARG,"listen") || + (do_background = !strcmp(ARG,"listen-bg"))) { +- int fd,port,addr_len; ++ int fd,port; ++ socklen_t addr_len; + int *fd2 = alloc_t(int); + + if ((fd = socket(PF_INET,SOCK_STREAM,0)) < 0) { +--- a/src/mpoad/io.c ++++ b/src/mpoad/io.c +@@ -521,7 +521,8 @@ + static int accept_conn(int slot) + { + struct sockaddr_atmsvc sa; +- int i, new_fd, sa_len; ++ int i, new_fd; ++ socklen_t sa_len; + + sa_len = sizeof(sa); + new_fd = accept(fds[slot].fd, (struct sockaddr *)&sa, &sa_len); +--- a/src/sigd/io.c ++++ b/src/sigd/io.c +@@ -355,7 +355,7 @@ + error = 0; + if (bind(s,(struct sockaddr *) &addr,sizeof(addr)) < 0) error = errno; + else { +- int size; ++ socklen_t size; + + size = sizeof(addr); + if (getsockname(s,(struct sockaddr *) &addr,&size) < 0) +--- a/src/test/ttcp.c ++++ b/src/test/ttcp.c +@@ -92,7 +92,8 @@ + struct sockaddr_atmsvc satm; + struct atm_qos qos; + +-int domain, fromlen; ++int domain; ++socklen_t fromlen; + int fd; /* fd of network socket */ + + int buflen = 8 * 1024; /* length of buffer */ +@@ -466,7 +467,7 @@ + + { + struct sockaddr_atmsvc peer; +- int peerlen = sizeof(peer); ++ socklen_t peerlen = sizeof(peer); + if (getpeername(fd, (struct sockaddr *) &peer, + &peerlen) < 0) { + err("getpeername"); +@@ -498,7 +499,7 @@ + /* set socket buffer size */ + #if defined(SO_SNDBUF) || defined(SO_RCVBUF) + if (sockbufsize) { +- int len; ++ socklen_t len; + + if (trans) { + /* set send socket buffer if we are transmitting */ diff --git a/net-dialup/linux-atm/linux-atm-2.5.2-r1.ebuild b/net-dialup/linux-atm/linux-atm-2.5.2-r1.ebuild new file mode 100644 index 000000000000..26d40245a709 --- /dev/null +++ b/net-dialup/linux-atm/linux-atm-2.5.2-r1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic linux-info + +DESCRIPTION="Tools for ATM" +HOMEPAGE="http://linux-atm.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + +BDEPEND="sys-devel/bison" + +RESTRICT="test" + +CONFIG_CHECK="~ATM" + +PATCHES=( + "${FILESDIR}"/${P}-headers.patch + "${FILESDIR}"/${P}-linux-5.2-SIOCGSTAMP.patch + "${FILESDIR}"/${P}-linux-headers-5.19.patch +) + +src_prepare() { + default + + sed -i '/#define _LINUX_NETDEVICE_H/d' \ + src/arpd/*.c || die "sed command on arpd/*.c files failed" + + eautoreconf +} + +src_configure() { + # bug #944120 + append-cflags -std=gnu17 + append-flags -fno-strict-aliasing + export YACC=bison + econf +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die + dodoc doc/README* doc/atm* +} diff --git a/net-dialup/linux-atm/linux-atm-2.5.2-r2.ebuild b/net-dialup/linux-atm/linux-atm-2.5.2-r2.ebuild new file mode 100644 index 000000000000..068f52d9cc6c --- /dev/null +++ b/net-dialup/linux-atm/linux-atm-2.5.2-r2.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic linux-info + +DESCRIPTION="Tools for ATM" +HOMEPAGE="https://linux-atm.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + +BDEPEND="sys-devel/bison" + +RESTRICT="test" + +CONFIG_CHECK="~ATM" + +PATCHES=( + "${FILESDIR}"/${P}-headers.patch + "${FILESDIR}"/${P}-linux-5.2-SIOCGSTAMP.patch + "${FILESDIR}"/${P}-linux-headers-5.19.patch + "${FILESDIR}"/${P}-c99-musl.patch + "${FILESDIR}"/${P}-remove-bad-define.patch + "${FILESDIR}"/${P}-fix-booleans.patch + "${FILESDIR}"/${P}-socklen-types.patch + "${FILESDIR}"/${P}-fix-formatting.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + append-flags -fno-strict-aliasing + export YACC=bison + econf +} + +src_install() { + default + find "${ED}" -name '*.la' -delete || die + dodoc doc/README* doc/atm* +} diff --git a/net-dialup/linux-atm/metadata.xml b/net-dialup/linux-atm/metadata.xml new file mode 100644 index 000000000000..92d8df43c00e --- /dev/null +++ b/net-dialup/linux-atm/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <upstream> + <remote-id type="sourceforge">linux-atm</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/lrzsz/Manifest b/net-dialup/lrzsz/Manifest new file mode 100644 index 000000000000..f0ba33792cdd --- /dev/null +++ b/net-dialup/lrzsz/Manifest @@ -0,0 +1,2 @@ +DIST gettext-0.19.8-runtime-m4.tar.xz 26092 BLAKE2B 671c43cbdc393658c0f9960cf6b743b5126a52ff0a87dbd8a59f6a8c398eecfab7509421d6e01096d73e40f2feb7b2bc229822c4d475d91a703c941134a506b5 SHA512 a5e5a64c7e2bd1a0fa6d426ff72a286027451ff034050541a92ba5a4d7889f925e4674e1df89e0c7e9657329209284995afcb0180a2e441136694556450e4edd +DIST lrzsz-0.12.20.tar.gz 280938 BLAKE2B 86511ab112da849f5894f18c045f2c8a9dd4c4e97426c1d98c5b91aade6c39e26f4a7e5674e057c9596a240dfd3ef32053fcdc8ee58b33654cf15eec64779b1e SHA512 9bce64036f1f1c65f5910f19802aecaf3dc5ffeab0feeca10fa8d2fe1b83e212391cce23056d22fd0eda52df89e12ede68eb5d22ffcf22f935910d2af7399f12 diff --git a/net-dialup/lrzsz/files/lrzsz-0.12.20-AR.patch b/net-dialup/lrzsz/files/lrzsz-0.12.20-AR.patch new file mode 100644 index 000000000000..fd923d5374a9 --- /dev/null +++ b/net-dialup/lrzsz/files/lrzsz-0.12.20-AR.patch @@ -0,0 +1,10 @@ +--- a/configure.in ++++ b/configure.in +@@ -95,6 +95,7 @@ AC_PROG_GCC_TRADITIONAL + dnl AC_PROG_INSTALL included in AM_INIT_AUTOMAKE + dnl AC_PROG_MAKE_SET included in AM_INIT_AUTOMAKE + AC_PROG_RANLIB ++AM_PROG_AR + AC_ISC_POSIX + AC_USE_SYSTEM_EXTENSIONS + AM_GNU_GETTEXT diff --git a/net-dialup/lrzsz/files/lrzsz-0.12.20-automake-1.12.patch b/net-dialup/lrzsz/files/lrzsz-0.12.20-automake-1.12.patch new file mode 100644 index 000000000000..c5ecdee208d0 --- /dev/null +++ b/net-dialup/lrzsz/files/lrzsz-0.12.20-automake-1.12.patch @@ -0,0 +1,28 @@ +--- lrzsz-0.12.20/configure.in ++++ lrzsz-0.12.20/configure.in +@@ -97,7 +97,6 @@ + AC_ISC_POSIX + AC_USE_SYSTEM_EXTENSIONS + AM_GNU_GETTEXT +-AM_C_PROTOTYPES + AC_C_CONST + AC_C_INLINE + +--- lrzsz-0.12.20/lib/Makefile.am ++++ lrzsz-0.12.20/lib/Makefile.am +@@ -1,5 +1,4 @@ + noinst_LIBRARIES=libzmodem.a +-AUTOMAKE_OPTIONS=ansi2knr + + EXTRA_DIST = alloca.c ansi2knr.1 ansi2knr.c \ + getopt.c getopt1.c mkdir.c mktime.c \ +--- lrzsz-0.12.20/src/Makefile.am ++++ lrzsz-0.12.20/src/Makefile.am +@@ -7,7 +7,6 @@ + DISTCLEAN_FILES=lrzszbug + + LDADD = ../lib/libzmodem.a @INTLLIBS@ +-AUTOMAKE_OPTIONS=ansi2knr + EXTRA_DIST = ansi2knr.1 ansi2knr.c lrzszbug.in + INCLUDES = -I.. -I$(srcdir) -I$(top_srcdir)/src -I../intl -I$(top_srcdir)/lib + #DEFS = -DLOCALEDIR=\"$(localedir)\" -DOS=\"@host_os@\" -DCPU=\"@host_cpu@\" diff --git a/net-dialup/lrzsz/files/lrzsz-0.12.20-automake-1.13.patch b/net-dialup/lrzsz/files/lrzsz-0.12.20-automake-1.13.patch new file mode 100644 index 000000000000..a0d67c9f014f --- /dev/null +++ b/net-dialup/lrzsz/files/lrzsz-0.12.20-automake-1.13.patch @@ -0,0 +1,12 @@ +diff -urN lrzsz-0.12.20/configure.in lrzsz-0.12.20-new/configure.in +--- lrzsz-0.12.20/configure.in 1998-12-30 16:50:07.000000000 +0900 ++++ lrzsz-0.12.20-new/configure.in 2013-04-26 18:53:29.020100620 +0900 +@@ -1,7 +1,7 @@ + dnl Process this file with autoconf to produce a configure script. + AC_INIT(src/crctab.c) + AM_INIT_AUTOMAKE(lrzsz, 0.12.20) +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADERS([config.h]) + + + dnl AC_C_CROSS is in AC_PROG_CC since 2.12 diff --git a/net-dialup/lrzsz/files/lrzsz-0.12.20-c23.patch b/net-dialup/lrzsz/files/lrzsz-0.12.20-c23.patch new file mode 100644 index 000000000000..428d9d25165f --- /dev/null +++ b/net-dialup/lrzsz/files/lrzsz-0.12.20-c23.patch @@ -0,0 +1,79 @@ +https://bugs.gentoo.org/943880 + +--- a/lib/error.c ++++ b/lib/error.c +@@ -73,7 +73,7 @@ extern char *program_name; + + # if HAVE_STRERROR + # ifndef strerror /* On some systems, strerror is a macro */ +-char *strerror (); ++char *strerror (int); + # endif + # else + static char * +--- a/lib/long-options.c ++++ b/lib/long-options.c +@@ -36,11 +36,11 @@ static struct option const long_options[] = + /* Process long options --help and --version, but only if argc == 2. + Be careful not to gobble up `--'. */ + void +-parse_long_options (argc, argv,version, usage) +- int argc; +- char **argv; +- void (*version)(); +- void (*usage)(); ++parse_long_options ( ++ int argc, ++ char **argv, ++ void (*version)(void), ++ void (*usage)(int)) + { + int c; + int saved_opterr; +@@ -61,7 +61,7 @@ parse_long_options (argc, argv,version, usage) + (*usage) (0); + + case 'v': +- (*version) (0); ++ (*version) (); + /* printf ("%s (%s) %s\n", command_name, package, version_string); */ + exit (0); + +--- a/lib/xstrtol.c ++++ b/lib/xstrtol.c +@@ -65,17 +65,17 @@ extern int errno; + } \ + while (0) + +-__unsigned long int __strtol (); ++__unsigned long int __strtol (const char*, char**, int); + + /* FIXME: comment. */ + + strtol_error +-__xstrtol (s, ptr, base, val, valid_suffixes) +- const char *s; +- char **ptr; +- int base; +- __unsigned long int *val; +- const char *valid_suffixes; ++__xstrtol ( ++ const char *s, ++ char **ptr, ++ int base, ++ __unsigned long int *val, ++ const char *valid_suffixes) + { + char *t_ptr; + char **p; +--- a/lib/getopt.h ++++ b/lib/getopt.h +@@ -101,7 +101,7 @@ struct option + errors, only prototype getopt for the GNU C library. */ + extern int getopt (int argc, char *const *argv, const char *shortopts); + #else /* not __GNU_LIBRARY__ */ +-extern int getopt (); ++extern int getopt (int argc, char *const *argv, const char *shortopts); + #endif /* __GNU_LIBRARY__ */ + extern int getopt_long (int argc, char *const *argv, const char *shortopts, + const struct option *longopts, int *longind); diff --git a/net-dialup/lrzsz/files/lrzsz-0.12.20-c99.patch b/net-dialup/lrzsz/files/lrzsz-0.12.20-c99.patch new file mode 100644 index 000000000000..db593179b02e --- /dev/null +++ b/net-dialup/lrzsz/files/lrzsz-0.12.20-c99.patch @@ -0,0 +1,27 @@ +https://src.fedoraproject.org/rpms/lrzsz/blob/c23247c9c7604aec31d49ed1b238622835f575e2/f/lrzsz-socklen.patch + +Use socklen_t as the length of the socket address (which is a bit of +an anachronism, considering the rest of the sources). The previous +code des not work on 64-bit big-endian architectures. + +--- a/src/tcp.c ++++ b/src/tcp.c +@@ -56,7 +56,7 @@ tcp_server (char *buf) + struct sockaddr_in s; + struct sockaddr_in t; + int on=1; +- size_t len; ++ socklen_t len; + + if ((sock = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0) { + error(1,errno,"socket"); +@@ -91,7 +91,7 @@ tcp_accept (int d) + { + int so; + struct sockaddr_in s; +- size_t namelen; ++ socklen_t namelen; + int num=0; + + namelen = sizeof(s); + diff --git a/net-dialup/lrzsz/files/lrzsz-0.12.20-configure-clang16.patch b/net-dialup/lrzsz/files/lrzsz-0.12.20-configure-clang16.patch new file mode 100644 index 000000000000..bda489d11dd4 --- /dev/null +++ b/net-dialup/lrzsz/files/lrzsz-0.12.20-configure-clang16.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/898970 +--- a/configure.in ++++ b/configure.in +@@ -186,7 +186,8 @@ AC_CACHE_VAL(lrzsz_cv_sys_ftime_ok, + #include <sys/types.h> + #include <sys/timeb.h> + #include <stdio.h> +-main () ++#include <stdlib.h> ++int main (void) + { + struct timeb s, slast; + int c = 0; diff --git a/net-dialup/lrzsz/files/lrzsz-0.12.20-disable-nls.patch b/net-dialup/lrzsz/files/lrzsz-0.12.20-disable-nls.patch new file mode 100644 index 000000000000..b0f290e71564 --- /dev/null +++ b/net-dialup/lrzsz/files/lrzsz-0.12.20-disable-nls.patch @@ -0,0 +1,25 @@ +This package does not contain the m4 macros from gettext, so if gettext is not +installed the macros are lost when running eautoreconf. + +Embed the required m4 files and add the directory to configure.ac. + +--- a/Makefile.am ++++ b/Makefile.am +@@ -5,6 +5,7 @@ + noinst_SCRIPTS=systype + PR=@PACKAGE@-@VERSION@ + CLEAN_FILES=fastcheck.done ++AC_CONFIG_MACRO_DIR=-I m4 + + dist-hook: + mkdir $(distdir)/debian +--- a/configure.in ++++ b/configure.in +@@ -3,6 +3,7 @@ + AC_INIT(src/crctab.c) + AM_INIT_AUTOMAKE(lrzsz, 0.12.20) + AC_CONFIG_HEADERS([config.h]) ++AC_CONFIG_MACRO_DIR([m4]) + + + dnl AC_C_CROSS is in AC_PROG_CC since 2.12 diff --git a/net-dialup/lrzsz/files/lrzsz-0.12.20-fix-integer-overflow.patch b/net-dialup/lrzsz/files/lrzsz-0.12.20-fix-integer-overflow.patch new file mode 100644 index 000000000000..771b67dda473 --- /dev/null +++ b/net-dialup/lrzsz/files/lrzsz-0.12.20-fix-integer-overflow.patch @@ -0,0 +1,23 @@ +https://src.fedoraproject.org/rpms/lrzsz/blob/rawhide/f/lrzsz-0.12.20.patch +https://bugs.gentoo.org/797247 + +diff -urN lrzsz-0.12.20/src/zm.c lrzsz-0.12.20.new/src/zm.c +--- lrzsz-0.12.20/src/zm.c Tue Dec 29 09:48:38 1998 ++++ lrzsz-0.12.20.new/src/zm.c Tue Oct 8 12:46:58 2002 +@@ -431,10 +431,12 @@ + VPRINTF(3,("zsdata: %lu %s", (unsigned long) length, + Zendnames[(frameend-ZCRCE)&3])); + crc = 0; +- do { +- zsendline(*buf); crc = updcrc((0377 & *buf), crc); +- buf++; +- } while (--length>0); ++ ++ for( ; length; length--) { ++ zsendline(*buf); crc = updcrc((0377 & *buf), crc); ++ buf++; ++ } ++ + xsendline(ZDLE); xsendline(frameend); + crc = updcrc(frameend, crc); + diff --git a/net-dialup/lrzsz/files/lrzsz-0.12.20-gettext-0.20.patch b/net-dialup/lrzsz/files/lrzsz-0.12.20-gettext-0.20.patch new file mode 100644 index 000000000000..3c58bd18091a --- /dev/null +++ b/net-dialup/lrzsz/files/lrzsz-0.12.20-gettext-0.20.patch @@ -0,0 +1,23 @@ +diff -udr a/configure.in b/configure.in +--- a/configure.in 1998-12-30 08:50:07.000000000 +0100 ++++ b/configure.in 2019-06-01 20:38:54.918650170 +0200 +@@ -1,3 +1,4 @@ ++m4_pattern_allow(.*) + dnl Process this file with autoconf to produce a configure script. + AC_INIT(src/crctab.c) + AM_INIT_AUTOMAKE(lrzsz, 0.12.20) +diff -udr lrzsz-0.12.20.orig/po/Makefile.in.in lrzsz-0.12.20/po/Makefile.in.in +--- a/po/Makefile.in.in 1998-04-26 15:22:40.000000000 +0200 ++++ b/po/Makefile.in.in 2019-06-01 20:48:09.020703542 +0200 +@@ -110,9 +110,9 @@ + install-data-no: all + install-data-yes: all + if test -r $(MKINSTALLDIRS); then \ +- $(MKINSTALLDIRS) $(datadir); \ ++ $(MKINSTALLDIRS) $(DATADIR); \ + else \ +- $(top_srcdir)/mkinstalldirs $(datadir); \ ++ $(top_srcdir)/mkinstalldirs $(DATADIR); \ + fi + @catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ diff --git a/net-dialup/lrzsz/files/lrzsz-0.12.20-gettext-0.22.patch b/net-dialup/lrzsz/files/lrzsz-0.12.20-gettext-0.22.patch new file mode 100644 index 000000000000..016e6dd40262 --- /dev/null +++ b/net-dialup/lrzsz/files/lrzsz-0.12.20-gettext-0.22.patch @@ -0,0 +1,48 @@ +gettext 0.22 removed BUILD_INCLUDED_LIBINTL and USE_INCLUDED_LIBINTL is 'no' + +INSTOBJEXT was deprecated and removed, replace with .mo + +Bug: https://bugs.gentoo.org/908861 + +--- a/intl/Makefile.in ++++ b/intl/Makefile.in +@@ -81,7 +81,7 @@ + + INCLUDES = -I.. -I. -I$(top_srcdir)/intl -I$(top_srcdir)/lib + +-all: all-@USE_INCLUDED_LIBINTL@ ++all: all-no + + all-yes: libintl.$la intlh.inst + all-no: +--- a/configure.in ++++ b/configure.in +@@ -98,7 +98,7 @@ + AM_PROG_AR + AC_ISC_POSIX + AC_USE_SYSTEM_EXTENSIONS +-AM_GNU_GETTEXT ++AM_GNU_GETTEXT([use-libtool]) + AC_C_CONST + AC_C_INLINE + +@@ -264,6 +264,8 @@ + AC_SUBST(LDFLAGS) + AC_SUBST(LIBS) + ++INTLLIBS="$LIBINTL" ++AC_SUBST(INTLLIBS) + + AC_DEFINE_UNQUOTED(LOCALEDIR,"$prefix/$DATADIRNAME", [LOCALEDIR]) + AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl) +--- a/po/Makefile.in.in ++++ b/po/Makefile.in.in +@@ -53,7 +53,7 @@ + + CATALOGS = de.gmo + CATOBJEXT = @CATOBJEXT@ +-INSTOBJEXT = @INSTOBJEXT@ ++INSTOBJEXT = .mo + + .SUFFIXES: + .SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat diff --git a/net-dialup/lrzsz/files/lrzsz-autotools.patch b/net-dialup/lrzsz/files/lrzsz-autotools.patch new file mode 100644 index 000000000000..704af801559e --- /dev/null +++ b/net-dialup/lrzsz/files/lrzsz-autotools.patch @@ -0,0 +1,264 @@ +diff -Nru lrzsz-0.12.20.orig/acinclude.m4 lrzsz-0.12.20/acinclude.m4 +--- lrzsz-0.12.20.orig/acinclude.m4 1998-12-27 23:08:59.000000000 +0100 ++++ lrzsz-0.12.20/acinclude.m4 2010-09-25 00:43:43.000000000 +0200 +@@ -13,7 +13,7 @@ + lrzsz_cv_decl_errno=yes, lrzsz_cv_decl_errno=no)]) + AC_MSG_RESULT($lrzsz_cv_decl_errno) + if test $lrzsz_cv_decl_errno = yes; then +- AC_DEFINE([HAVE_ERRNO_DECLARATION]) ++ AC_DEFINE([HAVE_ERRNO_DECLARATION], 1, [[HAVE_ERRNO_DECLARATION]]) + fi + ]) + +@@ -57,7 +57,7 @@ + ], ac_cv_type_speed_t=yes, ac_cv_type_speed_t=no)])dnl + AC_MSG_RESULT($ac_cv_type_speed_t) + if test $ac_cv_type_speed_t = no; then +- AC_DEFINE([speed_t],long) ++ AC_DEFINE([speed_t],long, [speed_t]) + fi + ]) + +@@ -69,7 +69,7 @@ + #include <sys/select.h>], + [struct tm *tp;], lrzsz_cv_header_sys_select=yes, lrzsz_cv_header_sys_select=no)]) + if test $lrzsz_cv_header_sys_select = no; then +- AC_DEFINE(SYS_TIME_WITHOUT_SYS_SELECT) ++ AC_DEFINE(SYS_TIME_WITHOUT_SYS_SELECT, 1, [SYS_TIME_WITHOUT_SYS_SELECT]) + fi + ]) + +diff -Nru lrzsz-0.12.20.orig/configure.in lrzsz-0.12.20/configure.in +--- lrzsz-0.12.20.orig/configure.in 1998-12-30 08:50:07.000000000 +0100 ++++ lrzsz-0.12.20/configure.in 2010-09-25 00:45:10.000000000 +0200 +@@ -20,6 +20,11 @@ + AC_SUBST(PACKAGE) + AC_SUBST(VERSION) + ++GT_YES="#" ++GT_NO="" ++AC_SUBST(GT_YES) ++AC_SUBST(GT_NO) ++ + changequote(,)dnl + case $VERSION in + [0-9]*.[0-9]*.[0-9]*) README_ALPHA="README-alpha";; +@@ -33,25 +38,25 @@ + [if test "$enableval" = "no" ; then + : + else +- AC_DEFINE(ENABLE_TIMESYNC) ++ AC_DEFINE(ENABLE_TIMESYNC, 1, [ENABLE_TIMESYNC]) + fi], +- [AC_DEFINE(ENABLE_TIMESYNC)]) ++ [AC_DEFINE(ENABLE_TIMESYNC, 1, [ENABLE_TIMESYNC])]) + AC_SUBST(ENABLE_TIMESYNC) + AC_ARG_ENABLE(pubdir, + [--enable-pubdir=/path include support for a public writeable directory], + [if test "$enableval" = "no" ; then + : + else +- AC_DEFINE_UNQUOTED(PUBDIR,"$enableval") ++ AC_DEFINE_UNQUOTED(PUBDIR,"$enableval", [PUBDIR]) + fi]) + AC_ARG_ENABLE(mkdir, + [--disable-mkdir disable support for creating directories (lrz)], + [if test "$enableval" = "no" ; then + : + else +- AC_DEFINE(ENABLE_MKDIR) ++ AC_DEFINE(ENABLE_MKDIR, 1, [ENABLE_MKDIR]) + fi], +- [AC_DEFINE(ENABLE_MKDIR)]) ++ [AC_DEFINE(ENABLE_MKDIR, 1, [ENABLE_MKDIR])]) + AC_ARG_ENABLE(syslog, + [--enable-syslog=FACILITY,{force,default,optional} include syslogsupport], + [ +@@ -62,7 +67,7 @@ + *,*) + level=`echo $enableval|sed -e 's/^.*,//'` + fac=`echo $enableval|sed -e 's/,.*$//'` +- AC_DEFINE_UNQUOTED(ENABLE_SYSLOG,$fac) ++ AC_DEFINE_UNQUOTED(ENABLE_SYSLOG,$fac, [ENABLE_SYSLOG]) + ;; + *) + lookup_facility=LOG_UUCP +@@ -70,16 +75,16 @@ + ;; + esac + if test "$level" = "force" ; then +- AC_DEFINE(ENABLE_SYSLOG_FORCE) ++ AC_DEFINE(ENABLE_SYSLOG_FORCE, 1, [ENABLE_SYSLOG_FORCE]) + else + if test "$level" = "optional" ; then + : + else +- AC_DEFINE(ENABLE_SYSLOG_DEFAULT) ++ AC_DEFINE(ENABLE_SYSLOG_DEFAULT, 1, [ENABLE_SYSLOG_DEFAULT]) + fi + fi + fi],[ +- AC_DEFINE(ENABLE_SYSLOG_DEFAULT) ++ AC_DEFINE(ENABLE_SYSLOG_DEFAULT, 1, [ENABLE_SYSLOG_DEFAULT]) + lookup_facility=LOG_UUCP + ]) + +@@ -90,8 +95,8 @@ + dnl AC_PROG_MAKE_SET included in AM_INIT_AUTOMAKE + AC_PROG_RANLIB + AC_ISC_POSIX +-AC_AIX +-AC_MINIX ++AC_USE_SYSTEM_EXTENSIONS ++AM_GNU_GETTEXT + AM_C_PROTOTYPES + AC_C_CONST + AC_C_INLINE +@@ -113,7 +118,7 @@ + fi + case "$CFLAGS" in + *-Wstrict-prototypes*) +- AC_DEFINE(STRICT_PROTOTYPES) ++ AC_DEFINE(STRICT_PROTOTYPES, 1, [STRICT_PROTOTYPES]) + ;; + esac + +@@ -131,7 +136,7 @@ + LRZSZ_HEADERS_TERM_IO + AC_CHECK_HEADERS(termios.h sys/termios.h termio.h sys/termio.h sgtty.h) + AC_CHECK_HEADERS(sys/mman.h utime.h syslog.h sys/syslog.h sys/param.h) +-AC_CHECK_HEADERS(sys/select.h strings.h arpa/inet.h) ++AC_CHECK_HEADERS(sys/select.h strings.h locale.h arpa/inet.h) + + dnl Checks for typedefs, structures, and compiler characteristics. + AC_TYPE_SIZE_T +@@ -153,7 +158,7 @@ + dnl AC_FUNC_UTIME_NULL + AC_FUNC_MMAP + AC_FUNC_ALLOCA +-AC_EGREP_HEADER([struct.*utimbuf], utime.h, AC_DEFINE(HAVE_STRUCT_UTIMBUF)) ++AC_EGREP_HEADER([struct.*utimbuf], utime.h, AC_DEFINE(HAVE_STRUCT_UTIMBUF, 1, [HAVE_STRUCT_UTIMBUF])) + + AC_CHECK_FUNCS(gettimeofday settimeofday) + AC_CHECK_FUNCS(strchr memcpy select vprintf) +@@ -206,10 +211,10 @@ + lrzsz_cv_sys_ftime_ok=no, + lrzsz_cv_sys_ftime_ok=runtime)]) + case $lrzsz_cv_sys_ftime_ok in +-yes) AC_DEFINE(HAVE_FTIME) AC_MSG_RESULT(yes) ;; ++yes) AC_DEFINE(HAVE_FTIME, 1, [HAVE_FTIME]) AC_MSG_RESULT(yes) ;; + no) AC_MSG_RESULT(no) + AC_MSG_WARN(ftime seems to be buggy) ;; +-runtime) AC_DEFINE(HAVE_FTIME) ++runtime) AC_DEFINE(HAVE_FTIME, 1, [HAVE_FTIME]) + AC_MSG_RESULT(will check at run time) ;; + esac + ]) +@@ -223,7 +228,7 @@ + ]) + if test $libquark_cv_var_timezone = yes ; then + AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_TIMEZONE_VAR) ++ AC_DEFINE(HAVE_TIMEZONE_VAR, 1, [HAVE_TIMEZONE_VAR]) + else + AC_MSG_RESULT(no) + fi +@@ -245,9 +250,9 @@ + ]) + if test $lrzsz_cv_lookup_facility = yes ; then + AC_MSG_RESULT(yes) +- AC_DEFINE_UNQUOTED(ENABLE_SYSLOG,$lookup_facility) ++ AC_DEFINE_UNQUOTED(ENABLE_SYSLOG,$lookup_facility, [ENABLE_SYSLOG]) + else +- AC_DEFINE(ENABLE_SYSLOG,LOG_USER) ++ AC_DEFINE(ENABLE_SYSLOG,LOG_USER, [ENABLE_SYSLOG]) + AC_MSG_RESULT(no) + fi + fi +@@ -257,9 +262,8 @@ + AC_SUBST(LDFLAGS) + AC_SUBST(LIBS) + +-AM_GNU_GETTEXT + +-AC_DEFINE_UNQUOTED(LOCALEDIR,"$prefix/$DATADIRNAME") ++AC_DEFINE_UNQUOTED(LOCALEDIR,"$prefix/$DATADIRNAME", [LOCALEDIR]) + AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl) + + AC_OUTPUT([Makefile intl/Makefile lib/Makefile testsuite/Makefile \ +diff -Nru lrzsz-0.12.20.orig/lib/Makefile.am lrzsz-0.12.20/lib/Makefile.am +--- lrzsz-0.12.20.orig/lib/Makefile.am 1998-12-27 17:25:26.000000000 +0100 ++++ lrzsz-0.12.20/lib/Makefile.am 2010-09-25 00:43:43.000000000 +0200 +@@ -1,5 +1,4 @@ + noinst_LIBRARIES=libzmodem.a +-CFLAGS=@CFLAGS@ + AUTOMAKE_OPTIONS=ansi2knr + + EXTRA_DIST = alloca.c ansi2knr.1 ansi2knr.c \ +diff -Nru lrzsz-0.12.20.orig/po/Makefile.in.in lrzsz-0.12.20/po/Makefile.in.in +--- lrzsz-0.12.20.orig/po/Makefile.in.in 1998-04-26 15:22:40.000000000 +0200 ++++ lrzsz-0.12.20/po/Makefile.in.in 2010-09-25 00:43:43.000000000 +0200 +@@ -51,7 +51,7 @@ + + POTFILES = \ + +-CATALOGS = @CATALOGS@ ++CATALOGS = de.gmo + CATOBJEXT = @CATOBJEXT@ + INSTOBJEXT = @INSTOBJEXT@ + +@@ -118,8 +118,8 @@ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + case "$$cat" in \ +- *.gmo) destdir=$(gnulocaledir);; \ +- *) destdir=$(localedir);; \ ++ *.gmo) destdir=$(DESTDIR)$(gnulocaledir);; \ ++ *) destdir=$(DESTDIR)$(localedir);; \ + esac; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + dir=$$destdir/$$lang/LC_MESSAGES; \ +diff -Nru lrzsz-0.12.20.orig/src/Makefile.am lrzsz-0.12.20/src/Makefile.am +--- lrzsz-0.12.20.orig/src/Makefile.am 1998-12-28 09:38:47.000000000 +0100 ++++ lrzsz-0.12.20/src/Makefile.am 2010-09-25 00:43:43.000000000 +0200 +@@ -4,7 +4,6 @@ + noinst_HEADERS = timing.h zglobal.h zmodem.h + datadir = $(prefix)/@DATADIRNAME@ + localedir = $(datadir)/locale +-CFLAGS=@CFLAGS@ + DISTCLEAN_FILES=lrzszbug + + LDADD = ../lib/libzmodem.a @INTLLIBS@ +@@ -14,22 +13,16 @@ + #DEFS = -DLOCALEDIR=\"$(localedir)\" -DOS=\"@host_os@\" -DCPU=\"@host_cpu@\" + DEFS = -DNFGVMIN @DEFS@ -DLOCALEDIR=\"$(localedir)\" + +-install-exec-local: +- rm -f $(DESTDIR)/$(bindir)/`echo lsb | sed -e '$(transform)'` +- ln $(DESTDIR)/$(bindir)/`echo lsz |sed -e '$(transform)'` \ +- $(DESTDIR)/$(bindir)/`echo lsb |sed -e '$(transform)'` +- rm -f $(bindir)/`echo lsx | sed -e '$(transform)'` +- ln $(DESTDIR)/$(bindir)/`echo lsz |sed -e '$(transform)'` \ +- $(DESTDIR)/$(bindir)/`echo lsx |sed -e '$(transform)'` +- rm -f $(bindir)/`echo lrb | sed -e '$(transform)'` +- ln $(DESTDIR)/$(bindir)/`echo lrz |sed -e '$(transform)'` \ +- $(DESTDIR)/$(bindir)/`echo lrb |sed -e '$(transform)'` +- rm -f $(bindir)/`echo lrx | sed -e '$(transform)'` +- ln $(DESTDIR)/$(bindir)/`echo lrz |sed -e '$(transform)'` \ +- $(DESTDIR)/$(bindir)/`echo lrx |sed -e '$(transform)'` +-# rm -f $(bindir)/`echo lrzszbug | sed -e '$(transform)'` +-# ln $(bindir)/`echo lrzszbug |sed -e '$(transform)'` \ +-# $(bindir)/`echo lrzszbug |sed -e '$(transform)'` ++# Caveat: program name transformation is ignored here. ++$(DESTDIR)$(bindir)/lsz $(DESTDIR)$(bindir)/lrz: install-binPROGRAMS ++ ++$(DESTDIR)$(bindir)/lsb $(DESTDIR)$(bindir)/lsx: $(DESTDIR)$(bindir)/lsz ++ rm -f $@ ; ln -s `basename $<` $@ ++ ++$(DESTDIR)$(bindir)/lrb $(DESTDIR)$(bindir)/lrx: $(DESTDIR)$(bindir)/lrz ++ rm -f $@ ; ln -s `basename $<` $@ ++ ++install-exec-local: $(DESTDIR)$(bindir)/lsb $(DESTDIR)$(bindir)/lsx $(DESTDIR)$(bindir)/lrb $(DESTDIR)$(bindir)/lrx + + uninstall-local: + rm -f $(DESTDIR)/$(bindir)/`echo lsb |sed -e '$(transform)'` diff --git a/net-dialup/lrzsz/files/lrzsz-implicit-decl.patch b/net-dialup/lrzsz/files/lrzsz-implicit-decl.patch new file mode 100644 index 000000000000..9b1decdba856 --- /dev/null +++ b/net-dialup/lrzsz/files/lrzsz-implicit-decl.patch @@ -0,0 +1,21 @@ +--- lrzsz-0.12.20/lib/long-options.c ++++ lrzsz-0.12.20/lib/long-options.c +@@ -22,6 +22,7 @@ + #endif + + #include <stdio.h> ++#include <stdlib.h> + #include <getopt.h> + #include "long-options.h" + +--- lrzsz-0.12.20/src/lsyslog.c ++++ lrzsz-0.12.20/src/lsyslog.c +@@ -22,6 +22,8 @@ + #ifdef ENABLE_SYSLOG ++#define _GNU_SOURCE + #include "zglobal.h" + #include <pwd.h> ++#include <stdio.h> + #include <stdlib.h> + #include <string.h> + #endif diff --git a/net-dialup/lrzsz/lrzsz-0.12.20-r10.ebuild b/net-dialup/lrzsz/lrzsz-0.12.20-r10.ebuild new file mode 100644 index 000000000000..f5296b551493 --- /dev/null +++ b/net-dialup/lrzsz/lrzsz-0.12.20-r10.ebuild @@ -0,0 +1,80 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic toolchain-funcs + +DESCRIPTION="Communication package providing the X, Y, and ZMODEM file transfer protocols" +HOMEPAGE="https://www.ohse.de/uwe/software/lrzsz.html" +SRC_URI=" + https://www.ohse.de/uwe/releases/${P}.tar.gz + https://distfiles.gentoo.org/pub/dev/ceamac@gentoo.org/${CATEGORY}/${PN}/gettext-0.19.8-runtime-m4.tar.xz +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="nls" + +DEPEND="nls? ( virtual/libintl )" +BDEPEND="nls? ( sys-devel/gettext )" + +PATCHES=( + "${FILESDIR}"/${PN}-autotools.patch + "${FILESDIR}"/${PN}-implicit-decl.patch + "${FILESDIR}"/${P}-automake-1.12.patch + "${FILESDIR}"/${P}-automake-1.13.patch + "${FILESDIR}"/${P}-gettext-0.20.patch + "${FILESDIR}"/${P}-AR.patch + "${FILESDIR}"/${P}-configure-clang16.patch + "${FILESDIR}"/${P}-gettext-0.22.patch + "${FILESDIR}"/${P}-disable-nls.patch + "${FILESDIR}"/${P}-c99.patch + "${FILESDIR}"/${P}-fix-integer-overflow.patch + "${FILESDIR}"/${P}-c23.patch +) + +DOCS=( AUTHORS COMPATABILITY ChangeLog NEWS \ + README{,.cvs,.gettext,.isdn4linux,.tests} THANKS TODO ) + +src_prepare() { + default + + # automake is unhappy if this is missing + >> config.rpath || die + # This is too old. Remove it so automake puts in a newer copy. + rm missing || die + # Autoheader does not like seeing this file. + rm acconfig.h || die + # embed default m4 files in case gettext is not installed + mv "${WORKDIR}"/m4 . || die + + eautoreconf +} + +src_configure() { + tc-export CC + + # bug #943880, bug #969297 + append-cppflags -DSTRICT_PROTOTYPES + + econf $(use_enable nls) +} + +src_test() { + # Don't use check target. + # See bug #120748 before changing this function. + emake vcheck +} + +src_install() { + default + + local x + for x in {r,s}{b,x,z} ; do + dosym l${x} /usr/bin/${x} + dosym l${x:0:1}z.1 /usr/share/man/man1/${x}.1 + [ "${x:1:1}" = "z" ] || dosym l${x:0:1}z.1 /usr/share/man/man1/l${x}.1 + done +} diff --git a/net-dialup/lrzsz/metadata.xml b/net-dialup/lrzsz/metadata.xml new file mode 100644 index 000000000000..62f678c96684 --- /dev/null +++ b/net-dialup/lrzsz/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>embedded@gentoo.org</email> + <name>Embedded Gentoo</name> +</maintainer> +<upstream> + <remote-id type="cpe">cpe:/a:lrzsz_project:lrzsz</remote-id> +</upstream> +</pkgmetadata> diff --git a/net-dialup/metadata.xml b/net-dialup/metadata.xml new file mode 100644 index 000000000000..a4e517c9106b --- /dev/null +++ b/net-dialup/metadata.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE catmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<catmetadata> + <longdescription lang="en"> + The net-dialup category contains dialup-related networking software. + </longdescription> + <longdescription lang="de"> + Die Kategorie net-dialup enthält Software für Dialup-Verbindungen. + </longdescription> + <longdescription lang="es"> + La categoría net-dialup contiene paquetes relacionados con conexiones + telefónicas. + </longdescription> + <longdescription lang="ja"> + net-dialupカテゴリーにはダイアルアップに関連したネットワーキング・ソフトウェアが含まれています。 + </longdescription> + <longdescription lang="nl"> + De net-dialup categorie bevat applicaties voor inbelverbindingen. + </longdescription> + <longdescription lang="vi"> + Nhóm net-dialup chứa các phần mềm liên quan đến mạng quay số. + </longdescription> + <longdescription lang="it"> + La categoria net-dialup contiene pacchetti per la connessione telefonica dial-up. + </longdescription> + <longdescription lang="pt"> + A categoria net-dialup contém programas relacionados com + conexões telefônicas. + </longdescription> + <longdescription lang="pl"> + Kategoria net-dialup zawiera programy sieciowe związane z połączeniami + telefonicznymi (dialup). + </longdescription> +</catmetadata> diff --git a/net-dialup/mgetty/Manifest b/net-dialup/mgetty/Manifest new file mode 100644 index 000000000000..fb0032025e06 --- /dev/null +++ b/net-dialup/mgetty/Manifest @@ -0,0 +1 @@ +DIST mgetty-1.2.1.tar.gz 1077415 BLAKE2B 09d48c6cb7917a3dbbfc97c1d32ce43b9a3e64e8a44c8a3a7bfdd168421c287357a9d43504fb4d1b354ffb0f8e2a9c52b56ac3464f196f56064d96a7651e0d6e SHA512 2a82dfb782044d9daf8d41158fa10e991dbd7bd37ab43ea44422166554dd790e989ac49e4ff471d168d1cbb49edc5bedb8762ab61884e4653650686d1bbc2a9b diff --git a/net-dialup/mgetty/files/mgetty-1.1.36-callback.patch b/net-dialup/mgetty/files/mgetty-1.1.36-callback.patch new file mode 100644 index 000000000000..fcd4e0e2cd48 --- /dev/null +++ b/net-dialup/mgetty/files/mgetty-1.1.36-callback.patch @@ -0,0 +1,26 @@ +diff -Nru mgetty-1.1.36.orig/Makefile mgetty-1.1.36/Makefile +--- mgetty-1.1.36.orig/Makefile 2007-09-14 22:15:02.000000000 +0300 ++++ mgetty-1.1.36/Makefile 2007-09-14 22:15:37.000000000 +0300 +@@ -164,7 +164,7 @@ + # + # if your systems doesn't have one, use the shell script that I provide + # in "inst.sh" (taken from X11R5). Needed on IRIX5.2 +-INSTALL=install -c -o bin -g bin ++INSTALL=install -c + #INSTALL=install -c -o root -g wheel # NeXT/BSD + #INSTALL=/usr/ucb/install -c -o bin -g bin # AIX, Solaris 2.x + #INSTALL=installbsd -c -o bin -g bin # OSF/1, AIX 4.1, 4.2 +@@ -693,6 +693,13 @@ + + install-vgetty: vgetty-install + ++install-callback: ++ cd callback; $(MAKE) CFLAGS="$(CFLAGS)" CC="$(CC)" LDFLAGS="$(LDFLAGS)" \ ++ BINDIR="$(BINDIR)" SBINDIR="$(SBINDIR)" LIBDIR="$(LIBDIR)" \ ++ CONFDIR="$(CONFDIR)" MAN1DIR="$(MAN1DIR)" MAN8DIR="$(MAN8DIR)" INSTALL="$(INSTALL)" \ ++ LN="$(LN)" MV="$(MV)" RM="$(RM)" \ ++ LIBS="$(LIBS)" install ++ + ## test suite + test: bin-all + for D in g3 t ; do \ diff --git a/net-dialup/mgetty/files/mgetty-1.1.36-tmpfile.patch b/net-dialup/mgetty/files/mgetty-1.1.36-tmpfile.patch new file mode 100644 index 000000000000..68f6f58868d7 --- /dev/null +++ b/net-dialup/mgetty/files/mgetty-1.1.36-tmpfile.patch @@ -0,0 +1,33 @@ +diff -Nru mgetty-1.1.36.orig/fax/faxspool.in mgetty-1.1.36/fax/faxspool.in +--- mgetty-1.1.36.orig/fax/faxspool.in 2008-12-09 23:12:31.000000000 +0000 ++++ mgetty-1.1.36/fax/faxspool.in 2008-12-09 23:13:28.000000000 +0000 +@@ -675,9 +675,8 @@ + if [ x$file = x- ] + then + $echo "spooling $file (stdin)..." +- trap "rm /tmp/faxsp.$$" 0 +- cat - >/tmp/faxsp.$$ +- file=/tmp/faxsp.$$ ++ file=$spooldir/faxsp ++ cat - > $file + else + $echo "spooling $file..." + fi +@@ -924,7 +923,7 @@ + then + $echo "\nnothing to do (no cover page, no data)." >&2 + cd $FAX_SPOOL_OUT +- rmdir $spooldir ++ rm -rf $spooldir + exit 52 + fi + +@@ -965,7 +964,7 @@ + # clean up + rm $job.q + cd .. +-rmdir $spooldir ++rm -rf $spooldir + + if [ -z "`find $LAST_RUN -ctime -1 -print 2>/dev/null`" ] + then diff --git a/net-dialup/mgetty/files/mgetty-1.1.37-nofax.patch b/net-dialup/mgetty/files/mgetty-1.1.37-nofax.patch new file mode 100644 index 000000000000..6636526b691e --- /dev/null +++ b/net-dialup/mgetty/files/mgetty-1.1.37-nofax.patch @@ -0,0 +1,110 @@ +diff -Nru mgetty-1.1.37.orig/doc/Makefile mgetty-1.1.37/doc/Makefile +--- mgetty-1.1.37.orig/doc/Makefile 2007-11-25 09:31:56.000000000 +0200 ++++ mgetty-1.1.37/doc/Makefile 2007-11-25 09:28:02.000000000 +0200 +@@ -6,11 +6,10 @@ + NROFF=nroff + # + # +-MAN1PAGES=g32pbm.1 g3cat.1 pbm2g3.1 sff2g3.1 fax.1 \ +- faxspool.1 faxrunq.1 faxq.1 faxrm.1 coverpg.1 ++MAN1PAGES= + MAN4PAGES=mgettydefs.4 +-MAN5PAGES=faxqueue.5 +-MAN8PAGES=sendfax.8 mgetty.8 callback.8 faxrunqd.8 faxq-helper.8 ++MAN5PAGES= ++MAN8PAGES=mgetty.8 callback.8 + MANSRC=$(MAN1PAGES) $(MAN4PAGES) $(MAN5PAGES) $(MAN8PAGES) + MAN1DIR=/usr/local/man/man1 + MAN4DIR=/usr/local/man/man4 +diff -Nru mgetty-1.1.37.orig/Makefile mgetty-1.1.37/Makefile +--- mgetty-1.1.37.orig/Makefile 2007-11-25 09:31:58.000000000 +0200 ++++ mgetty-1.1.37/Makefile 2007-11-25 09:34:45.000000000 +0200 +@@ -324,7 +324,7 @@ + + all: bin-all doc-man-only + +-bin-all: mgetty sendfax newslock sedscript subdirs call-back ++bin-all: mgetty newslock sedscript subdirs call-back + + # a few C files need extra compiler arguments + +@@ -369,9 +369,7 @@ + # subdirectories... + + subdirs: sedscript +- cd g3 && $(MAKE) "CC=$(CC)" "CFLAGS=$(CFLAGS) -I.." "LDFLAGS=$(LDFLAGS)" "LIBS=$(LIBS)" all + cd tools && $(MAKE) "CC=$(CC)" "CFLAGS=$(CFLAGS) -I.." "LDFLAGS=$(LDFLAGS)" "LIBS=$(LIBS)" all +- cd fax && $(MAKE) "CC=$(CC)" "CFLAGS=$(CFLAGS) -I.." "LDFLAGS=$(LDFLAGS)" "LIBS=$(LIBS)" "FAX_SPOOL_OUT=$(FAX_SPOOL_OUT)" "FAX_OUT_USER=$(FAX_OUT_USER)" "CONFDIR=$(CONFDIR)" all + + call-back: + @$(MAKE) mgetty +@@ -597,7 +595,6 @@ + + -test -d $(SBINDIR) || ( ./mkidirs $(SBINDIR) ; chmod 755 $(SBINDIR) ) + $(INSTALL) -m 700 mgetty $(SBINDIR) +- $(INSTALL) -m 755 sendfax $(SBINDIR) + # + # data files + directories + # +@@ -609,12 +606,8 @@ + $(INSTALL) -o root -m 600 login.config $(CONFDIR)/ + test -f $(CONFDIR)/mgetty.config || \ + $(INSTALL) -o root -m 600 mgetty.config $(CONFDIR)/ +- test -f $(CONFDIR)/sendfax.config || \ +- $(INSTALL) -o root -m 644 sendfax.config $(CONFDIR)/ + test -f $(CONFDIR)/dialin.config || \ + $(INSTALL) -o root -m 600 dialin.config $(CONFDIR)/ +- test -f $(CONFDIR)/faxrunq.config || \ +- $(INSTALL) -o root -m 644 faxrunq.config $(CONFDIR)/ + # + # test for outdated stuff + # +@@ -626,34 +626,6 @@ + echo "" ;\ + fi + # +-# fax spool directories +-# +- test -d $(spool) || \ +- ( ./mkidirs $(spool) && chmod 755 $(spool) ) +- test -d $(FAX_SPOOL) || \ +- ( ./mkidirs $(FAX_SPOOL) && \ +- chown $(FAX_OUT_USER) $(FAX_SPOOL) && \ +- chmod 755 $(FAX_SPOOL) ) +- test -d $(FAX_SPOOL_IN) || \ +- ( ./mkidirs $(FAX_SPOOL_IN) && chmod 755 $(FAX_SPOOL_IN) ) +- test -d $(FAX_SPOOL_OUT) || \ +- ./mkidirs $(FAX_SPOOL_OUT) +- chown $(FAX_OUT_USER) $(FAX_SPOOL_OUT) +- chmod 755 $(FAX_SPOOL_OUT) +-# +-# g3 tool programs +-# +- cd g3 && $(MAKE) install INSTALL="$(INSTALL)" \ +- BINDIR=$(BINDIR) \ +- LIBDIR=$(LIBDIR) CONFDIR=$(CONFDIR) +-# +-# fax programs / scripts / font file +-# +- cd fax && $(MAKE) install INSTALL="$(INSTALL)" \ +- FAX_OUT_USER=$(FAX_OUT_USER) \ +- BINDIR=$(BINDIR) SBINDIR=$(SBINDIR) \ +- LIBDIR=$(LIBDIR) CONFDIR=$(CONFDIR) +-# + # compatibility + # + if [ ! -z "$(INSTALL_MECHO)" ] ; then \ +diff -Nru mgetty-1.1.37.orig/t/Makefile mgetty-1.1.37/t/Makefile +--- mgetty-1.1.37.orig/t/Makefile 2006-09-26 01:32:10.000000000 +0300 ++++ mgetty-1.1.37/t/Makefile 2007-11-25 09:32:28.000000000 +0200 +@@ -8,8 +8,8 @@ + CFLAGS=-O2 -I.. -g #-DT_LOG_VERBOSE + + TEST_PROGRAMS=t_config t_ring +-TEST_HELP_PGM=t_g3f_c +-TEST_SCRIPTS=t_echo t_trap t_g3file ++TEST_HELP_PGM= ++TEST_SCRIPTS=t_echo t_trap + + test: $(TEST_PROGRAMS) $(TEST_HELP_PGM) + @for f in $(TEST_PROGRAMS) ; \ diff --git a/net-dialup/mgetty/files/mgetty-1.1.37-qa-fixes.patch b/net-dialup/mgetty/files/mgetty-1.1.37-qa-fixes.patch new file mode 100644 index 000000000000..e803b4243155 --- /dev/null +++ b/net-dialup/mgetty/files/mgetty-1.1.37-qa-fixes.patch @@ -0,0 +1,175 @@ +diff -Nru mgetty-1.1.37.orig/doc/Makefile mgetty-1.1.37/doc/Makefile +--- mgetty-1.1.37.orig/doc/Makefile 2006-02-22 18:35:02.000000000 +0100 ++++ mgetty-1.1.37/doc/Makefile 2009-08-31 20:31:01.000000000 +0200 +@@ -64,7 +64,7 @@ + + install: $(MANSRC) mgetty.info + for D in `dirname $(MAN1DIR)` $(MAN1DIR) $(MAN4DIR) $(MAN5DIR) $(MAN8DIR) ; do \ +- if [ ! -d $$D ] ; then mkdir $$D || exit 1 ; fi ; \ ++ if [ ! -d $$D ] ; then mkdir -p $$D || exit 1 ; fi ; \ + done + for i in $(MAN1PAGES) ; do \ + $(INSTALL) -m 644 $$i $(MAN1DIR) ; \ +@@ -122,16 +122,16 @@ + # + .SUFFIXES: .1in .4in .5in .8in .1 .4 .5 .8 + +-.1in.1: ++.1in.1: ../sedscript + ../sedscript <$< >$*.1 + +-.4in.4: ++.4in.4: ../sedscript + ../sedscript <$< >$*.4 + +-.5in.5: ++.5in.5: ../sedscript + ../sedscript <$< >$*.5 + +-.8in.8: ++.8in.8: ../sedscript + ../sedscript <$< >$*.8 + + # +diff -Nru mgetty-1.1.37.orig/fax/Makefile mgetty-1.1.37/fax/Makefile +--- mgetty-1.1.37.orig/fax/Makefile 2006-02-22 18:25:30.000000000 +0100 ++++ mgetty-1.1.37/fax/Makefile 2009-08-31 20:31:01.000000000 +0200 +@@ -36,7 +36,7 @@ + @cd .. ; $(MAKE) sedscript + + faxq-helper: faxq-helper.o +- $(CC) $(CFLAGS) -o faxq-helper faxq-helper.o ++ $(CC) $(LDLAGS) -o faxq-helper faxq-helper.o + + faxq-helper.o: faxq-helper.c ../sedscript + $(CC) $(CFLAGS) -DFAX_SPOOL_OUT=\"$(FAX_SPOOL_OUT)\" \ +diff -Nru mgetty-1.1.37.orig/fax_lib.h mgetty-1.1.37/fax_lib.h +--- mgetty-1.1.37.orig/fax_lib.h 2007-06-15 08:44:36.000000000 +0200 ++++ mgetty-1.1.37/fax_lib.h 2009-08-31 20:31:01.000000000 +0200 +@@ -41,6 +41,7 @@ + int fax_set_fdcc _PROTO(( int fd, int fine, int maxsp, int minsp )); + int fax_set_bor _PROTO(( int fd, int bit_order )); + int fax_set_flowcontrol _PROTO(( int fd, int hw_flow )); ++void fax_init_swaptable _PROTO(( int direct, unsigned char byte_tab[] )); + int mdm_identify _PROTO(( int fd )); + void fax2_incoming_nsf _PROTO(( char * nsf_hex )); + void fax1_incoming_nsf _PROTO(( uch * nsf_bin, int len )); +diff -Nru mgetty-1.1.37.orig/frontends/www/Makefile mgetty-1.1.37/frontends/www/Makefile +--- mgetty-1.1.37.orig/frontends/www/Makefile 2006-02-22 18:25:32.000000000 +0100 ++++ mgetty-1.1.37/frontends/www/Makefile 2009-08-31 20:31:01.000000000 +0200 +@@ -125,12 +125,12 @@ + # + .SUFFIXES: .in .cgi .html + +-.in.cgi: ++.in.cgi: ../../sedscript + rm -f $*.cgi + ../../sedscript <$< >$*.cgi + chmod +x $*.cgi + +-.in.html: ++.in.html: ../../sedscript + rm -f $*.html + ../../sedscript <$< | \ + sed -e "s!@CGI_HREF@!$(CGI_HREF)!" >$*.html +diff -Nru mgetty-1.1.37.orig/logfile.c mgetty-1.1.37/logfile.c +--- mgetty-1.1.37.orig/logfile.c 2005-11-26 14:48:16.000000000 +0100 ++++ mgetty-1.1.37/logfile.c 2009-08-31 20:31:01.000000000 +0200 +@@ -58,10 +58,10 @@ + /* Most systems have these variables but do not declare them. On many + of those systems that _do_ declare them, it won't hurt */ + +-#if !defined(__NetBSD__) && !defined( __FreeBSD__ ) && !defined(__OpenBSD__) && !defined(__GLIBC__) && !defined(__MACH__) ++/*#if !defined(__NetBSD__) && !defined( __FreeBSD__ ) && !defined(__OpenBSD__) && !defined(__GLIBC__) && !defined(__MACH__) + extern int sys_nerr; + extern char *sys_errlist[]; +-#endif ++#endif*/ + + /* Interactive Unix is a little bit braindead - does not have atexit(), + */ +@@ -211,6 +211,7 @@ + va_list pvar; + int errnr; + char * p; ++char *error_string; + static int first_open = TRUE; + + if ( level > log_level ) /* log level high enough? */ +@@ -327,12 +328,20 @@ + } + else /* ERROR or FATAL */ + { ++ error_string = strerror (errnr); ++ if ( error_string == NULL ) ++ { ++ if ( errno == EINVAL ) ++ error_string = "<error not in list>"; ++ else ++ error_string = "<error calling strerror()>"; ++ } ++ + fprintf(log_fp, "\n%02d/%02d %02d:%02d:%02d %s %s: %s", + tm->tm_mon+1, tm->tm_mday, + tm->tm_hour, tm->tm_min, tm->tm_sec, + log_infix, ws, +- ( errnr <= sys_nerr ) ? sys_errlist[errnr]: +- "<error not in list>" ); ++ strerror (errnr)); + #ifdef SYSLOG + syslog( level == L_FATAL? LOG_ALERT: LOG_ERR, "%s: %m", ws ); + #endif +diff -Nru mgetty-1.1.37.orig/Makefile mgetty-1.1.37/Makefile +--- mgetty-1.1.37.orig/Makefile 2009-08-31 20:30:33.000000000 +0200 ++++ mgetty-1.1.37/Makefile 2009-08-31 20:32:08.000000000 +0200 +@@ -368,7 +368,7 @@ + + # subdirectories... + +-subdirs: ++subdirs: sedscript + cd g3 && $(MAKE) "CC=$(CC)" "CFLAGS=$(CFLAGS) -I.." "LDFLAGS=$(LDFLAGS)" "LIBS=$(LIBS)" all + cd tools && $(MAKE) "CC=$(CC)" "CFLAGS=$(CFLAGS) -I.." "LDFLAGS=$(LDFLAGS)" "LIBS=$(LIBS)" all + cd fax && $(MAKE) "CC=$(CC)" "CFLAGS=$(CFLAGS) -I.." "LDFLAGS=$(LDFLAGS)" "LIBS=$(LIBS)" "FAX_SPOOL_OUT=$(FAX_SPOOL_OUT)" "FAX_OUT_USER=$(FAX_OUT_USER)" "CONFDIR=$(CONFDIR)" all +@@ -633,15 +633,15 @@ + # fax spool directories + # + test -d $(spool) || \ +- ( mkdir $(spool) && chmod 755 $(spool) ) ++ ( ./mkidirs $(spool) && chmod 755 $(spool) ) + test -d $(FAX_SPOOL) || \ +- ( mkdir $(FAX_SPOOL) && \ ++ ( ./mkidirs $(FAX_SPOOL) && \ + chown $(FAX_OUT_USER) $(FAX_SPOOL) && \ + chmod 755 $(FAX_SPOOL) ) + test -d $(FAX_SPOOL_IN) || \ +- ( mkdir $(FAX_SPOOL_IN) && chmod 755 $(FAX_SPOOL_IN) ) ++ ( ./mkidirs $(FAX_SPOOL_IN) && chmod 755 $(FAX_SPOOL_IN) ) + test -d $(FAX_SPOOL_OUT) || \ +- mkdir $(FAX_SPOOL_OUT) ++ ./mkidirs $(FAX_SPOOL_OUT) + chown $(FAX_OUT_USER) $(FAX_SPOOL_OUT) + chmod 755 $(FAX_SPOOL_OUT) + # +diff -Nru mgetty-1.1.37.orig/t/t_g3f_c.c mgetty-1.1.37/t/t_g3f_c.c +--- mgetty-1.1.37.orig/t/t_g3f_c.c 2007-05-05 14:03:03.000000000 +0200 ++++ mgetty-1.1.37/t/t_g3f_c.c 2009-08-31 20:31:01.000000000 +0200 +@@ -19,6 +19,7 @@ + #include "fax_lib.h" + + #include <stdio.h> ++#include <unistd.h> + #include <signal.h> + #include <errno.h> + #include <stdlib.h> +diff -Nru mgetty-1.1.37.orig/t/t_ring.c mgetty-1.1.37/t/t_ring.c +--- mgetty-1.1.37.orig/t/t_ring.c 2005-03-23 10:56:21.000000000 +0100 ++++ mgetty-1.1.37/t/t_ring.c 2009-08-31 20:31:01.000000000 +0200 +@@ -24,6 +24,7 @@ + + #include "mgetty.h" + #include <stdio.h> ++#include <string.h> + #include <signal.h> + #include <errno.h> + #ifdef T_LOG_VERBOSE diff --git a/net-dialup/mgetty/files/mgetty-1.2.1-Lucent.c.patch b/net-dialup/mgetty/files/mgetty-1.2.1-Lucent.c.patch new file mode 100644 index 000000000000..ac73bea808c0 --- /dev/null +++ b/net-dialup/mgetty/files/mgetty-1.2.1-Lucent.c.patch @@ -0,0 +1,16 @@ +--- a/voice/libvoice/Lucent.c ++++ b/voice/libvoice/Lucent.c +@@ -96,6 +96,13 @@ + if (voice_command("AT+VLS=0", "OK") != VMA_USER_1) + lprintf(L_WARN, "can't deselect all input/output devices"); + ++ /* the Lucent chips DO support Caller ID, this command is OK */ ++ /* Just borrowed from the V253modem.c file */ ++ /* enable callerid (if supported) and setformat */ ++ if (voice_command("AT+VCID=1", "OK") != VMA_USER_1) ++ lprintf(L_WARN, "can't set caller ID output"); ++ /* mgetty supports formated callerid output */ ++ + voice_modem_state = IDLE; + return(OK); + } diff --git a/net-dialup/mgetty/files/mgetty-1.2.1-aarch64.patch b/net-dialup/mgetty/files/mgetty-1.2.1-aarch64.patch new file mode 100644 index 000000000000..9d3b9cbc9633 --- /dev/null +++ b/net-dialup/mgetty/files/mgetty-1.2.1-aarch64.patch @@ -0,0 +1,11 @@ +diff -U3 -r a/mgetty.h b/mgetty.h +--- a/mgetty.h 2006-01-01 12:13:18.000000000 -0500 ++++ b/mgetty.h 2018-01-13 12:53:00.337516215 -0500 +@@ -198,7 +198,7 @@ + */ + #if defined(__alpha__) || defined(__sparc64__) || \ + defined(__ia64__) || defined(__s390x__) || defined(__x86_64__) || \ +- defined(__powerpc64__) ++ defined(__powerpc64__) || defined(__aarch64__) + # define PTR_IS_LONG + #endif diff --git a/net-dialup/mgetty/files/mgetty-1.2.1-gentoo.patch b/net-dialup/mgetty/files/mgetty-1.2.1-gentoo.patch new file mode 100644 index 000000000000..fd46ff23ed46 --- /dev/null +++ b/net-dialup/mgetty/files/mgetty-1.2.1-gentoo.patch @@ -0,0 +1,154 @@ +--- a/callback/Makefile ++++ b/callback/Makefile +@@ -37,7 +37,7 @@ + # install programs + # + install: all +- $(INSTALL) -s -m 700 -o root callback $(SBINDIR) +- $(INSTALL) -s -m 4711 -o root ct $(BINDIR) ++ $(INSTALL) -m 700 -o root callback $(SBINDIR) ++ $(INSTALL) -m 4711 -o root ct $(BINDIR) + + # source modules +--- a/doc/mgetty.texi-in ++++ b/doc/mgetty.texi-in +@@ -19,6 +19,11 @@ + Copyright @copyright{} 1993-2005 Gert Doering + @end ifinfo + ++@dircategory User ++@direntry ++* MGETTY: (mgetty). Modem+Voice+Fax utilities ++@end direntry ++ + @titlepage + @sp 6 + @center @titlefont{mgetty+sendfax} +--- a/fax/faxspool.in ++++ b/fax/faxspool.in +@@ -390,7 +390,7 @@ + + # + # convert pdf data +-# needs GNU GhostScript and Adobe acroread installed. ++# needs GNU GhostScript installed. + # For driver selection, see definition of GS_DRIVER_{HI,LO} above. + # + # contributed by mfvm@gmx.de (Michael Fischer v. Mollard) +@@ -401,7 +401,7 @@ + test X$3 = X-n && driver="$GS_DRIVER_LO" + + cat $1 | +- acroread -toPostScript | ++ pdf2ps -sOutputFile=- - | + gs $driver -sOutputFile=$2%03d -dNOPAUSE -q -dSAFER - + } + +--- a/frontends/X11/viewfax/Makefile ++++ b/frontends/X11/viewfax/Makefile +@@ -61,7 +61,7 @@ + g3hack: g3hack.c + + install: viewfax +- $(INSTALL) -s -m 755 viewfax $(BINDIR) ++ $(INSTALL) -m 755 viewfax $(BINDIR) + $(INSTALL) -m 644 viewfax.man $(MANDIR)/viewfax.1 + $(INSTALL) -m 644 viewfax.tif $(LIBDIR) + +--- a/g3/Makefile ++++ b/g3/Makefile +@@ -37,13 +37,13 @@ + # install programs + # + for f in $(G3_PROGRAMS) ; do \ +- $(INSTALL) -s -m 755 $$f $(BINDIR) ; \ ++ $(INSTALL) -m 755 $$f $(BINDIR) ; \ + done + # + # make symlink for "g3topbm" (so third-party fax viewers won't fail) +-# +- -cd $(BINDIR) ; \ +- test -x g3topbm || ln -s g32pbm g3topbm ++# Note for Gentoo: following lines will create collision with netpbm if netpbm is installed after ++# -cd $(BINDIR) ; \ ++# test -x g3topbm || ln -s g32pbm g3topbm + + + # test suite +--- a/Makefile ++++ b/Makefile +@@ -596,12 +596,8 @@ + $(INSTALL) -m 755 newslock $(BINDIR) + + -test -d $(SBINDIR) || ( ./mkidirs $(SBINDIR) ; chmod 755 $(SBINDIR) ) +- if [ -f $(SBINDIR)/mgetty ] ; then \ +- mv -f $(SBINDIR)/mgetty $(SBINDIR)/mgetty.old ; fi +- if [ -f $(SBINDIR)/sendfax ] ; then \ +- mv -f $(SBINDIR)/sendfax $(SBINDIR)/sendfax.old ; fi +- $(INSTALL) -s -m 700 mgetty $(SBINDIR) +- $(INSTALL) -s -m 755 sendfax $(SBINDIR) ++ $(INSTALL) -m 700 mgetty $(SBINDIR) ++ $(INSTALL) -m 755 sendfax $(SBINDIR) + # + # data files + directories + # +@@ -663,7 +661,7 @@ + if [ ! -z "$(INSTALL_MECHO)" ] ; then \ + cd compat ; \ + $(CC) $(CFLAGS) -o mg.echo mg.echo.c && \ +- $(INSTALL) -s -m 755 mg.echo $(BINDIR) ; \ ++ $(INSTALL) -m 755 mg.echo $(BINDIR) ; \ + fi + + # +--- a/mgetty.cfg.in ++++ b/mgetty.cfg.in +@@ -20,16 +20,16 @@ + # access the modem(s) with @SPEED@ bps + speed @SPEED@ + +-# use these options to make the /dev/tty-device owned by "uucp.uucp" ++# use these options to make the /dev/tty-device owned by "fax.fax" + # and mode "rw-rw-r--" (0664). *LEADING ZERO NEEDED!* +-#port-owner uucp +-#port-group uucp ++#port-owner fax ++#port-group fax + #port-mode 0664 + +-# use these options to make incoming faxes owned by "root.uucp" ++# use these options to make incoming faxes owned by "root.fax" + # and mode "rw-r-----" (0640). *LEADING ZERO NEEDED!* + #fax-owner root +-#fax-group uucp ++#fax-group fax + #fax-mode 0640 + + +--- a/voice/Makefile ++++ b/voice/Makefile +@@ -85,6 +85,7 @@ + @echo "" + $(INSTALL) -m 700 vgetty/vgetty $(SBINDIR) + $(INSTALL) -m 755 vm/vm $(BINDIR) ++ $(INSTALL) -m 644 voice.conf-dist $(CONFDIR)/voice.conf + for i in $(PVFTOOLS); \ + do \ + $(INSTALL) -m 755 pvftools/$$i $(BINDIR); \ +--- a/voice/voice.conf-dist ++++ b/voice/voice.conf-dist +@@ -47,11 +47,11 @@ + voice_dir /var/spool/voice + + # +-# incoming messages are owned by "root.phone" and mode "rw-rw----" (0660) ++# incoming messages are owned by "fax:fax" and mode "rw-rw----" (0660) + # + +-phone_owner root +-phone_group phone ++phone_owner fax ++phone_group fax + phone_mode 0660 + + # diff --git a/net-dialup/mgetty/files/mgetty-1.2.1-riscv64.patch b/net-dialup/mgetty/files/mgetty-1.2.1-riscv64.patch new file mode 100644 index 000000000000..b57a04365e71 --- /dev/null +++ b/net-dialup/mgetty/files/mgetty-1.2.1-riscv64.patch @@ -0,0 +1,11 @@ +diff -U3 -r a/mgetty.h b/mgetty.h +--- a/mgetty.h ++++ b/mgetty.h +@@ -198,7 +198,7 @@ + */ + #if defined(__alpha__) || defined(__sparc64__) || \ + defined(__ia64__) || defined(__s390x__) || defined(__x86_64__) || \ +- defined(__powerpc64__) || defined(__aarch64__) ++ defined(__powerpc64__) || defined(__aarch64__) || (defined(__riscv) && __riscv_xlen == 64) + # define PTR_IS_LONG + #endif diff --git a/net-dialup/mgetty/files/mgetty.service b/net-dialup/mgetty/files/mgetty.service new file mode 100644 index 000000000000..2ca018ed49f4 --- /dev/null +++ b/net-dialup/mgetty/files/mgetty.service @@ -0,0 +1,12 @@ +[Unit] +Description=Smart Modem Getty +Documentation=man:mgetty(8) + +[Service] +ExecStart=/usr/sbin/mgetty /dev/%i +Restart=always +PIDFile=/run/mgetty.%i.pid +Type=simple + +[Install] +WantedBy=multi-user.target diff --git a/net-dialup/mgetty/metadata.xml b/net-dialup/mgetty/metadata.xml new file mode 100644 index 000000000000..f945b5ceddb1 --- /dev/null +++ b/net-dialup/mgetty/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>conikost@gentoo.org</email> + <name>Conrad Kostecki</name> + </maintainer> + <longdescription> + Suite of programs that allows you to take full advantage + of your voice/fax modem. Mgetty is capable of handling data, + fax and voice calls without interfering with outgoing calls. + </longdescription> + <use> + <flag name="fax">Enables fax support</flag> + <flag name="fidonet">Enables FidoNet support</flag> + </use> +</pkgmetadata> diff --git a/net-dialup/mgetty/mgetty-1.2.1-r4.ebuild b/net-dialup/mgetty/mgetty-1.2.1-r4.ebuild new file mode 100644 index 000000000000..d928483f491b --- /dev/null +++ b/net-dialup/mgetty/mgetty-1.2.1-r4.ebuild @@ -0,0 +1,185 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit flag-o-matic systemd toolchain-funcs + +DESCRIPTION="A programm for sending and receiving fax and voice" +HOMEPAGE="http://mgetty.greenie.net/" +SRC_URI="http://mgetty.greenie.net/source/$(ver_cut 1-2)/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="+fax fidonet split-usr" + +DEPEND=" + dev-lang/perl + sys-apps/groff + sys-apps/texinfo + app-alternatives/awk + fax? ( !net-misc/efax ) +" +RDEPEND=" + ${DEPEND} + acct-group/fax + acct-user/fax + fax? ( + app-text/ghostscript-gpl + media-libs/netpbm + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.1.36-callback.patch + "${FILESDIR}"/${PN}-1.1.36-tmpfile.patch + "${FILESDIR}"/${PN}-1.1.37-qa-fixes.patch + "${FILESDIR}"/${PN}-1.2.1-Lucent.c.patch + "${FILESDIR}"/${PN}-1.2.1-gentoo.patch + "${FILESDIR}"/${PN}-1.2.1-aarch64.patch + "${FILESDIR}"/${PN}-1.2.1-riscv64.patch +) + +src_prepare() { + default + + chmod +x mkidirs || die + + # don't install fax related files - bug #195467 + use fax || eapply "${FILESDIR}/${PN}-1.1.37-nofax.patch" + + sed -i -e 's:/usr/local/lib/mgetty+sendfax:/etc/mgetty+sendfax:' faxrunq.config || die 'changing mgetty config dir failed' + sed -i -e 's:/usr/local/bin/g3cat:/usr/bin/g3cat:' faxrunq.config fax/faxspool.rules || die 'changing g3cat path failed' + + sed -e "/^doc-all:/s/mgetty.asc mgetty.info mgetty.dvi mgetty.ps/mgetty.info/" \ + -i doc/Makefile || die 'first sed on doc/Makefile failed' + + sed -i \ + -e 's:^CC=:CC?=:g' \ + -e 's:^CFLAGS=:CFLAGS?=:g' \ + {,*/}Makefile || die + sed -i \ + -e 's:^AR=:AR?=:g' \ + -e 's:^CFLAGS=:CFLAGS+= -I..:g' \ + -e 's:^RANLIB=:RANLIB?=:g' \ + */Makefile || die + + # Use POSIX compatible commands + sed -e 's/echo -e/printf %b/g' -i Makefile || die +} + +src_configure() { + tc-export AR CC RANLIB + use fidonet && append-cppflags "-DFIDO" + append-cppflags "-DAUTO_PPP" + filter-lto + + sed -e 's:var/log/mgetty:var/log/mgetty/mgetty:' \ + -e 's:var/log/sendfax:var/log/mgetty/sendfax:' \ + -e 's:\/\* \(\#define CNDFILE "dialin.config"\) \*\/:\1:' \ + -e 's:\(\#define FAX_NOTIFY_PROGRAM\).*:\1 "/etc/mgetty+sendfax/new_fax":' \ + policy.h-dist > policy.h || die 'creating policy.h failed' + + sed -i \ + -e "s/\$(CFLAGS) -o newslock/${CFLAGS} ${LDFLAGS} -Wall -o newslock/" \ + -e "s/\$(LDLAGS)/${LDFLAGS}/" \ + {,fax/}Makefile || die +} + +src_compile() { + local target + for target in mgetty sedscript all vgetty;do + VARTEXFONTS="${T}"/fonts emake prefix=/usr \ + CONFDIR=/etc/mgetty+sendfax \ + CFLAGS="${CFLAGS} ${CPPFLAGS}" \ + LDFLAGS="${LDFLAGS}" \ + ${target} + done +} + +src_install() { + # parallelization issue: vgetty-install target fails if install target + # isn't finished + local target + for target in install "vgetty-install install-callback"; do + emake prefix="${D}/usr" \ + INFODIR="${D}/usr/share/info" \ + CONFDIR="${D}/etc/mgetty+sendfax" \ + MAN1DIR="${D}/usr/share/man/man1" \ + MAN4DIR="${D}/usr/share/man/man4" \ + MAN5DIR="${D}/usr/share/man/man5" \ + MAN8DIR="${D}/usr/share/man/man8" \ + SBINDIR="${D}/usr/sbin" \ + BINDIR="${D}/usr/bin" \ + VOICE_DIR="${D}/var/spool/voice" \ + PHONE_GROUP=fax \ + PHONE_PERMS=755 \ + spool="${D}/var/spool" \ + ${target} + done + + keepdir /var/log/mgetty + + # Install mgetty into /sbin (#119078) + if use split-usr; then + dodir /sbin + mv "${D}"/usr/sbin/mgetty "${D}"/sbin || die + dosym ../../sbin/mgetty /usr/sbin/mgetty + fi + + # Don't install ct (#106337) + rm "${D}"/usr/bin/ct || die "failed to remove useless ct program" + + dodoc BUGS ChangeLog README.1st Recommend THANKS TODO \ + doc/*.txt doc/modems.db + doinfo doc/mgetty.info + + docinto vgetty + dodoc voice/{Readme,Announce,ChangeLog,Credits} + + docinto vgetty/doc + dodoc voice/doc/* + + if use fax; then + mv samples/new_fax.all samples_new_fax.all || die "move failed." + docinto samples + dodoc samples/* + + docinto samples/new_fax + dodoc samples_new_fax.all/* + fi + + if ! use fax; then + insinto /usr/share/${PN}/frontends + doins -r frontends/{voice,network} + else + insinto /usr/share/${PN} + doins -r frontends + fi + insinto /usr/share/${PN} + doins -r patches + insinto /usr/share/${PN}/voice + doins -r voice/{contrib,Perl,scripts} + + diropts -m 0750 -o fax -g fax + dodir /var/spool/voice + keepdir /var/spool/voice/incoming + keepdir /var/spool/voice/messages + if use fax; then + dodir /var/spool/fax + dodir /var/spool/fax/outgoing + keepdir /var/spool/fax/outgoing/locks + keepdir /var/spool/fax/incoming + fi + + systemd_newunit "${FILESDIR}"/mgetty.service mgetty@.service +} + +pkg_postinst() { + elog "Users who wish to use the fax or voicemail capabilities must be members" + elog "of the group fax in order to access files" + elog + elog "If you want to grab voice messages from a remote location, you must save" + elog "the password in /var/spool/voice/.code file" +} diff --git a/net-dialup/mingetty/Manifest b/net-dialup/mingetty/Manifest new file mode 100644 index 000000000000..2ebeb484e27f --- /dev/null +++ b/net-dialup/mingetty/Manifest @@ -0,0 +1 @@ +DIST mingetty-1.08.tar.gz 13476 BLAKE2B a6a1e2fd84cc3c1b7a26919989d79268818cf0ee50b544f92d700e31e42bd527ec8caf97df8aa04486190a8e6c3ac379ec0507ce1488c1a1ffb4a53359233727 SHA512 d2c050a412af81d4635cbaa5610dfa2cf2addce0d3116fa53f73eb15cd6b53d476165a0509ae630a151de07a5bdc82cba1b5da0ab78d0313b200adece3c8872b diff --git a/net-dialup/mingetty/files/mingetty-1.08-check_chroot_chdir_nice.patch b/net-dialup/mingetty/files/mingetty-1.08-check_chroot_chdir_nice.patch new file mode 100644 index 000000000000..84599667551b --- /dev/null +++ b/net-dialup/mingetty/files/mingetty-1.08-check_chroot_chdir_nice.patch @@ -0,0 +1,36 @@ +Check chdir() on chroot() syscalls (and similar) as chroot without proper +chdir() allows to escape from changed root. + +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=597382 +https://sourceforge.net/tracker/?func=detail&aid=3095679&group_id=80387&atid=559616 + +--- mingetty-1.08/mingetty.c ++++ mingetty-1.08/mingetty.c +@@ -422,12 +422,21 @@ + while ((logname = get_logname ()) == 0) + /* do nothing */ ; + +- if (ch_root) +- chroot (ch_root); +- if (ch_dir) +- chdir (ch_dir); +- if (priority) +- nice (priority); ++ if (ch_root) { ++ if (chroot (ch_root)) ++ error ("chroot(\"%s\") failed: %s", ch_root, strerror (errno)); ++ if (chdir("/")) ++ error ("chdir(\"/\") failed: %s", strerror (errno)); ++ } ++ if (ch_dir) { ++ if (chdir (ch_dir)) ++ error ("chdir(\"%s\") failed: %s", ch_dir, strerror (errno)); ++ } ++ if (priority) { ++ errno = 0; /* see the nice(2) NOTES for why we do this */ ++ if ((nice (priority) == -1) && (errno != 0)) ++ error ("nice(%d) failed: %s", priority, strerror (errno)); ++ } + + execl (loginprog, loginprog, autologin? "-f" : "--", logname, NULL); + error ("%s: can't exec %s: %s", tty, loginprog, strerror (errno)); diff --git a/net-dialup/mingetty/files/mingetty-1.08-utf8.patch b/net-dialup/mingetty/files/mingetty-1.08-utf8.patch new file mode 100644 index 000000000000..c57bc0b6ad4e --- /dev/null +++ b/net-dialup/mingetty/files/mingetty-1.08-utf8.patch @@ -0,0 +1,156 @@ +diff -Nru mingetty-1.08.orig/mingetty.c mingetty-1.08/mingetty.c +--- mingetty-1.08.orig/mingetty.c 2008-01-18 13:13:07.000000000 +0200 ++++ mingetty-1.08/mingetty.c 2008-01-30 00:14:25.000000000 +0200 +@@ -16,10 +16,15 @@ + * - autologin only at first login + * - /etc/mingetty.conf that can be used instead of /etc/inittab for + * command line options +- * - Can UTF-8 setup be done within mingetty? ++ * - Can UTF-8 setup be done within mingetty? Let's try now :-) (VinzC) + * - Also add /bin/login-type functionality in here? + */ + ++/* Additional comments: Vincent Cadet <vcadet@hotmail.com> (2006-11-21) ++ * - Attempt to make mingetty support UTF-8. Modifications were imported ++ * from Suse migetty.c 0.9.6s. ++ */ ++ + #include <stdio.h> + #include <stdlib.h> + #include <unistd.h> +@@ -39,6 +44,19 @@ + #include <syslog.h> + #include <sys/utsname.h> + #include <time.h> ++#include <locale.h> ++#include <iconv.h> ++#include <wctype.h> ++#include <sys/kd.h> ++#include <sys/ttydefaults.h> ++ ++#ifndef IUTF8 ++# ifndef ASM_IUTF8 ++# error ASM_IUTF8 input flag not defined - Cannot define IUTF8 ++# else ++# define IUTF8 ASM_IUTF8 ++# endif ++#endif + + /* name of this program (argv[0]) */ + static char *progname; +@@ -76,6 +94,8 @@ + static char *autologin = NULL; + /* try to read a char before dropping to login prompt */ + static int loginpause = 0; ++/* terminal mode */ ++static int mode = K_RAW; + + /* error() - output error messages */ + static void error (const char *fmt, ...) +@@ -189,10 +209,21 @@ + if (fd > 2) + close (fd); + ++ /* Detect mode of current keyboard setup, e.g. for UTF-8 */ ++ if (ioctl(0, KDGKBMODE, &mode) < 0) ++ mode = K_RAW; ++ + /* Write a reset string to the terminal. This is very linux-specific + and should be checked for other systems. */ + if (noclear == 0) +- write (0, "\033c", 2); ++ /* don't write a full reset (ESC c) because this leaves the ++ unicode mode again if the terminal was in unicode mode ++ and also undos the ESC sequences in CONSOLE_MAGIC which ++ are needed for some languages/console-fonts. ++ Just put the cursor to the home position (ESC [ H), ++ erase everything below the cursor (ESC [ J), and set the ++ scrolling region to the full window (ESC [ r) */ ++ write (0, "\033[r\033[H\033[J", 9); + + sigaction (SIGHUP, &sa_old, NULL); + } +@@ -298,32 +329,75 @@ + + static char *get_logname (void) + { +- static char logname[40]; ++ static char logname[4*UT_NAMESIZE]; + char *bp; + unsigned char c; ++ int ascii; ++ iconv_t ic; + + tcflush (0, TCIFLUSH); /* flush pending input */ ++ ++ /* Check for UTF-8 mode */ ++ switch(mode) { ++ case K_UNICODE: ++ ascii = 0; ++ setlocale(LC_CTYPE, "en_US.UTF-8"); ++ break; ++ case K_RAW: ++ case K_MEDIUMRAW: ++ case K_XLATE: ++ default: ++ ascii = 1; ++ setlocale(LC_CTYPE, "POSIX"); ++ break; ++ } ++ + for (*logname = 0; *logname == 0;) { + do_prompt (1); + for (bp = logname;;) { + if (read (0, &c, 1) < 1) { +- if (errno == EINTR || errno == EIO +- || errno == ENOENT) ++ if (errno == EINTR || errno == EAGAIN) { ++ usleep(1000); ++ continue; ++ } ++ if (errno == EIO || errno == ENOENT) + exit (EXIT_SUCCESS); + error ("%s: read: %s", tty, strerror (errno)); + } + if (c == '\n' || c == '\r') { + *bp = 0; + break; +- } else if (!isprint (c)) +- error ("%s: invalid character 0x%x in login" +- " name", tty, c); ++ } ++ ++ if (ascii && !isprint (c)) ++ error ("%s: invalid character 0x%x in login name", tty, c); + else if ((size_t)(bp - logname) >= sizeof (logname) - 1) + error ("%s: too long login name", tty); +- else +- *bp++ = c; ++ ++ *bp++ = c; + } + } ++ ++ if (!ascii && (ic = iconv_open("WCHAR_T", "UTF-8"))) { ++ char tmpbuf[4*sizeof(logname)], *op, *lp; ++ size_t len = bp - logname; ++ size_t out = sizeof(tmpbuf) - 1; ++ size_t wcl; ++ wint_t *wcp; ++ ++ op = tmpbuf; ++ lp = logname; ++ if ((wcl = iconv(ic , &lp, &len, &op, &out)) == (size_t)-1) ++ error ("%s: invalid character conversion for login name", tty); ++ iconv_close(ic); ++ ++ wcp = (wint_t*)tmpbuf; ++ wcp[wcl] = (wint_t)0; ++ while (*wcp) { ++ if (!iswprint(*wcp++)) ++ error ("%s: invalid character for login name found", tty); ++ } ++ } + return logname; + } + diff --git a/net-dialup/mingetty/metadata.xml b/net-dialup/mingetty/metadata.xml new file mode 100644 index 000000000000..05905d97b25c --- /dev/null +++ b/net-dialup/mingetty/metadata.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>base-system@gentoo.org</email> + <name>Gentoo Base System</name> + </maintainer> + <longdescription>The mingetty program is a lightweight, minimalist getty program for +use only on virtual consoles. Mingetty is not suitable for serial +lines (you should use the mgetty program in that case).</longdescription> + <upstream> + <remote-id type="sourceforge">mingetty</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/mingetty/mingetty-1.08-r3.ebuild b/net-dialup/mingetty/mingetty-1.08-r3.ebuild new file mode 100644 index 000000000000..e8566ed0ac8f --- /dev/null +++ b/net-dialup/mingetty/mingetty-1.08-r3.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="A compact getty program for virtual consoles only" +HOMEPAGE="https://sourceforge.net/projects/mingetty" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="unicode" + +PATCHES=( + "${FILESDIR}/${PN}-1.08-check_chroot_chdir_nice.patch" +) + +src_prepare() { + use unicode && eapply "${FILESDIR}"/${PN}-1.08-utf8.patch + default +} + +src_compile() { + emake CFLAGS="${CFLAGS} -Wall -W -pipe -D_GNU_SOURCE" CC="$(tc-getCC)" +} + +src_install() { + dodir /sbin /usr/share/man/man8 + emake DESTDIR="${D}" install +} diff --git a/net-dialup/minicom/Manifest b/net-dialup/minicom/Manifest new file mode 100644 index 000000000000..8a99f17ad430 --- /dev/null +++ b/net-dialup/minicom/Manifest @@ -0,0 +1 @@ +DIST minicom-2.11.1.tar.gz 1058823 BLAKE2B 20f3f118cea634cf3df5a3ad5513f32c3117d95e222027aac978f0b3d6be8fdc79b7602959129a2e36e05960800c8bce025423b69d609c9651c8bcbe4a70efb1 SHA512 a74ca75494051b5027a0b641f1fedcc8a341dc409e17f4f509fdb48d3958ed6e6a8482f4f0217671eaa3af6fd5e608f55759faf6f71fa89fddbb065ad99cf33d diff --git a/net-dialup/minicom/files/minicom-2.8-gentoo-runscript.patch b/net-dialup/minicom/files/minicom-2.8-gentoo-runscript.patch new file mode 100644 index 000000000000..97c53e91c8ef --- /dev/null +++ b/net-dialup/minicom/files/minicom-2.8-gentoo-runscript.patch @@ -0,0 +1,42 @@ +--- a/man/minicom.1 ++++ b/man/minicom.1 +@@ -469,7 +469,7 @@ + .TP 0.5i + .B D - Script program + Which program to use as the script interpreter. Defaults to the +-program "runscript", but if you want to use something else (eg, ++program "/usr/bin/runscript", but if you want to use something else (eg, + /bin/sh or "expect") it is possible. Stdin and stdout are connected + to the modem, stderr to the screen. + .RS 0.5i +--- a/man/runscript.1 ++++ b/man/runscript.1 +@@ -5,7 +5,7 @@ + .\" for conditions under which this file may be redistributed. + .TH RUNSCRIPT 1 "$Date: 2007-10-07 18:13:51 $" "User's Manual" + .SH NAME +-runscript \- script interpreter for minicom ++/usr/bin/runscript \- script interpreter for minicom + .SH SYNOPSIS + .B runscript + .RI "scriptname [logfile [homedir]]" +--- a/src/rwconf.c ++++ b/src/rwconf.c +@@ -105,7 +105,7 @@ + { N_("No"), 0, "kermreal" }, + { "3", 0, "colusage" }, + /* The script program */ +- { "runscript", 0, "scriptprog" }, ++ { "/usr/bin/runscript", 0, "scriptprog" }, + /* Modem parameters */ + { "", 0, "minit" }, + { "", 0, "mreset" }, +@@ -245,7 +245,7 @@ + int matched; + + if (conftype == CONFIG_GLOBAL) +- strcpy(P_SCRIPTPROG, "runscript"); ++ strcpy(P_SCRIPTPROG, "/usr/bin/runscript"); + + line = malloc(line_size); + if (!line) { diff --git a/net-dialup/minicom/files/minicom-2.9-update-gettext.patch b/net-dialup/minicom/files/minicom-2.9-update-gettext.patch new file mode 100644 index 000000000000..4218d75e0e8c --- /dev/null +++ b/net-dialup/minicom/files/minicom-2.9-update-gettext.patch @@ -0,0 +1,13 @@ +Use REQUIRE so eautopoint --force will upgrade gettext to 0.22 if available. + +--- a/configure.ac ++++ b/configure.ac +@@ -131,7 +131,7 @@ ALL_LINGUAS="cs da de es fr fi hu id ja ka ko nb pl pt_BR ro ru rw sr sv vi zh_C + + dnl Checks for programs. + AM_GNU_GETTEXT([external]) +-AM_GNU_GETTEXT_VERSION([0.21]) ++AM_GNU_GETTEXT_REQUIRE_VERSION([0.21]) + + dnl This is a hacky workaround as the m4 scripts for iconv seem to set + dnl LIBICONV to '-liconv' despite that this lib is not available if iconv diff --git a/net-dialup/minicom/files/minirc.dfl b/net-dialup/minicom/files/minirc.dfl new file mode 100644 index 000000000000..42e9d8fe4646 --- /dev/null +++ b/net-dialup/minicom/files/minirc.dfl @@ -0,0 +1 @@ +# Machine-generated file - use "minicom -s" to change parameters. diff --git a/net-dialup/minicom/metadata.xml b/net-dialup/minicom/metadata.xml new file mode 100644 index 000000000000..1a256986297b --- /dev/null +++ b/net-dialup/minicom/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>embedded@gentoo.org</email> + <name>Embedded Gentoo</name> + </maintainer> + <longdescription> + Minicom is a menu driven communications program. + It emulates ANSI and VT102 terminals and + has a dialing directory and auto zmodem download. + </longdescription> + <upstream> + <remote-id type="cpe">cpe:/a:minicom_project:minicom</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/minicom/minicom-2.11.1.ebuild b/net-dialup/minicom/minicom-2.11.1.ebuild new file mode 100644 index 000000000000..a5ceb2ce7540 --- /dev/null +++ b/net-dialup/minicom/minicom-2.11.1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="Serial Communication Program" +HOMEPAGE="https://salsa.debian.org/minicom-team/minicom" +SRC_URI="https://salsa.debian.org/${PN}-team/${PN}/-/archive/${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="nls" + +DEPEND="sys-libs/ncurses:=" + +RDEPEND=" + ${DEPEND} + net-dialup/lrzsz +" + +BDEPEND=" + virtual/pkgconfig + nls? ( sys-devel/gettext ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-2.8-gentoo-runscript.patch + "${FILESDIR}"/${PN}-2.9-update-gettext.patch +) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # Lockdir must exist if not manually specified. + # '/var/lock' is created by OpenRC. + local myeconfargs=( + # See bug #788142 + --sysconfdir="${EPREFIX}"/etc/${PN} + + --disable-rpath + --enable-lock-dir="/var/lock" + $(use_enable nls) + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + + # Needs to match --sysconfdir above + insinto /etc/minicom + doins "${FILESDIR}"/minirc.dfl +} diff --git a/net-dialup/minimodem/Manifest b/net-dialup/minimodem/Manifest new file mode 100644 index 000000000000..6ae8aa9bf6bf --- /dev/null +++ b/net-dialup/minimodem/Manifest @@ -0,0 +1 @@ +DIST minimodem-0.24.tar.gz 159508 BLAKE2B a08c2ef87ed6d50d5bae390d97a384591da9612e4b60b10fc373fa00bceb60a3f67389179c92303a9d3008184f141d37753043355fe9de04429e5e9f8c9b8167 SHA512 5c3a5e6f185d4b09c5f24d776393f2e2d5d787c097c44490905119513b9b39db53b7f2f7e624a4b527e8e8e827a5b99af6b0df5ca525046f60b49fe9ba2b0ceb diff --git a/net-dialup/minimodem/metadata.xml b/net-dialup/minimodem/metadata.xml new file mode 100644 index 000000000000..addcf8979163 --- /dev/null +++ b/net-dialup/minimodem/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <name>Seth M. Price</name> + <email>sprice623@aol.com</email> + </maintainer> + <longdescription lang="en"> + Minimodem is a command-line program which decodes (or generates) + audio modem tones at any specified baud rate, using various + framing protocols. It acts a general-purpose software FSK modem, + and includes support for various standard FSK protocols such as + Bell103, Bell202, RTTY, TTY/TDD, NOAA SAME, and Caller-ID. + </longdescription> + <use> + <flag name="sndio">Enable support for the <pkg>media-sound/sndio</pkg> backend</flag> + </use> + <upstream> + <bugs-to>https://github.com/kamalmostafa/minimodem/issues</bugs-to> + <remote-id type="github">kamalmostafa/minimodem</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/minimodem/minimodem-0.24-r2.ebuild b/net-dialup/minimodem/minimodem-0.24-r2.ebuild new file mode 100644 index 000000000000..89d8a78df73c --- /dev/null +++ b/net-dialup/minimodem/minimodem-0.24-r2.ebuild @@ -0,0 +1,36 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="General-purpose software audio FSK modem" +HOMEPAGE="http://www.whence.com/minimodem/" +SRC_URI="http://www.whence.com/minimodem/minimodem-${PV}.tar.gz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="alsa pulseaudio +sndfile sndio test" +REQUIRED_USE+="|| ( alsa pulseaudio sndfile ) + test? ( sndfile )" + +RESTRICT="!test? ( test )" + +DEPEND="sndfile? ( media-libs/libsndfile ) + sci-libs/fftw:3.0 + alsa? ( media-libs/alsa-lib ) + pulseaudio? ( media-libs/libpulse ) + sndio? ( media-sound/sndio )" +RDEPEND="${DEPEND}" + +src_prepare() { + eautoreconf + eapply_user +} + +src_configure() { + my_args="$(use_with alsa) $(use_with pulseaudio) $(use_with sndfile)" + econf $my_args +} diff --git a/net-dialup/minimodem/minimodem-9999-r1.ebuild b/net-dialup/minimodem/minimodem-9999-r1.ebuild new file mode 100644 index 000000000000..f74684d95d1e --- /dev/null +++ b/net-dialup/minimodem/minimodem-9999-r1.ebuild @@ -0,0 +1,35 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools git-r3 + +DESCRIPTION="General-purpose software audio FSK modem" +HOMEPAGE="http://www.whence.com/minimodem/" +EGIT_REPO_URI="https://github.com/kamalmostafa/minimodem" + +LICENSE="GPL-3+" +SLOT="0" +IUSE="alsa pulseaudio +sndfile sndio test" +REQUIRED_USE+="|| ( alsa pulseaudio sndfile sndio ) + test ( sndfile )" + +RESTRICT="!test? ( test )" + +DEPEND="sndfile? ( media-libs/libsndfile ) + sci-libs/fftw:3.0 + alsa? ( media-libs/alsa-lib ) + pulseaudio? ( media-libs/libpulse ) + sndio? ( media-sound/sndio )" +RDEPEND="${DEPEND}" + +src_prepare() { + eautoreconf + eapply_user +} + +src_configure() { + my_args="$(use_with alsa) $(use_with pulseaudio) $(use_with sndfile) $(use_with sndio)" + econf $my_args +} diff --git a/net-dialup/moserial/Manifest b/net-dialup/moserial/Manifest new file mode 100644 index 000000000000..aa5d1c2f733c --- /dev/null +++ b/net-dialup/moserial/Manifest @@ -0,0 +1 @@ +DIST moserial-3.0.21.tar.xz 1180072 BLAKE2B 57355c0cefd0dde234f184beb008250b677795a73398b10846f3a546bee61d9c6ef17cdd3964301c99155f14423cd0947d3c782dfd74885fcc36e0916f90aa7c SHA512 128e5854273a0bba56844b435d9fcefcaf59d9dc1e49a09d4df1dea21fce9de61c55a368cc707e3b685b4af7e88f93fffb350e7846c046f0c814f57b4f1f0ef6 diff --git a/net-dialup/moserial/metadata.xml b/net-dialup/moserial/metadata.xml new file mode 100644 index 000000000000..ab760593d7f8 --- /dev/null +++ b/net-dialup/moserial/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>gnome@gentoo.org</email> + <name>Gentoo GNOME Desktop</name> + </maintainer> + <upstream> + <remote-id type="gnome-gitlab">GNOME/moserial</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/moserial/moserial-3.0.21.ebuild b/net-dialup/moserial/moserial-3.0.21.ebuild new file mode 100644 index 000000000000..d6b13f292f1e --- /dev/null +++ b/net-dialup/moserial/moserial-3.0.21.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit gnome2 + +DESCRIPTION="A clean and friendly gtk-based serial terminal" +HOMEPAGE="https://wiki.gnome.org/Apps/Moserial https://gitlab.gnome.org/GNOME/moserial" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" + +RDEPEND=" + >=dev-libs/glib-2.16:2[dbus] + gnome-base/gsettings-desktop-schemas + >=x11-libs/gtk+-3.2.0:3 +" +DEPEND="${RDEPEND}" +BDEPEND=" + >=dev-util/intltool-0.35 + dev-util/itstool + virtual/pkgconfig +" diff --git a/net-dialup/mwavem/Manifest b/net-dialup/mwavem/Manifest new file mode 100644 index 000000000000..f983444372c5 --- /dev/null +++ b/net-dialup/mwavem/Manifest @@ -0,0 +1 @@ +DIST mwavem-2.0.tar.gz 1443167 BLAKE2B d70e3088b13a83f5dfd93690e67fa68497ef793b840fa3cba45efe4e72448abeba5312e0bbf1176825a62c366d47829ebd135461bf9600ba1b971b1db00a55e7 SHA512 e1bb3c7e5511abc784b0359b844498389a9cb970fe46752775aaae6146d8cf25998a6e12dfc70df5c5f4287fd57abb49252f81a00528db5f7c2c96e3e7efb516 diff --git a/net-dialup/mwavem/files/mwave-dev-handler b/net-dialup/mwavem/files/mwave-dev-handler new file mode 100644 index 000000000000..3ba51ff75db2 --- /dev/null +++ b/net-dialup/mwavem/files/mwave-dev-handler @@ -0,0 +1,11 @@ +#!/bin/sh + +case "$1" in +register) + [ ! -d /dev/modem ] && mkdir --mode=0755 /dev/modems + [ ! -h /dev/modems/mwave ] && ln -s /dev/misc/mwave /dev/modems/mwave + ;; +unregister) + rm -rf /dev/modems/mwave + ;; +esac diff --git a/net-dialup/mwavem/files/mwave.devfs b/net-dialup/mwavem/files/mwave.devfs new file mode 100644 index 000000000000..67ba1e527ab9 --- /dev/null +++ b/net-dialup/mwavem/files/mwave.devfs @@ -0,0 +1,2 @@ +REGISTER ^misc/mwave$ EXECUTE /usr/sbin/mwave-dev-handler register +UNREGISTER ^misc/mwave$ EXECUTE /usr/sbin/mwave-dev-handler unregister diff --git a/net-dialup/mwavem/files/mwave.modules b/net-dialup/mwavem/files/mwave.modules new file mode 100644 index 000000000000..613eef5c77a1 --- /dev/null +++ b/net-dialup/mwavem/files/mwave.modules @@ -0,0 +1 @@ +alias char-major-10-219 mwave diff --git a/net-dialup/mwavem/files/mwavem-2.0-C23.patch b/net-dialup/mwavem/files/mwavem-2.0-C23.patch new file mode 100644 index 000000000000..d9c269b45d12 --- /dev/null +++ b/net-dialup/mwavem/files/mwavem-2.0-C23.patch @@ -0,0 +1,128 @@ +Just use system definitions and don't shortcut externs, +wherever possible. +There's a default way to use va_args, don't reinvent wheel +https://bugs.gentoo.org/715926 +https://bugs.gentoo.org/921186 +https://bugs.gentoo.org/945184 +--- a/configure.in ++++ b/configure.in +@@ -5,6 +5,7 @@ + + dnl Find operating system, vendor, architecture + AC_CANONICAL_SYSTEM ++AC_USE_SYSTEM_EXTENSIONS + + AM_INIT_AUTOMAKE(mwavem,2.0) + +--- a/src/meio/meiovect.c ++++ b/src/meio/meiovect.c +@@ -65,14 +65,14 @@ + /* external function declarations */ + /*------------------------------------------------------------------------*/ + +-extern ULONG APIENTRY dspMeioOpeni(); +-extern ULONG dspMeioClosei(); +-extern ULONG APIENTRY dspMeioQueryi(); +-extern ULONG APIENTRY dspMeioConnecti(); +-extern ULONG APIENTRY dspMeioDisconnecti(); +-extern ULONG APIENTRY dspMeioUpdateConnectioni(); +-extern ULONG APIENTRY dspMeioQueryConnectioni(); +-extern ULONG APIENTRY dspMeioResynci(); ++extern ULONG APIENTRY dspMeioOpeni(HDSP hDsp, HMEIO FAR *phMeio, ULONG Options); ++extern ULONG dspMeioClosei(HMEIO hMeio, ULONG Options); ++extern ULONG APIENTRY dspMeioQueryi(HMEIO MMeio, MEIO_QUERYTYPE Request, ULONG FAR *fpBufferSize, VOID FAR *fpBuffer); ++extern ULONG APIENTRY dspMeioConnecti(HMEIO hMeio, HCONNECTION FAR *fpConnection, ULONG OwnerPort, ULONG UserPort, ULONG SharingOptions, ULONG ulState, ULONG Reserved); ++extern ULONG APIENTRY dspMeioDisconnecti(HCONNECTION hConnection, ULONG ulReserved); ++extern ULONG APIENTRY dspMeioUpdateConnectioni(HCONNECTION hConnection, MEIO_CONNECTATTRIBUTE Attribute, LONG lValue); ++extern ULONG APIENTRY dspMeioQueryConnectioni(HCONNECTION hConnection, MEIO_CONNECTATTRIBUTE Attribute, LONG FAR *fpValue); ++extern ULONG APIENTRY dspMeioResynci(MEIO_OBJ_TYPE ObjectType, ULONG Object, ULONG ulOptions); + + /*------------------------------------------------------------------------*/ + /* MeioAPIDispatch() */ +--- a/src/mwmlw32/mwmload.c ++++ b/src/mwmlw32/mwmload.c +@@ -53,6 +53,7 @@ + #include <sys/timeb.h> + #include <time.h> + #include <mwqservr.h> ++#include <stdarg.h> + #include "mww32.h" + /*#include <pbmplus.h>*/ + #include <mwave.h> +@@ -74,6 +75,8 @@ + #define MODNAME "MWMODEM" + void mwavem_dprintf(char *szFormat, ...) + { ++ va_list args; ++ va_start(args, szFormat); + /*if (usDebugWindow) + {*/ + struct timeb timebuffer; +@@ -91,11 +94,12 @@ + else + strcpy(ach, MODNAME ": "); + +- vsprintf(ach+strlen(ach),szFormat,(char *)(&szFormat+1)); ++ vsprintf(ach+strlen(ach),szFormat, args); + strcat(ach, "\r\n"); + + OutputDebugString(ach); + /* } */ ++ va_end(args); + } + + +--- a/src/mwmlw32/mwmrsp.c ++++ b/src/mwmlw32/mwmrsp.c +@@ -44,9 +44,9 @@ + * First release to the public + * + */ ++#include <unistd.h> + #include <mwmspcfc.h> + static char szThisFile[] = "MWMRSP.C"; +-extern void swab(); + + ULONG mwmrspEchoFAXResponse(PMWM_DSPINFO pmwmDspInfo,USHORT usControlStat) + { +--- a/src/mwmpw32/mwmclss2.c ++++ b/src/mwmpw32/mwmclss2.c +@@ -1227,8 +1227,6 @@ + + + +-extern void swab() __THROW; +- + USHORT mwmClss2FLIDCommand(STATEINFO *psi) + { + USHORT usParserStatus = 0; +--- a/src/mwmpw32/mwmparse.c ++++ b/src/mwmpw32/mwmparse.c +@@ -54,6 +54,7 @@ + #include <stddef.h> + #include <sys/timeb.h> + #include <time.h> ++#include <unistd.h> + + #include <port_types.h> + #include <port_functions.h> +@@ -324,8 +325,6 @@ + return 0; + } + +-extern void swab() __THROW; +- + USHORT mwmParseEchoString(STATEINFO *psi,PSZ achString) + { + USHORT usParserStatus = 0; +--- a/src/mwmutil/mwmutil.c ++++ b/src/mwmutil/mwmutil.c +@@ -189,8 +189,6 @@ + + } /*readFile*/ + +-extern char *strcasestr () __THROW __attribute_pure__; +- + /* Give a file buffer, find a return ptr to section name (or NULL if not found) */ + char * getSection(LPCTSTR lpSectionName,char *file) { // Section name, bracket delimited + char *line; diff --git a/net-dialup/mwavem/files/mwavem-2.0-ar.patch b/net-dialup/mwavem/files/mwavem-2.0-ar.patch new file mode 100644 index 000000000000..b0ce341ae6fe --- /dev/null +++ b/net-dialup/mwavem/files/mwavem-2.0-ar.patch @@ -0,0 +1,10 @@ +--- a/configure.in ++++ b/configure.in +@@ -12,6 +12,7 @@ dnl Find programs for building and installation. + AC_PROG_CC + AC_PROG_RANLIB + AC_PROG_INSTALL ++AM_PROG_AR + + dnl Check for libraries + AC_CHECK_LIB(pthread, main) diff --git a/net-dialup/mwavem/files/mwavem-2.0-fno-common.patch b/net-dialup/mwavem/files/mwavem-2.0-fno-common.patch new file mode 100644 index 000000000000..02e5b4780fd2 --- /dev/null +++ b/net-dialup/mwavem/files/mwavem-2.0-fno-common.patch @@ -0,0 +1,22 @@ +--- a/src/include/unidiags.h ++++ b/src/include/unidiags.h +@@ -65,7 +65,7 @@ bits Source bits Definition + + #define BIT(x) (1<<x) + +-UINT shit; ++extern UINT shit; + + typedef struct _V34INFO { /* for key 18 */ + UINT INFOa_bits4049 :10; +--- a/src/manager/dspsrv.c ++++ b/src/manager/dspsrv.c +@@ -75,7 +75,7 @@ HANDLE hMwThread; + DWORD MwThreadId; + /* @TBD CRITICAL_SECTION MwTerminateSection; */ + BOOL MwTerminate = FALSE; +-HANDLE hDrv; ++extern HANDLE hDrv; + HANDLE hMwProcess; + + BOOL AllocateHeaps( void ); diff --git a/net-dialup/mwavem/files/mwavem-2.0-gentoo.patch b/net-dialup/mwavem/files/mwavem-2.0-gentoo.patch new file mode 100644 index 000000000000..ca86b5039444 --- /dev/null +++ b/net-dialup/mwavem/files/mwavem-2.0-gentoo.patch @@ -0,0 +1,24 @@ +diff -ur mwavem-2.0.orig/configure.in mwavem-2.0/configure.in +--- mwavem-2.0.orig/configure.in 2004-04-06 23:50:57.000000000 +0000 ++++ mwavem-2.0/configure.in 2008-10-18 09:31:29.000000000 +0000 +@@ -27,7 +27,7 @@ + AC_DEFINE(MWWTDBG) + + INCLUDES="-I\$(top_srcdir)/src/include" +-CFLAGS="$INCLUDES -O2 -fno-strict-aliasing -fomit-frame-pointer -Wall" ++CFLAGS="${CFLAGS} $INCLUDES -fno-strict-aliasing -Wall" + + dnl Set dsp_dir here and we substitute it in mwavem.conf from mwavem.conf.in + dsp_dir=` test "x$exec_prefix" = xNONE && exec_prefix=$ac_default_prefix +diff -ur mwavem-2.0.orig/src/mwavem/Makefile.am mwavem-2.0/src/mwavem/Makefile.am +--- mwavem-2.0.orig/src/mwavem/Makefile.am 2008-10-18 09:38:52.000000000 +0000 ++++ mwavem-2.0/src/mwavem/Makefile.am 2008-10-18 09:38:00.000000000 +0000 +@@ -10,6 +10,8 @@ + -rm $(distdir)/modem.c + + install-exec-local: ++ ++install-exec-local-invalid: + if [ ! -c "/dev/modems/mwave" ]; then \ + mkdir -p /dev/modems; \ + mknod --mode=660 /dev/modems/mwave c 10 219; \ diff --git a/net-dialup/mwavem/files/mwavem-2.0-glibc-2.10.patch b/net-dialup/mwavem/files/mwavem-2.0-glibc-2.10.patch new file mode 100644 index 000000000000..fa867986ec22 --- /dev/null +++ b/net-dialup/mwavem/files/mwavem-2.0-glibc-2.10.patch @@ -0,0 +1,40 @@ +diff -ur mwavem-2.0.orig/src/include/mwmparsi.h mwavem-2.0/src/include/mwmparsi.h +--- mwavem-2.0.orig/src/include/mwmparsi.h 2001-05-04 22:28:52.000000000 +0300 ++++ mwavem-2.0/src/include/mwmparsi.h 2009-08-08 11:58:51.000000000 +0300 +@@ -516,8 +516,8 @@ + + + #ifdef DEBUG +- void dprintf(char *szFormat, ...); +- #define DPF dprintf ++ void mwavem_dprintf(char *szFormat, ...); ++ #define DPF mwavem_dprintf + + #else + #define DPF ((void)0) +diff -ur mwavem-2.0.orig/src/include/mwmspcfc.h mwavem-2.0/src/include/mwmspcfc.h +--- mwavem-2.0.orig/src/include/mwmspcfc.h 2001-05-04 22:28:52.000000000 +0300 ++++ mwavem-2.0/src/include/mwmspcfc.h 2009-08-08 11:56:34.000000000 +0300 +@@ -705,8 +705,8 @@ + void MWM_ENTRY mwmPostMessage(UINT uMsg, LONG wParam, LONG lParam); // @TBD + + #ifdef DEBUG +- void dprintf(char *szFormat, ...); +- #define DPF dprintf ++ void mwavem_dprintf(char *szFormat, ...); ++ #define DPF mwavem_dprintf + #else + #define DPF ((void)0) + #endif +diff -ur mwavem-2.0.orig/src/mwmlw32/mwmload.c mwavem-2.0/src/mwmlw32/mwmload.c +--- mwavem-2.0.orig/src/mwmlw32/mwmload.c 2004-03-31 06:58:55.000000000 +0300 ++++ mwavem-2.0/src/mwmlw32/mwmload.c 2009-08-08 11:56:50.000000000 +0300 +@@ -72,7 +72,7 @@ + + + #define MODNAME "MWMODEM" +-void dprintf(char *szFormat, ...) ++void mwavem_dprintf(char *szFormat, ...) + { + /*if (usDebugWindow) + {*/ diff --git a/net-dialup/mwavem/files/mwavem-2.0-pthread.patch b/net-dialup/mwavem/files/mwavem-2.0-pthread.patch new file mode 100644 index 000000000000..27713035b000 --- /dev/null +++ b/net-dialup/mwavem/files/mwavem-2.0-pthread.patch @@ -0,0 +1,14 @@ +Use correct type for thread handle. It already uses pthread_t for other half of the +assignment +https://bugs.gentoo.org/897844 +--- a/src/manager/mwaveapi.c ++++ b/src/manager/mwaveapi.c +@@ -79,7 +79,7 @@ + BOOL g_bIPCSupportActive = FALSE; // True if our IPC support layer is initialized and active + unsigned g_uIPCsInUse; // One bit per IPC in use for this subsystem + BOOL g_abCancellingIPCs[MWAPI_MaxIPCs]; // TRUE if we're attempting to cancel an IPC thread +-HANDLE g_ahIPCThreads[MWAPI_MaxIPCs]; // Thread handle of IPC thread ++pthread_t g_ahIPCThreads[MWAPI_MaxIPCs]; // Thread handle of IPC thread + PFN g_pfnIPCNotice[MWAPI_MaxIPCs]; + + BOOL bDspDisabled = FALSE; diff --git a/net-dialup/mwavem/metadata.xml b/net-dialup/mwavem/metadata.xml new file mode 100644 index 000000000000..85e4ed814fa2 --- /dev/null +++ b/net-dialup/mwavem/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<!-- maintainer-needed --> +</pkgmetadata> diff --git a/net-dialup/mwavem/mwavem-2.0-r3.ebuild b/net-dialup/mwavem/mwavem-2.0-r3.ebuild new file mode 100644 index 000000000000..70fbbadded21 --- /dev/null +++ b/net-dialup/mwavem/mwavem-2.0-r3.ebuild @@ -0,0 +1,57 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools + +DESCRIPTION="User level application for IBM Mwave modem" +HOMEPAGE="http://oss.software.ibm.com/acpmodem/" +SRC_URI="ftp://www-126.ibm.com/pub/acpmodem/${PV}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 x86" + +PATCHES=( + "${FILESDIR}"/${P}-gentoo.patch + "${FILESDIR}"/${P}-glibc-2.10.patch + "${FILESDIR}"/${P}-fno-common.patch + "${FILESDIR}"/${P}-ar.patch + "${FILESDIR}"/${P}-C23.patch + "${FILESDIR}"/${P}-pthread.patch +) + +HTML_DOCS=( doc/mwave.html ) +DOCS=( doc/mwave.sgml doc/mwave.txt ) + +src_prepare() { + default + rm README.freebsd || die + + AT_M4DIR=m4 eautoreconf +} + +src_install() { + default + + dosbin "${FILESDIR}"/mwave-dev-handler + + insinto /etc/devfs.d + newins "${FILESDIR}"/mwave.devfs mwave + + insinto /etc/modprobe.d + newins "${FILESDIR}"/mwave.modules mwave.conf +} + +pkg_postinst() { + if [[ -e "${EROOT}"/dev/.devfsd ]]; then + # device node is created by devfs + ebegin "Restarting devfsd to reread devfs rules" + killall -HUP devfsd + eend $? + else + elog "Create device node if needed, using command like this:" + elog "# mknod --mode=0660 \"${EROOT}/dev/modems/mwave\" c 10 219" + fi +} diff --git a/net-dialup/neocon/Manifest b/net-dialup/neocon/Manifest new file mode 100644 index 000000000000..84610011d122 --- /dev/null +++ b/net-dialup/neocon/Manifest @@ -0,0 +1 @@ +DIST neocon-20110228.tar.bz2 3800 BLAKE2B 4c179d4018fc682ad9b9e9ad57c1ba7519aa3257bb514a58ebac55b512b58f75b2411007dce2167dbc3290436f2ec364e5e3760767a8a26f0dbb9c30198fd0a9 SHA512 184bc268416453e15f11f27e8627d75159b308bc2b5d5a706e6f6e1130aee4673677b88284c59b836960a620915f0cdac5d7554fd2bddb25b4a34bd37ca25fd2 diff --git a/net-dialup/neocon/metadata.xml b/net-dialup/neocon/metadata.xml new file mode 100644 index 000000000000..85e4ed814fa2 --- /dev/null +++ b/net-dialup/neocon/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<!-- maintainer-needed --> +</pkgmetadata> diff --git a/net-dialup/neocon/neocon-20110228-r1.ebuild b/net-dialup/neocon/neocon-20110228-r1.ebuild new file mode 100644 index 000000000000..ec6d7b297e16 --- /dev/null +++ b/net-dialup/neocon/neocon-20110228-r1.ebuild @@ -0,0 +1,23 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Simple serial console utility that tries to open ttys repeatedly" +HOMEPAGE="https://wiki.openmoko.org/wiki/NeoCon" +SRC_URI="https://dev.gentoo.org/~radhermit/distfiles/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +src_compile() { + emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" all +} + +src_install() { + dobin neocon + dodoc README +} diff --git a/net-dialup/picocom/Manifest b/net-dialup/picocom/Manifest new file mode 100644 index 000000000000..0a84e126d195 --- /dev/null +++ b/net-dialup/picocom/Manifest @@ -0,0 +1,3 @@ +DIST picocom-2024-07.tar.bz2 73290 BLAKE2B 4cac3cd77057daac2af820a3a1966edfa426e5132d48284325e59a02123674124156df79985cd89014247afd05bed9639fe210da0068afb1a7183baf10bb99e0 SHA512 b8663c6d361ac57a65198967cd34d2e8a6a95d7345f8412664aee517bfb772911bcd08b81ecd789ef538f95f0251c4846f29c6873e3fd44a1d52d604f1f81738 +DIST picocom-2024.07.1.bz2 8885 BLAKE2B fb003fe45072c8f49e486c0078cdc0e25606b8a2c7acc6dad3764db243aa69ac0c404e221d5ff96274829e554be63802e1a2937c6ea83c31e6582ccd29d70047 SHA512 937d780c70ea77563731f1995b1e1aa55f3ffe01124f0174c47161f9e6ac1c0b7104948812f92cf538e0f8543c16bd54d105c12a99b916e0ffe840bad61fbd21 +DIST picocom-3.1.tar.gz 121686 BLAKE2B e7f478e7d00e791fb2ea7248ff31e480d05c5c1fe35941f85689a5df19646175e3c698222e430786874c0508c44a0c1f8ecc4b69c889a40e7411c7b54c67249a SHA512 ff1888494ae0e24a151e19ac3abcdbb499e42eb1abcea401a7c6c3b532be3d64ddd81a511641d1ce0119dc5da3d2804ce8eaff262a9d578bfe8e22fdf6e55ad1 diff --git a/net-dialup/picocom/metadata.xml b/net-dialup/picocom/metadata.xml new file mode 100644 index 000000000000..6601bbd8829e --- /dev/null +++ b/net-dialup/picocom/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>embedded@gentoo.org</email> + <name>Embedded Gentoo</name> + </maintainer> + <upstream> + <remote-id type="github">npat-efault/picocom</remote-id> + <remote-id type="gitlab">wsakernel/picocom</remote-id> + <remote-id type="cpe">cpe:/a:picocom_project:picocom</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/picocom/picocom-2024.07-r1.ebuild b/net-dialup/picocom/picocom-2024.07-r1.ebuild new file mode 100644 index 000000000000..f92e85453fd1 --- /dev/null +++ b/net-dialup/picocom/picocom-2024.07-r1.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 toolchain-funcs + +MY_PV=${PV/./-} + +DESCRIPTION="minimal dumb-terminal emulation program" +HOMEPAGE="https://gitlab.com/wsakernel/picocom" +SRC_URI=" + https://gitlab.com/wsakernel/${PN}/-/archive/${MY_PV}/${PN}-${MY_PV}.tar.bz2 + !man? ( https://distfiles.gentoo.org/pub/dev/ceamac@gentoo.org/${CATEGORY}/${PN}/${P}.1.bz2 ) +" +S="${WORKDIR}/${PN}-${MY_PV}" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 arm64 ~loong ~ppc ppc64 ~riscv ~sparc" +IUSE="+man" + +BDEPEND="man? ( dev-go/go-md2man )" + +src_prepare() { + default + + use man || cp "${WORKDIR}"/${P}.1 picocom.1 +} + +src_compile() { + emake CFLAGS="${CFLAGS} -Wall" CC="$(tc-getCC)" + + use man && emake doc +} + +src_install() { + dobin picocom pc{asc,xm,ym,zm} + dodoc CONTRIBUTORS CONTRIBUTORS.old README.md + dobashcomp bash_completion/picocom + + doman picocom.1 +} diff --git a/net-dialup/picocom/picocom-3.1.ebuild b/net-dialup/picocom/picocom-3.1.ebuild new file mode 100644 index 000000000000..5922c41d5469 --- /dev/null +++ b/net-dialup/picocom/picocom-3.1.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="minimal dumb-terminal emulation program" +HOMEPAGE="https://github.com/npat-efault/picocom" +SRC_URI="https://github.com/npat-efault/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ppc64 ~riscv ~sparc x86" +IUSE="" + +src_compile() { + # CPPFLAGS is shared between CFLAGS and CXXFLAGS, but there is no + # C++ file, and the pre-processor is never called directly, this + # is easier than patching it out. + emake LDFLAGS="${LDFLAGS}" CFLAGS="${CFLAGS} ${CPPFLAGS} -Wall" \ + CC="$(tc-getCC)" +} + +src_install() { + dobin picocom pc{asc,xm,ym,zm} + doman picocom.1 + dodoc CHANGES.old CONTRIBUTORS README.md +} diff --git a/net-dialup/ppp-scripts/Manifest b/net-dialup/ppp-scripts/Manifest new file mode 100644 index 000000000000..f32ab3036cc2 --- /dev/null +++ b/net-dialup/ppp-scripts/Manifest @@ -0,0 +1 @@ +DIST ppp-scripts-0.tar.xz 1824 BLAKE2B dc2fe1fa860ec9abe43466a270324f8ac39f08a8ed35f2dbd971a59a2e07a939049624802ae8b8c5a4bf11544c871d27517976f61486c4cdbad75f162a502c59 SHA512 a36e6180b0acc8081b192602a2a5dbe765f1ba26e2cca8dc80d1dbc0e405b86acd6fe0cf655fb520c9f45373528773e64545876fd3370ce3514ffd9858916971 diff --git a/net-dialup/ppp-scripts/metadata.xml b/net-dialup/ppp-scripts/metadata.xml new file mode 100644 index 000000000000..85e4ed814fa2 --- /dev/null +++ b/net-dialup/ppp-scripts/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<!-- maintainer-needed --> +</pkgmetadata> diff --git a/net-dialup/ppp-scripts/ppp-scripts-0.ebuild b/net-dialup/ppp-scripts/ppp-scripts-0.ebuild new file mode 100644 index 000000000000..e33ad92443eb --- /dev/null +++ b/net-dialup/ppp-scripts/ppp-scripts-0.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Common set of scripts for various PPP implementations" +HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" +SRC_URI="https://dev.gentoo.org/~pinkbyte/distfiles/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + +DEPEND="!<net-dialup/ppp-2.4.7-r1" +RDEPEND="${DEPEND}" + +S="${WORKDIR}" + +src_install() { + exeinto /etc/ppp + for i in ip-up ip-down ; do + doexe "scripts/${i}" + dosym ${i} /etc/ppp/${i/ip/ipv6} + insinto /etc/ppp/${i}.d + doins "scripts/${i}.d"/* + done +} diff --git a/net-dialup/ppp/Manifest b/net-dialup/ppp/Manifest new file mode 100644 index 000000000000..69f84f609ba2 --- /dev/null +++ b/net-dialup/ppp/Manifest @@ -0,0 +1,2 @@ +DIST ppp-2.5.2.tar.gz 973132 BLAKE2B 5a79bfaf23c2f1cba7b2c4e8f27e6033aa7ee6e119b4d96dfd2870f91524052fe9ed16149e5f76cf93370159f491af828b4103eb04bd4f5dbbecca4a08af9d0d SHA512 2c49d411818632a750f52b187c0ee421e9fcc1530c717abacce61e76aa8b296ce09fb142bc202696c0e0ac5570dd12ee649267921b756b6572ae514ce961d1e6 +DIST ppp-2.5.3.tar.gz 995939 BLAKE2B fe915978f1332c18dc370b5d79d07c55afd006d576168c16034ac368afe138d3e0a41d7a9a05fdc2868b1e30bbd0510aadbf7e9a595c77cacaeb739c9289051c SHA512 4de2af44d56d8629db37a7aa71ea1973020bacd4fe6b8e56b69b4b825445437cf9d5e2caee13e0af09d26b89954a8e08560581f3c5611edb119ea63fc10d2255 diff --git a/net-dialup/ppp/files/README.mpls b/net-dialup/ppp/files/README.mpls new file mode 100644 index 000000000000..1ae7ae46057a --- /dev/null +++ b/net-dialup/ppp/files/README.mpls @@ -0,0 +1,15 @@ +MPLS consists of 3 components: +1. MPLS forwarding +2. MPLS signalling +3. Mapping layer 3 traffic onto MPLS LSPs + +The document mpls-forwarding basics explains item 1. + +Examples of MPLS signalling protocols are: RSVP-TE LDP and CR-LDP. +The package ldp-portable is an implementation of LDP and contains more +information about LDP based MPLS signalling. + +Mapping of layer 3 traffic to MPLS LSPs is accomplised in a couple of +different ways. +-Per FEC where FEC is an entry in the routing table +-Virtual interface that represents an LSP diff --git a/net-dialup/ppp/files/modules.ppp b/net-dialup/ppp/files/modules.ppp new file mode 100644 index 000000000000..e936041c6bb3 --- /dev/null +++ b/net-dialup/ppp/files/modules.ppp @@ -0,0 +1,10 @@ +alias char-major-108 ppp_generic +alias /dev/ppp ppp_generic +alias tty-ldisc-3 ppp_async +alias tty-ldisc-13 n_hdlc +alias tty-ldisc-14 ppp_synctty +alias ppp-compress-18 ppp_mppe +alias ppp-compress-21 bsd_comp +alias ppp-compress-24 ppp_deflate +alias ppp-compress-26 ppp_deflate +alias net-pf-24 pppoe diff --git a/net-dialup/ppp/files/pppd.tmpfiles b/net-dialup/ppp/files/pppd.tmpfiles new file mode 100644 index 000000000000..81b402e77055 --- /dev/null +++ b/net-dialup/ppp/files/pppd.tmpfiles @@ -0,0 +1,2 @@ +d /run/pppd +L /run/pppd/lock - - - - ../lock diff --git a/net-dialup/ppp/files/pppd.tmpfiles-r1 b/net-dialup/ppp/files/pppd.tmpfiles-r1 new file mode 100644 index 000000000000..2fa3096da9f3 --- /dev/null +++ b/net-dialup/ppp/files/pppd.tmpfiles-r1 @@ -0,0 +1 @@ +d /run/pppd diff --git a/net-dialup/ppp/metadata.xml b/net-dialup/ppp/metadata.xml new file mode 100644 index 000000000000..9bbe2339b091 --- /dev/null +++ b/net-dialup/ppp/metadata.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://liguros.gitlab.io/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>dev@liguros.net</email> + <name>Development</name> + </maintainer> + <maintainer type="project"> + <email>base-system@gentoo.org</email> + <name>Gentoo Base System</name> + </maintainer> + <upstream> + <remote-id type="cpe">cpe:/a:samba:ppp</remote-id> + </upstream> + <use> + <flag name="activefilter">Enables active filter support</flag> + <flag name="dhcp">Installs PPP DHCP client plugin for IP address allocation + by a DHCP server (see http://www.netservers.co.uk/gpl/)</flag> + <flag name="eap-tls">Enables support for Extensible Authentication + Protocol and Transport Level Security (see + http://www.nikhef.nl/~janjust/ppp/index.html)</flag> + <flag name="gtk">Installs GTK+ password prompting program that can be used + by passprompt.so PPP plugin for reading the password from a X11 input + terminal</flag> + <flag name="radius">Enables RADIUS support</flag> + </use> + <origin>ports</origin> +</pkgmetadata>
\ No newline at end of file diff --git a/net-dialup/ppp/ppp-2.5.2.ebuild b/net-dialup/ppp/ppp-2.5.2.ebuild new file mode 100644 index 000000000000..e268033ccf88 --- /dev/null +++ b/net-dialup/ppp/ppp-2.5.2.ebuild @@ -0,0 +1,116 @@ +# Copyright 2024-2025 Liguros Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +inherit flag-o-matic linux-info pam tmpfiles + +DESCRIPTION="Point-to-Point Protocol (PPP)" +HOMEPAGE="https://ppp.samba.org/" +SRC_URI="https://download.samba.org/pub/ppp/${P}.tar.gz" + +LICENSE="BSD GPL-2" +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="activefilter atm pam selinux systemd" + +DEPEND=" + dev-libs/openssl:0= + + virtual/libcrypt:= + activefilter? ( net-libs/libpcap ) + atm? ( net-dialup/linux-atm ) + pam? ( sys-libs/pam ) + systemd? ( sys-apps/systemd ) +" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-ppp ) +" +BDEPEND="virtual/pkgconfig" +PDEPEND="net-dialup/ppp-scripts" + +pkg_setup() { + local CONFIG_CHECK="~PPP ~PPP_ASYNC ~PPP_SYNC_TTY" + local ERROR_PPP="CONFIG_PPP:\t missing PPP support (REQUIRED)" + local ERROR_PPP_ASYNC="CONFIG_PPP_ASYNC:\t missing asynchronous serial line discipline" + ERROR_PPP_ASYNC+=" (optional, but highly recommended)" + local WARNING_PPP_SYNC_TTY="CONFIG_PPP_SYNC_TTY:\t missing synchronous serial line discipline" + WARNING_PPP_SYNC_TTY+=" (optional; used by 'sync' pppd option)" + if use activefilter ; then + CONFIG_CHECK+=" ~PPP_FILTER" + local ERROR_PPP_FILTER="CONFIG_PPP_FILTER:\t missing PPP filtering support (REQUIRED)" + fi + CONFIG_CHECK+=" ~PPP_DEFLATE ~PPP_BSDCOMP ~PPP_MPPE" + local ERROR_PPP_DEFLATE="CONFIG_PPP_DEFLATE:\t missing Deflate compression (optional, but highly recommended)" + local ERROR_PPP_BSDCOMP="CONFIG_PPP_BSDCOMP:\t missing BSD-Compress compression (optional, but highly recommended)" + local WARNING_PPP_MPPE="CONFIG_PPP_MPPE:\t missing MPPE encryption (optional, mostly used by PPTP links)" + CONFIG_CHECK+=" ~PPPOE ~PACKET" + local WARNING_PPPOE="CONFIG_PPPOE:\t missing PPPoE support (optional, needed by pppoe plugin)" + local WARNING_PACKET="CONFIG_PACKET:\t missing AF_PACKET support (optional, used by pppoe plugin)" + if use atm ; then + CONFIG_CHECK+=" ~PPPOATM" + local WARNING_PPPOATM="CONFIG_PPPOATM:\t missing PPPoA support (optional, needed by pppoatm plugin)" + fi + + linux-info_pkg_setup +} + +src_prepare() { + default + + # Set the right paths in radiusclient.conf + sed -e "s:/usr/local/etc:/etc:" \ + -e "s:/usr/local/sbin:/usr/sbin:" \ + -i pppd/plugins/radius/etc/radiusclient.conf || die + # Set config dir to /etc/ppp/radius + sed -i -e "s:/etc/radiusclient:/etc/ppp/radius:g" \ + pppd/plugins/radius/{*.8,*.c,*.h} \ + pppd/plugins/radius/etc/* || die +} + +src_configure() { + # bug #944065 + append-cflags -std=gnu17 + + local args=( + --localstatedir="${EPREFIX}"/var + --runstatedir="${EPREFIX}"/run + $(use_enable systemd) + $(use_with atm) + $(use_with pam) + $(use_with activefilter pcap) + --enable-cbcp + --enable-multilink + ) + econf "${args[@]}" +} + +src_install() { + default + + find "${ED}" -name '*.la' -type f -delete || die + + if use pam; then + pamd_mimic_system ppp auth account session + fi + + insinto /etc/modprobe.d + newins "${FILESDIR}/modules.ppp" ppp.conf + + dosbin scripts/p{on,off,log} + doman scripts/pon.1 + dosym pon.1 /usr/share/man/man1/poff.1 + dosym pon.1 /usr/share/man/man1/plog.1 + + # Adding misc. specialized scripts to doc dir + dodoc -r scripts + + newtmpfiles "${FILESDIR}/pppd.tmpfiles-r1" pppd.conf + + insinto /etc/ppp/radius + doins pppd/plugins/radius/etc/{dictionary*,issue,port-id-map,radiusclient.conf,realms,servers} +} + +pkg_postinst() { + tmpfiles_process pppd.conf +} diff --git a/net-dialup/ppp/ppp-2.5.3.ebuild b/net-dialup/ppp/ppp-2.5.3.ebuild new file mode 100644 index 000000000000..80ca0591eb48 --- /dev/null +++ b/net-dialup/ppp/ppp-2.5.3.ebuild @@ -0,0 +1,116 @@ +# Copyright 2024-2026 Liguros Authors +# Distributed under the terms of the GNU General Public License v2 +EAPI=8 + +inherit flag-o-matic linux-info pam tmpfiles + +DESCRIPTION="Point-to-Point Protocol (PPP)" +HOMEPAGE="https://ppp.samba.org/" +SRC_URI="https://download.samba.org/pub/ppp/${P}.tar.gz" + +LICENSE="BSD GPL-2" +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="activefilter atm pam selinux systemd" + +DEPEND=" + dev-libs/openssl:0= + + virtual/libcrypt:= + activefilter? ( net-libs/libpcap ) + atm? ( net-dialup/linux-atm ) + pam? ( sys-libs/pam ) + systemd? ( sys-apps/systemd ) +" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-ppp ) +" +BDEPEND="virtual/pkgconfig" +PDEPEND="net-dialup/ppp-scripts" + +pkg_setup() { + local CONFIG_CHECK="~PPP ~PPP_ASYNC ~PPP_SYNC_TTY" + local ERROR_PPP="CONFIG_PPP:\t missing PPP support (REQUIRED)" + local ERROR_PPP_ASYNC="CONFIG_PPP_ASYNC:\t missing asynchronous serial line discipline" + ERROR_PPP_ASYNC+=" (optional, but highly recommended)" + local WARNING_PPP_SYNC_TTY="CONFIG_PPP_SYNC_TTY:\t missing synchronous serial line discipline" + WARNING_PPP_SYNC_TTY+=" (optional; used by 'sync' pppd option)" + if use activefilter ; then + CONFIG_CHECK+=" ~PPP_FILTER" + local ERROR_PPP_FILTER="CONFIG_PPP_FILTER:\t missing PPP filtering support (REQUIRED)" + fi + CONFIG_CHECK+=" ~PPP_DEFLATE ~PPP_BSDCOMP ~PPP_MPPE" + local ERROR_PPP_DEFLATE="CONFIG_PPP_DEFLATE:\t missing Deflate compression (optional, but highly recommended)" + local ERROR_PPP_BSDCOMP="CONFIG_PPP_BSDCOMP:\t missing BSD-Compress compression (optional, but highly recommended)" + local WARNING_PPP_MPPE="CONFIG_PPP_MPPE:\t missing MPPE encryption (optional, mostly used by PPTP links)" + CONFIG_CHECK+=" ~PPPOE ~PACKET" + local WARNING_PPPOE="CONFIG_PPPOE:\t missing PPPoE support (optional, needed by pppoe plugin)" + local WARNING_PACKET="CONFIG_PACKET:\t missing AF_PACKET support (optional, used by pppoe plugin)" + if use atm ; then + CONFIG_CHECK+=" ~PPPOATM" + local WARNING_PPPOATM="CONFIG_PPPOATM:\t missing PPPoA support (optional, needed by pppoatm plugin)" + fi + + linux-info_pkg_setup +} + +src_prepare() { + default + + # Set the right paths in radiusclient.conf + sed -e "s:/usr/local/etc:/etc:" \ + -e "s:/usr/local/sbin:/usr/sbin:" \ + -i pppd/plugins/radius/etc/radiusclient.conf || die + # Set config dir to /etc/ppp/radius + sed -i -e "s:/etc/radiusclient:/etc/ppp/radius:g" \ + pppd/plugins/radius/{*.8,*.c,*.h} \ + pppd/plugins/radius/etc/* || die +} + +src_configure() { + # bug #944065 + append-cflags -std=gnu17 + + local args=( + --localstatedir="${EPREFIX}"/var + --runstatedir="${EPREFIX}"/run + $(use_enable systemd) + $(use_with atm) + $(use_with pam) + $(use_with activefilter pcap) + --enable-cbcp + --enable-multilink + ) + econf "${args[@]}" +} + +src_install() { + default + + find "${ED}" -name '*.la' -type f -delete || die + + if use pam; then + pamd_mimic_system ppp auth account session + fi + + insinto /etc/modprobe.d + newins "${FILESDIR}/modules.ppp" ppp.conf + + dosbin scripts/p{on,off,log} + doman scripts/pon.1 + dosym pon.1 /usr/share/man/man1/poff.1 + dosym pon.1 /usr/share/man/man1/plog.1 + + # Adding misc. specialized scripts to doc dir + dodoc -r scripts + + newtmpfiles "${FILESDIR}/pppd.tmpfiles-r1" pppd.conf + + insinto /etc/ppp/radius + doins pppd/plugins/radius/etc/{dictionary*,issue,port-id-map,radiusclient.conf,realms,servers} +} + +pkg_postinst() { + tmpfiles_process pppd.conf +} diff --git a/net-dialup/pppconfig/Manifest b/net-dialup/pppconfig/Manifest new file mode 100644 index 000000000000..84fb582da58e --- /dev/null +++ b/net-dialup/pppconfig/Manifest @@ -0,0 +1 @@ +DIST pppconfig_2.3.25.tar.gz 392316 BLAKE2B 7c30db92cff0c9e80e04e4e7a83ccc22e2c1380831fcbc1ebd36bc4d30044c0b32669546907318be3c43061d1ea9f44b0a471f56847e75b0470f18f1aa10bf7a SHA512 6874b93ae34edb2a0ba06a669d930f5023a3eae38b6d10a78179eb69990a8280d41ebc2049461b54b03bd19904d13d2ebb57997599ed650660d0b34c958ad977 diff --git a/net-dialup/pppconfig/files/pppconfig b/net-dialup/pppconfig/files/pppconfig new file mode 100644 index 000000000000..606300f2026b --- /dev/null +++ b/net-dialup/pppconfig/files/pppconfig @@ -0,0 +1,9 @@ +#!/bin/sh +# Since I don't feel like installing whiptail, we need to wrap this app +PPPCONFIG="/usr/sbin/pppconfig.real" +if [ -x ${PPPCONFIG} ]; then + $PPPCONFIG --dialog +else + echo "Error starting $PPPCONFIG" + exit 1 +fi diff --git a/net-dialup/pppconfig/metadata.xml b/net-dialup/pppconfig/metadata.xml new file mode 100644 index 000000000000..85e4ed814fa2 --- /dev/null +++ b/net-dialup/pppconfig/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<!-- maintainer-needed --> +</pkgmetadata> diff --git a/net-dialup/pppconfig/pppconfig-2.3.25.ebuild b/net-dialup/pppconfig/pppconfig-2.3.25.ebuild new file mode 100644 index 000000000000..476f2419b7f4 --- /dev/null +++ b/net-dialup/pppconfig/pppconfig-2.3.25.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit strip-linguas + +DESCRIPTION="A text menu based utility for configuring ppp" +HOMEPAGE="https://tracker.debian.org/pkg/pppconfig" +SRC_URI="mirror://debian/pool/main/p/${PN}/${P/-/_}.tar.gz" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="amd64 ppc x86" +IUSE="nls" + +RDEPEND="net-dialup/ppp + dev-util/dialog + dev-lang/perl" +BDEPEND="nls? ( sys-devel/gettext )" + +src_prepare() { + default + + if use nls; then + strip-linguas -i po/ + fi +} + +src_compile() { + default + + if use nls; then + local lang + for lang in ${LINGUAS}; do + msgfmt -o po/${lang}.{m,p}o || die + done + fi +} + +src_install() { + keepdir /etc/chatscripts /etc/ppp/resolv + dosbin 0dns-down 0dns-up dns-clean + newsbin pppconfig pppconfig.real + dosbin "${FILESDIR}/pppconfig" + doman man/pppconfig.8 + dodoc debian/{copyright,changelog} + + if use nls; then + local lang + for lang in ${LINGUAS}; do + insinto /usr/share/locale/${lang}/LC_MESSAGES + newins po/${lang}.mo pppconfig.mo + done + fi +} diff --git a/net-dialup/pptpclient/Manifest b/net-dialup/pptpclient/Manifest new file mode 100644 index 000000000000..90cb396e8ace --- /dev/null +++ b/net-dialup/pptpclient/Manifest @@ -0,0 +1,2 @@ +DIST pptp-1.10.0.tar.gz 87007 BLAKE2B aeb8bff0025c5144678db2ee79ecd80ec3c7261640ed94596a3599c163763cbf17b50c37591fd8b39d0687db5dff9b4c14d1aa303d95b9fcaf4eb53602cf321b SHA512 d2b925fb9cb5dbc4da576dce0cfae62f466576ae5b5ed7d6edeaec9be16ab6e0d17c307df43ebdc06138f1269ef61ba8910462a4629b6262c452e8287cabe41c +DIST pptp-command-20130515.bz2 7269 BLAKE2B dda3f517cf747e025dee1967841d40e58461384415161ef01bcc96c6568c5ccfb1af5254f26276164c43c41b668bf2646e5138985531d54f13ab2fedd410fab2 SHA512 3b0ad28c5f7bf4f674ba8742e8a3be50cb62521f767142a1a1e74263707bc860126b7238a4aea307366a71100a193d18f3ec7599f4c0c52cd259f8b1d6b429bf diff --git a/net-dialup/pptpclient/files/pptp_fe.pl b/net-dialup/pptpclient/files/pptp_fe.pl new file mode 100644 index 000000000000..83899d9a2c91 --- /dev/null +++ b/net-dialup/pptpclient/files/pptp_fe.pl @@ -0,0 +1,370 @@ +#!/usr/bin/perl +# +# $Id: pptp_fe.pl,v 1.1 2001/11/29 05:19:10 quozl Exp $ +# +# pptp_fe.pl, privileged portion of xpptp_fe.pl +# Copyright (C) 2001 Smoot Carl-Mitchell (smoot@tic.com) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +use strict; +use Getopt::Std; +use Time::localtime; +use IO::Handle; + +my $Usage = "usage: pptp_fe [-c config_file] [-d] [-h] [-k] [-n network] + [-p] [-r routes] [-t timeout] [host] + where: + -c - configuration file (default is ~/.pptp_fe.conf) + -d - pppd debug flag + -h - this help message + -k - kill pppd daemon with route to network + -n - network number of remote private network in x.x.x.x/n notation + -r - routes to add to routing table separated by commas + -p - suppress prompting + -t - connection timeout retry interval in seconds (default 60 seconds) + host - remote PPTP server name +"; + +my %Opt; +getopts("c:dhkn:pr:t:", \%Opt); + +my $Config_File = $Opt{'c'}; +$Config_File = "$ENV{'HOME'}/.pptp_fe.conf" unless $Opt{'c'}; +my $Config; +my $Debug = $Opt{'d'}; +$Debug = 0 unless $Debug; +my $Debug_Flag = "debug" if $Debug; +my $Help = $Opt{'h'}; +my $Kill = $Opt{'k'}; +my $Net = $Opt{'n'}; +my $No_Prompt = $Opt{'p'}; +my $Route = $Opt{'r'}; +my $Timeout = $Opt{'t'}; $Timeout = 60 unless $Timeout; + +print($Usage), exit(1) if $Help; + +my $Server = $ARGV[0]; + +my $State = "disconnected"; + +system("modprobe ppp-compress-18"); + +$Config = cmd_read_config_file($Config_File); +for my $cmd (@$Config) { + cmd_set($cmd, 1); +} + +print "($State) > " unless $No_Prompt; +STDOUT->flush; +for (;;) { + my $rin = ''; + my $rout = ''; + vec($rin, fileno(STDIN), 1) = 1; + command() if select($rout=$rin, undef, undef, 5); + + my $interface = ""; + if ($State eq "connected" && ! ($interface = net_interface_up($Net))) { + print "\n"; + print "interface $interface for $Net not up - restarting\n"; + cmd_connect(); + print "($State) > " unless $No_Prompt;; + } +} + +sub command { + + my $input; + sysread(STDIN, $input, 1024); + + for my $line1 (split("\n", $input)) { + my $line = $line1; + $line =~ s/\s*$//; + $line =~ s/^\s*//; + my ($command, $arguments) = split(" ", $line, 2); + + if ($command eq "c") { + cmd_connect(); + } + elsif ($command eq "d") { + cmd_disconnect(); + } + elsif ($command eq "h") { + cmd_help(); + } + elsif ($command eq "l") { + cmd_list(); + } + elsif ($command eq "q") { + cmd_disconnect(); + exit 0; + } + elsif ($command eq "r") { + $Config = cmd_read_config_file($arguments); + } + elsif ($command eq "s") { + cmd_set($arguments, 0); + } + elsif ($command eq "w") { + cmd_write_config_file($arguments); + } + elsif ($command ne "") { + print "unknown command\n"; + } + } + print "($State) > " unless $No_Prompt; + STDOUT->flush; +} + +sub cmd_connect { + + cmd_disconnect() if $State eq "connected"; + + my $start_time = time(); + my $date_string = ctime($start_time); + print "$date_string Running pptp $Server $Debug_Flag"; + system("pptp $Server $Debug_Flag"); + + my $interface = ""; + + do { + sleep 1; + $interface = net_interface_up($Net); + print "."; + } until ($interface || time() > $start_time + $Timeout); + + if (time() > $start_time + $Timeout) { + print "timed out after $Timeout sec\n"; + $State = "disconnected"; + return 0; + } + + print "\n"; + + my $ifcfg = `ifconfig $interface`; + $ifcfg =~ /P-t-P:(.*) Mask/; + my $ip = $1; + print "setting route to network $Net to interface $interface\n"; + system("route add -net $Net dev $interface metric 2"); + + # Routes are separated by commas + my @route = split(/,/, $Route); + for my $route (@route) { + my $net_flag = ""; + $net_flag = "-net" if $route =~ /\//; + + print "setting route to $route to interface $interface\n"; + system("route add $net_flag $route dev $interface"); + } + + $State = "connected"; + print "connected\n"; + return 1; +} + +sub cmd_disconnect { + + return 1 if $State eq "disconnected"; + + my $interface = net_interface_up($Net); + my $pid_file = "/var/run/$interface.pid"; + + # delete the named pipes - XXX this is a bit crude + system("rm -f /var/run/pptp/*"); + + $State = "disconnected", return 1 unless $interface && -f $pid_file; + + my $pid = `cat $pid_file`; + chomp $pid; + print "killing pppd($pid)\n"; + kill("HUP", $pid); + print "waiting for pppd to die"; + do { + sleep 1; + print "."; + } + until (kill(0, $pid)); + + print "\n"; + $State = "disconnected"; + print "disconnected\n"; + return 1; +} + +sub cmd_list { + + print "Server = $Server\n"; + print "Network = $Net\n"; + print "Routes = $Route\n"; + print "Debug = $Debug_Flag\n"; + print "No_Prompt = $No_Prompt\n"; + print "Timeout = $Timeout\n"; + print "\n"; +} + +sub cmd_help { + + print "Commands are:\n"; + print "c - initiate PPTP connection\n"; + print "d - disconnect PPTP\n"; + print "h - this help message\n"; + print "l - list current configuration\n"; + print "q - quite the program\n"; + print "r - read configuration file\n"; + print "s - set configuration variable (l for a list)\n"; + print "w - write the configuration file\n"; + +} + +sub cmd_set { + my $input = shift; + my $no_replace = shift; + + my ($variable, $value) = split(/\s*=\s*/, $input); + + $variable = "\L$variable"; + if (! $variable) { + print "syntax: s variable = value\n"; + return 0; + } + + if ($variable eq "server") { + $Server = $value unless $no_replace && $Server; + } + elsif ($variable eq "network") { + $Net = $value unless $no_replace && $Net; + } + elsif ($variable eq "routes") { + $Route = $value unless $no_replace && $Route; + } + elsif ($variable eq "debug") { + $Debug_Flag = $value unless $no_replace && $Debug_Flag; + } + elsif ($variable eq "no_prompt") { + $No_Prompt = $value unless $no_replace && $No_Prompt; + } + elsif ($variable eq "timeout") { + $Timeout = $value unless $no_replace && $Timeout; + } + elsif ($variable eq "config_file") { + $Config_File = $value unless $no_replace && $Config_File; + } + else { + print "unknown variable\n"; + } +} + +sub cmd_read_config_file { + my $file = shift; + + my $config = []; + $file = $Config_File unless $file; + local *IN; + if (!open(IN, $file)) { + print "cannot open $file\n"; + return $config; + } + + my @config_file = <IN>; + close IN; + push @config_file, "\n"; + chomp @config_file; + + for my $line (@config_file) { + next if /\s*#/; + + if ($line =~ /\S/) { + $line =~ s/^\s*//; + $line =~ s/\s*$//; + push @$config, $line; + next; + } + } + return $config; +} + +sub cmd_write_config_file { + my $file = shift; + + $file = $Config_File unless $file; + local *OUT; + if (!open(OUT, ">$file")) { + print "cannot open $file\n"; + return 0; + } + + my $oldfh = select OUT; + cmd_list(); + close OUT; + select $oldfh; + + return 1; +} + +sub net_interface_up { + my $cidr = shift; + + # cidr is net/bits + my($net, $nbits) = split(/\//, $cidr); + + # compute the network number + my $netnum = netnum($net, $nbits); + local(*INTERFACE); + open(INTERFACE, "ifconfig|") || die "cannot run ifconfig - $!\n"; + + my $interface = ""; + my @interface = <INTERFACE>; + close INTERFACE; + for (@interface) { + chomp; + + # new interface + if (/^[a-zA-Z]/) { + if ($interface =~ /(.*) Link.*P-t-P:(.*) Mask/) { + my $interface_name = $1; + my $ip = $2; + return $interface_name + if netnum($ip, $nbits) == $netnum; + } + $interface = ""; + } + $interface .= $_; + } + return ""; +} + +sub netnum { + my $net = shift; + my $bits = shift; + + my @octets = split(/\./, $net); + my $netnum = 0; + for my $octet (@octets) { + $netnum <<= 8; + $netnum |= $octet; + } + + my $mask = 0; + for (1..$bits) { + $mask <<= 1; + $mask |= 1; + } + $mask = $mask << (32-$bits); + + $netnum &= $mask; + + return $netnum; +} diff --git a/net-dialup/pptpclient/files/xpptp_fe.pl b/net-dialup/pptpclient/files/xpptp_fe.pl new file mode 100644 index 000000000000..e32dcd9eabc8 --- /dev/null +++ b/net-dialup/pptpclient/files/xpptp_fe.pl @@ -0,0 +1,255 @@ +#!/usr/bin/perl -w +# +# $Id: xpptp_fe.pl.pl,v 1.1 2001/11/29 05:19:10 quozl Exp $ +# +# xpptp_fe.pl.pl, graphical user interface for PPTP configuration +# Copyright (C) 2001 Smoot Carl-Mitchell (smoot@tic.com) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +use Tk; +use Tk::DirTree; + +=pod +TK driver for pptp_fe.pl command script +=cut + +=pod +Global flags which correspnd to the pptp_fe.pl flags and options +=cut + +my $Debug = 0; +my $Debug_Flag = ""; +my $Network = ""; +my $Server = ""; +my $Routes = ""; +my $Get_Current_Config = 0; + +=pod + +Start up pptp_fe.pl and connect its input and output to the TK frontend. +All I/O is done in raw mode, so the reads and writes are atomic and +unbuffered. + +=cut + +pipe OUTPUT_READ, OUTPUT_WRITE; +pipe COMMAND_READ, COMMAND_WRITE; + +my $Child_Pid = fork(); +die "cannot fork - $!\n" if $Child_Pid == -1; + +if ($Child_Pid) { # parent + close OUTPUT_WRITE; + close COMMAND_READ; +} +else { # child + close OUTPUT_READ; + close COMMAND_WRITE; + + open(STDIN, "<&COMMAND_READ"); + open(STDOUT, ">&OUTPUT_WRITE"); + + exec("pptp_fe.pl -p"); +} + +=pod +The main window which present the various pptp_fe.pl options. + +The window is composed of: + + Server name + Network number + Routes +Connect Button Disconnect Button Write Config Button Quit Button +=cut + +my $Main = MainWindow->new(); +$Main->Label(-text => "PPTP")->pack; + +my $Server_Frame = $Main->Frame->pack(-fill => 'x', + -padx => 5, + -pady => 5); + +$Server_Frame->Label(-text => "Remote PPTP Host")->pack(-side => "left"); +$Server_Frame->Entry( + -text => "Host", + -width => 30, + -textvariable => \$Server, + )->pack(-side => "left"); + + +my $Net_Frame = $Main->Frame->pack(-fill => 'x', + -padx => 5, + -pady => 5); + +=pod +Network number entry box. This is the argument to the the -n flag +=cut + +$Net_Frame->Label(-text => "Network Number")->pack(-side => "left"); +$Net_Frame->Entry( + -text => "Network", + -width => 15, + -textvariable => \$Network, + )->pack(-side => "left"); + +=pod +Additional static routes (-r) flag +=cut + +my $Route_Frame = $Main->Frame->pack( + -fill => 'x', + -padx => 5, + -pady => 5); + +$Route_Frame->Label(-text => "Routes")->pack(-side => "left"); + +$Route_Frame->Entry( + -text => "Routes", + -width => 30, + -textvariable => \$Routes + )->pack( + -side => "left", + -padx => 5, + -pady => 5); + +=pod +Buttons + +Connect - Connect to a remote PPTP server + +Disconnect - Disconnect from the remote PPTP server + +Write - Write a configuration file + +Quit - Terminates the running pptp daemon and pptp_fe.pl program. +=cut + +my $Button_Frame = $Main->Frame->pack(-fill => 'x', -pady => 5); + +my $Disconnect_Button; +my $Connect_Button; +my $Read_Button; +my $Write_Button; +my $Quit_Button; + +$Connect_Button = $Button_Frame->Button( + -text => "Connect", + -command => + sub { + update_config(); + syswrite(COMMAND_WRITE, "c\n"); + + $Connect_Button->configure(-state => "disabled"); + $Disconnect_Button->configure(-state => "normal"); + }, + )->pack(-side => "left", -pady => 5, -padx => 5); + +$Disconnect_Button = $Button_Frame->Button( + -text => "Disconnect", + -state => "disabled", + -command => + sub { + syswrite(COMMAND_WRITE, "d\n"); + + $Connect_Button->configure(-state => "normal"); + $Disconnect_Button->configure(-state => "disabled"); + } + )->pack(-side => "left", -pady => 5, -padx => 5); + +$Write_Button = $Button_Frame->Button( + -text => "Write Config", + -command => + sub { + syswrite(COMMAND_WRITE, "w\n"); + + } + )->pack(-side => "left", -pady => 5, -padx => 5); + +$Quit_Button = $Button_Frame->Button( + -text => "Quit", + -command => + sub { + syswrite(COMMAND_WRITE, "q\n"); + + $Connect_Button->configure(-state => "disabled"); + $Disconnect_Button->configure(-state => "disabled"); + $Quit_Button->configure(-state => "disabled"); + } + )->pack(-side => "left", -pady => 5, -padx => 5); + +my $Log_Window = $Main->Toplevel; +$Log_Window->title("PPTP Log"); + +my $Log_Widget = $Log_Window->Text( + -height => 20, + -width => 80, + )->pack; + + +$Log_Widget->fileevent(OUTPUT_READ, "readable", sub { + my $in = ""; + my $n = sysread(OUTPUT_READ, $in, 1024); + if ($n == 0) { + close OUTPUT_READ; + $Main->destroy; + exit 0; + } + + if (!$Get_Current_Config) { + $Log_Widget->insert("end", $in); + $Log_Widget->see("end"); + } + else { + $Get_Current_Config = 0; + + for my $line (split("\n", $in)) { + next unless $line =~ /\S/; + + my ($variable, $value) = split(/\s*=\s*/, $line); + $variable = "\L$variable"; + + if ($variable eq "server") { + $Server = $value; + } + elsif ($variable eq "network") { + $Network = $value; + } + elsif ($variable eq "routes") { + $Routes = $value; + } + elsif ($variable eq "debug") { + $Debug = $value; + } + } + } + + return 1; +}); + +syswrite(COMMAND_WRITE, "l\n"); +$Get_Current_Config = 1; + +MainLoop; + +sub update_config { + + syswrite(COMMAND_WRITE, "s server = $Server\n"); + syswrite(COMMAND_WRITE, "s network = $Network\n"); + syswrite(COMMAND_WRITE, "s routes = $Routes\n"); + syswrite(COMMAND_WRITE, "s debug = $Debug_Flag\n"); +} diff --git a/net-dialup/pptpclient/metadata.xml b/net-dialup/pptpclient/metadata.xml new file mode 100644 index 000000000000..5fdc94ab6fcd --- /dev/null +++ b/net-dialup/pptpclient/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <upstream> + <remote-id type="sourceforge">pptpclient</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/pptpclient/pptpclient-1.10.0.ebuild b/net-dialup/pptpclient/pptpclient-1.10.0.ebuild new file mode 100644 index 000000000000..bd3462a5af24 --- /dev/null +++ b/net-dialup/pptpclient/pptpclient-1.10.0.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +MY_P="${P/client}" +MY_CMD="pptp-command-20130515" + +DESCRIPTION="Linux client for PPTP" +HOMEPAGE="http://pptpclient.sourceforge.net/" +SRC_URI="https://downloads.sourceforge.net/pptpclient/${MY_P}.tar.gz + https://dev.gentoo.org/~pinkbyte/distfiles/pptpclient/${MY_CMD}.bz2" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~alpha amd64 ~arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86" +IUSE="tk selinux" + +DEPEND="net-dialup/ppp + dev-lang/perl + tk? ( dev-perl/Tk )" +RDEPEND="${DEPEND} + sys-apps/iproute2 + selinux? ( sec-policy/selinux-ppp )" + +RESTRICT="test" #make test is useless and vector_test.c is broken + +S="${WORKDIR}/${MY_P}" + +DOCS=( AUTHORS ChangeLog DEVELOPERS NEWS README TODO USING ) + +src_compile() { + emake OPTIMISE= DEBUG= CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" CC="$(tc-getCC)" +} + +src_install() { + default + dodoc Documentation/* + dodir /etc/pptp.d + + # The current version of pptp-linux doesn't include the + # RH-specific portions, so include them ourselves. + newsbin "${WORKDIR}/${MY_CMD}" pptp-command + dosbin "${FILESDIR}/pptp_fe.pl" + use tk && dosbin "${FILESDIR}/xpptp_fe.pl" +} diff --git a/net-dialup/radiusclient-ng/Manifest b/net-dialup/radiusclient-ng/Manifest new file mode 100644 index 000000000000..6547d804fb5e --- /dev/null +++ b/net-dialup/radiusclient-ng/Manifest @@ -0,0 +1 @@ +DIST radiusclient-ng-0.5.6.tar.gz 383882 BLAKE2B fa444a6a89cd8736aa03a71207bcc590cd12f0d043ed7cfe0405b7db51acecd34ddcf7b49ca19da485cd2f99975d39518455db1e9733fe40b25ea9b71a900c9e SHA512 3096519cb2029a216ac9a613c8c0721d9154b0b82c219f5528423bd1157333101137064cb2363e9cfd646a1719b06b1cec78eaf24fafb2f780fec41f40bcae88 diff --git a/net-dialup/radiusclient-ng/files/radiusclient-ng-0.5.6-cross-compile.patch b/net-dialup/radiusclient-ng/files/radiusclient-ng-0.5.6-cross-compile.patch new file mode 100644 index 000000000000..4fd5c720359c --- /dev/null +++ b/net-dialup/radiusclient-ng/files/radiusclient-ng-0.5.6-cross-compile.patch @@ -0,0 +1,73 @@ +Fix by Bertrand Jacquin <beber AT meleeweb.net> + +Gentoo bugreport: https://bugs.gentoo.org/show_bug.cgi?id=373365 +Upstream bugreport: https://developer.berlios.de/bugs/?func=detailbug&bug_id=18190&group_id=1208 + +--- a/configure.in ++++ b/configure.in +@@ -104,32 +104,40 @@ + AC_CHECK_FUNCS(flock fcntl uname gethostname sysinfo getdomainname) + AC_CHECK_FUNCS(stricmp random rand snprintf vsnprintf) + +-if test "$ac_cv_func_uname" = 'yes' +-then +- AC_MSG_CHECKING([for field domainname in struct utsname]) +- AC_TRY_RUN([ +- #include <sys/utsname.h> ++AC_CACHE_CHECK([for field domainname in struct utsname], ac_cv_struct_utsname, ++ [AC_TRY_RUN([ ++ #include <sys/utsname.h> + +- main(int argc, char **argv) +- { +- struct utsname uts; +- uts.domainname[0] = '\0'; +- } +- ], +- AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_STRUCT_UTSNAME_DOMAINNAME), +- AC_MSG_RESULT(no) +- ) +-fi ++ main(int argc, char **argv) ++ { ++ struct utsname uts; ++ uts.domainname[0] = '\0'; ++ } ++ ], ++ ac_cv_struct_utsname=yes, ++ ac_cv_struct_utsname=no, ++ [AC_MSG_ERROR([cross-compiling, ++ presetting ac_cv_struct_utsname=(yes|no) will help])] ++ ) ++]) ++AS_VAR_IF(ac_cv_struct_utsname, yes, ++ [AC_DEFINE(HAVE_STRUCT_UTSNAME_DOMAINNAME)], ++) + +-AC_MSG_CHECKING([for /dev/urandom]) +-if test -c /dev/urandom +-then +- AC_MSG_RESULT(yes) +- AC_DEFINE(HAVE_DEV_URANDOM) +-else +- AC_MSG_RESULT(no) +-fi ++AC_CACHE_CHECK([for /dev/urandom], ac_cv_file__dev_urandom, ++ [AS_IF([test "$cross_compiling" = yes], ++ [AC_MSG_ERROR([cross-compiling, ++ presetting ac_cv_file__dev_urandom=(yes|no) will help])], ++ if test -c /dev/urandom ; then ++ ac_cv_file__dev_urandom=yes ++ else ++ ac_cv_file__dev_urandom=no ++ fi ++ )] ++) ++AS_VAR_IF(ac_cv_file__dev_urandom, yes, ++ [AC_DEFINE(HAVE_DEV_URANDOM)] ++) + + dnl Determine PATH setting + echo $ac_n "using the following PATH setting for exec'ed programs... $ac_c" 1>&6 + diff --git a/net-dialup/radiusclient-ng/metadata.xml b/net-dialup/radiusclient-ng/metadata.xml new file mode 100644 index 000000000000..57b36e791957 --- /dev/null +++ b/net-dialup/radiusclient-ng/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <longdescription>Purpose of this project is to build portable, easy-to-use and standard compliant library suitable for +developing free and commercial software that need support for a RADIUS protocol (RFCs 2128 and 2139).</longdescription> + <upstream> + <remote-id type="sourceforge">radiusclient-ng.berlios</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/radiusclient-ng/radiusclient-ng-0.5.6-r2.ebuild b/net-dialup/radiusclient-ng/radiusclient-ng-0.5.6-r2.ebuild new file mode 100644 index 000000000000..84438ae2febe --- /dev/null +++ b/net-dialup/radiusclient-ng/radiusclient-ng-0.5.6-r2.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools toolchain-funcs + +DESCRIPTION="RadiusClient NextGeneration - library for RADIUS clients" +HOMEPAGE="https://sourceforge.net/projects/radiusclient-ng.berlios/" +SRC_URI="https://downloads.sourceforge.net/${PN}.berlios/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="amd64 ~ppc ~sparc x86" + +DEPEND="!net-dialup/radiusclient + !net-dialup/freeradius-client + virtual/libcrypt:=" +RDEPEND="${DEPEND}" + +DOCS=( BUGS CHANGES README ) +HTML_DOCS=( doc/instop.html ) + +PATCHES=( + "${FILESDIR}/${P}-cross-compile.patch" +) + +src_prepare() { + default + + mv configure.{in,ac} || die + + eautoreconf +} + +src_configure() { + # bug #373365 + if tc-is-cross-compiler ; then + export ac_cv_file__dev_urandom=yes + export ac_cv_struct_utsname=no + fi + + econf +} + +src_install() { + default + + find "${ED}" -name '*.a' -delete || die +} diff --git a/net-dialup/rp-l2tp/Manifest b/net-dialup/rp-l2tp/Manifest new file mode 100644 index 000000000000..5c9f3a14aecd --- /dev/null +++ b/net-dialup/rp-l2tp/Manifest @@ -0,0 +1 @@ +DIST rp-l2tp-0.4.tar.gz 198869 BLAKE2B 2ffe47311b26fcf50eadfec7be5b5e936f8aa047c6a5bd7599bb9903dfa5eff3dce565ebe7bc12cb7320ffedb73b447511d1aceeda95c285da1fb709b5122db5 SHA512 43a1ce8728323ed25f8b92c981731b21db8714f8d157343deb1da49f2c7b25e1833de5012238098ad9d1add7daec228a48f2cb8d6d0b60afbcc1c385ae79d3c9 diff --git a/net-dialup/rp-l2tp/files/rp-l2tp-0.4-build.patch b/net-dialup/rp-l2tp/files/rp-l2tp-0.4-build.patch new file mode 100644 index 000000000000..6ba8630e43d6 --- /dev/null +++ b/net-dialup/rp-l2tp/files/rp-l2tp-0.4-build.patch @@ -0,0 +1,68 @@ +--- a/Makefile.in.orig 2014-06-24 15:20:47.028342728 +0400 ++++ b/Makefile.in 2014-06-24 15:21:07.468320934 +0400 +@@ -39,8 +39,8 @@ + + libl2tp.a: $(OBJS) + rm -f $@ +- ar -rc $@ $^ +- ranlib $@ || true ++ $(AR) -rc $@ $^ ++ @RANLIB@ $@ || true + + l2tpd: libl2tp.a libevent/libevent.a + $(MAKE) -C handlers +--- a/libevent/Makefile.in.orig 2002-09-30 23:45:00.000000000 +0400 ++++ b/libevent/Makefile.in 2014-06-24 15:24:31.535105268 +0400 +@@ -18,20 +18,20 @@ + + libevent.a: $(OBJS) + rm -f libevent.a +- ar -cq libevent.a $(OBJS) ++ $(AR) -cq libevent.a $(OBJS) + @RANLIB@ libevent.a + + event.o: event.c $(HDRS) +- gcc $(CFLAGS) -c -o event.o event.c ++ $(CC) $(CFLAGS) -c -o event.o event.c + + hash.o: hash.c $(HDRS) +- gcc $(CFLAGS) -c -o hash.o hash.c ++ $(CC) $(CFLAGS) -c -o hash.o hash.c + + event_sig.o: event_sig.c $(HDRS) +- gcc $(CFLAGS) -c -o event_sig.o event_sig.c ++ $(CC) $(CFLAGS) -c -o event_sig.o event_sig.c + + event_tcp.o: event_tcp.c $(HDRS) +- gcc $(CFLAGS) -c -o event_tcp.o event_tcp.c ++ $(CC) $(CFLAGS) -c -o event_tcp.o event_tcp.c + + clean: FORCE + rm -f *.a *.o *~ +--- a/handlers/Makefile.in.orig 2014-06-24 15:31:35.186667624 +0400 ++++ b/handlers/Makefile.in 2014-06-24 15:32:26.659615281 +0400 +@@ -20,19 +20,19 @@ + all: $(HANDLERS) l2tp-control + + l2tp-control: cmd-control.o +- gcc $(LDFLAGS) -o l2tp-control cmd-control.o ++ $(CC) $(CFLAGS) $(LDFLAGS) -o l2tp-control cmd-control.o + + cmd-control.o: cmd-control.c +- gcc $(CFLAGS) -c -o $@ $^ ++ $(CC) $(CFLAGS) -c -o $@ $^ + + %.o: %.c +- gcc $(CFLAGS) -fPIC -c -o $@ $< ++ $(CC) $(CFLAGS) -fPIC -c -o $@ $< + + sync-pppd.so: pty.o sync-pppd.o +- gcc $(LDFLAGS) -shared -o $@ $^ ++ $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ + + cmd.so: cmd.o dstring.o +- gcc $(LDFLAGS) -shared -o $@ $^ ++ $(CC) $(CFLAGS) $(LDFLAGS) -shared -o $@ $^ + + clean: + rm -f *.so *.o *~ diff --git a/net-dialup/rp-l2tp/files/rp-l2tp-0.4-clang16-build-fix.patch b/net-dialup/rp-l2tp/files/rp-l2tp-0.4-clang16-build-fix.patch new file mode 100644 index 000000000000..dc4269764a27 --- /dev/null +++ b/net-dialup/rp-l2tp/files/rp-l2tp-0.4-clang16-build-fix.patch @@ -0,0 +1,11 @@ +Bug: https://bugs.gentoo.org/897858 +--- a/handlers/cmd-control.c ++++ b/handlers/cmd-control.c +@@ -16,6 +16,7 @@ + static char const RCSID[] = + "$Id: cmd-control.c,v 1.2 2002/09/30 19:45:00 dskoll Exp $"; + #include <stdio.h> ++#include <string.h> + #include <sys/socket.h> + #include <sys/un.h> + #include <sys/types.h> diff --git a/net-dialup/rp-l2tp/files/rp-l2tp-0.4-flags.patch b/net-dialup/rp-l2tp/files/rp-l2tp-0.4-flags.patch new file mode 100644 index 000000000000..bf5d0cf82b3f --- /dev/null +++ b/net-dialup/rp-l2tp/files/rp-l2tp-0.4-flags.patch @@ -0,0 +1,54 @@ +diff -ru rp-l2tp-0.4.orig/handlers/Makefile.in rp-l2tp-0.4/handlers/Makefile.in +--- rp-l2tp-0.4.orig/handlers/Makefile.in 2008-10-18 08:35:39.000000000 +0000 ++++ rp-l2tp-0.4/handlers/Makefile.in 2008-10-18 08:47:02.000000000 +0000 +@@ -15,24 +15,24 @@ + + OBJS=pty.o sync-pppd.o dstring.o + SRCS=$(OBJS:.o=.c) +-CFLAGS=-g -O2 -I.. -I../libevent -I../../libevent -Wall ++CFLAGS=@CFLAGS@ -I.. -I../libevent -I../../libevent -Wall + + all: $(HANDLERS) l2tp-control + + l2tp-control: cmd-control.o +- gcc -o l2tp-control cmd-control.o ++ gcc $(LDFLAGS) -o l2tp-control cmd-control.o + + cmd-control.o: cmd-control.c +- gcc -c -o $@ $^ ++ gcc $(CFLAGS) -c -o $@ $^ + + %.o: %.c + gcc $(CFLAGS) -fPIC -c -o $@ $< + + sync-pppd.so: pty.o sync-pppd.o +- gcc -shared -o $@ $^ ++ gcc $(LDFLAGS) -shared -o $@ $^ + + cmd.so: cmd.o dstring.o +- gcc -shared -o $@ $^ ++ gcc $(LDFLAGS) -shared -o $@ $^ + + clean: + rm -f *.so *.o *~ +diff -ru rp-l2tp-0.4.orig/Makefile.in rp-l2tp-0.4/Makefile.in +--- rp-l2tp-0.4.orig/Makefile.in 2008-10-18 08:35:39.000000000 +0000 ++++ rp-l2tp-0.4/Makefile.in 2008-10-18 08:40:38.000000000 +0000 +@@ -31,7 +31,7 @@ + EXTRA_LIBS=@LIBEVENT@/*.o -ldl + + SRCS=$(OBJS:.o=.c) +-CFLAGS=-g -I.. -I@LIBEVENT@ -Wall -Wstrict-prototypes -ansi -pedantic -D_GNU_SOURCE -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(prefix)\" -DLIBDIR=\"$(libdir)\" ++CFLAGS=@CFLAGS@ -I.. -I@LIBEVENT@ -Wall -Wstrict-prototypes -ansi -pedantic -D_GNU_SOURCE -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(prefix)\" -DLIBDIR=\"$(libdir)\" + + TARGETS=l2tpd libl2tp.a handlers + +@@ -44,7 +44,7 @@ + + l2tpd: libl2tp.a libevent/libevent.a + $(MAKE) -C handlers +- @CC@ -o l2tpd -rdynamic $(OBJS) $(EXTRA_LIBS) ++ @CC@ $(LDFLAGS) -o l2tpd -rdynamic $(OBJS) $(EXTRA_LIBS) + + libevent/libevent.a: + test -d libevent || ln -s ../libevent . diff --git a/net-dialup/rp-l2tp/files/rp-l2tp-0.4-gentoo.patch b/net-dialup/rp-l2tp/files/rp-l2tp-0.4-gentoo.patch new file mode 100644 index 000000000000..1138b37b20e2 --- /dev/null +++ b/net-dialup/rp-l2tp/files/rp-l2tp-0.4-gentoo.patch @@ -0,0 +1,233 @@ +diff -Nru rp-l2tp-0.4.orig/handlers/cmd.c rp-l2tp-0.4/handlers/cmd.c +--- rp-l2tp-0.4.orig/handlers/cmd.c 2007-04-15 13:30:55.000000000 +0300 ++++ rp-l2tp-0.4/handlers/cmd.c 2007-04-15 13:29:18.000000000 +0300 +@@ -162,7 +162,7 @@ + + /* We have hit the end of our options. Open command socket */ + if (!sockname) { +- sockname = "/var/run/l2tpctrl"; ++ sockname = "/var/run/rp-l2tpdctrl"; + } + + (void) remove(sockname); +diff -Nru rp-l2tp-0.4.orig/handlers/cmd-control.c rp-l2tp-0.4/handlers/cmd-control.c +--- rp-l2tp-0.4.orig/handlers/cmd-control.c 2007-04-15 13:30:55.000000000 +0300 ++++ rp-l2tp-0.4/handlers/cmd-control.c 2007-04-15 13:29:18.000000000 +0300 +@@ -52,7 +52,7 @@ + + memset(&addr, 0, sizeof(addr)); + addr.sun_family = AF_LOCAL; +- strncpy(addr.sun_path, "/var/run/l2tpctrl", sizeof(addr.sun_path) - 1); ++ strncpy(addr.sun_path, "/var/run/rp-l2tpdctrl", sizeof(addr.sun_path) - 1); + + fd = socket(AF_LOCAL, SOCK_STREAM, 0); + if (fd < 0) { +diff -Nru rp-l2tp-0.4.orig/handlers/Makefile.in rp-l2tp-0.4/handlers/Makefile.in +--- rp-l2tp-0.4.orig/handlers/Makefile.in 2007-04-15 13:30:55.000000000 +0300 ++++ rp-l2tp-0.4/handlers/Makefile.in 2007-04-15 13:33:41.000000000 +0300 +@@ -9,6 +9,7 @@ + install=@INSTALL@ + install_dir=@INSTALL@ -d + sbindir=@sbindir@ ++libdir=@libdir@ + + HANDLERS=sync-pppd.so cmd.so + +@@ -39,7 +40,7 @@ + + install: all + -mkdir -p $(RPM_INSTALL_ROOT)$(sbindir) +- -mkdir -p $(RPM_INSTALL_ROOT)$(prefix)/lib/l2tp/plugins +- $(install) -m 755 -s l2tp-control $(RPM_INSTALL_ROOT)$(sbindir) +- $(install) -m 755 $(HANDLERS) $(RPM_INSTALL_ROOT)$(prefix)/lib/l2tp/plugins ++ -mkdir -p $(RPM_INSTALL_ROOT)$(libdir)/rp-l2tpd/plugins ++ $(install) -m 755 l2tp-control $(RPM_INSTALL_ROOT)$(sbindir)/rp-l2tpd-control ++ $(install) -m 755 $(HANDLERS) $(RPM_INSTALL_ROOT)$(libdir)/rp-l2tpd/plugins + distclean: clean +diff -Nru rp-l2tp-0.4.orig/main.c rp-l2tp-0.4/main.c +--- rp-l2tp-0.4.orig/main.c 2007-04-15 13:30:55.000000000 +0300 ++++ rp-l2tp-0.4/main.c 2007-04-15 13:29:18.000000000 +0300 +@@ -27,7 +27,7 @@ + static void + usage(int argc, char *argv[], int exitcode) + { +- fprintf(stderr, "\nl2tpd Version %s Copyright 2002 Roaring Penguin Software Inc.\n", VERSION); ++ fprintf(stderr, "\nrp-l2tpd Version %s Copyright 2002 Roaring Penguin Software Inc.\n", VERSION); + fprintf(stderr, "http://www.roaringpenguin.com/\n\n"); + fprintf(stderr, "Usage: %s [options]\n", argv[0]); + fprintf(stderr, "Options:\n"); +@@ -68,7 +68,7 @@ + l2tp_peer_init(); + l2tp_debug_set_bitmask(debugmask); + +- if (l2tp_parse_config_file(es, "/etc/l2tp/l2tp.conf") < 0) { ++ if (l2tp_parse_config_file(es, "/etc/rp-l2tp/rp-l2tpd.conf") < 0) { + l2tp_die(); + } + +diff -Nru rp-l2tp-0.4.orig/Makefile.in rp-l2tp-0.4/Makefile.in +--- rp-l2tp-0.4.orig/Makefile.in 2007-04-15 13:30:55.000000000 +0300 ++++ rp-l2tp-0.4/Makefile.in 2007-04-15 13:39:09.000000000 +0300 +@@ -25,12 +25,13 @@ + install=@INSTALL@ + install_dir=@INSTALL@ -d + sbindir=@sbindir@ ++libdir=@libdir@ + + OBJS=auth.o debug.o dgram.o main.o md5.o network.o options.o peer.o session.o tunnel.o utils.o + EXTRA_LIBS=@LIBEVENT@/*.o -ldl + + SRCS=$(OBJS:.o=.c) +-CFLAGS=-g -I.. -I@LIBEVENT@ -Wall -Wstrict-prototypes -ansi -pedantic -D_GNU_SOURCE -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(prefix)\" ++CFLAGS=-g -I.. -I@LIBEVENT@ -Wall -Wstrict-prototypes -ansi -pedantic -D_GNU_SOURCE -DVERSION=\"$(VERSION)\" -DPREFIX=\"$(prefix)\" -DLIBDIR=\"$(libdir)\" + + TARGETS=l2tpd libl2tp.a handlers + +@@ -81,13 +82,13 @@ + + install: all + -mkdir -p $(RPM_INSTALL_ROOT)$(DESTDIR)$(sbindir) +- $(install) -m 755 -s l2tpd $(RPM_INSTALL_ROOT)$(DESTDIR)$(sbindir) +- -mkdir -p $(RPM_INSTALL_ROOT)$(DESTDIR)/etc/l2tp +- $(install) -m 644 l2tp.conf $(RPM_INSTALL_ROOT)$(DESTDIR)/etc/l2tp/l2tp.conf.example ++ $(install) -m 755 l2tpd $(RPM_INSTALL_ROOT)$(DESTDIR)$(sbindir)/rp-l2tpd ++ -mkdir -p $(RPM_INSTALL_ROOT)$(DESTDIR)/etc/rp-l2tp ++ $(install) -m 644 l2tp.conf $(RPM_INSTALL_ROOT)$(DESTDIR)/etc/rp-l2tp/rp-l2tpd.conf.example + -mkdir -p $(RPM_INSTALL_ROOT)$(DESTDIR)$(mandir)/man8 + -mkdir -p $(RPM_INSTALL_ROOT)$(DESTDIR)$(mandir)/man5 +- $(install) -m 644 man/l2tpd.8 $(RPM_INSTALL_ROOT)$(DESTDIR)$(mandir)/man8 +- $(install) -m 644 man/l2tp.conf.5 $(RPM_INSTALL_ROOT)$(DESTDIR)$(mandir)/man5 ++ $(install) -m 644 man/l2tpd.8 $(RPM_INSTALL_ROOT)$(DESTDIR)$(mandir)/man8/rp-l2tpd.8 ++ $(install) -m 644 man/l2tp.conf.5 $(RPM_INSTALL_ROOT)$(DESTDIR)$(mandir)/man5/rp-l2tpd.conf.5 + + $(MAKE) -C handlers install + +diff -Nru rp-l2tp-0.4.orig/man/l2tp.conf.5 rp-l2tp-0.4/man/l2tp.conf.5 +--- rp-l2tp-0.4.orig/man/l2tp.conf.5 2007-04-15 13:30:55.000000000 +0300 ++++ rp-l2tp-0.4/man/l2tp.conf.5 2007-04-15 13:29:18.000000000 +0300 +@@ -1,13 +1,13 @@ + .\" $Id$ + .\" LIC: GPL +-.TH L2TP.CONF 5 "11 March 2002" ++.TH RP-L2TPD.CONF 5 "11 March 2002" + .\"" + .UC 4 + .SH NAME +-l2tp.conf \- L2TP configuration file ++rp-l2tpd.conf \- L2TP configuration file + .SH DESCRIPTION +-The \fBl2tp.conf\fP file contains the configuration for +-the L2TP daemon \fBl2tpd\fP(8). ++The \fBrp-l2tpd.conf\fP file contains the configuration for ++the L2TP daemon \fBrp-l2tpd\fP(8). + Each line in the file takes one of the following forms: + .\" + .IP "# \fIcomment\fR" +@@ -155,9 +155,9 @@ + in the global section. The only option available is: + .IP "\fBsocket-path\fP \fIpathname\fR" + Specifies the path name of the UNIX-domain socket for controlling the +-daemon. Defaults to \fI/var/run/l2tpctrl\fR. ++daemon. Defaults to \fI/var/run/rp-l2tpdctrl\fR. + .PP + Even if you do not supply any options to cmd, you \fImust\fR have + a \fBsection cmd\fR line to activate the handler. + .SH AUTHORS +-\fBl2tpd\fR was written by David F. Skoll <dfs@roaringpenguin.com>. ++\fBrp-l2tpd\fR was written by David F. Skoll <dfs@roaringpenguin.com>. +diff -Nru rp-l2tp-0.4.orig/man/l2tpd.8 rp-l2tp-0.4/man/l2tpd.8 +--- rp-l2tp-0.4.orig/man/l2tpd.8 2007-04-15 13:30:55.000000000 +0300 ++++ rp-l2tp-0.4/man/l2tpd.8 2007-04-15 13:29:18.000000000 +0300 +@@ -1,14 +1,14 @@ + .\" $Id$ + .\" LIC: GPL +-.TH L2TPD 8 "11 March 2002" ++.TH RP-L2TPD 8 "11 March 2002" + .UC 4 + .SH NAME +-l2tpd \- user-space L2TP daemon. ++rp-l2tpd \- user-space L2TP daemon. + .SH SYNOPSIS +-.B l2tpd \fR[\fIoptions\fR] ++.B rp-l2tpd \fR[\fIoptions\fR] + + .SH DESCRIPTION +-\fBl2tpd\fR is a user-space L2TP daemon. L2TP is the Layer Two ++\fBrp-l2tpd\fR is a user-space L2TP daemon. L2TP is the Layer Two + Tunneling Protocol described in RFC 2661. It allows you to tunnel + PPP sessions over a network or transport protocol (in this case, UDP.) + +@@ -16,50 +16,50 @@ + .TP + .B \-d \fInum\fR + Sets the debug level to \fInum\fR. Of interest mostly to +-\fBl2tpd\fR developers. \fInum\fR is a bitmask; set it to ++\fBrp-l2tpd\fR developers. \fInum\fR is a bitmask; set it to + 65535 for maximum debugging information. + + .TP + .B \-f +-Do not fork. Normally, \fBl2tpd\fR forks and puts itself in the ++Do not fork. Normally, \fBrp-l2tpd\fR forks and puts itself in the + background. This option causes it to stay running in the foreground. + + .SH L2TPD ARCHITECTURE + +-The \fBl2tpd\fR program itself contains \fIonly\fR code necessary ++The \fBrp-l2tpd\fR program itself contains \fIonly\fR code necessary + for processing L2TP datagrams and maintaining L2TP tunnels and + sessions. It does \fInot\fR contain code for interacting with + \fBpppd\fR or for users to control session establishment and teardown. + These functions are performed by \fIhandlers\fR, which are + shared-object libraries dynamically loaded at run-time. + .PP +-The handlers currently distributed with \fBl2tpd\fR include: ++The handlers currently distributed with \fBrp-l2tpd\fR include: + .TP + .B sync-pppd.so +-A shared-library which interfaces with \fBpppd\fR and allows \fBl2tpd\fR ++A shared-library which interfaces with \fBpppd\fR and allows \fBrp-l2tpd\fR + to act as both an LAC and an LNS. + .TP + .B cmd.so + A simple command-interpreter which listens on a UNIX-domain socket + and allows you to start and stop L2TP sessions. + .PP +-\fBl2tpd\fR is a single-threaded, event-driven program. It should be ++\fBrp-l2tpd\fR is a single-threaded, event-driven program. It should be + fairly lightweight and efficient. + + .SH L2TPD CONFIGURATION +-On startup, \fBl2tpd\fR reads the configuration file \fB/etc/l2tp/l2tp.conf\fR. ++On startup, \fBrp-l2tpd\fR reads the configuration file \fB/etc/rp-l2tp/rp-l2tpd.conf\fR. + This configuration file sets operating parameters, describes peers and loads +-and configures handlers. See \fBl2tp.conf\fR(5) for configuration ++and configures handlers. See \fBrp-l2tp.conf\fR(5) for configuration + file details. + + .SH FILES + .TP +-.B /etc/l2tp/l2tp.conf ++.B /etc/rp-l2tp/rp-l2tp.conf + Main configuration file. + .TP +-.B /var/run/l2tpctrl ++.B /var/run/rp-l2tpdctrl + Control socket for \fBcmd.so\fR handler. + + .SH AUTHORS +-\fBl2tpd\fR was written by David F. Skoll <dfs@roaringpenguin.com>. ++\fBrp-l2tpd\fR was written by David F. Skoll <dfs@roaringpenguin.com>. + +diff -Nru rp-l2tp-0.4.orig/utils.c rp-l2tp-0.4/utils.c +--- rp-l2tp-0.4.orig/utils.c 2007-04-15 13:30:55.000000000 +0300 ++++ rp-l2tp-0.4/utils.c 2007-04-15 13:34:20.000000000 +0300 +@@ -196,7 +196,7 @@ + if (*fname == '/') { + handle = dlopen(fname, RTLD_NOW); + } else { +- snprintf(buf, sizeof(buf), "%s/lib/l2tp/plugins/%s", PREFIX, fname); ++ snprintf(buf, sizeof(buf), "%s/rp-l2tpd/plugins/%s", LIBDIR, fname); + buf[sizeof(buf)-1] = 0; + handle = dlopen(buf, RTLD_NOW); + } diff --git a/net-dialup/rp-l2tp/files/rp-l2tp-0.4-parallel-build.patch b/net-dialup/rp-l2tp/files/rp-l2tp-0.4-parallel-build.patch new file mode 100644 index 000000000000..cfbb096bef70 --- /dev/null +++ b/net-dialup/rp-l2tp/files/rp-l2tp-0.4-parallel-build.patch @@ -0,0 +1,12 @@ +--- a/Makefile.in~ 2018-04-02 11:58:30.000000000 +0200 ++++ b/Makefile.in 2018-04-02 12:00:15.173470572 +0200 +@@ -42,8 +42,7 @@ + $(AR) -rc $@ $^ + @RANLIB@ $@ || true + +-l2tpd: libl2tp.a libevent/libevent.a +- $(MAKE) -C handlers ++l2tpd: libl2tp.a libevent/libevent.a handlers + @CC@ $(LDFLAGS) -o l2tpd -rdynamic $(OBJS) $(EXTRA_LIBS) + + libevent/libevent.a: diff --git a/net-dialup/rp-l2tp/files/rp-l2tpd-init b/net-dialup/rp-l2tp/files/rp-l2tpd-init new file mode 100644 index 000000000000..7af7cf6f6567 --- /dev/null +++ b/net-dialup/rp-l2tp/files/rp-l2tpd-init @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +depend() { + need net +} + +start() { + ebegin "Starting rp-l2tpd" + start-stop-daemon --start --quiet --exec /usr/sbin/rp-l2tpd + eend $? +} + +stop() { + ebegin "Stopping rp-l2tpd" + start-stop-daemon --stop --quiet --exec /usr/sbin/rp-l2tpd + eend $? +} diff --git a/net-dialup/rp-l2tp/metadata.xml b/net-dialup/rp-l2tp/metadata.xml new file mode 100644 index 000000000000..20d30c193c51 --- /dev/null +++ b/net-dialup/rp-l2tp/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <upstream> + <remote-id type="sourceforge">rp-l2tp</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/rp-l2tp/rp-l2tp-0.4-r5.ebuild b/net-dialup/rp-l2tp/rp-l2tp-0.4-r5.ebuild new file mode 100644 index 000000000000..413875e76ec6 --- /dev/null +++ b/net-dialup/rp-l2tp/rp-l2tp-0.4-r5.ebuild @@ -0,0 +1,43 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools toolchain-funcs + +DESCRIPTION="User-space implementation of L2TP for Linux and other UNIX systems" +HOMEPAGE="https://sourceforge.net/projects/rp-l2tp/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +LICENSE="GPL-2+ GPL-2" +SLOT="0" +KEYWORDS="amd64 ~ppc x86" + +PATCHES=( + "${FILESDIR}/${P}-gentoo.patch" + "${FILESDIR}/${P}-flags.patch" + "${FILESDIR}/${P}-build.patch" + "${FILESDIR}/${P}-parallel-build.patch" + "${FILESDIR}/${P}-clang16-build-fix.patch" +) + +src_prepare() { + default + + eautoreconf #871210 + + tc-export AR CC +} + +src_install() { + emake RPM_INSTALL_ROOT="${D}" install + einstalldocs + + newdoc l2tp.conf rp-l2tpd.conf + + docinto libevent + dodoc -r libevent/Doc/. + docompress -x /usr/share/doc/${PF}/libevent + + newinitd "${FILESDIR}"/rp-l2tpd-init rp-l2tpd +} diff --git a/net-dialup/rp-pppoe/Manifest b/net-dialup/rp-pppoe/Manifest new file mode 100644 index 000000000000..4f51e9b0b243 --- /dev/null +++ b/net-dialup/rp-pppoe/Manifest @@ -0,0 +1 @@ +DIST rp-pppoe-4.0.tar.gz 139539 BLAKE2B ba9f11e547dafdacf6fc4d525488a4ac0279b06d545e0c116e568c92a45eb8ab558ca9112f1debecacde5401cb5974eacdf972b1b4cd813711589b8181e918de SHA512 faebe543988b1ffacd4d9bf55a3ec21f3a541f9232ba6c7b6fa0e8103d6c2b7b1c358e7f7bc8f99bebb24b2f7bdcc2f46ba1ef4c23e6dd34062f8f28114e7aea diff --git a/net-dialup/rp-pppoe/files/pppoe-server.confd b/net-dialup/rp-pppoe/files/pppoe-server.confd new file mode 100644 index 000000000000..bb5b2e9088d7 --- /dev/null +++ b/net-dialup/rp-pppoe/files/pppoe-server.confd @@ -0,0 +1,10 @@ +#Multiple interfaces allowed. Example: PPPOE_INTERFACE="vlan10 -I vlan11 -I vlan12" and so on. +#Multiple interfaces allowed. Example: PPPOE_INTERFACE="vlan10 -I vlan11 -I vlan12" and so on. + +#PPPOE_INTERFACE=<interface name> +#AC_NAME=<AC Name> +#SERVICE_NAME=<Service Name> +#MAX_SESSIONS=<Max PPPoE Sessions> +#MAX_SESESSION_PER_MAC=<Max PPPoE Sessions per MAC> +#LOCAL_IP=<PPP Local IP Addr> +#OTHER_OPTIONS="-p /etc/ppp/ip-pools" diff --git a/net-dialup/rp-pppoe/files/pppoe-server.initd b/net-dialup/rp-pppoe/files/pppoe-server.initd new file mode 100644 index 000000000000..39caee9d761b --- /dev/null +++ b/net-dialup/rp-pppoe/files/pppoe-server.initd @@ -0,0 +1,9 @@ +#!/sbin/openrc-run +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License, v2 or later + +description="rp-pppoe server" +pidfile="/run/pppoe-server.pid" +command="/usr/sbin/pppoe-server" +command_args="-I ${PPPOE_INTERFACE:-eth0} -C ${AC_NAME:-$(hostname)} -S ${SERVICE_NAME:-default} -N ${MAX_SESSIONS:-64} -x ${MAX_SESESSION_PER_MAC:-1} -L ${LOCAL_IP:-10.0.0.1.} -k -F ${OTHER_OPTIONS}" +command_background="true" diff --git a/net-dialup/rp-pppoe/files/rp-pppoe-4.0-ar_environment.patch b/net-dialup/rp-pppoe/files/rp-pppoe-4.0-ar_environment.patch new file mode 100644 index 000000000000..651dc9078cda --- /dev/null +++ b/net-dialup/rp-pppoe/files/rp-pppoe-4.0-ar_environment.patch @@ -0,0 +1,81 @@ +From 7686d18a896118d4b99b15313edac34e6f5a2370 Mon Sep 17 00:00:00 2001 +From: Jaco Kroon <jaco@uls.co.za> +Date: Thu, 11 May 2023 13:44:06 +0200 +Subject: [PATCH 1/2] libevent: avoid failure in case ar isn't ar but something + else. + +--- + src/libevent/Makefile.in | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/libevent/Makefile.in b/src/libevent/Makefile.in +index 5f4f43f..02ebe21 100644 +--- a/libevent/Makefile.in ++++ b/libevent/Makefile.in +@@ -14,13 +14,12 @@ OBJS=event.o event_tcp.o hash.o event_sig.o + SRCS=$(OBJS:.o=.c) + HDRS=event.h event_tcp.h eventpriv.h hash.h + CFLAGS=@CFLAGS@ -I.. $(DEFINES) +-AR=ar + + all: libevent.a + + libevent.a: $(OBJS) + rm -f libevent.a +- $(AR) -cq libevent.a $(OBJS) ++ @AR@ -cq libevent.a $(OBJS) + @RANLIB@ libevent.a + + event.o: event.c $(HDRS) + +From 162bf8bf6b9c6776e3b6ac000a1e88afe49d9d31 Mon Sep 17 00:00:00 2001 +From: Jaco Kroon <jaco@uls.co.za> +Date: Thu, 11 May 2023 13:49:48 +0200 +Subject: [PATCH 2/2] ./configure - marginally improve ar detection. + +--- + src/configure | 6 +++++- + src/configure.ac | 6 +++++- + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/src/configure b/src/configure +index 7eb80d0..9a31790 100755 +--- a/configure ++++ b/configure +@@ -3088,7 +3088,7 @@ $as_echo "no" >&6; } + fi + + if test "x$ac_ct_AR" = x; then +- AR="/bin/false" ++ AR="" + else + case $cross_compiling:$ac_tool_warned in + yes:) +@@ -3103,6 +3103,10 @@ else + fi + + ++if test "no$AR" = no ; then ++ as_fn_error $? "ar is a required program" "$LINENO" 5 ++fi ++ + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sys/wait.h that is POSIX.1 compatible" >&5 +diff --git a/src/configure.ac b/src/configure.ac +index cb7a094..a09241a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -13,7 +13,11 @@ AC_PREFIX_DEFAULT(/usr) + dnl Checks for programs. + AC_PROG_CC + AC_PROG_RANLIB +-AC_CHECK_TOOL([AR],[ar],[/bin/false]) ++AC_CHECK_TOOL([AR],[ar]) ++ ++if test "no$AR" = no ; then ++ AC_ERROR(ar is a required program) ++fi + + dnl Checks for libraries. + diff --git a/net-dialup/rp-pppoe/metadata.xml b/net-dialup/rp-pppoe/metadata.xml new file mode 100644 index 000000000000..5a0914b10ce9 --- /dev/null +++ b/net-dialup/rp-pppoe/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>jkroon@gentoo.org</email> + <name>Jaco Kroon</name> + </maintainer> +</pkgmetadata> diff --git a/net-dialup/rp-pppoe/rp-pppoe-4.0.ebuild b/net-dialup/rp-pppoe/rp-pppoe-4.0.ebuild new file mode 100644 index 000000000000..e153fe4e7005 --- /dev/null +++ b/net-dialup/rp-pppoe/rp-pppoe-4.0.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A user-mode PPPoE client and server suite for Linux" +HOMEPAGE="https://dianne.skoll.ca/projects/rp-pppoe/ https://salsa.debian.org/dskoll/rp-pppoe" +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI=https://github.com/dfskoll/rp-pppoe.git +else + SRC_URI="https://dianne.skoll.ca/projects/rp-pppoe/download/${P}.tar.gz" + KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~sparc x86" +fi + +LICENSE="GPL-2" +SLOT="0" + +S="${S}/src" + +RDEPEND=" + net-dialup/ppp:= + sys-apps/iproute2 +" +DEPEND=">=sys-kernel/linux-headers-2.6.25 + elibc_musl? ( net-libs/ppp-defs ) + ${RDEPEND}" + +PATCHES=( + "${FILESDIR}/rp-pppoe-4.0-ar_environment.patch" +) + +pkg_setup() { + # This is needed in multiple phases + PPPD_VER="$(best_version net-dialup/ppp)" + PPPD_VER="${PPPD_VER#*/*-}" #reduce it to ${PV}-${PR} + PPPD_VER="${PPPD_VER%%-*}" #reduce it to ${PV} + + PPPD_PLUGIN_DIR="/usr/$(get_libdir)/pppd/${PPPD_VER}" +} + +src_configure() { + addpredict /dev/ppp + + econf --enable-plugin=/usr/include/pppd +} + +src_compile() { + emake PLUGIN_PATH=rp-pppoe.so PLUGIN_DIR="${PPPD_PLUGIN_DIR}" +} + +src_install() { + emake DESTDIR="${D}" docdir="/usr/share/doc/${PF}" PLUGIN_DIR="${PPPD_PLUGIN_DIR}" install + + # We don't need this README file here. + rm "${ED}${PPPD_PLUGIN_DIR}/README" || die "Error removing ${PPPD_PLUGIN_DIR}/README from installation" + + newinitd "${FILESDIR}"/pppoe-server.initd pppoe-server + newconfd "${FILESDIR}"/pppoe-server.confd pppoe-server +} diff --git a/net-dialup/rp-pppoe/rp-pppoe-9999.ebuild b/net-dialup/rp-pppoe/rp-pppoe-9999.ebuild new file mode 100644 index 000000000000..15b43b8a2fdc --- /dev/null +++ b/net-dialup/rp-pppoe/rp-pppoe-9999.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A user-mode PPPoE client and server suite for Linux" +HOMEPAGE="https://dianne.skoll.ca/projects/rp-pppoe/ https://salsa.debian.org/dskoll/rp-pppoe" +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + EGIT_REPO_URI=https://github.com/dfskoll/rp-pppoe.git +else + SRC_URI="https://dianne.skoll.ca/projects/rp-pppoe/download/${P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +LICENSE="GPL-2" +SLOT="0" + +S="${S}/src" + +RDEPEND=" + net-dialup/ppp:= + sys-apps/iproute2 +" +DEPEND=">=sys-kernel/linux-headers-2.6.25 + elibc_musl? ( net-libs/ppp-defs ) + ${RDEPEND}" + +pkg_setup() { + # This is needed in multiple phases + PPPD_VER="$(best_version net-dialup/ppp)" + PPPD_VER="${PPPD_VER#*/*-}" #reduce it to ${PV}-${PR} + PPPD_VER="${PPPD_VER%%-*}" #reduce it to ${PV} + + PPPD_PLUGIN_DIR="/usr/$(get_libdir)/pppd/${PPPD_VER}" +} + +src_configure() { + addpredict /dev/ppp + + econf --enable-plugin=/usr/include/pppd +} + +src_compile() { + emake PLUGIN_PATH=rp-pppoe.so PLUGIN_DIR="${PPPD_PLUGIN_DIR}" +} + +src_install() { + emake DESTDIR="${D}" docdir="/usr/share/doc/${PF}" PLUGIN_DIR="${PPPD_PLUGIN_DIR}" install + + # We don't need this README file here. + rm "${ED}${PPPD_PLUGIN_DIR}/README" || die "Error removing ${PPPD_PLUGIN_DIR}/README from installation" + + newinitd "${FILESDIR}"/pppoe-server.initd pppoe-server + newconfd "${FILESDIR}"/pppoe-server.confd pppoe-server +} diff --git a/net-dialup/sercd/Manifest b/net-dialup/sercd/Manifest new file mode 100644 index 000000000000..9163892b8dfe --- /dev/null +++ b/net-dialup/sercd/Manifest @@ -0,0 +1 @@ +DIST sercd-3.0.0.tar.gz 116284 BLAKE2B 9988a877d2897a2c6142e17e7a570dfa54d4ac9bee459654ca4d3bd11332639c20d292d04bcb3412b2165517bf397d99f045d9a06d0902b2496bf502744ca166 SHA512 5b9539466a26ceb7e84738347de2dcc0504462a551599c9d8b6a9b3b4bf8b4759ea9ad378c3073ef5d861effb7584e4bb4871bcd981f80ff2c8542f23952b61f diff --git a/net-dialup/sercd/files/sercd.confd b/net-dialup/sercd/files/sercd.confd new file mode 100644 index 000000000000..4c6e078489c4 --- /dev/null +++ b/net-dialup/sercd/files/sercd.confd @@ -0,0 +1,23 @@ +# sercd service configuration file + +# Run daemon as this user:group +SERCD_USER=uucp:uucp + +# Serial port +SERCD_DEVFILE=/dev/modem + +# Lock file +SERCD_LOCKFILE=/run/lock/LCK..modem + +# Address on which this daemon listens on +SERCD_ADDR=0.0.0.0 +SERCD_PORT=7000 + +# Log level; available values are from 0 (LOG_EMERG) to 7 (LOG_DEBUG). +SERCD_LOGLEVEL=5 + +# Uncomment this if you want compatibility with Cisco IOS +# SERCD_OPTS="-i" + +# Poll interval is in milliseconds. 0 means no polling +SERCD_POLLINTERV=100 diff --git a/net-dialup/sercd/files/sercd.initd b/net-dialup/sercd/files/sercd.initd new file mode 100644 index 000000000000..3022a01f1ad6 --- /dev/null +++ b/net-dialup/sercd/files/sercd.initd @@ -0,0 +1,24 @@ +#!/sbin/openrc-run +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +PIDFILE=/run/${SVCNAME}.pid + +depend() { + need net +} + +start() { + ebegin "Starting ${SVCNAME}" + start-stop-daemon --start --quiet --background --make-pidfile \ + --exec /usr/sbin/sercd --chuid ${SERCD_USER} --pidfile "${PIDFILE}" \ + -- ${SERCD_OPTS} -p ${SERCD_PORT} -l ${SERCD_ADDR} \ + ${SERCD_LOGLEVEL} "${SERCD_DEVFILE}" "${SERCD_LOCKFILE}" ${SERCD_POLLINTERV} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --stop --quiet --name sercd --pidfile "${PIDFILE}" + eend $? +} diff --git a/net-dialup/sercd/files/sercd.xinetd b/net-dialup/sercd/files/sercd.xinetd new file mode 100644 index 000000000000..8b95a3d08223 --- /dev/null +++ b/net-dialup/sercd/files/sercd.xinetd @@ -0,0 +1,15 @@ +# default: on +# description: RFC 2217 compliant Telnet serial port redirector +service sredir +{ + type = UNLISTED + flags = REUSE + socket_type = stream + protocol = tcp + wait = no + user = uucp + server = /usr/sbin/sercd + server_args = 5 /dev/modem /run/lock/LCK..modem 100 + port = 7000 + disable = yes +} diff --git a/net-dialup/sercd/metadata.xml b/net-dialup/sercd/metadata.xml new file mode 100644 index 000000000000..e36647e80475 --- /dev/null +++ b/net-dialup/sercd/metadata.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <longdescription>sercd is an RFC 2217-compliant serial port redirector. +It lets you share a serial port through network.</longdescription> + <upstream> + <remote-id type="sourceforge">sercd</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/sercd/sercd-3.0.0-r3.ebuild b/net-dialup/sercd/sercd-3.0.0-r3.ebuild new file mode 100644 index 000000000000..730b5f321112 --- /dev/null +++ b/net-dialup/sercd/sercd-3.0.0-r3.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="RFC2217-compliant serial port redirector" +HOMEPAGE="https://sourceforge.net/projects/sercd/" +SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="xinetd" + +RDEPEND="xinetd? ( virtual/inetd )" + +DOCS=( AUTHORS README ) + +src_install() { + default + + newinitd "${FILESDIR}/${PN}.initd" "${PN}" + newconfd "${FILESDIR}/${PN}.confd" "${PN}" + if use xinetd ; then + insinto /etc/xinetd.d + newins "${FILESDIR}/${PN}.xinetd" "${PN}" + fi +} diff --git a/net-dialup/speedtouch-usb/Manifest b/net-dialup/speedtouch-usb/Manifest new file mode 100644 index 000000000000..59c3975e338e --- /dev/null +++ b/net-dialup/speedtouch-usb/Manifest @@ -0,0 +1 @@ +DIST SpeedTouch330_firmware_3012.zip 769125 BLAKE2B 4f7569ab3d123837f3854af02aaf53972dca6a031fcbb7c1bd965f6b389509ff588de78488ad19a5b7f58997aaa9f53462713a7df0b0d7a05d8e77a2562ee0af SHA512 d4ec1b609eb58b15b0c569fc2c96e453517f6a8141c706f342549093c2c7bbdc09bbc3f05ecf75f3018e54f03a974b84e625fb9401f02d4f4143b721eee0b3c3 diff --git a/net-dialup/speedtouch-usb/files/README b/net-dialup/speedtouch-usb/files/README new file mode 100644 index 000000000000..8df4e231ed3f --- /dev/null +++ b/net-dialup/speedtouch-usb/files/README @@ -0,0 +1,253 @@ +Introduction +============ + +This ebuild enables kernel-space support for Alcatel/Thomson SpeedTouch +USB modems, which first appeared in kernel 2.6.10. + +Configuration +============= + +Most SpeedTouch USB modems are connected via the ATM protocol, rather +than Ethernet. For ATM, run the following: + euse -E atm && emerge net-dialup/ppp net-dialup/speedtouch-usb + +It is necessary to choose an interface number for the connection. This +is arbitrary - the only requirement is that the connection number is +not already in use. The first available number is 0, and it is usual to +choose the lowest unused number. For the purposes of this document, 0 +will be chosen. + +Add the following lines from the appropriate section below to +/etc/conf.d/net, then customize them as per the inline comments. + + +a) PPPoATM configuration: + +config_ppp0='ppp' # Runs /lib/rcscripts/net/pppd.sh +# The 2 numbers represent the VPI & VCI of your ISP, and they are separated +# by a dot. Choose here, or ask your ISP: +# http://www.linux-usb.org/SpeedTouch/faq/index.html#q12 +link_ppp0='0.38' +plugins_ppp0='pppoa' +# 'man pppd' shows other options. Compression is disabled because it is +# rarely taken advantage of, and may interfere with the connection. +# Add option 'usepeerdns' to populate /etc/resolv.conf +pppd_ppp0='updetach noauth debug defaultroute noaccomp nobsdcomp noccp + nodeflate nopcomp novj novjccomp child-timeout 60' +username_ppp0='username@isp.com' # ADSL login, assigned by your ISP +password_ppp0='password' # ADSL password, assigned by your ISP + +# If the kernel modules are not built-in, then they must be loaded +# before starting the PPP daemon: +function preup() { + if [[ "$1" = "ppp0" ]] ; then + modprobe -q speedtch + return 0 + fi +} + + +b) PPPoE configuration: + +# Configure first the RFC2684 bridge interface +config_nas0='null' +# Use "-e 0" for LLC mux or "-e 1" for VC mux. +# The 2 numbers after "-a" represent the VPI & VCI of your ISP, and +# they are separated by a dot. Ask your ISP about those numbers. +br2684ctl_nas0='-e 0 -a 0.38' + +config_ppp0='ppp' # Runs /lib/rcscripts/net/pppd.sh +link_ppp0='nas0' # The name of the RFC2684 bridge interface +plugins_ppp0='pppoe' +# 'man pppd' shows other options. Compression is disabled because it is +# rarely taken advantage of, and may interfere with the connection. +# Add option 'usepeerdns' to populate /etc/resolv.conf +pppd_ppp0='updetach noauth debug defaultroute noaccomp nobsdcomp noccp + nodeflate nopcomp novj novjccomp child-timeout 60' +username_ppp0='username@isp.com' # ADSL login, assigned by your ISP +password_ppp0='password' # ADSL password, assigned by your ISP + +depend_ppp0() { + need net.nas0 +} + +# If the kernel modules are not built-in, then they must be loaded +# before starting the RFC2684 bridge: +function preup() { + if [[ "$1" = "nas0" ]] ; then + modprobe -q speedtch + return 0 + fi +} + + + +Configuration continued +======================= + +Create a symlink for the new network interface, for it to be enabled by +baselayout: + cd /etc/init.d && ln -sfn net.lo net.ppp0 +If you use PPPoE, you should also create the symlink for the RFC2684 +bridge interface: + cd /etc/init.d && ln -sfn net.lo net.nas0 + +The "debug" option adds some extra commentary from pppd regarding the +connection to /var/log/messages, e.g.: +"sent [LCP ConfReq id=0x1 <magic 0x7bea6ef1>]". It is wise to keep the +option on permanently, due to its usefulness when debugging. + +Set RC_NET_STRICT_CHECKING="yes" in /etc/conf.d/rc, to prevent Internet +services in /etc/init.d/ from starting before the Internet connection +is established. Other options are to start/stop programs in +/etc/ppp/ip-{up,down}.local, and to customize initscript dependencies +as described in: + http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=4 + + +Starting the Connection +======================= + +To start manually, with the modem connected: + /etc/init.d/net.ppp0 start + +To start automatically when the PC boots: + rc-update add net.ppp0 default + + +Kernel Configuration +==================== + +The ebuild, during an emerge, checks that the required kernel modules +are present. + +Note that in the list below, "[*]" means that the option is compiled +into the kernel, whereas "[M]" means that the option can either be +compiled into the kernel, or as a module. Compiling them into the +kernel is recommended, to guarantee that the modules are already loaded +when they are needed, and it will improve the bootup time by a couple +of seconds. + +In "make menuconfig", you can press "/" and search on e.g. "speedtouch" +to see exactly where an option is - the location of an option and its +dependencies can change between kernel versions. + +Check that the following kernel options are configured as shown (this +list includes the prerequisites, e.g. USB_SPEEDTOUCH depends on USB): + + Code maturity level options ---> + [*] Prompt for development and/or incomplete code/drivers + - CONFIG_EXPERIMENTAL + + General setup ---> + [*] Kernel Userspace Events - CONFIG_KOBJECT_UEVENT + (for kernels < 2.6.16 *ONLY*) + + Device Drivers ---> + Generic Driver Options ---> + [ ] Select only drivers that don't need compile-time external + firmware (*unselected*) - CONFIG_STANDALONE + [*] Hotplug firmware loading support - CONFIG_FW_LOADER + + Networking ---> + [*] Networking support - CONFIG_NET + Networking options ---> + [*] Packet socket - CONFIG_PACKET + [M] Asynchronous Transfer Mode (ATM) - CONFIG_ATM + [M] RFC1483/2684 Bridged protocols - CONFIG_ATM_BR2684 (only needed for PPPoE) + + Device Drivers ---> + Network device support ---> + [*] Network device support - CONFIG_NETDEVICES + [*] PPP (point-to-point protocol) support - CONFIG_PPP + [M] PPP Deflate compression - CONFIG_PPP_DEFLATE (only useful if + compression is supported - rare) + [M] PPP BSD-Compress compression - CONFIG_PPP_BSDCOMP (only useful + if compression is supported - rare) + [M] PPP over Ethernet - CONFIG_PPPOE (only needed for PPPoE) + [M] PPP over ATM - CONFIG_PPPOATM (only needed for PPPoATM) + USB support ---> + [*] Support for Host-side USB - CONFIG_USB + [*] USB device filesystem - CONFIG_USB_DEVICEFS + [M] (O or U)HCI HCD support + USB DSL modem support ---> + [M] USB DSL modem support - CONFIG_USB_ATM + [M] Speedtouch USB support - CONFIG_USB_SPEEDTOUCH + + + +Troubleshooting +=============== + +Try "emerge speedtouch-usb" again, because the ebuild checks that the +required kernel modules are present (showing a warning message if +appropriate), and creates the firmware files and symlinks in +/lib/firmware/ + +If the modem is unresponsive, then run "/etc/init.d/net.ppp0 stop" and +unplug the modem for 30 seconds, to drain its memory. Then reconnect +the modem to the PC and run "/etc/init.d/net.ppp0 start" + +To check the modem's connection progress, run: + tail -f /var/log/messages +/var/log/messages should show e.g.: + +usb n-n: new full speed USB device using xxxx_hcd and address n +usb n-n: found stage 1 firmware speedtch-1.bin +usb n-n: found stage 2 firmware speedtch-2.bin +pppd[nnn]: Plugin pppoatm.so loaded. +pppd[nnn]: pppd n.n.n started by root, uid 0 +pppd[nnn]: Using interface ppp0 +pppd[nnn]: Connect: ppp0 <--> n.nn +ADSL line is synchronising +DSL line goes up +ADSL line is up (nnn Kib/s down | nnn Kib/s up) +pppd[nnn]: CHAP authentication succeeded +pppd[nnn]: local IP address nnn.nnn.nnn.nnn +pppd[nnn]: remote IP address nnn.nnn.nnn.nnn + + +If the authentification fails, then check username_ppp0 and +password_ppp0. + +If the ADSL connection is not established, then check the options in +pppd_ppp0. "man pppd" explains all the options in that file. + +If the ADSL connection seems to have worked, but no websites can be +contacted, then check that /etc/resolv.conf is populated, and possibly +add the "usepeerdns" option (to use the ISP's DNS) to pppd_ppp0 in +/etc/conf.d/net . + +If the problem is still not resolved, post to the Gentoo Forums +at http://forums.gentoo.org/. If there is no answer, then +file a bug at http://bugs.gentoo.org/ . + + +Compression +=========== + +Some ISPs require compression to be disabled in order for the +connection to work, so the default configuration described above +disables compression. Few ISPs support ADSL compression anyway. If you +are lucky enough to have an ISP which *does* support compression +(Google is your best friend for determining this), then compression can +be enabled by following these steps: + +* Compile the kernel modules CONFIG_PPP_DEFLATE and CONFIG_PPP_BSDCOMP +(only one is strictly necessary - pppd prefers "deflate" compression). +Add them to /etc/modules.autoload.d/kernel-2.6 or /etc/conf.d/net above +the "pppoatm" line, if they are not built-in. +* Remove the following options in pppd_ppp0: + noaccomp nobsdcomp noccp nodeflate nopcomp novj novjccomp +* Ensure that "debug" is in the pppd_ppp0 options, to check that +compression is being utilized. Note that "module registered" in +/var/log/messages only confirms that the kernel module is loaded - +it does not indicate that the connection is compressed. + + +Links +===== + +SpeedTouch ebuilds: https://packages.gentoo.org/packages/search?q=speedtouch +SpeedTouch hardware: http://www.speedtouch.com/support.htm +SpeedTouch firmware: http://www.speedtouch.com/driver_upgrade_lx_3.0.1.2.htm diff --git a/net-dialup/speedtouch-usb/metadata.xml b/net-dialup/speedtouch-usb/metadata.xml new file mode 100644 index 000000000000..85e4ed814fa2 --- /dev/null +++ b/net-dialup/speedtouch-usb/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<!-- maintainer-needed --> +</pkgmetadata> diff --git a/net-dialup/speedtouch-usb/speedtouch-usb-3.0.1.2-r4.ebuild b/net-dialup/speedtouch-usb/speedtouch-usb-3.0.1.2-r4.ebuild new file mode 100644 index 000000000000..1431187f2355 --- /dev/null +++ b/net-dialup/speedtouch-usb/speedtouch-usb-3.0.1.2-r4.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo linux-info optfeature + +DESCRIPTION="Firmware and configuration instructions for Alcatel SpeedTouch USB modems" +HOMEPAGE="http://www.speedtouch.com/" +SRC_URI="http://www.speedtouch.com/download/drivers/USB/SpeedTouch330_firmware_${PV//./}.zip" +S=${WORKDIR} + +# Taken from http://www.speedtouch.com/driver_upgrade_lx_3.0.1.2.htm +LICENSE="SpeedTouch-USB-Firmware" +SLOT="0" +KEYWORDS="~amd64 x86" + +RDEPEND="net-dialup/ppp" +BDEPEND="app-arch/unzip" + +pkg_pretend() { + if [[ ${MERGE_TYPE} != buildonly ]]; then + local CONFIG_CHECK="~FW_LOADER ~NET ~PACKET ~ATM ~NETDEVICES ~USB_DEVICEFS ~USB_ATM ~USB_SPEEDTOUCH \ + ~PPP ~PPPOATM ~PPPOE ~ATM_BR2684" + local WARNING_PPPOATM="CONFIG_PPPOATM:\t is not set (required for PPPoA links)" + local WARNING_PPPOE="CONFIG_PPPOE:\t is not set (required for PPPoE links)" + local WARNING_ATM_BR2684="CONFIG_ATM_BR2684:\t is not set (required for PPPoE links)" + check_extra_config + fi +} + +src_compile() { + local VER=$(ver_rs 2-4 '') # {major_ver}.{minor_digits} + + # Extract the "stage 1" portion of the firmware + edob -m "Extraction of stage 1 firmware (step 1)" \ + dd if=KQD6_${VER} of="${T}/speedtch-1.bin.2" ibs=1 obs=991 count=991 skip=36 + edob -m "Extraction of stage 1 firmware (step 2)" \ + dd if=ZZZL_${VER} of="${T}/speedtch-1.bin.4" ibs=1 obs=935 count=935 skip=32 + + # Extract the "stage 2" portion of the firmware + edob -m "Extraction of stage 2 firmware (step 1)" \ + dd if=KQD6_${VER} of="${T}/speedtch-2.bin.2" ibs=1 obs=762650 count=762650 skip=1027 + edob -m "Extraction of stage 2 firmware (step 2)" \ + dd if=ZZZL_${VER} of="${T}/speedtch-2.bin.4" ibs=1 obs=775545 count=775545 skip=967 +} + +src_install() { + # Copy to the firmware directory + insinto /lib/firmware + insopts -m 600 + doins "${T}"/speedtch-{1,2}.bin.{2,4} + + # Symlinks for other revisions of the modem + for n in 1 2 ; do + dosym speedtch-${n}.bin.2 /lib/firmware/speedtch-${n}.bin.0 + dosym speedtch-${n}.bin.2 /lib/firmware/speedtch-${n}.bin.1 + # Seems like a reasonable guess, for revision 3 + dosym speedtch-${n}.bin.4 /lib/firmware/speedtch-${n}.bin.3 + done + + # Documentation necessary to complete the setup + dodoc "${FILESDIR}/README" +} + +pkg_postinst() { + [[ -e /etc/hotplug/usb.usermap ]] && grep -E -q " 0x06[bB]9 +0x4061 " /etc/hotplug/usb.usermap && \ + ewarn "Please remove the SpeedTouch line from /etc/hotplug/usb.usermap" + + optfeature "connecting via PPPoA protocol" "net-dialup/ppp[atm]" + optfeature "connecting via PPPoE protocol" "net-dialup/linux-atm" + + ewarn "To complete the installation, you must read the documentation in" + ewarn " ${ROOT}/usr/share/doc/${PF}" +} diff --git a/net-dialup/syncterm/Manifest b/net-dialup/syncterm/Manifest new file mode 100644 index 000000000000..02af807d11b0 --- /dev/null +++ b/net-dialup/syncterm/Manifest @@ -0,0 +1 @@ +DIST syncterm-1.1-src.tgz 18270212 BLAKE2B 91043a31374d73d29a447ab425007aad95ee7d22ded3ea4a518c1fa05958b5f20a4a83df9f575e9cb3962301cc31b55ab876e96addd617e045627d34e56fd922 SHA512 b5280e8f64ce12101f810dbee38a113e03450356a1fbc46a7c63a57eb8ca382e99ec1586b0a3527e336c9725efedae2ce80c5d4b372456eba1f090ec0f8c80eb diff --git a/net-dialup/syncterm/files/syncterm-1.1_disable-parallel-build.patch b/net-dialup/syncterm/files/syncterm-1.1_disable-parallel-build.patch new file mode 100644 index 000000000000..2c77ba1c1de7 --- /dev/null +++ b/net-dialup/syncterm/files/syncterm-1.1_disable-parallel-build.patch @@ -0,0 +1,16 @@ +Disable parallel make jobs so that `st_crypt.h` can find `<cryptlib.h>`. +As of writing, I have no idea how to fix this otherwise. + +From: Seth M. Price <sprice623@aol.com> + +--- a/src/syncterm/GNUmakefile ++++ b/src/syncterm/GNUmakefile +@@ -96,6 +96,8 @@ ifndef bcc + endif + endif + ++.NOTPARALLEL: ++ + $(MTOBJODIR)$(DIRSEP)ciolib_res$(OFILE): + cd ${MTOBJODIR} && $(AR) -x ../${CIOLIB-MT} ciolib_res$(OFILE) + diff --git a/net-dialup/syncterm/files/syncterm-1.1_do-not-strip-3rdp-test.patch b/net-dialup/syncterm/files/syncterm-1.1_do-not-strip-3rdp-test.patch new file mode 100644 index 000000000000..d5ef4bfb2d1a --- /dev/null +++ b/net-dialup/syncterm/files/syncterm-1.1_do-not-strip-3rdp-test.patch @@ -0,0 +1,40 @@ +Remove an unnecessary direct call to `strip` found in some sort +of test/check for an included dependency. + +From: Seth M. Price <sprice623@aol.com> +Bug: https://bugs.gentoo.org/933185 +Depends: syncterm-1.1_use-sched-yield-instead-of-pthread-yield.patch + +--- a/3rdp/build/GNUmakefile ++++ b/3rdp/build/GNUmakefile +@@ -67,7 +67,7 @@ $(CRYPT_SRC): | $(3RDPSRCDIR) + $(CRYPT_IDIR): | $(3RDPODIR) + $(QUIET)$(IFNOTEXIST) mkdir $(CRYPT_IDIR) + +-$(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)build/terminal-params.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw32-static.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ranlib.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-noasm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zz-country.patch $(3RDP_ROOT)$(DIRSEP)build/cl-algorithms.patch $(3RDP_ROOT)$(DIRSEP)build/cl-allow-duplicate-ext.patch $(3RDP_ROOT)$(DIRSEP)build/cl-macosx-minver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-endian.patch $(3RDP_ROOT)$(DIRSEP)build/cl-cryptodev.patch $(3RDP_ROOT)$(DIRSEP)build/cl-posix-me-gently.patch $(3RDP_ROOT)$(DIRSEP)build/cl-tpm-linux.patch $(3RDP_ROOT)$(DIRSEP)build/cl-PAM-noprompts.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zlib.patch $(3RDP_ROOT)$(DIRSEP)build/Dynamic-linked-static-lib.patch $(3RDP_ROOT)$(DIRSEP)build/SSL-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bigger-maxattribute.patch $(3RDP_ROOT)$(DIRSEP)build/cl-vcxproj.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw-vcver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-build-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-gcc-non-const-time-val.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-odbc.patch $(3RDP_ROOT)$(DIRSEP)build/cl-noasm-defines.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bn-noasm64-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-RSA-suites.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ECC-RSA.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC-harder.patch $(3RDP_ROOT)$(DIRSEP)build/cl-more-RSA-ECC-fixes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-DH-key-init.patch $(3RDP_ROOT)$(DIRSEP)build/cl-clear-GCM-flag.patch $(3RDP_ROOT)$(DIRSEP)build/cl-use-ssh-ctr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-list-ctr-modes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-incCtr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssl-suite-blocksizes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-tpm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-via-aes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ssh-ecc-ephemeral.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-just-use-cc.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-learn-numbers.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-linux-yield.patch | $(CRYPT_SRC) $(CRYPT_IDIR) ++$(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)build/terminal-params.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw32-static.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ranlib.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-noasm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zz-country.patch $(3RDP_ROOT)$(DIRSEP)build/cl-algorithms.patch $(3RDP_ROOT)$(DIRSEP)build/cl-allow-duplicate-ext.patch $(3RDP_ROOT)$(DIRSEP)build/cl-macosx-minver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-endian.patch $(3RDP_ROOT)$(DIRSEP)build/cl-cryptodev.patch $(3RDP_ROOT)$(DIRSEP)build/cl-posix-me-gently.patch $(3RDP_ROOT)$(DIRSEP)build/cl-tpm-linux.patch $(3RDP_ROOT)$(DIRSEP)build/cl-PAM-noprompts.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zlib.patch $(3RDP_ROOT)$(DIRSEP)build/Dynamic-linked-static-lib.patch $(3RDP_ROOT)$(DIRSEP)build/SSL-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bigger-maxattribute.patch $(3RDP_ROOT)$(DIRSEP)build/cl-vcxproj.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw-vcver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-build-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-gcc-non-const-time-val.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-odbc.patch $(3RDP_ROOT)$(DIRSEP)build/cl-noasm-defines.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bn-noasm64-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-RSA-suites.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ECC-RSA.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC-harder.patch $(3RDP_ROOT)$(DIRSEP)build/cl-more-RSA-ECC-fixes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-DH-key-init.patch $(3RDP_ROOT)$(DIRSEP)build/cl-clear-GCM-flag.patch $(3RDP_ROOT)$(DIRSEP)build/cl-use-ssh-ctr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-list-ctr-modes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-incCtr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssl-suite-blocksizes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-tpm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-via-aes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ssh-ecc-ephemeral.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-just-use-cc.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-learn-numbers.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-linux-yield.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-strip.patch | $(CRYPT_SRC) $(CRYPT_IDIR) + @echo Creating $@ ... + $(QUIET)-rm -rf $(CRYPT_SRC)/* + $(QUIET)unzip -oa $(3RDPDISTDIR)$(DIRSEP)cryptlib.zip -d $(CRYPT_SRC) +@@ -113,6 +113,7 @@ $(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)b + $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-just-use-cc.patch + $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-learn-numbers.patch + $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-linux-yield.patch ++ $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-no-strip.patch + ifeq ($(CC),mingw32-gcc) + $(QUIET)cd $(CRYPT_SRC) && env - PATH="$(PATH)" CC="$(CC)" AR="$(AR)" RANLIB="$(RANLIB)" make directories + $(QUIET)cd $(CRYPT_SRC) && env - PATH="$(PATH)" CC="$(CC)" AR="$(AR)" RANLIB="$(RANLIB)" make toolscripts + +--- /dev/null ++++ b/3rdp/build/cl-no-strip.patch +@@ -0,0 +1,10 @@ ++--- tools/ccopts.sh +++++ tools/ccopts.sh ++@@ -48,7 +48,6 @@ if [ ! -s ./tools/endian ] ; then ++ else ++ $CC ./tools/endian.c -o ./tools/endian > /dev/null ; ++ fi ; ++- strip tools/endian ; ++ if [ ! -s ./tools/endian ] ; then ++ echo "Couldn't build endianness-checking program ./tools/endian" >&2 ; ++ exit 1 ; diff --git a/net-dialup/syncterm/files/syncterm-1.1_respect-toolchain-variables.patch b/net-dialup/syncterm/files/syncterm-1.1_respect-toolchain-variables.patch new file mode 100644 index 000000000000..309122197a5b --- /dev/null +++ b/net-dialup/syncterm/files/syncterm-1.1_respect-toolchain-variables.patch @@ -0,0 +1,89 @@ +Respect CFLAGS, AR and other environment variables when building +cryptlib. + +From: Seth M. Price <sprice623@aol.com> +Bug: https://bugs.gentoo.org/933184 +Depends: syncterm-1.1_do-not-strip-3rdp-test.patch + +--- a/3rdp/build/GNUmakefile ++++ b/3rdp/build/GNUmakefile +@@ -67,7 +67,7 @@ $(CRYPT_SRC): | $(3RDPSRCDIR) + $(CRYPT_IDIR): | $(3RDPODIR) + $(QUIET)$(IFNOTEXIST) mkdir $(CRYPT_IDIR) + +-$(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)build/terminal-params.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw32-static.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ranlib.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-noasm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zz-country.patch $(3RDP_ROOT)$(DIRSEP)build/cl-algorithms.patch $(3RDP_ROOT)$(DIRSEP)build/cl-allow-duplicate-ext.patch $(3RDP_ROOT)$(DIRSEP)build/cl-macosx-minver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-endian.patch $(3RDP_ROOT)$(DIRSEP)build/cl-cryptodev.patch $(3RDP_ROOT)$(DIRSEP)build/cl-posix-me-gently.patch $(3RDP_ROOT)$(DIRSEP)build/cl-tpm-linux.patch $(3RDP_ROOT)$(DIRSEP)build/cl-PAM-noprompts.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zlib.patch $(3RDP_ROOT)$(DIRSEP)build/Dynamic-linked-static-lib.patch $(3RDP_ROOT)$(DIRSEP)build/SSL-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bigger-maxattribute.patch $(3RDP_ROOT)$(DIRSEP)build/cl-vcxproj.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw-vcver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-build-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-gcc-non-const-time-val.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-odbc.patch $(3RDP_ROOT)$(DIRSEP)build/cl-noasm-defines.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bn-noasm64-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-RSA-suites.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ECC-RSA.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC-harder.patch $(3RDP_ROOT)$(DIRSEP)build/cl-more-RSA-ECC-fixes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-DH-key-init.patch $(3RDP_ROOT)$(DIRSEP)build/cl-clear-GCM-flag.patch $(3RDP_ROOT)$(DIRSEP)build/cl-use-ssh-ctr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-list-ctr-modes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-incCtr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssl-suite-blocksizes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-tpm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-via-aes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ssh-ecc-ephemeral.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-just-use-cc.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-learn-numbers.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-linux-yield.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-strip.patch | $(CRYPT_SRC) $(CRYPT_IDIR) ++$(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)build/terminal-params.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw32-static.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ranlib.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-noasm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zz-country.patch $(3RDP_ROOT)$(DIRSEP)build/cl-algorithms.patch $(3RDP_ROOT)$(DIRSEP)build/cl-allow-duplicate-ext.patch $(3RDP_ROOT)$(DIRSEP)build/cl-macosx-minver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-endian.patch $(3RDP_ROOT)$(DIRSEP)build/cl-cryptodev.patch $(3RDP_ROOT)$(DIRSEP)build/cl-posix-me-gently.patch $(3RDP_ROOT)$(DIRSEP)build/cl-tpm-linux.patch $(3RDP_ROOT)$(DIRSEP)build/cl-PAM-noprompts.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zlib.patch $(3RDP_ROOT)$(DIRSEP)build/Dynamic-linked-static-lib.patch $(3RDP_ROOT)$(DIRSEP)build/SSL-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bigger-maxattribute.patch $(3RDP_ROOT)$(DIRSEP)build/cl-vcxproj.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw-vcver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-build-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-gcc-non-const-time-val.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-odbc.patch $(3RDP_ROOT)$(DIRSEP)build/cl-noasm-defines.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bn-noasm64-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-RSA-suites.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ECC-RSA.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC-harder.patch $(3RDP_ROOT)$(DIRSEP)build/cl-more-RSA-ECC-fixes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-DH-key-init.patch $(3RDP_ROOT)$(DIRSEP)build/cl-clear-GCM-flag.patch $(3RDP_ROOT)$(DIRSEP)build/cl-use-ssh-ctr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-list-ctr-modes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-incCtr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssl-suite-blocksizes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-tpm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-via-aes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ssh-ecc-ephemeral.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-just-use-cc.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-learn-numbers.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-linux-yield.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-strip.patch $(3RDP_ROOT)$(DIRSEP)build/cl-respect-env-vars.patch | $(CRYPT_SRC) $(CRYPT_IDIR) + @echo Creating $@ ... + $(QUIET)-rm -rf $(CRYPT_SRC)/* + $(QUIET)unzip -oa $(3RDPDISTDIR)$(DIRSEP)cryptlib.zip -d $(CRYPT_SRC) +@@ -114,6 +114,7 @@ $(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)b + $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-learn-numbers.patch + $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-linux-yield.patch + $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-no-strip.patch ++ $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-respect-env-vars.patch + ifeq ($(CC),mingw32-gcc) + $(QUIET)cd $(CRYPT_SRC) && env - PATH="$(PATH)" CC="$(CC)" AR="$(AR)" RANLIB="$(RANLIB)" make directories + $(QUIET)cd $(CRYPT_SRC) && env - PATH="$(PATH)" CC="$(CC)" AR="$(AR)" RANLIB="$(RANLIB)" make toolscripts + +--- /dev/null ++++ b/3rdp/build/cl-respect-env-vars.patch +@@ -0,0 +1,59 @@ ++--- makefile +++++ makefile ++@@ -90,16 +90,16 @@ DYLIBNAME = lib$(PROJ).$(MAJ).$(MIN).dylib ++ # Further cc flags are gathered dynamically at runtime via the ccopts.sh ++ # script. ++ ++-CFLAGS = -c -D__UNIX__ -DNDEBUG -I. +++CFLAGS += -c -D__UNIX__ -I. -DNDEBUG ++ CFLAGS_DEBUG = -c -D__UNIX__ -I. -g -O1 ++-CFLAGS_DEBUGGCC = -c -D__UNIX__ -I. -ggdb3 -fno-omit-frame-pointer -O1 ++-CFLAGS_ANALYSE = -c -D__UNIX__ -I. ++-CFLAGS_COVERAGE = -c -D__UNIX__ -I. -ggdb3 -fno-omit-frame-pointer -O1 --coverage -fprofile-arcs -ftest-coverage ++-CFLAGS_FUZZ = -c -D__UNIX__ -I. -ggdb3 -fno-omit-frame-pointer -funwind-tables -fsanitize=address -O1 -DCONFIG_FUZZ ++-CFLAGS_LIBFUZZER = -c -D__UNIX__ -I. -g -fno-omit-frame-pointer -fsanitize=fuzzer,address,undefined -O1 -DCONFIG_FUZZ -DCONFIG_LIBFUZZER ++-CFLAGS_HONGGFUZZ = -c -D__UNIX__ -I. -g -fno-omit-frame-pointer -O1 -DCONFIG_FUZZ -DCONFIG_LIBFUZZER ++-CFLAGS_UBSAN = -c -D__UNIX__ -I. -ggdb3 -fno-omit-frame-pointer -funwind-tables -fsanitize=undefined -fsanitize-blacklist=ubsan_blacklist.txt -O1 ++-CFLAGS_VALGRIND = -c -D__UNIX__ -I. -ggdb3 -fno-omit-frame-pointer -O1 +++CFLAGS_DEBUGGCC = $(CFLAGS) -ggdb3 -fno-omit-frame-pointer -O1 +++CFLAGS_ANALYSE = $(CFLAGS) +++CFLAGS_COVERAGE = $(CFLAGS) -ggdb3 -fno-omit-frame-pointer -O1 --coverage -fprofile-arcs -ftest-coverage +++CFLAGS_FUZZ = $(CFLAGS) -ggdb3 -fno-omit-frame-pointer -funwind-tables -fsanitize=address -O1 -DCONFIG_FUZZ +++CFLAGS_LIBFUZZER = $(CFLAGS) -g -fno-omit-frame-pointer -fsanitize=fuzzer,address,undefined -O1 -DCONFIG_FUZZ -DCONFIG_LIBFUZZER +++CFLAGS_HONGGFUZZ = $(CFLAGS) -g -fno-omit-frame-pointer -O1 -DCONFIG_FUZZ -DCONFIG_LIBFUZZER +++CFLAGS_UBSAN = $(CFLAGS) -ggdb3 -fno-omit-frame-pointer -funwind-tables -fsanitize=undefined -fsanitize-blacklist=ubsan_blacklist.txt -O1 +++CFLAGS_VALGRIND = $(CFLAGS) -ggdb3 -fno-omit-frame-pointer -O1 ++ ++ # Paths and command names. We have to be careful with comments attached to ++ # path defines because some makes don't strip trailing spaces. ++@@ -115,9 +115,6 @@ STATIC_OBJ_PATH = $(STATIC_OBJ_DIR)/ ++ SHARED_OBJ_PATH = $(SHARED_OBJ_DIR)/ ++ CPP = $(CC) -E ++ LD = $(CC) ++-MAKE = make ++-AR = ar ++-STRIP = strip ++ SHELL = /bin/sh ++ OSNAME = `uname` ++ LINKFILE = link.tmp ++ ++--- tools/buildall.sh +++++ tools/buildall.sh ++@@ -195,13 +195,13 @@ fi ++ # we add an extra character to the comparison string to avoid syntax errors. ++ ++ if [ $ANALYSE -gt 0 ] ; then ++- CFLAGS="$(./tools/ccopts.sh analyse $CC $OSNAME)" ; +++ CFLAGS="$CFLAGS $(./tools/ccopts.sh analyse $CC $OSNAME)" ; ++ elif [ $ISSPECIAL -gt 0 ] ; then ++- CFLAGS="$(./tools/ccopts.sh special $CC $OSNAME)" ; +++ CFLAGS="$CFLAGS $(./tools/ccopts.sh special $CC $OSNAME)" ; ++ elif [ $SHARED -gt 0 ] ; then ++- CFLAGS="$(./tools/ccopts.sh shared $CC $OSNAME)" ; +++ CFLAGS="$CFLAGS $(./tools/ccopts.sh shared $CC $OSNAME)" ; ++ else ++- CFLAGS="$(./tools/ccopts.sh $CC $OSNAME)" ; +++ CFLAGS="$CFLAGS $(./tools/ccopts.sh $CC $OSNAME)" ; ++ fi ++ if [ '$(CFLAGS)x' = 'x' ] ; then ++ echo "$0: Couldn't get compiler flags via tools/ccopts.sh." >&2 ; diff --git a/net-dialup/syncterm/files/syncterm-1.1_use-sched-yield-instead-of-pthread-yield.patch b/net-dialup/syncterm/files/syncterm-1.1_use-sched-yield-instead-of-pthread-yield.patch new file mode 100644 index 000000000000..630ba0ca5c13 --- /dev/null +++ b/net-dialup/syncterm/files/syncterm-1.1_use-sched-yield-instead-of-pthread-yield.patch @@ -0,0 +1,41 @@ +Use `sched_yield()` instead of nonstandard `pthread_yield()`. +Fixes compiler error. + +From: Rob Swindell <rob@synchro.net> +From: Seth M. Price <sprice623@aol.com> +Bug: https://gitlab.synchro.net/main/sbbs/-/issues/299 + +--- a/3rdp/build/GNUmakefile ++++ b/3rdp/build/GNUmakefile +@@ -67,7 +67,7 @@ $(CRYPT_SRC): | $(3RDPSRCDIR) + $(CRYPT_IDIR): | $(3RDPODIR) + $(QUIET)$(IFNOTEXIST) mkdir $(CRYPT_IDIR) + +-$(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)build/terminal-params.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw32-static.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ranlib.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-noasm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zz-country.patch $(3RDP_ROOT)$(DIRSEP)build/cl-algorithms.patch $(3RDP_ROOT)$(DIRSEP)build/cl-allow-duplicate-ext.patch $(3RDP_ROOT)$(DIRSEP)build/cl-macosx-minver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-endian.patch $(3RDP_ROOT)$(DIRSEP)build/cl-cryptodev.patch $(3RDP_ROOT)$(DIRSEP)build/cl-posix-me-gently.patch $(3RDP_ROOT)$(DIRSEP)build/cl-tpm-linux.patch $(3RDP_ROOT)$(DIRSEP)build/cl-PAM-noprompts.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zlib.patch $(3RDP_ROOT)$(DIRSEP)build/Dynamic-linked-static-lib.patch $(3RDP_ROOT)$(DIRSEP)build/SSL-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bigger-maxattribute.patch $(3RDP_ROOT)$(DIRSEP)build/cl-vcxproj.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw-vcver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-build-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-gcc-non-const-time-val.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-odbc.patch $(3RDP_ROOT)$(DIRSEP)build/cl-noasm-defines.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bn-noasm64-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-RSA-suites.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ECC-RSA.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC-harder.patch $(3RDP_ROOT)$(DIRSEP)build/cl-more-RSA-ECC-fixes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-DH-key-init.patch $(3RDP_ROOT)$(DIRSEP)build/cl-clear-GCM-flag.patch $(3RDP_ROOT)$(DIRSEP)build/cl-use-ssh-ctr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-list-ctr-modes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-incCtr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssl-suite-blocksizes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-tpm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-via-aes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ssh-ecc-ephemeral.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-just-use-cc.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-learn-numbers.patch | $(CRYPT_SRC) $(CRYPT_IDIR) ++$(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)build/terminal-params.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw32-static.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ranlib.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-noasm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zz-country.patch $(3RDP_ROOT)$(DIRSEP)build/cl-algorithms.patch $(3RDP_ROOT)$(DIRSEP)build/cl-allow-duplicate-ext.patch $(3RDP_ROOT)$(DIRSEP)build/cl-macosx-minver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-endian.patch $(3RDP_ROOT)$(DIRSEP)build/cl-cryptodev.patch $(3RDP_ROOT)$(DIRSEP)build/cl-posix-me-gently.patch $(3RDP_ROOT)$(DIRSEP)build/cl-tpm-linux.patch $(3RDP_ROOT)$(DIRSEP)build/cl-PAM-noprompts.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zlib.patch $(3RDP_ROOT)$(DIRSEP)build/Dynamic-linked-static-lib.patch $(3RDP_ROOT)$(DIRSEP)build/SSL-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bigger-maxattribute.patch $(3RDP_ROOT)$(DIRSEP)build/cl-vcxproj.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw-vcver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-build-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-gcc-non-const-time-val.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-odbc.patch $(3RDP_ROOT)$(DIRSEP)build/cl-noasm-defines.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bn-noasm64-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-RSA-suites.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ECC-RSA.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC.patch $(3RDP_ROOT)$(DIRSEP)build/cl-prefer-ECC-harder.patch $(3RDP_ROOT)$(DIRSEP)build/cl-more-RSA-ECC-fixes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-DH-key-init.patch $(3RDP_ROOT)$(DIRSEP)build/cl-clear-GCM-flag.patch $(3RDP_ROOT)$(DIRSEP)build/cl-use-ssh-ctr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-list-ctr-modes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssh-incCtr.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ssl-suite-blocksizes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-tpm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-no-via-aes.patch $(3RDP_ROOT)$(DIRSEP)build/cl-fix-ssh-ecc-ephemeral.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-just-use-cc.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-learn-numbers.patch $(3RDP_ROOT)$(DIRSEP)/build/cl-linux-yield.patch | $(CRYPT_SRC) $(CRYPT_IDIR) + @echo Creating $@ ... + $(QUIET)-rm -rf $(CRYPT_SRC)/* + $(QUIET)unzip -oa $(3RDPDISTDIR)$(DIRSEP)cryptlib.zip -d $(CRYPT_SRC) +@@ -112,6 +112,7 @@ $(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)b + $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-fix-ssh-ecc-ephemeral.patch + $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-just-use-cc.patch + $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-learn-numbers.patch ++ $(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-linux-yield.patch + ifeq ($(CC),mingw32-gcc) + $(QUIET)cd $(CRYPT_SRC) && env - PATH="$(PATH)" CC="$(CC)" AR="$(AR)" RANLIB="$(RANLIB)" make directories + $(QUIET)cd $(CRYPT_SRC) && env - PATH="$(PATH)" CC="$(CC)" AR="$(AR)" RANLIB="$(RANLIB)" make toolscripts + +--- /dev/null ++++ b/3rdp/build/cl-linux-yield.patch +@@ -0,0 +1,11 @@ ++--- old/thread.h 2021-10-19 12:34:08.766649958 -0700 +++++ kernel/thread.h 2021-10-19 12:34:43.794072316 -0700 ++@@ -3005,7 +3005,7 @@ ++ #endif /* Slowaris 5.7 / 7.x or newer */ ++ #elif defined( _AIX ) || defined( __Android__ ) || defined( __CYGWIN__ ) || \ ++ ( defined( __hpux ) && ( OSVERSION >= 11 ) ) || \ ++- defined( __NetBSD__ ) || defined( __QNX__ ) || defined( __UCLIBC__ ) +++ defined( __NetBSD__ ) || defined( __QNX__ ) || defined( __UCLIBC__ ) || defined(__linux__) ++ #define THREAD_YIELD() sched_yield() ++ #elif defined( __XMK__ ) ++ /* The XMK underlying scheduling object is the process context, for which diff --git a/net-dialup/syncterm/metadata.xml b/net-dialup/syncterm/metadata.xml new file mode 100644 index 000000000000..00b56688b09c --- /dev/null +++ b/net-dialup/syncterm/metadata.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <name>Seth M. Price</name> + <email>sprice623@aol.com</email> + </maintainer> + <longdescription lang="en"> + A cross-platform ANSI-BBS terminal designed to connect to + remote BBSs via telnet, rlogin, or SSH. Supports ANSI music + and the IBM charset when possible. Will run from a console, + under X11 using XLib, or using SDL. + </longdescription> + <upstream> + <bugs-to>https://sourceforge.net/p/syncterm/tickets/</bugs-to> + <remote-id type="sourceforge">syncterm</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/syncterm/syncterm-1.1.ebuild b/net-dialup/syncterm/syncterm-1.1.ebuild new file mode 100644 index 000000000000..8af4bf8708e8 --- /dev/null +++ b/net-dialup/syncterm/syncterm-1.1.ebuild @@ -0,0 +1,54 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit desktop toolchain-funcs + +DESCRIPTION="BBS (bulletin board system) terminal" +HOMEPAGE="https://syncterm.bbsdev.net/" +SRC_URI="https://sourceforge.net/projects/syncterm/files/syncterm/syncterm-${PV}/syncterm-${PV}-src.tgz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="ncurses sdl X" + +DEPEND="ncurses? ( sys-libs/ncurses ) + sdl? ( media-libs/libsdl2 ) + X? ( x11-libs/libX11 )" +RDEPEND="${DEPEND}" + +src_prepare() { + tc-export AR STRIP + eapply "${FILESDIR}/${P}_use-sched-yield-instead-of-pthread-yield.patch" + eapply "${FILESDIR}/${P}_do-not-strip-3rdp-test.patch" + eapply "${FILESDIR}/${P}_disable-parallel-build.patch" + eapply "${FILESDIR}/${P}_respect-toolchain-variables.patch" + eapply_user +} + +src_compile() { + # FIXME: probably bad form + cd "${S}/src/syncterm" + + # NOTE: build system automatically detects whether + # optional dependencies are there, strangely + + emake + emake syncterm.man + + # doman complains about wrong filename otherwise + cp syncterm.man syncterm.1 +} + +src_install() { + # Regular ‘emake install’ violates policy in multiple ways + dobin src/syncterm/gcc.linux.x64.exe.debug/syncterm + doicon src/syncterm/syncterm.png + domenu src/syncterm/syncterm.desktop + doman src/syncterm/syncterm.1 + + # Things not installed by ‘emake install’ + dodoc src/syncterm/CHANGES +} diff --git a/net-dialup/syncterm/syncterm-9999.ebuild b/net-dialup/syncterm/syncterm-9999.ebuild new file mode 100644 index 000000000000..af31be2acdb8 --- /dev/null +++ b/net-dialup/syncterm/syncterm-9999.ebuild @@ -0,0 +1,44 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit git-r3 desktop + +DESCRIPTION="BBS (bulletin board system) terminal" +HOMEPAGE="https://syncterm.bbsdev.net/" +EGIT_REPO_URI="https://gitlab.synchro.net/main/sbbs" + +LICENSE="GPL-2+" +SLOT="0" +IUSE="ncurses sdl X" + +DEPEND="ncurses? ( sys-libs/ncurses ) + sdl? ( media-libs/libsdl2 ) + X? ( x11-libs/libX11 )" +RDEPEND="${DEPEND}" + +src_compile() { + # FIXME: probably bad form + cd "${S}/src/syncterm" + + # NOTE: build system automatically detects whether + # optional dependencies are there, strangely + + emake + emake syncterm.man + + # doman complains about wrong filename otherwise + cp syncterm.man syncterm.1 +} + +src_install() { + # Regular ‘emake install’ violates policy in multiple ways + dobin src/syncterm/gcc.linux.x64.exe.debug/syncterm + doicon src/syncterm/syncterm.png + domenu src/syncterm/syncterm.desktop + doman src/syncterm/syncterm.1 + + # Things not installed by ‘emake install’ + dodoc src/syncterm/CHANGES +} diff --git a/net-dialup/tcpser/Manifest b/net-dialup/tcpser/Manifest new file mode 100644 index 000000000000..982ac4d76bb6 --- /dev/null +++ b/net-dialup/tcpser/Manifest @@ -0,0 +1 @@ +DIST tcpser-1.1.4.tar.gz 111605 BLAKE2B bc45e6c5870f9ba5bd84cb36721c4833d869ec180491cb0f1cbd1c71fff6b0e5fa60a0864ad055f0e6e840bd7b570b99ffe918c166fdf0e79b6ab7964161d3db SHA512 08b80984b30b8a56fe9fb6690e7d82827b3d9d191e13094a040334e20edd9669b0098abad66d5022a1e022ef95bcea236123c791f7f84948420dfca10e449d4a diff --git a/net-dialup/tcpser/files/tcpser-1.1.4_dont-hardcode-cflags-and-ldflags.patch b/net-dialup/tcpser/files/tcpser-1.1.4_dont-hardcode-cflags-and-ldflags.patch new file mode 100644 index 000000000000..14246d31fc33 --- /dev/null +++ b/net-dialup/tcpser/files/tcpser-1.1.4_dont-hardcode-cflags-and-ldflags.patch @@ -0,0 +1,17 @@ +Don’t hardcode CFLAGS and LDFLAGS into Makefile.
+
+From: Seth M. Price <sprice623@aol.com>
+
+--- a/Makefile
++++ b/Makefile
+@@ -3,8 +3,8 @@ SRCS = $(SRC)/bridge.c $(SRC)/debug.c $(SRC)/getcmd.c $(SRC)/ip.c $(SRC)/init.c
+ OBJS = $(SRC)/bridge.o $(SRC)/debug.o $(SRC)/getcmd.o $(SRC)/ip.o $(SRC)/init.o $(SRC)/modem_core.o $(SRC)/nvt.o $(SRC)/serial.o $(SRC)/ip232.o $(SRC)/util.o $(SRC)/phone_book.o $(SRC)/tcpser.o $(SRC)/dce.o $(SRC)/line.o
+ CC ?= gcc
+ DEF =
+-CFLAGS = -O $(DEF) -Wall
+-LDFLAGS = -lpthread
++CFLAGS +=
++LDFLAGS += -lpthread
+ DEPEND = makedepend $(DEF) $(CFLAGS)
+
+ all: tcpser
diff --git a/net-dialup/tcpser/metadata.xml b/net-dialup/tcpser/metadata.xml new file mode 100644 index 000000000000..638cb98495ac --- /dev/null +++ b/net-dialup/tcpser/metadata.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <name>Seth M. Price</name> + <email>sprice623@aol.com</email> + </maintainer> + <longdescription lang="en"> + TCPSER turns a PC serial port into an emulated Hayes compatible + modem that uses TCP/IP for incoming and outgoing connections. + It can be used to allow older applications and systems designed + for modem use to operate on the Internet. TCPSER supports all + standard Hayes commands, and understands extended and vendor + proprietary commands (though it does not implement many of + them). TCPSER can be used for both inbound and outbound + connections. + </longdescription> + <upstream> + <bugs-to>https://github.com/go4retro/tcpser/issues</bugs-to> + <remote-id type="github">go4retro/tcpser</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/tcpser/tcpser-1.1.4.ebuild b/net-dialup/tcpser/tcpser-1.1.4.ebuild new file mode 100644 index 000000000000..405bde7cb86f --- /dev/null +++ b/net-dialup/tcpser/tcpser-1.1.4.ebuild @@ -0,0 +1,27 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +DESCRIPTION="Hayes Smartmodem emulator over TCP/IP" +HOMEPAGE="https://github.com/go4retro/tcpser" +SRC_URI="https://github.com/go4retro/tcpser/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" + +src_compile() { + # Fix CR-LF incompatibility with patch + eapply --binary "${FILESDIR}/${P}_dont-hardcode-cflags-and-ldflags.patch" + + make all CC=$(tc-getCC) +} + +src_install() { + dobin tcpser + doman man/tcpser.1 + dodoc README.md +} diff --git a/net-dialup/tio/Manifest b/net-dialup/tio/Manifest new file mode 100644 index 000000000000..40c4df1f14f0 --- /dev/null +++ b/net-dialup/tio/Manifest @@ -0,0 +1 @@ +DIST tio-3.9.tar.xz 3460500 BLAKE2B eee634fb540a2910706d9aec686e386727cc665bff9d5febe438e08a38d2df3c2faab64bc9e87757caf8758f456a79a8ef18e1f7c1601be40ad1f96895cfc36b SHA512 36873ecf32a42023838853012cf640a4e3007faeeda5dc9e0fb4511cccab98776a0b74ee179de2d324c438bd042aa8bf87783bc593d81eaabe8627157968605d diff --git a/net-dialup/tio/metadata.xml b/net-dialup/tio/metadata.xml new file mode 100644 index 000000000000..124259ef1903 --- /dev/null +++ b/net-dialup/tio/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>kurt@kmk-computers.de</email> + <name>Kurt Kanzenbach</name> + </maintainer> + <longdescription lang="en"> + "tio" is a simple TTY terminal application which features a straightforward + commandline interface to easily connect to TTY devices for basic + input/output. + </longdescription> + <upstream> + <remote-id type="github">tio/tio</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/tio/tio-3.9.ebuild b/net-dialup/tio/tio-3.9.ebuild new file mode 100644 index 000000000000..376c56c1268c --- /dev/null +++ b/net-dialup/tio/tio-3.9.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( lua5-{1,3,4} luajit ) + +inherit lua-single meson bash-completion-r1 + +DESCRIPTION="Simple TTY terminal application" +HOMEPAGE="https://tio.github.io/" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +REQUIRED_USE="${LUA_REQUIRED_USE}" +RDEPEND=" + ${LUA_DEPS} + dev-libs/glib +" +DEPEND=" + ${RDEPEND} +" + +src_configure() { + local emesonargs=( + -Dbashcompletiondir="$(get_bashcompdir)" + ) + + meson_src_configure +} diff --git a/net-dialup/xl2tpd/Manifest b/net-dialup/xl2tpd/Manifest new file mode 100644 index 000000000000..2f1bed7c71f4 --- /dev/null +++ b/net-dialup/xl2tpd/Manifest @@ -0,0 +1,4 @@ +DIST xl2tpd-1.3.18-r2-Pass-remotenumber-to-pppd.patch 4074 BLAKE2B d1566a22c51dfc448df41424722571206dbedb36b48bafe19a629b5c0c3eadce17a899d387c5aa241f4367cbfef86f09322f4a7dd429eeb1fd82539a81f7aa76 SHA512 8a10ddfbb6998a4caeaf8a55334d5e4a3fdbe10e0b71652699fda5bb27cd8f1e0b88c7dd50fb95cea3385353b91a4d9208003e436cc3d4e8023828a80cbbeb19 +DIST xl2tpd-1.3.18.tar.gz 534937 BLAKE2B ce745855709ac79d5d6aefbe2fb31a4e799f01c6ad31ad2e436c276933e079116daf32bcdc97b7459e4792aa2bd1ddbb600d798d8b28d1432681ffd319fe0829 SHA512 d1114777de5f3895429409fd5474da91fe9e9c218615eb989c9294de3e4e36dea7d8ea880a9b1b1ca18760e5709c8b8156c80d81401db479eaf215c026c3d861 +DIST xl2tpd-1.3.20-ditch-select-use-poll.patch 24347 BLAKE2B 8a13a52fb64a8135ccb4ccb618039c9345cccc28f31c08c58349e98b739994c7eddbfa629d1d4c79646e2060aef4cf1331ee57864413f16e105edd275768ce8b SHA512 bcfe9d0f90b8332078221e921307ca111eb3b0ed5c6b11716fc13f5bf9223ea58a667d46f38f8fdc3d062f596533da8550e5fb9312f0b6fefd9f799bf2a21407 +DIST xl2tpd-1.3.20.tar.gz 537558 BLAKE2B 98a5c0c6884aa77fe277ffc8a2310a472d5a5db86d39a4ae7da9f97eed53e033b6680a683b1bb52433320711f966ec1f3f02174ce15fbe52fb88d8287a1f8231 SHA512 d227e1dafbb1d7ca64d42084397eaf013f89958bc705d602ca9717e355b2a420756ccbf71663f920b44a6624411a59bf52fd039ba50a7d45a976e9af03ed4dc5 diff --git a/net-dialup/xl2tpd/files/xl2tpd-1.3.18-r1-close-calls-when-pppd-terminates.patch b/net-dialup/xl2tpd/files/xl2tpd-1.3.18-r1-close-calls-when-pppd-terminates.patch new file mode 100644 index 000000000000..ee70ca91cf2e --- /dev/null +++ b/net-dialup/xl2tpd/files/xl2tpd-1.3.18-r1-close-calls-when-pppd-terminates.patch @@ -0,0 +1,51 @@ +https://github.com/xelerance/xl2tpd/pull/261 +From 65a0473569c51a07309bbc0836ff4262b72297c7 Mon Sep 17 00:00:00 2001 +From: Jaco Kroon <jaco@uls.co.za> +Date: Fri, 1 Sep 2023 11:05:29 +0200 +Subject: [PATCH] xl2tpd: Close calls when underlying pppd terminate. + +Unsure the cause, but we found that upon ppp terminating xl2tpd would +only reap the PID, but not actually close the inner call, then at a +later stage would issue a kill() for that PID. + +In our environment with high call turnover this would eventually result +in xl2tpd kill()'ing other critical services like mariadb and/or +syslog-ng which would upon reloads and rotations have a tendency to +re-use PIDs that were previously used by pppd processes. + +We also believe that this should sort out the problem where IPs wouldn't +get cycled and re-used. + +Closes: #252 +Closes: #255 +Signed-off-by: Jaco Kroon <jaco@uls.co.za> +--- + xl2tpd.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/xl2tpd.c b/xl2tpd.c +index 791d5a4..4047bca 100644 +--- a/xl2tpd.c ++++ b/xl2tpd.c +@@ -257,6 +257,9 @@ static void child_handler (int sig) + { + if (c->pppd == pid) + { ++ /* pid is no longer valid, avoid killing it later by accident in destroy_call() */ ++ c->pppd = 0; ++ + if ( WIFEXITED( status ) ) + { + l2tp_log (LOG_DEBUG, "%s : pppd exited for call %d with code %d\n", __FUNCTION__, +@@ -283,6 +286,8 @@ static void child_handler (int sig) + #endif + close (c->fd); + #ifdef USE_KERNEL ++ } else { ++ call_close (c); + } + #endif + c->fd = -1; +-- +2.41.0 + diff --git a/net-dialup/xl2tpd/files/xl2tpd-1.3.18-r2-Pass-remotenumber-to-pppd.patch b/net-dialup/xl2tpd/files/xl2tpd-1.3.18-r2-Pass-remotenumber-to-pppd.patch new file mode 100644 index 000000000000..7d491b3c6542 --- /dev/null +++ b/net-dialup/xl2tpd/files/xl2tpd-1.3.18-r2-Pass-remotenumber-to-pppd.patch @@ -0,0 +1,116 @@ +From b81956418ca6590d8c3b1a6758dccc0f2f05eb54 Mon Sep 17 00:00:00 2001 +From: Jaco Kroon <jaco@uls.co.za> +Date: Tue, 18 Oct 2022 12:46:11 +0200 +Subject: [PATCH] Pass remotenumber to pppd. + +By default this will be the IP address of the remote peer, but it could +be the remote's number as provided by way of AVP should the newly added +'trust remotenumber' LNS option be set to yes. + +Signed-off-by: Jaco Kroon <jaco@uls.co.za> +--- + doc/l2tpd.conf.sample | 1 + + doc/xl2tpd.conf.5 | 6 ++++++ + file.c | 17 +++++++++++++++++ + file.h | 1 + + xl2tpd.c | 8 ++++++++ + 5 files changed, 33 insertions(+) + +diff --git a/doc/l2tpd.conf.sample b/doc/l2tpd.conf.sample +index 8f8fcb5..f6f0359 100644 +--- a/doc/l2tpd.conf.sample ++++ b/doc/l2tpd.conf.sample +@@ -47,6 +47,7 @@ + ; rx bps = 10000000 ; Receive tunnel speed + ; tx bps = 10000000 ; Transmit tunnel speed + ; bps = 100000 ; Define both receive and transmit speed in one option ++; trust remotenumber = no ; Trust dialing number AVP? + + ; [lac marko] ; Example VPN LAC definition + ; lns = lns.marko.net ; * Who is our LNS? +diff --git a/doc/xl2tpd.conf.5 b/doc/xl2tpd.conf.5 +index 2b1acbc..173a453 100644 +--- a/doc/xl2tpd.conf.5 ++++ b/doc/xl2tpd.conf.5 +@@ -175,6 +175,12 @@ This will enable the debug for pppd. + .B pass peer + Pass the peer's IP address to pppd as ipparam. Enabled by default. + ++.TP ++.B trust remotenumber ++When this is set to yes xl2tpd will trust the dialing number AVP and provide ++that as the remotenumber to pppd rather than the peer's IP address. Default is ++not trusted. ++ + .TP + .B pppoptfile + Specify the path for a file which contains pppd configuration parameters +diff --git a/file.c b/file.c +index 17dc377..29fcb66 100644 +--- a/file.c ++++ b/file.c +@@ -676,6 +676,22 @@ int set_pass_peer (char *word, char *value, int context, void *item) + return 0; + } + ++int set_trust_remotenumber (char *word, char *value, int context, void *item) ++{ ++ switch (context & ~CONTEXT_DEFAULT) ++ { ++ case CONTEXT_LNS: ++ if (set_boolean (word, value, &(((struct lns *) item)->trust_remotenumber))) ++ return -1; ++ break; ++ default: ++ snprintf (filerr, sizeof (filerr), "'%s' not valid in this context\n", ++ word); ++ return -1; ++ } ++ return 0; ++} ++ + int set_pppoptfile (char *word, char *value, int context, void *item) + { + struct lac *l = (struct lac *) item; +@@ -1611,6 +1627,7 @@ struct keyword words[] = { + {"hostname", &set_hostname}, + {"ppp debug", &set_debug}, + {"pass peer", &set_pass_peer}, ++ {"trust remotenumber", &set_trust_remotenumber}, + {"pppoptfile", &set_pppoptfile}, + {"call rws", &set_rws}, + {"tunnel rws", &set_rws}, +diff --git a/file.h b/file.h +index a2707c2..9d76359 100644 +--- a/file.h ++++ b/file.h +@@ -97,6 +97,7 @@ struct lns + int proxyauth; /* Allow proxy authentication? */ + int debug; /* Debug PPP? */ + int pass_peer; /* Pass peer IP to pppd as ipparam? */ ++ int trust_remotenumber; /* Whether or not to trust remotely supplied "Dialing Number" AVP */ + char pppoptfile[STRLEN]; /* File containing PPP options */ + struct tunnel *t; /* Tunnel of this, if it's ready */ + }; +diff --git a/xl2tpd.c b/xl2tpd.c +index 3195988..b551146 100644 +--- a/xl2tpd.c ++++ b/xl2tpd.c +@@ -495,6 +495,14 @@ int start_pppd (struct call *c, struct ppp_opts *opts) + } + + { ++ stropt[pos++] = strdup("remotenumber"); ++ if (c->dialing[0] && (!c->lns || c->lns->trust_remotenumber)) { ++ /* if a remotenumber is available, and we're a LAC or the remote "dialing number" AVP is trusted */ ++ stropt[pos++] = strdup(c->dialing); ++ } else { ++ stropt[pos++] = strdup(IPADDY(c->container->peer.sin_addr)); ++ } ++ + struct ppp_opts *p = opts; + int maxn_opts = sizeof(stropt) / sizeof(stropt[0]) - 1; + while (p && pos < maxn_opts) +-- +2.44.2 + diff --git a/net-dialup/xl2tpd/files/xl2tpd-1.3.18-r3-Fix-compiling-with-C23.patch b/net-dialup/xl2tpd/files/xl2tpd-1.3.18-r3-Fix-compiling-with-C23.patch new file mode 100644 index 000000000000..0bd9199554ff --- /dev/null +++ b/net-dialup/xl2tpd/files/xl2tpd-1.3.18-r3-Fix-compiling-with-C23.patch @@ -0,0 +1,37 @@ +From 07f0a12f1f3c10f5be31e4474bcb5422d0d5e9b3 Mon Sep 17 00:00:00 2001 +From: Jaco Kroon <jaco@uls.co.za> +Date: Thu, 21 Nov 2024 00:12:29 +0200 +Subject: [PATCH] Fix compiling with C23. + +https://bugs.gentoo.org/944070 +Signed-off-by: Jaco Kroon <jaco@uls.co.za> +--- + xl2tpd.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/xl2tpd.c b/xl2tpd.c +index 791d5a4..4bf15fd 100644 +--- a/xl2tpd.c ++++ b/xl2tpd.c +@@ -74,7 +74,7 @@ static int control_handle_lac_hangup(FILE* resf, char* bufp); + static int control_handle_lac_disconnect(FILE* resf, char* bufp); + static int control_handle_lac_add_modify(FILE* resf, char* bufp); + static int control_handle_lac_remove(FILE* resf, char* bufp); +-static int control_handle_lac_status(); ++static int control_handle_lac_status(FILE* resf, char* bufp); + static int control_handle_lns_remove(FILE* resf, char* bufp); + + static struct control_requests_handler control_handlers[] = { +@@ -1549,7 +1549,8 @@ static int control_handle_lac_remove(FILE* resf, char* bufp){ + return 1; + } + +-static int control_handle_lac_status(){ ++static int control_handle_lac_status(FILE*, char*) ++{ + show_status (); + return 1; + } +-- +2.44.2 + diff --git a/net-dialup/xl2tpd/files/xl2tpd-init-r1 b/net-dialup/xl2tpd/files/xl2tpd-init-r1 new file mode 100644 index 000000000000..82366c69f57c --- /dev/null +++ b/net-dialup/xl2tpd/files/xl2tpd-init-r1 @@ -0,0 +1,11 @@ +#!/sbin/openrc-run +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/sbin/xl2tpd" +pidfile="/run/xl2tpd.pid" +required_files="/etc/xl2tpd/xl2tpd.conf" + +start_pre() { + checkpath -d /run/xl2tpd +} diff --git a/net-dialup/xl2tpd/files/xl2tpd.conf b/net-dialup/xl2tpd/files/xl2tpd.conf new file mode 100644 index 000000000000..32119f564439 --- /dev/null +++ b/net-dialup/xl2tpd/files/xl2tpd.conf @@ -0,0 +1 @@ +d /run/xl2tpd diff --git a/net-dialup/xl2tpd/files/xl2tpd.service b/net-dialup/xl2tpd/files/xl2tpd.service new file mode 100644 index 000000000000..37d46cc63493 --- /dev/null +++ b/net-dialup/xl2tpd/files/xl2tpd.service @@ -0,0 +1,12 @@ +[Unit] +Description=Layer 2 Tunneling Protocol Daemon (L2TP) +After=syslog.target network.target +After=ipsec.service + +[Service] +ExecStart=/usr/sbin/xl2tpd -D +KillSignal=SIGINT +SuccessExitStatus=1 + +[Install] +WantedBy=multi-user.target diff --git a/net-dialup/xl2tpd/metadata.xml b/net-dialup/xl2tpd/metadata.xml new file mode 100644 index 000000000000..5fa88d8f1e46 --- /dev/null +++ b/net-dialup/xl2tpd/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>jkroon@gentoo.org</email> + <name>Jaco Kroon</name> + </maintainer> + <longdescription>xl2tpd is a fork of l2tpd Layer 2 Tunneling Protocol (L2TP) daemon that can be used to transfer frames of OSI layer 2 protocols through an IP tunnel. While it provides authentication via CHAP or PAP it does not provide encryption itself and should therefore be externally secured (via IPSEC).</longdescription> + <use> + <flag name="kernel">Enable kernel interface for PPPoL2TP</flag> + <flag name="poll">Use experimental patch to use poll rather than select (scalability patch)</flag> + </use> + <upstream> + <remote-id type="github">xelerance/xl2tpd</remote-id> + </upstream> +</pkgmetadata> diff --git a/net-dialup/xl2tpd/xl2tpd-1.3.18-r2.ebuild b/net-dialup/xl2tpd/xl2tpd-1.3.18-r2.ebuild new file mode 100644 index 000000000000..ff6f45940c9a --- /dev/null +++ b/net-dialup/xl2tpd/xl2tpd-1.3.18-r2.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd toolchain-funcs tmpfiles + +DESCRIPTION="A modern version of the Layer 2 Tunneling Protocol (L2TP) daemon" +HOMEPAGE="https://github.com/xelerance/xl2tpd" +SRC_URI="https://github.com/xelerance/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ~loong ~mips ~ppc ppc64 ~riscv x86" +IUSE="+kernel" + +DEPEND=" + net-libs/libpcap + >=sys-kernel/linux-headers-2.6" + +RDEPEND=" + ${DEPEND} + net-dialup/ppp" + +DOCS=( CREDITS README.md BUGS CHANGES TODO doc/README.patents ) + +PATCHES=( + "${FILESDIR}/xl2tpd-1.3.18-r1-close-calls-when-pppd-terminates.patch" + "${FILESDIR}/xl2tpd-1.3.18-r2-Pass-remotenumber-to-pppd.patch" +) + +src_prepare() { + default + sed -e 's:/var/run/:/run/:' -i \ + file.h \ + l2tp.h \ + xl2tpd-control.c \ + doc/l2tp-secrets.5 \ + doc/xl2tpd.8 \ + doc/xl2tpd.conf.5 \ + || die "Error updating /var/run to /run" +} + +src_compile() { + tc-export CC + local OSFLAGS="-DLINUX" + use kernel && OSFLAGS+=" -DUSE_KERNEL" + emake OSFLAGS="${OSFLAGS}" +} + +src_install() { + emake PREFIX=/usr DESTDIR="${D}" install + + newinitd "${FILESDIR}"/xl2tpd-init-r1 xl2tpd + + systemd_dounit "${FILESDIR}"/xl2tpd.service + dotmpfiles "${FILESDIR}"/xl2tpd.conf + + einstalldocs + + insinto /etc/xl2tpd + newins doc/l2tpd.conf.sample xl2tpd.conf + insopts -m 0600 + newins doc/l2tp-secrets.sample l2tp-secrets +} + +pkg_postinst() { + tmpfiles_process xl2tpd.conf +} diff --git a/net-dialup/xl2tpd/xl2tpd-1.3.18-r3.ebuild b/net-dialup/xl2tpd/xl2tpd-1.3.18-r3.ebuild new file mode 100644 index 000000000000..f7d1daac0569 --- /dev/null +++ b/net-dialup/xl2tpd/xl2tpd-1.3.18-r3.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd toolchain-funcs tmpfiles + +DESCRIPTION="A modern version of the Layer 2 Tunneling Protocol (L2TP) daemon" +HOMEPAGE="https://github.com/xelerance/xl2tpd" +SRC_URI="https://github.com/xelerance/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ~loong ~mips ~ppc ppc64 ~riscv x86" +IUSE="+kernel" + +DEPEND=" + net-libs/libpcap + >=sys-kernel/linux-headers-2.6" + +RDEPEND=" + ${DEPEND} + net-dialup/ppp" + +DOCS=( CREDITS README.md BUGS CHANGES TODO doc/README.patents ) + +PATCHES=( + "${FILESDIR}/xl2tpd-1.3.18-r1-close-calls-when-pppd-terminates.patch" + "${FILESDIR}/xl2tpd-1.3.18-r2-Pass-remotenumber-to-pppd.patch" + "${FILESDIR}/xl2tpd-1.3.18-r3-Fix-compiling-with-C23.patch" +) + +src_prepare() { + default + sed -e 's:/var/run/:/run/:' -i \ + file.h \ + l2tp.h \ + xl2tpd-control.c \ + doc/l2tp-secrets.5 \ + doc/xl2tpd.8 \ + doc/xl2tpd.conf.5 \ + || die "Error updating /var/run to /run" +} + +src_compile() { + tc-export CC + local OSFLAGS="-DLINUX" + use kernel && OSFLAGS+=" -DUSE_KERNEL" + emake OSFLAGS="${OSFLAGS}" +} + +src_install() { + emake PREFIX=/usr DESTDIR="${D}" install + + newinitd "${FILESDIR}"/xl2tpd-init-r1 xl2tpd + + systemd_dounit "${FILESDIR}"/xl2tpd.service + dotmpfiles "${FILESDIR}"/xl2tpd.conf + + einstalldocs + + insinto /etc/xl2tpd + newins doc/l2tpd.conf.sample xl2tpd.conf + insopts -m 0600 + newins doc/l2tp-secrets.sample l2tp-secrets +} + +pkg_postinst() { + tmpfiles_process xl2tpd.conf +} diff --git a/net-dialup/xl2tpd/xl2tpd-1.3.20.ebuild b/net-dialup/xl2tpd/xl2tpd-1.3.20.ebuild new file mode 100644 index 000000000000..af4e7237e4f8 --- /dev/null +++ b/net-dialup/xl2tpd/xl2tpd-1.3.20.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2026 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit systemd toolchain-funcs tmpfiles + +DESCRIPTION="A modern version of the Layer 2 Tunneling Protocol (L2TP) daemon" +HOMEPAGE="https://github.com/xelerance/xl2tpd" +SRC_URI=" + https://github.com/xelerance/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz + https://downloads.uls.co.za/patches/${PN}/${PN}-1.3.18-r2-Pass-remotenumber-to-pppd.patch + poll? ( https://downloads.uls.co.za/patches/${PN}/${PN}-1.3.20-ditch-select-use-poll.patch ) +" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="amd64 ~arm arm64 ~loong ~mips ~ppc ppc64 ~riscv x86" +IUSE="+kernel poll" + +DEPEND=" + net-libs/libpcap + >=sys-kernel/linux-headers-2.6" + +RDEPEND=" + ${DEPEND} + net-dialup/ppp" + +DOCS=( CREDITS README.md BUGS CHANGES TODO doc/README.patents ) + +PATCHES=( + "${DISTDIR}/xl2tpd-1.3.18-r2-Pass-remotenumber-to-pppd.patch" +) + +src_prepare() { + default + use poll && epatch "${DISTDIR}/xl2tpd-1.3.20-ditch-select-use-poll.patch" + sed -e 's:/var/run/:/run/:' -i \ + file.h \ + l2tp.h \ + xl2tpd-control.c \ + doc/l2tp-secrets.5 \ + doc/xl2tpd.8 \ + doc/xl2tpd.conf.5 \ + || die "Error updating /var/run to /run" +} + +src_compile() { + tc-export CC + local OSFLAGS="-DLINUX" + use kernel && OSFLAGS+=" -DUSE_KERNEL" + emake OSFLAGS="${OSFLAGS}" +} + +src_install() { + emake PREFIX=/usr DESTDIR="${D}" install + + newinitd "${FILESDIR}"/xl2tpd-init-r1 xl2tpd + + systemd_dounit "${FILESDIR}"/xl2tpd.service + dotmpfiles "${FILESDIR}"/xl2tpd.conf + + einstalldocs + + insinto /etc/xl2tpd + newins doc/l2tpd.conf.sample xl2tpd.conf + insopts -m 0600 + newins doc/l2tp-secrets.sample l2tp-secrets +} + +pkg_postinst() { + tmpfiles_process xl2tpd.conf +} |
