diff --git devel/hs-tar/Makefile devel/hs-tar/Makefile
index 07a87426c7c..d9e11ad83f2 100644
--- devel/hs-tar/Makefile
+++ devel/hs-tar/Makefile
@@ -2,8 +2,7 @@
COMMENT = tar bindings for Haskell
-DISTNAME = tar-0.5.0.3
-REVISION = 0
+DISTNAME = tar-0.5.1.0
CATEGORIES = devel archivers
MAINTAINER = Matthias Kilian <kili@openbsd.org>
@@ -15,6 +14,6 @@ MODULES = lang/ghc
MODGHC_BUILD = cabal hackage haddock register
-MODGHC_PACKAGE_KEY = 4RaKOzbHzG1EpSAqFcpBFH
+MODGHC_PACKAGE_KEY = HaIVxa1LuWJqqT6yxHWqZ
.include <bsd.port.mk>
diff --git devel/hs-tar/distinfo devel/hs-tar/distinfo
index 58905b46a93..795e27c1cda 100644
--- devel/hs-tar/distinfo
+++ devel/hs-tar/distinfo
@@ -1,2 +1,2 @@
-SHA256 (ghc/tar-0.5.0.3.tar.gz) = 2Nmth2Nl+IvczQIHMEnlhxXNW6lN4G65jiHVlSRJGKM=
-SIZE (ghc/tar-0.5.0.3.tar.gz) = 38764
+SHA256 (ghc/tar-0.5.1.0.tar.gz) = yJ1pe2RytznbUOYSASUfyvio9bWVsdmkiNOV19XOS2g=
+SIZE (ghc/tar-0.5.1.0.tar.gz) = 39271
diff --git devel/hs-tar/patches/patch-tar_cabal devel/hs-tar/patches/patch-tar_cabal
new file mode 100644
index 00000000000..0409c303e9a
--- /dev/null
+++ devel/hs-tar/patches/patch-tar_cabal
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Bump containers dependency as in hackage revision 1.
+
+Index: tar.cabal
+--- tar.cabal.orig
++++ tar.cabal
+@@ -41,7 +41,7 @@ library
+ build-depends: base == 4.*,
+ filepath < 1.5,
+ array < 0.6,
+- containers >= 0.2 && < 0.6,
++ containers >= 0.2 && < 0.7,
+ deepseq >= 1.1 && < 1.5
+
+ if flag(old-time)
diff --git devel/hs-tar/pkg/PLIST devel/hs-tar/pkg/PLIST
index 0a471f6b0a4..696e052d7f9 100644
--- devel/hs-tar/pkg/PLIST
+++ devel/hs-tar/pkg/PLIST
@@ -38,12 +38,14 @@ share/doc/hs-${DISTNAME}/html/Codec-Archive-Tar-Entry.html
share/doc/hs-${DISTNAME}/html/Codec-Archive-Tar-Index.html
share/doc/hs-${DISTNAME}/html/Codec-Archive-Tar.html
share/doc/hs-${DISTNAME}/html/doc-index.html
-share/doc/hs-${DISTNAME}/html/haddock-util.js
+share/doc/hs-${DISTNAME}/html/haddock-bundle.min.js
share/doc/hs-${DISTNAME}/html/hslogo-16.png
share/doc/hs-${DISTNAME}/html/index.html
+share/doc/hs-${DISTNAME}/html/meta.json
share/doc/hs-${DISTNAME}/html/minus.gif
share/doc/hs-${DISTNAME}/html/ocean.css
share/doc/hs-${DISTNAME}/html/plus.gif
+share/doc/hs-${DISTNAME}/html/quick-jump.css
share/doc/hs-${DISTNAME}/html/synopsis.png
share/doc/hs-${DISTNAME}/html/tar.haddock
@exec /usr/bin/env HOME=/nonexistent %D/lib/ghc/${DISTNAME}/register.sh -v0
diff --git security/hs-cryptohash-sha256/Makefile security/hs-cryptohash-sha256/Makefile
index 9d57c802130..3c87b8ad500 100644
--- security/hs-cryptohash-sha256/Makefile
+++ security/hs-cryptohash-sha256/Makefile
@@ -5,6 +5,7 @@
COMMENT= fast, pure and practical SHA-256 implementation
DISTNAME= cryptohash-sha256-0.11.101.0
+REVISION= 0
CATEGORIES= security
# BSD3
@@ -14,6 +15,6 @@ MODULES= lang/ghc
MODGHC_BUILD = cabal hackage haddock register
-MODGHC_PACKAGE_KEY = 2y5kOPF2abcAQTysw8Z7cK
+MODGHC_PACKAGE_KEY = 4hEdGCusAXMBLiu8h413L1
.include <bsd.port.mk>
diff --git security/hs-cryptohash-sha256/patches/patch-cryptohash-sha256_cabal security/hs-cryptohash-sha256/patches/patch-cryptohash-sha256_cabal
new file mode 100644
index 00000000000..01e8a64460d
--- /dev/null
+++ security/hs-cryptohash-sha256/patches/patch-cryptohash-sha256_cabal
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Relax base bound, following hackage revision 2.
+
+Index: cryptohash-sha256.cabal
+--- cryptohash-sha256.cabal.orig
++++ cryptohash-sha256.cabal
+@@ -74,7 +74,7 @@ library
+ Trustworthy
+ Unsafe
+
+- build-depends: base >= 4.5 && < 4.11
++ build-depends: base >= 4.5 && < 4.13
+ , bytestring >= 0.9.2 && < 0.11
+
+ ghc-options: -Wall
diff --git security/hs-cryptohash-sha256/pkg/PLIST security/hs-cryptohash-sha256/pkg/PLIST
index 7ccbe556817..75f1996232b 100644
--- security/hs-cryptohash-sha256/pkg/PLIST
+++ security/hs-cryptohash-sha256/pkg/PLIST
@@ -17,12 +17,14 @@ share/doc/hs-${DISTNAME}/html/
share/doc/hs-${DISTNAME}/html/Crypto-Hash-SHA256.html
share/doc/hs-${DISTNAME}/html/cryptohash-sha256.haddock
share/doc/hs-${DISTNAME}/html/doc-index.html
-share/doc/hs-${DISTNAME}/html/haddock-util.js
+share/doc/hs-${DISTNAME}/html/haddock-bundle.min.js
share/doc/hs-${DISTNAME}/html/hslogo-16.png
share/doc/hs-${DISTNAME}/html/index.html
+share/doc/hs-${DISTNAME}/html/meta.json
share/doc/hs-${DISTNAME}/html/minus.gif
share/doc/hs-${DISTNAME}/html/ocean.css
share/doc/hs-${DISTNAME}/html/plus.gif
+share/doc/hs-${DISTNAME}/html/quick-jump.css
share/doc/hs-${DISTNAME}/html/synopsis.png
@exec /usr/bin/env HOME=/nonexistent %D/lib/ghc/${DISTNAME}/register.sh -v0
@unexec /usr/bin/env HOME=/nonexistent %D/lib/ghc/${DISTNAME}/unregister.sh -v0 --force
diff --git security/hs-hackage-security/Makefile security/hs-hackage-security/Makefile
index 51925398ee9..c92a3df8ce2 100644
--- security/hs-hackage-security/Makefile
+++ security/hs-hackage-security/Makefile
@@ -4,8 +4,7 @@
COMMENT= hackage security library
-DISTNAME= hackage-security-0.5.2.2
-REVISION = 0
+DISTNAME= hackage-security-0.5.3.0
CATEGORIES= security
# BSD3
@@ -15,15 +14,13 @@ MODULES= lang/ghc
MODGHC_BUILD = cabal hackage haddock register
-MODGHC_PACKAGE_KEY = 2xPvTJk9eMUH8RAihmaWhK
+MODGHC_PACKAGE_KEY = FUbsijtpJ6LFeDbXxwoo30
RUN_DEPENDS = archivers/hs-zlib>=0.5,<0.7 \
devel/hs-base16-bytestring>=0.1.1,<0.2 \
devel/hs-base64-bytestring>=1.0,<1.1 \
- devel/hs-mtl>=2.2,<2.3 \
- devel/hs-network>=2.6,<2.7 \
+ devel/hs-network>=2.6,<2.9 \
devel/hs-network-uri>=2.6,<2.7 \
- devel/hs-parsec>=3.1,<3.2 \
devel/hs-tar>=0.5,<0.6 \
security/hs-cryptohash-sha256>=0.11,<0.12 \
security/hs-ed25519
diff --git security/hs-hackage-security/distinfo security/hs-hackage-security/distinfo
index c8d4f84f350..491f59d25ff 100644
--- security/hs-hackage-security/distinfo
+++ security/hs-hackage-security/distinfo
@@ -1,2 +1,2 @@
-SHA256 (ghc/hackage-security-0.5.2.2.tar.gz) = UHqDeFEmSndMj01AD3mMPaxb4R3EKP5y0z71lMpTPEE=
-SIZE (ghc/hackage-security-0.5.2.2.tar.gz) = 83131
+SHA256 (ghc/hackage-security-0.5.3.0.tar.gz) = 25huF+kmWqnkCQFpCBW4kLl9UxWesk0KbK+qfBhXfCE=
+SIZE (ghc/hackage-security-0.5.3.0.tar.gz) = 87119
diff --git security/hs-hackage-security/patches/patch-hackage-security_cabal security/hs-hackage-security/patches/patch-hackage-security_cabal
index 8301141700a..9164f692006 100644
--- security/hs-hackage-security/patches/patch-hackage-security_cabal
+++ security/hs-hackage-security/patches/patch-hackage-security_cabal
@@ -1,53 +1,41 @@
-$OpenBSD: patch-hackage-security_cabal,v 1.1 2018/01/22 21:23:53 kili Exp $
+$OpenBSD$
-Some (not all) stupid "metadata" changes, not contained in the
-distribution file.
-
-http://hackage.haskell.org/package/hackage-security-0.5.2.2/revisions/
+Make all of these version bumps to bring up to hackage revision 6.
Index: hackage-security.cabal
--- hackage-security.cabal.orig
+++ hackage-security.cabal
-@@ -99,9 +99,9 @@ library
+@@ -98,12 +98,12 @@ library
+ Hackage.Security.Util.TypedEmbedded
+ Prelude
+ -- We support ghc 7.4 (bundled with Cabal 1.14) and up
+- build-depends: base >= 4.5 && < 4.12,
++ build-depends: base >= 4.5 && < 4.13,
base16-bytestring >= 0.1.1 && < 0.2,
base64-bytestring >= 1.0 && < 1.1,
bytestring >= 0.9 && < 0.11,
-- Cabal >= 1.14 && < 1.26,
-+ Cabal >= 1.14 && < 2.2,
- containers >= 0.4 && < 0.6,
-- directory >= 1.1.0.2 && < 1.3,
-+ directory >= 1.1.0.2 && < 1.4,
+- Cabal >= 1.14 && < 2.4,
+- containers >= 0.4 && < 0.6,
++ Cabal >= 1.14 && < 3.2,
++ containers >= 0.4 && < 0.7,
ed25519 >= 0.0 && < 0.1,
filepath >= 1.2 && < 1.5,
mtl >= 2.2 && < 2.3,
-@@ -111,7 +111,7 @@ library
+@@ -113,7 +113,7 @@ library
-- 0.4.2 introduces TarIndex, 0.4.4 introduces more
-- functionality, 0.5.0 changes type of serialise
tar >= 0.5 && < 0.6,
-- time >= 1.2 && < 1.7,
-+ time >= 1.2 && < 1.9,
+- time >= 1.2 && < 1.9,
++ time >= 1.2 && < 1.10,
transformers >= 0.4 && < 0.6,
zlib >= 0.5 && < 0.7,
-- whatever versions are bundled with ghc:
-@@ -149,9 +149,7 @@ library
- UndecidableInstances
- -- use the new stage1/cross-compile-friendly Quotes subset of TH for new GHCs
- if impl(ghc >= 8.0)
-- -- place holder until Hackage allows to edit in the new extension token
-- -- other-extensions: TemplateHaskellQuotes
-- other-extensions:
-+ other-extensions: TemplateHaskellQuotes
+@@ -200,7 +200,7 @@ library
+ -- dependency in network is not redundant.)
+ if flag(use-network-uri)
+ build-depends: network-uri >= 2.6 && < 2.7,
+- network >= 2.6 && < 2.7
++ network >= 2.6 && < 2.9 || >= 3.0 && < 3.2
else
- other-extensions: TemplateHaskell
-
-@@ -205,9 +203,7 @@ library
-
- if impl(ghc >= 7.10)
- other-extensions: AllowAmbiguousTypes
---- StaticPointers
---- ^^^ Temporarily disabled because Hackage doesn't know yet about this
---- extension and will therefore reject this package.
-+ StaticPointers
+ build-depends: network >= 2.5 && < 2.6
- test-suite TestSuite
- type: exitcode-stdio-1.0
diff --git security/hs-hackage-security/pkg/PLIST security/hs-hackage-security/pkg/PLIST
index 3f1b1d21a5d..a0cc45e7501 100644
--- security/hs-hackage-security/pkg/PLIST
+++ security/hs-hackage-security/pkg/PLIST
@@ -74,6 +74,10 @@ lib/ghc/${DISTNAME}/Hackage/Security/Util/Base64.hi
lib/ghc/${DISTNAME}/Hackage/Security/Util/Base64.p_hi
lib/ghc/${DISTNAME}/Hackage/Security/Util/Checked.hi
lib/ghc/${DISTNAME}/Hackage/Security/Util/Checked.p_hi
+lib/ghc/${DISTNAME}/Hackage/Security/Util/Exit.hi
+lib/ghc/${DISTNAME}/Hackage/Security/Util/Exit.p_hi
+lib/ghc/${DISTNAME}/Hackage/Security/Util/FileLock.hi
+lib/ghc/${DISTNAME}/Hackage/Security/Util/FileLock.p_hi
lib/ghc/${DISTNAME}/Hackage/Security/Util/IO.hi
lib/ghc/${DISTNAME}/Hackage/Security/Util/IO.p_hi
lib/ghc/${DISTNAME}/Hackage/Security/Util/JSON.hi
@@ -149,12 +153,14 @@ share/doc/hs-${DISTNAME}/html/doc-index-V.html
share/doc/hs-${DISTNAME}/html/doc-index-W.html
share/doc/hs-${DISTNAME}/html/doc-index.html
share/doc/hs-${DISTNAME}/html/hackage-security.haddock
-share/doc/hs-${DISTNAME}/html/haddock-util.js
+share/doc/hs-${DISTNAME}/html/haddock-bundle.min.js
share/doc/hs-${DISTNAME}/html/hslogo-16.png
share/doc/hs-${DISTNAME}/html/index.html
+share/doc/hs-${DISTNAME}/html/meta.json
share/doc/hs-${DISTNAME}/html/minus.gif
share/doc/hs-${DISTNAME}/html/ocean.css
share/doc/hs-${DISTNAME}/html/plus.gif
+share/doc/hs-${DISTNAME}/html/quick-jump.css
share/doc/hs-${DISTNAME}/html/synopsis.png
@exec /usr/bin/env HOME=/nonexistent %D/lib/ghc/${DISTNAME}/register.sh -v0
@unexec /usr/bin/env HOME=/nonexistent %D/lib/ghc/${DISTNAME}/unregister.sh -v0 --force
On Fri, May 31, 2019 at 6:30 AM Matthias Kilian <kili@outback.escape.de> wrote:
> The cabal / hackage / library people are clueless if it comes to
> version limits in dependencies and when which part of a library
> should be bumped. Instead of correcting this, they invented a
> mechanism to publish "revised" meta data for a package via hackage.
Thanks for your detailed explanation. I understand now. And to be
clear, devel/hs-async is currently building fine using the packages
posted at the start of this thread.
I am interested in updating cabal-install to 2.4.1.0. I definitely
understand wanting to keep the number of hs-ports low, and fixing
cabal-install should help. To try to help, I have updated a few more
ports. I have attached the diff since I think my mail client will
mangle it. The changes:
devel/hs-tar: Updated to 0.5.1.0, hackage patch added
security/hs-cryptohash-sha256: Hackage patch added, revision bumped
security/hs-hackage-security: Updated to 0.5.3.0, hackage patch added
This is the first time that I have done this, so I hope I did it
right; I did my best to read the documentation carefully. (Is there an
easy way to get MODGHC_PACKAGE_KEY? I ended up having to do a run of
"make update-plist" to get the new one from the file names, edit the
Makefile, and then run "make update-plist" again.)
Note that devel/hs-mtl, devel/hs-parsec, devel/hs-text, and
devel/hs-stm are now core libraries included in ghc
(https://www.haskell.org/platform/contents.html), and so I think those
ports can be removed and packages that depend on them explicitly need
to have those dependencies removed.
The new cabal-install 2.4.1.0 has a new dependency, resolve, which has
not been packaged. I'd be happy to also do that soon, but I need to
study the documentation more before trying to make a new port.
Best,
Daniel
On Fri, May 31, 2019 at 6:30 AM Matthias Kilian <kili@outback.escape.de> wrote:
>
> On Thu, May 30, 2019 at 06:37:50PM -0400, Daniel Moerner wrote:
> > Thanks a lot for your work on this. I just built some of ghc 8.6.4 on
> > a machine running -current using your patches.
> >
> > Unfortunately, devel/hs-async doesn't build with this version of ghc
> > and base (4.12):
> >
> > Configuring async-2.2.1...
> > [...]
> > Setup: Encountered missing dependencies:
> > base >=4.3 && <4.12, hashable >=1.1.1.0 && <1.3, stm >=2.2 && <2.5
> >
> > Looking into this a bit, hackage says that async 2.2.1 supports base
> > (>=4.3 && <4.13) (https://hackage.haskell.org/package/async), but this
> > just seems to be a mistake in hackage. At present async supports base
> > 4.12 only in git (and there's a fairly old issue request for a new
> > release https://github.com/simonmar/async/issues/89).
>
> The cabal / hackage / library people are clueless if it comes to
> version limits in dependencies and when which part of a library
> should be bumped. Instead of correcting this, they invented a
> mechanism to publish "revised" meta data for a package via hackage.
> For async-2.2.1, the "revised" package description can be found at
>
> http://hackage.haskell.org/package/async-2.2.1/async.cabal
>
> If you compare this against the package description contained in the
> distfile (or at
> http://hackage.haskell.org/package/async-2.2.1/src/async.cabal), you'll
> see that the revised onealready as less strict dependencies (but of
> course, this will fail again with the next update of ghc):
>
> --- async.cabal-dist Fri May 31 11:09:12 2019
> +++ async.cabal-hackage Fri May 31 11:10:12 2019
> @@ -1,5 +1,6 @@
> name: async
> version: 2.2.1
> +x-revision: 2
> -- don't forget to update ./changelog.md!
> synopsis: Run IO operations asynchronously and wait for their results
>
> @@ -50,14 +51,14 @@
> if impl(ghc>=7.1)
> other-extensions: Trustworthy
> exposed-modules: Control.Concurrent.Async
> - build-depends: base >= 4.3 && < 4.12, hashable >= 1.1.1.0 && < 1.3, stm >= 2.2 && < 2.5
> + build-depends: base >= 4.3 && < 4.13, hashable >= 1.1.1.0 && < 1.4, stm >= 2.2 && < 2.6
>
> test-suite test-async
> default-language: Haskell2010
> type: exitcode-stdio-1.0
> hs-source-dirs: test
> main-is: test-async.hs
> - build-depends: base >= 4.3 && < 4.12,
> + build-depends: base >= 4.3 && < 4.13,
> async,
> stm,
> test-framework,
>
> See http://hackage.haskell.org/package/async-2.2.1/revisions/ for that
> concept of 'revised' package descriptions.
>
> In other words: when doing operating system distribution packages
> (like our ports), you have to fetch the distfile *and* also watch
> for revised package descriptions, and if there are differences,
> patch the package description contained in the distfile. An example
> of this ist devel/hs-echo/patches/patch-echo_cabal in our ports
> tree.
>
> The haskell eco system is extremely hostile to people who try to
> provide operating system distribution packages -- they think everyone
> just uses cabal-install. That's the reason I try to keep the number
> of hs-ports as low as possible (but to still provide some more or
> less useful tools like darcs or xmonad).
>
> Ciao,
> Kili
Friday, May 31, 2019
patch: emulators/dosbox add 'dyncore', 'ne2000', 'nosplash' flavours
[not subscribed, please Cc, thanks.]
6.5 update of the previous patch, w/ additional 'ne2000' flavour.
'dyncore': re-enable the dynamic core (possibly insecure)
'ne2000': add third-party ne(4) emulation
'nosplash': disable spam piccy upon invocation
Tested only in the most limited of fashions (on 6.5), but expected to
work fine. As always, {bug,test} reports are very welcome.
Enjoy!
--zeurkous.
--- ports/emulators/dosbox/Makefile.orig Tue Jan 22 04:31:41 2019
+++ ports/emulators/dosbox/Makefile Fri May 31 19:34:00 2019
@@ -6,6 +6,7 @@
VERSION= 0.74-2
DISTNAME= dosbox-${VERSION}
+REVISION= 0
PKGNAME= dosbox-${VERSION:S/-/./}
CATEGORIES= games x11 emulators
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=dosbox/}
@@ -37,8 +38,26 @@
CONFIGURE_ENV+=LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib"
CONFIGURE_ARGS+= --disable-alsatest
+PATCH_LIST= patch-*
+
+FLAVORS= dyncore ne2000 nosplash
+FLAVOR?=
+
+.if ${FLAVOR:L:Mne2000}
+PATCH_LIST+= ne2000
+WANT_LIB+=pcap
+.endif
+
+.if ${FLAVOR:L:Mnosplash}
+PATCH_LIST+= nosplash
+.endif
+
+.if ${FLAVOR:L:Mdyncore}
+PATCH_LIST+= wxneeded
+.else
# needs W+X memory
CONFIGURE_ARGS+= --disable-dynamic-core
+.endif
pre-configure:
cp ${FILESDIR}/midi_sndio.h ${WRKSRC}/src/gui
--- /dev/null Fri May 31 19:56:39 2019
+++ ports/emulators/dosbox/patches/ne2000 Fri May 31 19:45:02 2019
@@ -0,0 +1,2047 @@
+--- visualc_net/dosbox.vcproj.orig Thu Jul 5 13:24:23 2018
++++ visualc_net/dosbox.vcproj Fri May 31 18:19:21 2019
+@@ -480,6 +480,9 @@
+ <File
+ RelativePath="..\src\hardware\mixer.cpp">
+ </File>
++ <File
++ RelativePath="..\src\hardware\ne2000.cpp">
++ </File>
+ <File
+ RelativePath="..\src\hardware\pic.cpp">
+ </File>
+@@ -827,6 +830,9 @@
+ </File>
+ <File
+ RelativePath="..\include\mouse.h">
++ </File>
++ <File
++ RelativePath="..\include\ne2000.h">
+ </File>
+ <File
+ RelativePath="..\include\paging.h">
+
+--- src/platform/visualc/config.h.orig Mon Aug 27 14:55:55 2018
++++ src/platform/visualc/config.h Fri May 31 18:19:21 2019
+@@ -12,6 +12,9 @@
+ /* Define to 1 to enable internal modem support, requires SDL_net */
+ #define C_MODEM 1
+
++/* Define to 1 to enable NE2000 ethernet passthrough, requires libpcap */
++#define C_NE2000 1
++
+ /* Define to 1 to enable IPX networking support, requires SDL_net */
+ #define C_IPX 1
+
+
+--- src/hardware/ne2000.cpp.orig Fri May 31 18:19:21 2019
++++ src/hardware/ne2000.cpp Fri May 31 18:28:13 2019
+@@ -0,0 +1,1660 @@
++#include "config.h"
++
++#ifdef C_NE2000
++
++
++#include "dosbox.h"
++#include <string.h>
++#include <stdio.h>
++#include "support.h"
++#include "inout.h"
++#include "setup.h"
++#include "callback.h"
++#include "timer.h"
++#include "pic.h"
++#include "cpu.h"
++
++/* Couldn't find a real spec for the NE2000 out there, hence this is adapted heavily from Bochs */
++
++
++/////////////////////////////////////////////////////////////////////////
++// $Id: ne2k.cc,v 1.56.2.1 2004/02/02 22:37:22 cbothamy Exp $
++/////////////////////////////////////////////////////////////////////////
++//
++// Copyright (C) 2002 MandrakeSoft S.A.
++//
++// MandrakeSoft S.A.
++// 43, rue d'Aboukir
++// 75002 Paris - France
++// http://www.linux-mandrake.com/
++// http://www.mandrakesoft.com/
++//
++// This library is free software; you can redistribute it and/or
++// modify it under the terms of the GNU Lesser General Public
++// License as published by the Free Software Foundation; either
++// version 2 of the License, or (at your option) any later version.
++//
++// This library 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
++// Lesser General Public License for more details.
++//
++// You should have received a copy of the GNU Lesser General Public
++// License along with this library; if not, write to the Free Software
++// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++
++// Peter Grehan (grehan@iprg.nokia.com) coded all of this
++// NE2000/ether stuff.
++
++#include "ne2000.h"
++
++#define HAVE_REMOTE
++
++#include "pcap.h"
++// Handle to WinPCap device
++pcap_t *adhandle = 0;
++static void NE2000_TX_Event(Bitu val);
++
++#ifdef WIN32
++// DLL loading
++#define pcap_sendpacket(A,B,C) PacketSendPacket(A,B,C)
++#define pcap_close(A) PacketClose(A)
++#define pcap_freealldevs(A) PacketFreealldevs(A)
++#define pcap_open(A,B,C,D,E,F) PacketOpen(A,B,C,D,E,F)
++#define pcap_next_ex(A,B,C) PacketNextEx(A,B,C)
++#define pcap_findalldevs_ex(A,B,C,D) PacketFindALlDevsEx(A,B,C,D)
++
++int (*PacketSendPacket)(pcap_t *, const u_char *, int) = 0;
++void (*PacketClose)(pcap_t *) = 0;
++void (*PacketFreealldevs)(pcap_if_t *) = 0;
++pcap_t* (*PacketOpen)(char const *,int,int,int,struct pcap_rmtauth *,char *) = 0;
++int (*PacketNextEx)(pcap_t *, struct pcap_pkthdr **, const u_char **) = 0;
++int (*PacketFindALlDevsEx)(char *, struct pcap_rmtauth *, pcap_if_t **, char *) = 0;
++
++
6.5 update of the previous patch, w/ additional 'ne2000' flavour.
'dyncore': re-enable the dynamic core (possibly insecure)
'ne2000': add third-party ne(4) emulation
'nosplash': disable spam piccy upon invocation
Tested only in the most limited of fashions (on 6.5), but expected to
work fine. As always, {bug,test} reports are very welcome.
Enjoy!
--zeurkous.
--- ports/emulators/dosbox/Makefile.orig Tue Jan 22 04:31:41 2019
+++ ports/emulators/dosbox/Makefile Fri May 31 19:34:00 2019
@@ -6,6 +6,7 @@
VERSION= 0.74-2
DISTNAME= dosbox-${VERSION}
+REVISION= 0
PKGNAME= dosbox-${VERSION:S/-/./}
CATEGORIES= games x11 emulators
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=dosbox/}
@@ -37,8 +38,26 @@
CONFIGURE_ENV+=LDFLAGS="-L${LOCALBASE}/lib -L${X11BASE}/lib"
CONFIGURE_ARGS+= --disable-alsatest
+PATCH_LIST= patch-*
+
+FLAVORS= dyncore ne2000 nosplash
+FLAVOR?=
+
+.if ${FLAVOR:L:Mne2000}
+PATCH_LIST+= ne2000
+WANT_LIB+=pcap
+.endif
+
+.if ${FLAVOR:L:Mnosplash}
+PATCH_LIST+= nosplash
+.endif
+
+.if ${FLAVOR:L:Mdyncore}
+PATCH_LIST+= wxneeded
+.else
# needs W+X memory
CONFIGURE_ARGS+= --disable-dynamic-core
+.endif
pre-configure:
cp ${FILESDIR}/midi_sndio.h ${WRKSRC}/src/gui
--- /dev/null Fri May 31 19:56:39 2019
+++ ports/emulators/dosbox/patches/ne2000 Fri May 31 19:45:02 2019
@@ -0,0 +1,2047 @@
+--- visualc_net/dosbox.vcproj.orig Thu Jul 5 13:24:23 2018
++++ visualc_net/dosbox.vcproj Fri May 31 18:19:21 2019
+@@ -480,6 +480,9 @@
+ <File
+ RelativePath="..\src\hardware\mixer.cpp">
+ </File>
++ <File
++ RelativePath="..\src\hardware\ne2000.cpp">
++ </File>
+ <File
+ RelativePath="..\src\hardware\pic.cpp">
+ </File>
+@@ -827,6 +830,9 @@
+ </File>
+ <File
+ RelativePath="..\include\mouse.h">
++ </File>
++ <File
++ RelativePath="..\include\ne2000.h">
+ </File>
+ <File
+ RelativePath="..\include\paging.h">
+
+--- src/platform/visualc/config.h.orig Mon Aug 27 14:55:55 2018
++++ src/platform/visualc/config.h Fri May 31 18:19:21 2019
+@@ -12,6 +12,9 @@
+ /* Define to 1 to enable internal modem support, requires SDL_net */
+ #define C_MODEM 1
+
++/* Define to 1 to enable NE2000 ethernet passthrough, requires libpcap */
++#define C_NE2000 1
++
+ /* Define to 1 to enable IPX networking support, requires SDL_net */
+ #define C_IPX 1
+
+
+--- src/hardware/ne2000.cpp.orig Fri May 31 18:19:21 2019
++++ src/hardware/ne2000.cpp Fri May 31 18:28:13 2019
+@@ -0,0 +1,1660 @@
++#include "config.h"
++
++#ifdef C_NE2000
++
++
++#include "dosbox.h"
++#include <string.h>
++#include <stdio.h>
++#include "support.h"
++#include "inout.h"
++#include "setup.h"
++#include "callback.h"
++#include "timer.h"
++#include "pic.h"
++#include "cpu.h"
++
++/* Couldn't find a real spec for the NE2000 out there, hence this is adapted heavily from Bochs */
++
++
++/////////////////////////////////////////////////////////////////////////
++// $Id: ne2k.cc,v 1.56.2.1 2004/02/02 22:37:22 cbothamy Exp $
++/////////////////////////////////////////////////////////////////////////
++//
++// Copyright (C) 2002 MandrakeSoft S.A.
++//
++// MandrakeSoft S.A.
++// 43, rue d'Aboukir
++// 75002 Paris - France
++// http://www.linux-mandrake.com/
++// http://www.mandrakesoft.com/
++//
++// This library is free software; you can redistribute it and/or
++// modify it under the terms of the GNU Lesser General Public
++// License as published by the Free Software Foundation; either
++// version 2 of the License, or (at your option) any later version.
++//
++// This library 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
++// Lesser General Public License for more details.
++//
++// You should have received a copy of the GNU Lesser General Public
++// License along with this library; if not, write to the Free Software
++// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++
++// Peter Grehan (grehan@iprg.nokia.com) coded all of this
++// NE2000/ether stuff.
++
++#include "ne2000.h"
++
++#define HAVE_REMOTE
++
++#include "pcap.h"
++// Handle to WinPCap device
++pcap_t *adhandle = 0;
++static void NE2000_TX_Event(Bitu val);
++
++#ifdef WIN32
++// DLL loading
++#define pcap_sendpacket(A,B,C) PacketSendPacket(A,B,C)
++#define pcap_close(A) PacketClose(A)
++#define pcap_freealldevs(A) PacketFreealldevs(A)
++#define pcap_open(A,B,C,D,E,F) PacketOpen(A,B,C,D,E,F)
++#define pcap_next_ex(A,B,C) PacketNextEx(A,B,C)
++#define pcap_findalldevs_ex(A,B,C,D) PacketFindALlDevsEx(A,B,C,D)
++
++int (*PacketSendPacket)(pcap_t *, const u_char *, int) = 0;
++void (*PacketClose)(pcap_t *) = 0;
++void (*PacketFreealldevs)(pcap_if_t *) = 0;
++pcap_t* (*PacketOpen)(char const *,int,int,int,struct pcap_rmtauth *,char *) = 0;
++int (*PacketNextEx)(pcap_t *, struct pcap_pkthdr **, const u_char **) = 0;
++int (*PacketFindALlDevsEx)(char *, struct pcap_rmtauth *, pcap_if_t **, char *) = 0;
++
++
Subscribe to:
Posts (Atom)