revise .cabal
This commit is contained in:
parent
1239880ce0
commit
2ec94618b7
|
@ -1,4 +1,4 @@
|
||||||
# generated by cabal-rpm-0.12.1
|
# generated by cabal-rpm-0.12.5
|
||||||
# https://fedoraproject.org/wiki/Packaging:Haskell
|
# https://fedoraproject.org/wiki/Packaging:Haskell
|
||||||
|
|
||||||
%global pkg_name hackage-security
|
%global pkg_name hackage-security
|
||||||
|
@ -8,12 +8,13 @@
|
||||||
|
|
||||||
Name: ghc-%{pkg_name}
|
Name: ghc-%{pkg_name}
|
||||||
Version: 0.5.3.0
|
Version: 0.5.3.0
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: Hackage security library
|
Summary: Hackage security library
|
||||||
|
|
||||||
License: BSD
|
License: BSD
|
||||||
Url: https://hackage.haskell.org/package/%{pkg_name}
|
Url: https://hackage.haskell.org/package/%{pkg_name}
|
||||||
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
|
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
|
||||||
|
Source1: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal
|
||||||
|
|
||||||
BuildRequires: ghc-Cabal-devel
|
BuildRequires: ghc-Cabal-devel
|
||||||
BuildRequires: ghc-rpm-macros
|
BuildRequires: ghc-rpm-macros
|
||||||
|
@ -84,10 +85,8 @@ documentation.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{pkgver}
|
%setup -q -n %{pkgver}
|
||||||
|
cp -p %{SOURCE1} %{pkg_name}.cabal
|
||||||
|
|
||||||
cabal-tweak-dep-ver directory 1.3 1.4
|
|
||||||
cabal-tweak-dep-ver Cabal '< 1.26' '< 2.1'
|
|
||||||
cabal-tweak-dep-ver time '< 1.7' '< 1.9'
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
@ -125,6 +124,9 @@ grep "%{_docdir}/ghc/html/libraries/%{pkgver}" %{name}-devel.files > %{name}-dev
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Jul 28 2018 Jens Petersen <petersen@redhat.com> - 0.5.3.0-3
|
||||||
|
- revise .cabal
|
||||||
|
|
||||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.3.0-2
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.3.0-2
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,252 @@
|
||||||
|
cabal-version: 1.12
|
||||||
|
name: hackage-security
|
||||||
|
version: 0.5.3.0
|
||||||
|
x-revision: 1
|
||||||
|
|
||||||
|
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
|
||||||
|
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: cabal-devel@haskell.org
|
||||||
|
copyright: Copyright 2015-2016 Well-Typed LLP
|
||||||
|
category: Distribution
|
||||||
|
homepage: https://github.com/haskell/hackage-security
|
||||||
|
bug-reports: https://github.com/haskell/hackage-security/issues
|
||||||
|
build-type: Simple
|
||||||
|
|
||||||
|
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 old-directory
|
||||||
|
description: Use @directory@ < 1.2 and @old-time@
|
||||||
|
manual: False
|
||||||
|
default: False
|
||||||
|
|
||||||
|
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.IO
|
||||||
|
Hackage.Security.Util.Lens
|
||||||
|
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.FileLock
|
||||||
|
Hackage.Security.Util.JSON
|
||||||
|
Hackage.Security.Util.Stack
|
||||||
|
Hackage.Security.Util.TypedEmbedded
|
||||||
|
Prelude
|
||||||
|
-- We support ghc 7.4 (bundled with Cabal 1.14) and up
|
||||||
|
build-depends: base >= 4.5 && < 4.12,
|
||||||
|
base16-bytestring >= 0.1.1 && < 0.2,
|
||||||
|
base64-bytestring >= 1.0 && < 1.1,
|
||||||
|
bytestring >= 0.9 && < 0.11,
|
||||||
|
Cabal >= 1.14 && < 2.4,
|
||||||
|
containers >= 0.4 && < 0.6,
|
||||||
|
ed25519 >= 0.0 && < 0.1,
|
||||||
|
filepath >= 1.2 && < 1.5,
|
||||||
|
mtl >= 2.2 && < 2.3,
|
||||||
|
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,
|
||||||
|
time >= 1.2 && < 1.9,
|
||||||
|
transformers >= 0.4 && < 0.6,
|
||||||
|
zlib >= 0.5 && < 0.7,
|
||||||
|
-- whatever versions are bundled with ghc:
|
||||||
|
template-haskell,
|
||||||
|
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
|
||||||
|
build-tool-depends: hsc2hs:hsc2hs >= 0.67 && <0.69
|
||||||
|
|
||||||
|
hs-source-dirs: src
|
||||||
|
default-language: Haskell2010
|
||||||
|
default-extensions: DefaultSignatures
|
||||||
|
DeriveDataTypeable
|
||||||
|
DeriveFunctor
|
||||||
|
FlexibleContexts
|
||||||
|
FlexibleInstances
|
||||||
|
GADTs
|
||||||
|
GeneralizedNewtypeDeriving
|
||||||
|
KindSignatures
|
||||||
|
MultiParamTypeClasses
|
||||||
|
NamedFieldPuns
|
||||||
|
NoMonomorphismRestriction
|
||||||
|
RankNTypes
|
||||||
|
RecordWildCards
|
||||||
|
ScopedTypeVariables
|
||||||
|
StandaloneDeriving
|
||||||
|
TupleSections
|
||||||
|
TypeFamilies
|
||||||
|
TypeOperators
|
||||||
|
ViewPatterns
|
||||||
|
other-extensions: BangPatterns
|
||||||
|
CPP
|
||||||
|
OverlappingInstances
|
||||||
|
PackageImports
|
||||||
|
UndecidableInstances
|
||||||
|
|
||||||
|
-- use the new stage1/cross-compile-friendly Quotes subset of TH for new GHCs
|
||||||
|
if impl(ghc >= 8.0)
|
||||||
|
other-extensions: TemplateHaskellQuotes
|
||||||
|
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.8
|
||||||
|
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,
|
||||||
|
Cabal,
|
||||||
|
containers,
|
||||||
|
bytestring,
|
||||||
|
network-uri,
|
||||||
|
tar,
|
||||||
|
time,
|
||||||
|
zlib
|
||||||
|
|
||||||
|
-- dependencies exclusive to test-suite
|
||||||
|
build-depends: tasty == 1.0.*,
|
||||||
|
tasty-hunit == 0.10.*,
|
||||||
|
tasty-quickcheck == 0.10.*,
|
||||||
|
QuickCheck == 2.9.*,
|
||||||
|
temporary == 1.2.*
|
||||||
|
|
||||||
|
hs-source-dirs: tests
|
||||||
|
default-language: Haskell2010
|
||||||
|
default-extensions: FlexibleContexts
|
||||||
|
GADTs
|
||||||
|
KindSignatures
|
||||||
|
RankNTypes
|
||||||
|
RecordWildCards
|
||||||
|
ScopedTypeVariables
|
||||||
|
ghc-options: -Wall
|
Loading…
Reference in New Issue