commit:     6df5d081084eee5a71f95ef97ca15d78e651cffc
Author:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 15 06:39:02 2019 +0000
Commit:     Conrad Kostecki <conikost <AT> gentoo <DOT> org>
CommitDate: Thu Dec  5 23:32:05 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6df5d081

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 <AT> gentoo.org>

 net-misc/ethflop/Manifest                          |  1 +
 net-misc/ethflop/ethflop-20191003.ebuild           | 46 ++++++++++++++++++++++
 .../ethflop/files/ethflop-20191003-makefile.patch  | 13 ++++++
 net-misc/ethflop/files/ethflopd.confd              |  8 ++++
 net-misc/ethflop/files/ethflopd.initd              | 11 ++++++
 net-misc/ethflop/files/ethflopd.service            | 10 +++++
 net-misc/ethflop/metadata.xml                      | 26 ++++++++++++
 7 files changed, 115 insertions(+)

diff --git a/net-misc/ethflop/Manifest b/net-misc/ethflop/Manifest
new file mode 100644
index 00000000000..c6da51da054
--- /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 00000000000..f0b9e708f26
--- /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 00000000000..7005dfdbb44
--- /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 00000000000..a727dae4c72
--- /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 00000000000..d00c63f980a
--- /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 00000000000..2b6c31902ec
--- /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 00000000000..90f4adc128f
--- /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>[email protected]</email>
+               <name>Conrad Kostecki</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>[email protected]</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>

Reply via email to