summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConrad Kostecki <conikost@gentoo.org>2019-10-15 08:39:02 +0200
committerConrad Kostecki <conikost@gentoo.org>2019-12-06 00:32:05 +0100
commit6df5d081084eee5a71f95ef97ca15d78e651cffc (patch)
tree26edeb1164ac5f49e9f3fa21848457ad6bef2ef2 /net-misc/ethflop
parentmedia-libs/mesa: Drop IUSE=pax_kernel (diff)
downloadgentoo-6df5d081084eee5a71f95ef97ca15d78e651cffc.tar.gz
gentoo-6df5d081084eee5a71f95ef97ca15d78e651cffc.tar.bz2
gentoo-6df5d081084eee5a71f95ef97ca15d78e651cffc.zip
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>
Diffstat (limited to 'net-misc/ethflop')
-rw-r--r--net-misc/ethflop/Manifest1
-rw-r--r--net-misc/ethflop/ethflop-20191003.ebuild46
-rw-r--r--net-misc/ethflop/files/ethflop-20191003-makefile.patch13
-rw-r--r--net-misc/ethflop/files/ethflopd.confd8
-rw-r--r--net-misc/ethflop/files/ethflopd.initd11
-rw-r--r--net-misc/ethflop/files/ethflopd.service10
-rw-r--r--net-misc/ethflop/metadata.xml26
7 files changed, 115 insertions, 0 deletions
diff --git a/net-misc/ethflop/Manifest b/net-misc/ethflop/Manifest
new file mode 100644
index 000000000000..c6da51da0540
--- /dev/null
+++ b/net-misc/ethflop/Manifest
@@ -0,0 +1 @@
+DIST ethflop-20191003.zip 29858 BLAKE2B e5a4068d45c398d6c7bfd08299b57566c3d30bea4ef79692cae065adb61f3c41fd3ed568260e82e19d90e17c7b6d92c0698bb7f7c40edea9d44804a7a61e18ae SHA512 808e65d45e2ff74380bc2f1a31b7bb59fdca4acdf44eb7f60deef9aa0976462ddc64982e8a7b7c225d7f88e11a33dfcdf73fd7169f942018976d4d086e7ec477
diff --git a/net-misc/ethflop/ethflop-20191003.ebuild b/net-misc/ethflop/ethflop-20191003.ebuild
new file mode 100644
index 000000000000..f0b9e708f26e
--- /dev/null
+++ b/net-misc/ethflop/ethflop-20191003.ebuild
@@ -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
+}
diff --git a/net-misc/ethflop/files/ethflop-20191003-makefile.patch b/net-misc/ethflop/files/ethflop-20191003-makefile.patch
new file mode 100644
index 000000000000..7005dfdbb44b
--- /dev/null
+++ b/net-misc/ethflop/files/ethflop-20191003-makefile.patch
@@ -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
+
diff --git a/net-misc/ethflop/files/ethflopd.confd b/net-misc/ethflop/files/ethflopd.confd
new file mode 100644
index 000000000000..a727dae4c726
--- /dev/null
+++ b/net-misc/ethflop/files/ethflopd.confd
@@ -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"
diff --git a/net-misc/ethflop/files/ethflopd.initd b/net-misc/ethflop/files/ethflopd.initd
new file mode 100644
index 000000000000..d00c63f980ae
--- /dev/null
+++ b/net-misc/ethflop/files/ethflopd.initd
@@ -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
+}
diff --git a/net-misc/ethflop/files/ethflopd.service b/net-misc/ethflop/files/ethflopd.service
new file mode 100644
index 000000000000..2b6c31902ec6
--- /dev/null
+++ b/net-misc/ethflop/files/ethflopd.service
@@ -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
diff --git a/net-misc/ethflop/metadata.xml b/net-misc/ethflop/metadata.xml
new file mode 100644
index 000000000000..90f4adc128f7
--- /dev/null
+++ b/net-misc/ethflop/metadata.xml
@@ -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>