net-misc/ethflop: New package

ethflop is a DOS TSR that emulates a floppy disk drive.
The emulated (virtual) floppy disk is, in fact, stored on a Linux server as a
floppy image. All the communication between ethflop (the TSR)
and ethflopd (the Linux daemon) is exchanged over raw Ethernet. No need for
any network configuration - the DOS PC only needs to have some kind of
Ethernet adapter and a suitable packet driver. The Linux server and
the DOS PC must be connected do the common Ethernet segment (same LAN).

Closes: https://github.com/gentoo/gentoo/pull/13307
Package-Manager: Portage-2.3.80, Repoman-2.3.19
Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
This commit is contained in:
Conrad Kostecki
2019-10-15 08:39:02 +02:00
parent 4f19a64992
commit 6df5d08108
7 changed files with 115 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST ethflop-20191003.zip 29858 BLAKE2B e5a4068d45c398d6c7bfd08299b57566c3d30bea4ef79692cae065adb61f3c41fd3ed568260e82e19d90e17c7b6d92c0698bb7f7c40edea9d44804a7a61e18ae SHA512 808e65d45e2ff74380bc2f1a31b7bb59fdca4acdf44eb7f60deef9aa0976462ddc64982e8a7b7c225d7f88e11a33dfcdf73fd7169f942018976d4d086e7ec477

View File

@@ -0,0 +1,46 @@
# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit systemd toolchain-funcs
DESCRIPTION="A network-backed floppy emulator for DOS"
HOMEPAGE="http://ethflop.sourceforge.net/"
SRC_URI="mirror://sourceforge/${PN}/${P}.zip"
LICENSE="ISC"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="tsr"
BDEPEND="
app-arch/unzip
tsr? ( dev-lang/nasm )
"
PATCHES=( "${FILESDIR}/${P}-makefile.patch" )
S="${WORKDIR}"
src_compile() {
tc-export CC
default
use tsr && emake tsr
}
src_install() {
dobin ethflopd
if use tsr; then
insinto /usr/share/ethflop
doins ethflop.com
fi
newinitd "${FILESDIR}"/ethflopd.initd ethflopd
newconfd "${FILESDIR}"/ethflopd.confd ethflopd
systemd_dounit "${FILESDIR}"/ethflopd.service
dodoc ethflop.txt
}

View File

@@ -0,0 +1,13 @@
--- a/Makefile 2019-10-03 23:02:15.000000000 +0200
+++ b/Makefile 2019-10-15 08:31:49.541999473 +0200
@@ -14,8 +14,8 @@
#CFLAGS = -O2 -Wall -std=gnu89 -pedantic -Wextra -Wformat-security -D_FORTIFY_SOURCE=1 -Weverything -Wno-padded
# production
-CC = gcc
-CFLAGS = -O2 -std=gnu89
+CC ?= gcc
+CFLAGS ?= -O2 -std=gnu89
all: ethflopd

View File

@@ -0,0 +1,8 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Network interface, which should be used for serving floppy images
INTERFACE="lo"
# Storage directory, from where floppy images are being served
STORAGEDIR="/tmp"

View File

@@ -0,0 +1,11 @@
#!/sbin/openrc-run
# Copyright 2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
name="ethflopd daemon"
command="/usr/bin/ethflopd"
command_args="${INTERFACE} ${STORAGEDIR}"
depend() {
need net
}

View File

@@ -0,0 +1,10 @@
[Unit]
Description=ethflopd daemon
After=network-online.target
[Service]
EnvironmentFile=/etc/conf.d/ethflopd
ExecStart=/usr/bin/ethflopd ${INTERFACE} ${STORAGEDIR}
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>ck+gentoo@bl4ckb0x.de</email>
<name>Conrad Kostecki</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<longdescription>
ethflop is a DOS TSR that emulates a floppy disk drive.
The emulated (virtual) floppy disk is, in fact, stored on a Linux server as a floppy image.
All the communication between ethflop (the TSR) and ethflopd (the Linux daemon) is exchanged over raw Ethernet.
No need for any network configuration - the DOS PC only needs to have some kind of Ethernet adapter
(physical or emulated, for example through PLIP) and a suitable packet driver.
The Linux server and the DOS PC must be connected to a common Ethernet segment (same LAN).
</longdescription>
<use>
<flag name="tsr">Build the TSR program for DOS, which acts as a client.</flag>
</use>
<upstream>
<remote-id type="sourceforge">ethflop</remote-id>
</upstream>
</pkgmetadata>