Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ghc-hackage-security for
openSUSE:Factory checked in at 2023-04-04 21:20:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-hackage-security (Old)
and /work/SRC/openSUSE:Factory/.ghc-hackage-security.new.19717 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-hackage-security"
Tue Apr 4 21:20:13 2023 rev:28 rq:1075888 version:0.6.2.3
Changes:
--------
---
/work/SRC/openSUSE:Factory/ghc-hackage-security/ghc-hackage-security.changes
2022-10-13 15:42:10.106740647 +0200
+++
/work/SRC/openSUSE:Factory/.ghc-hackage-security.new.19717/ghc-hackage-security.changes
2023-04-04 21:20:26.597199154 +0200
@@ -1,0 +2,44 @@
+Thu Mar 30 17:06:54 UTC 2023 - Peter Simons <[email protected]>
+
+- Updated spec file to conform with ghc-rpm-macros-2.5.2.
+
+-------------------------------------------------------------------
+Fri Mar 17 00:23:36 UTC 2023 - Peter Simons <[email protected]>
+
+- Update hackage-security to version 0.6.2.3 revision 3.
+ Upstream has revised the Cabal build instructions on Hackage.
+
+-------------------------------------------------------------------
+Wed Feb 22 18:24:12 UTC 2023 - Peter Simons <[email protected]>
+
+- Update hackage-security to version 0.6.2.3 revision 2.
+ Upstream has revised the Cabal build instructions on Hackage.
+
+-------------------------------------------------------------------
+Sat Nov 19 20:56:45 UTC 2022 - Peter Simons <[email protected]>
+
+- Update hackage-security to version 0.6.2.3.
+ 0.6.2.3
+ -------
+
+ * Bump base for GHC 9.4 comp
+ * Fix code to *really* support mtl-2.3
+
+ 0.6.2.2
+ -------
+
+ * Fix broken compilation of test-suite with Cabal-syntax-3.8.1.0 on Hackage
+ * Huge README updates
+
+ 0.6.2.1
+ -------
+
+ * Allow GHC-9.0 (base-4.15) (#265)
+ * Fix running `cabal repl hackage-security` (#263)
+
+ 0.6.2.0
+ -------
+
+ * Safely prepare for when cabal factors out Cabal-syntax
+
+-------------------------------------------------------------------
Old:
----
hackage-security-0.6.1.0.tar.gz
New:
----
hackage-security-0.6.2.3.tar.gz
hackage-security.cabal
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-hackage-security.spec ++++++
--- /var/tmp/diff_new_pack.Sw9uBs/_old 2023-04-04 21:20:27.585205453 +0200
+++ /var/tmp/diff_new_pack.Sw9uBs/_new 2023-04-04 21:20:27.589205479 +0200
@@ -1,7 +1,7 @@
#
# spec file for package ghc-hackage-security
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,52 +17,87 @@
%global pkg_name hackage-security
+%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.6.1.0
+Version: 0.6.2.3
Release: 0
Summary: Hackage security library
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/%{pkg_name}
Source0:
https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
+Source1:
https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/3.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
+BuildRequires: ghc-Cabal-prof
+BuildRequires: ghc-Cabal-syntax-devel
+BuildRequires: ghc-Cabal-syntax-prof
+BuildRequires: ghc-base-devel
+BuildRequires: ghc-base-prof
BuildRequires: ghc-base16-bytestring-devel
+BuildRequires: ghc-base16-bytestring-prof
BuildRequires: ghc-base64-bytestring-devel
+BuildRequires: ghc-base64-bytestring-prof
BuildRequires: ghc-bytestring-devel
+BuildRequires: ghc-bytestring-prof
BuildRequires: ghc-containers-devel
+BuildRequires: ghc-containers-prof
BuildRequires: ghc-cryptohash-sha256-devel
+BuildRequires: ghc-cryptohash-sha256-prof
BuildRequires: ghc-directory-devel
+BuildRequires: ghc-directory-prof
BuildRequires: ghc-ed25519-devel
+BuildRequires: ghc-ed25519-prof
BuildRequires: ghc-filepath-devel
+BuildRequires: ghc-filepath-prof
BuildRequires: ghc-lukko-devel
+BuildRequires: ghc-lukko-prof
BuildRequires: ghc-mtl-devel
+BuildRequires: ghc-mtl-prof
BuildRequires: ghc-network-devel
+BuildRequires: ghc-network-prof
BuildRequires: ghc-network-uri-devel
+BuildRequires: ghc-network-uri-prof
BuildRequires: ghc-parsec-devel
+BuildRequires: ghc-parsec-prof
BuildRequires: ghc-pretty-devel
+BuildRequires: ghc-pretty-prof
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-tar-devel
+BuildRequires: ghc-tar-prof
BuildRequires: ghc-template-haskell-devel
+BuildRequires: ghc-template-haskell-prof
BuildRequires: ghc-time-devel
+BuildRequires: ghc-time-prof
BuildRequires: ghc-transformers-devel
+BuildRequires: ghc-transformers-prof
BuildRequires: ghc-zlib-devel
+BuildRequires: ghc-zlib-prof
ExcludeArch: %{ix86}
%if %{with tests}
BuildRequires: ghc-QuickCheck-devel
+BuildRequires: ghc-QuickCheck-prof
BuildRequires: ghc-aeson-devel
+BuildRequires: ghc-aeson-prof
BuildRequires: ghc-tasty-devel
BuildRequires: ghc-tasty-hunit-devel
+BuildRequires: ghc-tasty-hunit-prof
+BuildRequires: ghc-tasty-prof
BuildRequires: ghc-tasty-quickcheck-devel
+BuildRequires: ghc-tasty-quickcheck-prof
BuildRequires: ghc-temporary-devel
+BuildRequires: ghc-temporary-prof
BuildRequires: ghc-text-devel
+BuildRequires: ghc-text-prof
BuildRequires: ghc-unordered-containers-devel
+BuildRequires: ghc-unordered-containers-prof
BuildRequires: ghc-vector-devel
+BuildRequires: ghc-vector-prof
%endif
%description
The hackage security library provides both server and client utilities for
-securing the Hackage package server (<http://hackage.haskell.org/>).
-It is based on The Update Framework (<http://theupdateframework.com/>), a set
+securing the Hackage package server (<https://hackage.haskell.org/>).
+It is based on The Update Framework (<https://theupdateframework.com/>), a set
of recommendations developed by security researchers at various universities in
the US as well as developers on the Tor project
(<https://www.torproject.org/>).
@@ -87,8 +122,25 @@
This package provides the Haskell %{pkg_name} library development
files.
+%package -n ghc-%{pkg_name}-doc
+Summary: Haskell %{pkg_name} library documentation
+Requires: ghc-filesystem
+BuildArch: noarch
+
+%description -n ghc-%{pkg_name}-doc
+This package provides the Haskell %{pkg_name} library documentation.
+
+%package -n ghc-%{pkg_name}-prof
+Summary: Haskell %{pkg_name} profiling library
+Requires: ghc-%{pkg_name}-devel = %{version}-%{release}
+Supplements: (ghc-%{pkg_name}-devel and ghc-prof)
+
+%description -n ghc-%{pkg_name}-prof
+This package provides the Haskell %{pkg_name} profiling library.
+
%prep
%autosetup -n %{pkg_name}-%{version}
+cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
@@ -111,4 +163,9 @@
%files devel -f %{name}-devel.files
%doc ChangeLog.md
+%files -n ghc-%{pkg_name}-doc -f ghc-%{pkg_name}-doc.files
+%license LICENSE
+
+%files -n ghc-%{pkg_name}-prof -f ghc-%{pkg_name}-prof.files
+
%changelog
++++++ hackage-security-0.6.1.0.tar.gz -> hackage-security-0.6.2.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hackage-security-0.6.1.0/ChangeLog.md
new/hackage-security-0.6.2.3/ChangeLog.md
--- old/hackage-security-0.6.1.0/ChangeLog.md 2001-09-09 03:46:40.000000000
+0200
+++ new/hackage-security-0.6.2.3/ChangeLog.md 2001-09-09 03:46:40.000000000
+0200
@@ -1,5 +1,28 @@
See also http://pvp.haskell.org/faq
+0.6.2.3
+-------
+
+* Bump base for GHC 9.4 comp
+* Fix code to *really* support mtl-2.3
+
+0.6.2.2
+-------
+
+* Fix broken compilation of test-suite with Cabal-syntax-3.8.1.0 on Hackage
+* Huge README updates
+
+0.6.2.1
+-------
+
+* Allow GHC-9.0 (base-4.15) (#265)
+* Fix running `cabal repl hackage-security` (#263)
+
+0.6.2.0
+-------
+
+* Safely prepare for when cabal factors out Cabal-syntax
+
0.6.1.0
-------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hackage-security-0.6.1.0/hackage-security.cabal
new/hackage-security-0.6.2.3/hackage-security.cabal
--- old/hackage-security-0.6.1.0/hackage-security.cabal 2001-09-09
03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/hackage-security.cabal 2001-09-09
03:46:40.000000000 +0200
@@ -1,12 +1,12 @@
cabal-version: 1.12
name: hackage-security
-version: 0.6.1.0
+version: 0.6.2.3
synopsis: Hackage security library
description: The hackage security library provides both server and
client utilities for securing the Hackage package server
- (<http://hackage.haskell.org/>). It is based on The
Update
- Framework (<http://theupdateframework.com/>), a set of
+ (<https://hackage.haskell.org/>). It is based on The
Update
+ Framework (<https://theupdateframework.com/>), a set of
recommendations developed by security researchers at
various universities in the US as well as developers on
the
Tor project (<https://www.torproject.org/>).
@@ -29,9 +29,11 @@
homepage: https://github.com/haskell/hackage-security
bug-reports: https://github.com/haskell/hackage-security/issues
build-type: Simple
-tested-with: GHC==8.10.1, GHC==8.8.3, GHC==8.6.5, GHC==8.4.4,
GHC==8.2.2, GHC==8.0.2,
- GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2
+tested-with:
+ GHC==9.4.1, GHC==9.2.4, GHC==9.0.2,
+ GHC==8.10.7, GHC==8.8.4, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2,
+ GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2
extra-source-files:
ChangeLog.md
@@ -48,6 +50,11 @@
description: Are we using @network-uri@?
manual: False
+flag Cabal-syntax
+ description: Are we using Cabal-syntax?
+ manual: False
+ default: False
+
flag old-directory
description: Use @directory@ < 1.2 and @old-time@
manual: False
@@ -108,15 +115,12 @@
Hackage.Security.Util.Lens
Hackage.Security.Util.Stack
Hackage.Security.Util.TypedEmbedded
- Prelude
+ MyPrelude
-- We support ghc 7.4 (bundled with Cabal 1.14) and up
- build-depends: base >= 4.5 && < 4.17,
+ build-depends: base >= 4.5 && < 4.18,
base16-bytestring >= 0.1.1 && < 1.1,
base64-bytestring >= 1.0 && < 1.3,
bytestring >= 0.9 && < 0.12,
- Cabal >= 1.14 && < 1.26
- || >= 2.0 && < 2.6
- || >= 3.0 && < 3.8,
containers >= 0.4 && < 0.7,
ed25519 >= 0.0 && < 0.1,
filepath >= 1.2 && < 1.5,
@@ -126,9 +130,9 @@
-- 0.4.2 introduces TarIndex, 0.4.4 introduces more
-- functionality, 0.5.0 changes type of serialise
tar >= 0.5 && < 0.6,
- template-haskell >= 2.7 && < 2.19,
+ template-haskell >= 2.7 && < 2.20,
time >= 1.2 && < 1.13,
- transformers >= 0.3 && < 0.6,
+ transformers >= 0.3 && < 0.7,
zlib >= 0.5 && < 0.7,
-- whatever versions are bundled with ghc:
ghc-prim
@@ -142,13 +146,21 @@
build-depends: mtl >= 2.1 && < 2.2,
mtl-compat >= 0.2 && < 0.3
else
- build-depends: mtl >= 2.2 && < 2.3
+ build-depends: mtl >= 2.2 && < 2.4
if flag(lukko)
build-depends: lukko >= 0.1 && < 0.2
else
build-depends: base >= 4.10
+ if flag(Cabal-syntax) && impl(ghc >= 8.2)
+ build-depends: Cabal-syntax >= 3.7 && < 3.10
+ else
+ build-depends: Cabal >= 1.14 && < 1.26
+ || >= 2.0 && < 2.6
+ || >= 3.0 && < 3.7,
+ Cabal-syntax < 3.7
+
hs-source-dirs: src
default-language: Haskell2010
default-extensions: DefaultSignatures
@@ -161,6 +173,7 @@
KindSignatures
MultiParamTypeClasses
NamedFieldPuns
+ NoImplicitPrelude
NoMonomorphismRestriction
RankNTypes
RecordWildCards
@@ -249,7 +262,6 @@
-- inherited constraints from lib:hackage-security component
build-depends: hackage-security,
base,
- Cabal,
containers,
bytestring,
network-uri,
@@ -258,13 +270,22 @@
time,
zlib
+ if flag(Cabal-syntax) && impl(ghc >= 8.2)
+ build-depends: Cabal >= 3.7 && < 3.10,
+ Cabal-syntax >= 3.7 && < 3.10
+ else
+ build-depends: Cabal >= 1.14 && < 1.26
+ || >= 2.0 && < 2.6
+ || >= 3.0 && < 3.7,
+ Cabal-syntax < 3.7
+
-- dependencies exclusive to test-suite
build-depends: tasty >= 1.2 && < 1.5,
tasty-hunit == 0.10.*,
tasty-quickcheck == 0.10.*,
QuickCheck >= 2.11 && <2.15,
- aeson == 1.4.* || == 1.5.* || == 2.0.*,
- vector == 0.12.*,
+ aeson == 1.4.* || == 1.5.* || == 2.0.* || ==
2.1.*,
+ vector >= 0.12 && <0.14,
unordered-containers >=0.2.8.0 && <0.3,
temporary >= 1.2 && < 1.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Client/Formats.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Client/Formats.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Client/Formats.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Client/Formats.hs
2001-09-09 03:46:40.000000000 +0200
@@ -17,6 +17,7 @@
, formatsLookup
) where
+import MyPrelude
import Hackage.Security.Util.Stack
import Hackage.Security.Util.TypedEmbedded
@@ -50,7 +51,7 @@
--
-- Rather than having a general list here, we enumerate all possibilities.
-- This means we are very precise about what we expect, and we avoid any
runtime
--- errors about unexpect format definitions.
+-- errors about unexpected format definitions.
--
-- NOTE: If we add additional cases here (for dealing with additional formats)
-- all calls to @error "inaccessible"@ need to be reevaluated.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Client/Repository/Cache.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Client/Repository/Cache.hs
---
old/hackage-security-0.6.1.0/src/Hackage/Security/Client/Repository/Cache.hs
2001-09-09 03:46:40.000000000 +0200
+++
new/hackage-security-0.6.2.3/src/Hackage/Security/Client/Repository/Cache.hs
2001-09-09 03:46:40.000000000 +0200
@@ -15,6 +15,7 @@
, lockCacheWithLogger
) where
+import MyPrelude
import Control.Exception
import Control.Monad
import Control.Monad.IO.Class
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Client/Repository/HttpLib.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Client/Repository/HttpLib.hs
---
old/hackage-security-0.6.1.0/src/Hackage/Security/Client/Repository/HttpLib.hs
2001-09-09 03:46:40.000000000 +0200
+++
new/hackage-security-0.6.2.3/src/Hackage/Security/Client/Repository/HttpLib.hs
2001-09-09 03:46:40.000000000 +0200
@@ -11,6 +11,7 @@
, bodyReaderFromBS
) where
+import MyPrelude
import Data.IORef
import Network.URI hiding (uriPath, path)
import qualified Data.ByteString as BS
@@ -44,7 +45,7 @@
-- HTTP servers are normally expected to respond to a range request with
-- a "206 Partial Content" response. However, servers can respond with a
-- "200 OK" response, sending the entire file instead (for instance, this
- -- may happen for servers that don't actually support range rqeuests, but
+ -- may happen for servers that don't actually support range requests, but
-- for which we optimistically assumed they did). Implementations of
-- 'HttpLib' may accept such a response and inform the @hackage-security@
-- library that the whole file is being returned; the security library can
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Client/Repository/Local.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Client/Repository/Local.hs
---
old/hackage-security-0.6.1.0/src/Hackage/Security/Client/Repository/Local.hs
2001-09-09 03:46:40.000000000 +0200
+++
new/hackage-security-0.6.2.3/src/Hackage/Security/Client/Repository/Local.hs
2001-09-09 03:46:40.000000000 +0200
@@ -5,6 +5,7 @@
, withRepository
) where
+import MyPrelude
import Hackage.Security.Client.Formats
import Hackage.Security.Client.Repository
import Hackage.Security.Client.Repository.Cache
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Client/Repository/Remote.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Client/Repository/Remote.hs
---
old/hackage-security-0.6.1.0/src/Hackage/Security/Client/Repository/Remote.hs
2001-09-09 03:46:40.000000000 +0200
+++
new/hackage-security-0.6.2.3/src/Hackage/Security/Client/Repository/Remote.hs
2001-09-09 03:46:40.000000000 +0200
@@ -27,9 +27,11 @@
, fileSizeWithinBounds
) where
+import MyPrelude
import Control.Concurrent
import Control.Exception
-import Control.Monad.Cont
+import Control.Monad (when, unless)
+import Control.Monad.IO.Class (MonadIO)
import Data.List (nub, intercalate)
import Data.Typeable
import Network.URI hiding (uriPath, path)
@@ -336,7 +338,7 @@
unless rangeSupport $ exit $ CannotUpdate hasGz
UpdateImpossibleUnsupported
-- We must already have a local file to be updated
- mCachedIndex <- lift $ Cache.getCachedIndex cfgCache (hasFormatGet
hasGz)
+ mCachedIndex <- liftIO $ Cache.getCachedIndex cfgCache (hasFormatGet
hasGz)
cachedIndex <- case mCachedIndex of
Nothing -> exit $ CannotUpdate hasGz UpdateImpossibleNoLocalCopy
Just fp -> return fp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Client/Repository.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Client/Repository.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Client/Repository.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Client/Repository.hs
2001-09-09 03:46:40.000000000 +0200
@@ -30,6 +30,7 @@
, mustCache
) where
+import MyPrelude
import Control.Exception
import Data.Typeable (Typeable)
import qualified Codec.Archive.Tar.Index as Tar
@@ -180,7 +181,7 @@
-- * Download the file from the repository and make it available at a
-- temporary location
-- * Use the provided file length to protect against endless data attacks.
- -- (Repositories such as local repositories that are not suspectible to
+ -- (Repositories such as local repositories that are not susceptible to
-- endless data attacks can safely ignore this argument.)
-- * Move the file from its temporary location to its permanent location
-- if verification succeeds.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Client/Verify.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Client/Verify.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Client/Verify.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Client/Verify.hs
2001-09-09 03:46:40.000000000 +0200
@@ -10,8 +10,11 @@
, liftIO
) where
+import MyPrelude
import Control.Exception
-import Control.Monad.Reader
+import Control.Monad (join, void)
+import Control.Monad.IO.Class (MonadIO, liftIO)
+import Control.Monad.Reader (ReaderT, runReaderT, ask)
import Data.IORef
import Hackage.Security.Util.IO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Client.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Client.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Client.hs 2001-09-09
03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Client.hs 2001-09-09
03:46:40.000000000 +0200
@@ -41,7 +41,7 @@
, LocalFileCorrupted(..)
) where
-import Prelude hiding (log)
+import MyPrelude hiding (log)
import Control.Arrow (first)
import Control.Exception
import Control.Monad
@@ -89,7 +89,7 @@
-- This implements the logic described in Section 5.1, "The client
application",
-- of the TUF spec. It checks which of the server metadata has changed, and
-- downloads all changed metadata to the local cache. (Metadata here refers
--- both to the TUF security metadata as well as the Hackage packge index.)
+-- both to the TUF security metadata as well as the Hackage package index.)
--
-- You should pass @Nothing@ for the UTCTime _only_ under exceptional
-- circumstances (such as when the main server is down for longer than the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/JSON.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/JSON.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/JSON.hs 2001-09-09
03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/JSON.hs 2001-09-09
03:46:40.000000000 +0200
@@ -38,10 +38,12 @@
, module Hackage.Security.Util.JSON
) where
+import MyPrelude
import Control.Arrow (first, second)
import Control.Exception
-import Control.Monad.Except
-import Control.Monad.Reader
+import Control.Monad (unless, liftM)
+import Control.Monad.Except (MonadError, Except, ExceptT, runExcept,
runExceptT, throwError)
+import Control.Monad.Reader (MonadReader, Reader, runReader, local, ask)
import Data.Functor.Identity
import Data.Typeable (Typeable)
import qualified Data.ByteString.Lazy as BS.L
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Key/Env.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Key/Env.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Key/Env.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Key/Env.hs
2001-09-09 03:46:40.000000000 +0200
@@ -12,7 +12,7 @@
, union
) where
-import Prelude hiding (lookup, null)
+import MyPrelude hiding (lookup, null)
import Control.Monad
import Data.Map (Map)
import qualified Data.Map as Map
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hackage-security-0.6.1.0/src/Hackage/Security/Key.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Key.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Key.hs 2001-09-09
03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Key.hs 2001-09-09
03:46:40.000000000 +0200
@@ -25,6 +25,7 @@
, verify
) where
+import MyPrelude
import Control.Monad
import Data.Functor.Identity
import Data.Typeable (Typeable)
@@ -144,8 +145,8 @@
-- | The key ID of a key, by definition, is the hexdigest of the SHA-256 hash
of
-- the canonical JSON form of the key where the private object key is excluded.
--
--- NOTE: The FromJSON and ToJSON instances for KeyId are ntentially omitted.
Use
--- writeKeyAsId instead.
+-- NOTE: The FromJSON and ToJSON instances for KeyId are intentionally omitted.
+-- Use writeKeyAsId instead.
newtype KeyId = KeyId { keyIdString :: String }
deriving (Show, Eq, Ord)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Common.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Common.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Common.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Common.hs
2001-09-09 03:46:40.000000000 +0200
@@ -6,6 +6,7 @@
, KeyThreshold(..)
) where
+import MyPrelude
import Hackage.Security.JSON
{-------------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/FileInfo.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/FileInfo.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/FileInfo.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/FileInfo.hs
2001-09-09 03:46:40.000000000 +0200
@@ -13,7 +13,7 @@
, Int54
) where
-import Prelude hiding (lookup)
+import MyPrelude hiding (lookup)
import Data.Map (Map)
import qualified Crypto.Hash.SHA256 as SHA256
import qualified Data.Map as Map
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/FileMap.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/FileMap.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/FileMap.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/FileMap.hs
2001-09-09 03:46:40.000000000 +0200
@@ -18,7 +18,7 @@
, fileMapChanges
) where
-import Prelude hiding (lookup)
+import MyPrelude hiding (lookup)
import Control.Arrow (second)
import Data.Map (Map)
import qualified Data.Map as Map
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Header.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Header.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Header.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Header.hs
2001-09-09 03:46:40.000000000 +0200
@@ -12,6 +12,7 @@
, versionIncrement
) where
+import MyPrelude
import Data.Time
import Data.Typeable (Typeable)
@@ -35,7 +36,7 @@
-- every file update.
--
-- 'Show' and 'Read' instance are defined in terms of the underlying 'Int'
--- (this is use for example by hackage during the backup process).
+-- (this is used for example by Hackage during the backup process).
newtype FileVersion = FileVersion Int54
deriving (Eq, Ord, Typeable)
@@ -54,7 +55,7 @@
newtype FileExpires = FileExpires (Maybe UTCTime)
deriving (Eq, Ord, Show, Typeable)
--- | Occassionally it is useful to read only a header from a file.
+-- | Occasionally it is useful to read only a header from a file.
--
-- 'HeaderOnly' intentionally only has a 'FromJSON' instance (no 'ToJSON').
data Header = Header {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Layout/Cache.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Layout/Cache.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Layout/Cache.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Layout/Cache.hs
2001-09-09 03:46:40.000000000 +0200
@@ -4,6 +4,7 @@
, cabalCacheLayout
) where
+import MyPrelude
import Hackage.Security.TUF.Paths
import Hackage.Security.Util.Path
@@ -14,7 +15,7 @@
-- | Location of the various files we cache
--
-- Although the generic TUF algorithms do not care how we organize the cache,
--- we nonetheless specity this here because as long as there are tools which
+-- we nonetheless specify this here because as long as there are tools which
-- access files in the cache directly we need to define the cache layout.
-- See also comments for 'defaultCacheLayout'.
data CacheLayout = CacheLayout {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Layout/Index.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Layout/Index.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Layout/Index.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Layout/Index.hs
2001-09-09 03:46:40.000000000 +0200
@@ -9,6 +9,7 @@
, indexLayoutPkgPrefs
) where
+import MyPrelude
import Distribution.Package
import Distribution.Text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Layout/Repo.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Layout/Repo.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Layout/Repo.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Layout/Repo.hs
2001-09-09 03:46:40.000000000 +0200
@@ -5,6 +5,7 @@
, cabalLocalRepoLayout
) where
+import MyPrelude
import Distribution.Package
import Distribution.Text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Mirrors.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Mirrors.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Mirrors.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Mirrors.hs
2001-09-09 03:46:40.000000000 +0200
@@ -9,6 +9,7 @@
, describeMirror
) where
+import MyPrelude
import Control.Monad.Except
import Network.URI
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Paths.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Paths.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Paths.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Paths.hs
2001-09-09 03:46:40.000000000 +0200
@@ -14,6 +14,7 @@
, anchorCachePath
) where
+import MyPrelude
import Hackage.Security.Util.Path
import Hackage.Security.Util.Pretty
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Patterns.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Patterns.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Patterns.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Patterns.hs
2001-09-09 03:46:40.000000000 +0200
@@ -1,7 +1,7 @@
-- | Patterns and replacements
--
-- NOTE: This module was developed to prepare for proper delegation (#39).
--- It is currently unusued.
+-- It is currently unused.
{-# LANGUAGE CPP #-}
#if __GLASGOW_HASKELL__ >= 800
{-# LANGUAGE DeriveLift #-}
@@ -26,7 +26,8 @@
, qqd
) where
-import Control.Monad.Except
+import MyPrelude
+import Control.Monad (guard)
import Language.Haskell.TH (Q, Exp)
import System.FilePath.Posix
import qualified Language.Haskell.TH.Syntax as TH
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Root.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Root.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Root.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Root.hs
2001-09-09 03:46:40.000000000 +0200
@@ -6,6 +6,7 @@
, RoleSpec(..)
) where
+import MyPrelude
import Hackage.Security.JSON
import Hackage.Security.Key
import Hackage.Security.Key.Env (KeyEnv)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Signed.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Signed.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Signed.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Signed.hs
2001-09-09 03:46:40.000000000 +0200
@@ -27,6 +27,7 @@
, toPreSignatures
) where
+import MyPrelude
import Control.Monad
import Data.Functor.Identity
import qualified Data.ByteString as BS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Snapshot.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Snapshot.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Snapshot.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Snapshot.hs
2001-09-09 03:46:40.000000000 +0200
@@ -3,6 +3,7 @@
Snapshot(..)
) where
+import MyPrelude
import Control.Monad.Except
import Control.Monad.Reader
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Targets.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Targets.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Targets.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Targets.hs
2001-09-09 03:46:40.000000000 +0200
@@ -8,6 +8,7 @@
, targetsLookup
) where
+import MyPrelude
import Hackage.Security.JSON
import Hackage.Security.Key
import Hackage.Security.Key.Env (KeyEnv)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Timestamp.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Timestamp.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/TUF/Timestamp.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/TUF/Timestamp.hs
2001-09-09 03:46:40.000000000 +0200
@@ -3,6 +3,7 @@
Timestamp(..)
) where
+import MyPrelude
import Control.Monad.Except
import Control.Monad.Reader
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Trusted/TCB.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Trusted/TCB.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Trusted/TCB.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Trusted/TCB.hs
2001-09-09 03:46:40.000000000 +0200
@@ -26,8 +26,10 @@
#endif
) where
+import MyPrelude
import Control.Exception
-import Control.Monad.Except
+import Control.Monad (when, unless)
+import Control.Monad.Except (Except, runExcept, throwError)
import Data.Typeable
import Data.Time
import Hackage.Security.TUF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Trusted.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Trusted.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Trusted.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Trusted.hs
2001-09-09 03:46:40.000000000 +0200
@@ -12,6 +12,7 @@
, trustedFileInfoEqual
) where
+import MyPrelude
import Data.Function (on)
import Data.Time
import Hackage.Security.TUF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Base64.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Base64.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Base64.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Base64.hs
2001-09-09 03:46:40.000000000 +0200
@@ -4,6 +4,7 @@
, toByteString
) where
+import MyPrelude
import Data.ByteString (ByteString)
import qualified Data.ByteString.Char8 as C8 -- only called on B64-enc
strings
import qualified Data.ByteString.Base64 as B64
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Checked.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Checked.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Checked.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Checked.hs
2001-09-09 03:46:40.000000000 +0200
@@ -25,6 +25,7 @@
, internalError
) where
+import MyPrelude
import Control.Exception (Exception, IOException)
import qualified Control.Exception as Base
import Data.Typeable (Typeable)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Exit.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Exit.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Exit.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Exit.hs
2001-09-09 03:46:40.000000000 +0200
@@ -1,6 +1,8 @@
module Hackage.Security.Util.Exit where
-import Control.Monad.Except
+import MyPrelude
+import Control.Monad (liftM)
+import Control.Monad.Except (ExceptT, runExceptT, throwError)
{-------------------------------------------------------------------------------
Auxiliary: multiple exit points
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Util/IO.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Util/IO.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Util/IO.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Util/IO.hs
2001-09-09 03:46:40.000000000 +0200
@@ -9,6 +9,7 @@
, timedIO
) where
+import MyPrelude
import Control.Concurrent (threadDelay)
import Control.Exception
import Data.Time
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Util/JSON.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Util/JSON.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Util/JSON.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Util/JSON.hs
2001-09-09 03:46:40.000000000 +0200
@@ -23,6 +23,7 @@
, Int54
) where
+import MyPrelude
import Control.Monad (liftM)
import Data.Maybe (catMaybes)
import Data.Map (Map)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Lens.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Lens.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Lens.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Lens.hs
2001-09-09 03:46:40.000000000 +0200
@@ -14,6 +14,7 @@
, set
) where
+import MyPrelude
import Control.Applicative
import Data.Functor.Identity
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Path.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Path.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Path.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Path.hs
2001-09-09 03:46:40.000000000 +0200
@@ -83,6 +83,7 @@
, IO.hSeek
) where
+import MyPrelude
import Control.Monad
import Data.List (isPrefixOf)
import System.IO (IOMode(..), BufferMode(..), Handle, SeekMode(..))
@@ -294,7 +295,7 @@
fromAbsoluteFilePath :: FilePath -> Path Absolute
fromAbsoluteFilePath fp
| FP.Native.isAbsolute fp = mkPathNative fp
- | otherwise = error "fromAbsoluteFilePath: not an absolute
path"
+ | otherwise = error ("fromAbsoluteFilePath: not an absolute
path: " ++ fp)
{-------------------------------------------------------------------------------
Wrappers around System.IO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Pretty.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Pretty.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Pretty.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Pretty.hs
2001-09-09 03:46:40.000000000 +0200
@@ -3,6 +3,8 @@
Pretty(..)
) where
+import MyPrelude
+
-- | Produce a human-readable string
class Pretty a where
pretty :: a -> String
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Some.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Some.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Some.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Some.hs
2001-09-09 03:46:40.000000000 +0200
@@ -19,6 +19,7 @@
#endif
) where
+import MyPrelude
#if MIN_VERSION_base(4,7,0)
import Data.Typeable (Typeable)
#else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Stack.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Stack.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Util/Stack.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Util/Stack.hs
2001-09-09 03:46:40.000000000 +0200
@@ -3,6 +3,8 @@
(:-)(..)
) where
+import MyPrelude
+
data h :- t = h :- t
deriving (Eq, Show)
infixr 5 :-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/hackage-security-0.6.1.0/src/Hackage/Security/Util/TypedEmbedded.hs
new/hackage-security-0.6.2.3/src/Hackage/Security/Util/TypedEmbedded.hs
--- old/hackage-security-0.6.1.0/src/Hackage/Security/Util/TypedEmbedded.hs
2001-09-09 03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Hackage/Security/Util/TypedEmbedded.hs
2001-09-09 03:46:40.000000000 +0200
@@ -7,6 +7,8 @@
, AsType(..)
) where
+import MyPrelude
+
-- | Type equality proofs
--
-- This is a direct copy of "type-equality:Data.Type.Equality"; if we don't
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hackage-security-0.6.1.0/src/MyPrelude.hs
new/hackage-security-0.6.2.3/src/MyPrelude.hs
--- old/hackage-security-0.6.1.0/src/MyPrelude.hs 1970-01-01
01:00:00.000000000 +0100
+++ new/hackage-security-0.6.2.3/src/MyPrelude.hs 2001-09-09
03:46:40.000000000 +0200
@@ -0,0 +1,31 @@
+-- | Smooth over differences between various ghc versions by making older
+-- preludes look like 4.8.0
+{-# LANGUAGE CPP #-}
+module MyPrelude (
+ module P
+#if !MIN_VERSION_base(4,8,0)
+ , Applicative(..)
+ , Monoid(..)
+ , (<$>)
+ , (<$)
+ , Traversable(traverse)
+ , displayException
+#endif
+ ) where
+
+#if MIN_VERSION_base(4,8,0)
+import Prelude as P
+#else
+#if MIN_VERSION_base(4,6,0)
+import Prelude as P
+#else
+import Prelude as P hiding (catch)
+#endif
+import Control.Applicative
+import Control.Exception (Exception)
+import Data.Monoid
+import Data.Traversable (Traversable(traverse))
+
+displayException :: Exception e => e -> String
+displayException = show
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hackage-security-0.6.1.0/src/Prelude.hs
new/hackage-security-0.6.2.3/src/Prelude.hs
--- old/hackage-security-0.6.1.0/src/Prelude.hs 2001-09-09 03:46:40.000000000
+0200
+++ new/hackage-security-0.6.2.3/src/Prelude.hs 1970-01-01 01:00:00.000000000
+0100
@@ -1,32 +0,0 @@
--- | Smooth over differences between various ghc versions by making older
--- preludes look like 4.8.0
-{-# LANGUAGE PackageImports #-}
-{-# LANGUAGE CPP #-}
-module Prelude (
- module P
-#if !MIN_VERSION_base(4,8,0)
- , Applicative(..)
- , Monoid(..)
- , (<$>)
- , (<$)
- , Traversable(traverse)
- , displayException
-#endif
- ) where
-
-#if MIN_VERSION_base(4,8,0)
-import "base" Prelude as P
-#else
-#if MIN_VERSION_base(4,6,0)
-import "base" Prelude as P
-#else
-import "base" Prelude as P hiding (catch)
-#endif
-import Control.Applicative
-import Control.Exception (Exception)
-import Data.Monoid
-import Data.Traversable (Traversable(traverse))
-
-displayException :: Exception e => e -> String
-displayException = show
-#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/hackage-security-0.6.1.0/src/Text/JSON/Canonical.hs
new/hackage-security-0.6.2.3/src/Text/JSON/Canonical.hs
--- old/hackage-security-0.6.1.0/src/Text/JSON/Canonical.hs 2001-09-09
03:46:40.000000000 +0200
+++ new/hackage-security-0.6.2.3/src/Text/JSON/Canonical.hs 2001-09-09
03:46:40.000000000 +0200
@@ -30,6 +30,7 @@
, prettyCanonicalJSON
) where
+import MyPrelude
import Text.ParserCombinators.Parsec
( CharParser, (<|>), (<?>), many, between, sepBy
, satisfy, char, string, digit, spaces
++++++ hackage-security.cabal ++++++
cabal-version: 1.12
name: hackage-security
version: 0.6.2.3
x-revision: 3
synopsis: Hackage security library
description: The hackage security library provides both server and
client utilities for securing the Hackage package server
(<https://hackage.haskell.org/>). It is based on The
Update
Framework (<https://theupdateframework.com/>), a set of
recommendations developed by security researchers at
various universities in the US as well as developers on the
Tor project (<https://www.torproject.org/>).
.
The current implementation supports only index signing,
thereby enabling untrusted mirrors. It does not yet provide
facilities for author package signing.
.
The library has two main entry points:
"Hackage.Security.Client" is the main entry point for
clients (the typical example being @cabal@), and
"Hackage.Security.Server" is the main entry point for
servers (the typical example being @hackage-server@).
license: BSD3
license-file: LICENSE
author: Edsko de Vries
maintainer: [email protected]
copyright: Copyright 2015-2022 Well-Typed LLP
category: Distribution
homepage: https://github.com/haskell/hackage-security
bug-reports: https://github.com/haskell/hackage-security/issues
build-type: Simple
tested-with:
GHC == 9.6.1
GHC == 9.4.4
GHC == 9.2.7
GHC == 9.0.2
GHC == 8.10.7
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.2
GHC == 7.10.3
GHC == 7.8.4
GHC == 7.6.3
GHC == 7.4.2
extra-source-files:
ChangeLog.md
source-repository head
type: git
location: https://github.com/haskell/hackage-security.git
flag base48
description: Are we using @base@ 4.8 or later?
manual: False
flag use-network-uri
description: Are we using @network-uri@?
manual: False
flag Cabal-syntax
description: Are we using Cabal-syntax?
manual: False
default: False
flag old-directory
description: Use @directory@ < 1.2 and @old-time@
manual: False
default: False
flag mtl21
description: Use @mtl@ < 2.2 and @mtl-compat@
manual: False
default: False
flag lukko
description: Use @lukko@ for file-locking, otherwise use @GHC.IO.Handle.Lock@
manual: True
default: True
library
-- Most functionality is exported through the top-level entry points .Client
-- and .Server; the other exported modules are intended for qualified imports.
exposed-modules: Hackage.Security.Client
Hackage.Security.Client.Formats
Hackage.Security.Client.Repository
Hackage.Security.Client.Repository.Cache
Hackage.Security.Client.Repository.Local
Hackage.Security.Client.Repository.Remote
Hackage.Security.Client.Repository.HttpLib
Hackage.Security.Client.Verify
Hackage.Security.JSON
Hackage.Security.Key.Env
Hackage.Security.Server
Hackage.Security.Trusted
Hackage.Security.TUF.FileMap
Hackage.Security.Util.Checked
Hackage.Security.Util.Path
Hackage.Security.Util.Pretty
Hackage.Security.Util.Some
Text.JSON.Canonical
other-modules: Hackage.Security.Key
Hackage.Security.Trusted.TCB
Hackage.Security.TUF
Hackage.Security.TUF.Common
Hackage.Security.TUF.FileInfo
Hackage.Security.TUF.Header
Hackage.Security.TUF.Layout.Cache
Hackage.Security.TUF.Layout.Index
Hackage.Security.TUF.Layout.Repo
Hackage.Security.TUF.Mirrors
Hackage.Security.TUF.Paths
Hackage.Security.TUF.Patterns
Hackage.Security.TUF.Root
Hackage.Security.TUF.Signed
Hackage.Security.TUF.Snapshot
Hackage.Security.TUF.Targets
Hackage.Security.TUF.Timestamp
Hackage.Security.Util.Base64
Hackage.Security.Util.Exit
Hackage.Security.Util.IO
Hackage.Security.Util.JSON
Hackage.Security.Util.Lens
Hackage.Security.Util.Stack
Hackage.Security.Util.TypedEmbedded
MyPrelude
-- We support ghc 7.4 (bundled with Cabal 1.14) and up
build-depends: base >= 4.5 && < 4.19,
base16-bytestring >= 0.1.1 && < 1.1,
base64-bytestring >= 1.0 && < 1.3,
bytestring >= 0.9 && < 0.12,
containers >= 0.4 && < 0.7,
ed25519 >= 0.0 && < 0.1,
filepath >= 1.2 && < 1.5,
parsec >= 3.1 && < 3.2,
pretty >= 1.0 && < 1.2,
cryptohash-sha256 >= 0.11 && < 0.12,
-- 0.4.2 introduces TarIndex, 0.4.4 introduces more
-- functionality, 0.5.0 changes type of serialise
tar >= 0.5 && < 0.6,
template-haskell >= 2.7 && < 2.21,
time >= 1.2 && < 1.13,
transformers >= 0.3 && < 0.7,
zlib >= 0.5 && < 0.7,
-- whatever versions are bundled with ghc:
ghc-prim
if flag(old-directory)
build-depends: directory >= 1.1.0.2 && < 1.2,
old-time >= 1 && < 1.2
else
build-depends: directory >= 1.2 && < 1.4
if flag(mtl21)
build-depends: mtl >= 2.1 && < 2.2,
mtl-compat >= 0.2 && < 0.3
else
build-depends: mtl >= 2.2 && < 2.4
if flag(lukko)
build-depends: lukko >= 0.1 && < 0.2
else
build-depends: base >= 4.10
if flag(Cabal-syntax) && impl(ghc >= 8.2)
build-depends: Cabal-syntax >= 3.7 && < 3.12
else
build-depends: Cabal >= 1.14 && < 1.26
|| >= 2.0 && < 2.6
|| >= 3.0 && < 3.7,
Cabal-syntax < 3.7
hs-source-dirs: src
default-language: Haskell2010
default-extensions: DefaultSignatures
DeriveDataTypeable
DeriveFunctor
FlexibleContexts
FlexibleInstances
GADTs
GeneralizedNewtypeDeriving
KindSignatures
MultiParamTypeClasses
NamedFieldPuns
NoImplicitPrelude
NoMonomorphismRestriction
RankNTypes
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
TupleSections
TypeFamilies
TypeOperators
ViewPatterns
other-extensions: BangPatterns
CPP
OverlappingInstances
PackageImports
UndecidableInstances
-- use the new stage1/cross-compile-friendly DeriveLift extension for GHC 8.0+
if impl(ghc >= 8.0)
other-extensions: DeriveLift
else
other-extensions: TemplateHaskell
ghc-options: -Wall
if flag(base48)
build-depends: base >= 4.8
else
build-depends: base < 4.8, old-locale == 1.0.*
-- The URI type got split out off the network package after version 2.5, and
-- moved to a separate network-uri package. Since we don't need the rest of
-- network here, it would suffice to rely only on network-uri:
--
-- > if flag(use-network-uri)
-- > build-depends: network-uri >= 2.6 && < 2.7
-- > else
-- > build-depends: network >= 2.5 && < 2.6
--
-- However, if we did the same in hackage-security-HTTP, Cabal would consider
-- those two flag choices (hackage-security:use-network-uri and
-- hackage-security-HTTP:use-network-uri) to be completely independent; but
-- they aren't: if it links hackage-security against network-uri and
-- hackage-security-HTTP against network, we will get type errors when
-- hackage-security-HTTP tries to pass a URI to hackage-security.
--
-- It might seem we can solve this problem by re-exporting the URI type in
-- hackage-security and avoid the dependency in hackage-security-HTTP
-- altogether. However, this merely shifts the problem: hackage-security-HTTP
-- relies on the HTTP library which--surprise!--makes the same choice between
-- depending on network or network-uri. Cabal will not notice that we cannot
-- build hackage-security and hackage-security-HTTP against network-uri but
-- HTTP against network.
--
-- We solve the problem by explicitly relying on network-2.6 when choosing
-- network-uri. This dependency is redundant, strictly speaking. However, it
-- serves as a proxy for forcing flag choices: since all packages in a
-- solution must be linked against the same version of network, having one
-- version of network in one branch of the conditional and another version of
-- network in the other branch forces the choice to be consistent throughout.
-- (Note that the HTTP library does the same thing, though in this case the
-- dependency in network is not redundant.)
if flag(use-network-uri)
build-depends: network-uri >= 2.6 && < 2.7,
network >= 2.6 && < 2.9
|| >= 3.0 && < 3.2
else
build-depends: network >= 2.5 && < 2.6
if impl(ghc >= 7.8)
other-extensions: RoleAnnotations
if impl(ghc >= 7.10)
other-extensions: AllowAmbiguousTypes
StaticPointers
test-suite TestSuite
type: exitcode-stdio-1.0
main-is: TestSuite.hs
other-modules: TestSuite.HttpMem
TestSuite.InMemCache
TestSuite.InMemRepo
TestSuite.InMemRepository
TestSuite.JSON
TestSuite.PrivateKeys
TestSuite.Util.StrictMVar
-- inherited constraints from lib:hackage-security component
build-depends: hackage-security,
base,
containers,
bytestring,
network-uri,
tar,
text,
time,
zlib
if flag(Cabal-syntax) && impl(ghc >= 8.2)
build-depends: Cabal >= 3.7 && < 3.12,
Cabal-syntax >= 3.7 && < 3.12
else
build-depends: Cabal >= 1.14 && < 1.26
|| >= 2.0 && < 2.6
|| >= 3.0 && < 3.7,
Cabal-syntax < 3.7
-- dependencies exclusive to test-suite
build-depends: tasty >= 1.2 && < 1.5,
tasty-hunit == 0.10.*,
tasty-quickcheck == 0.10.*,
QuickCheck >= 2.11 && <2.15,
aeson == 1.4.* || == 1.5.* || == 2.0.* || ==
2.1.*,
vector >= 0.12 && <0.14,
unordered-containers >=0.2.8.0 && <0.3,
temporary >= 1.2 && < 1.4
hs-source-dirs: tests
default-language: Haskell2010
default-extensions: FlexibleContexts
GADTs
KindSignatures
RankNTypes
RecordWildCards
ScopedTypeVariables
ghc-options: -Wall