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
No comments:
Post a Comment