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>
--- /dev/null
+DIST ethflop-20191003.zip 29858 BLAKE2B e5a4068d45c398d6c7bfd08299b57566c3d30bea4ef79692cae065adb61f3c41fd3ed568260e82e19d90e17c7b6d92c0698bb7f7c40edea9d44804a7a61e18ae SHA512 808e65d45e2ff74380bc2f1a31b7bb59fdca4acdf44eb7f60deef9aa0976462ddc64982e8a7b7c225d7f88e11a33dfcdf73fd7169f942018976d4d086e7ec477
--- /dev/null
+# 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
+}
--- /dev/null
+--- 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\r
+ \r
+ # production\r
+-CC = gcc\r
+-CFLAGS = -O2 -std=gnu89\r
++CC ?= gcc\r
++CFLAGS ?= -O2 -std=gnu89\r
+ \r
+ all: ethflopd\r
+ \r
--- /dev/null
+# 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"
--- /dev/null
+#!/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
+}
--- /dev/null
+[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
--- /dev/null
+<?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>