Date: Mon, 24 Feb 2020 10:55:27 +0400 From: Gleb Popov <arrowd@freebsd.org> To: Yuri <yuri@rawbw.com> Cc: freebsd-haskell@freebsd.org Subject: Re: Why does the port with USES=cabal and USE_CABAL= fail with unknown dependencies? Message-ID: <CALH631k9gE6QT4izhT=UPB17QLLWDYZwD1NTdXXshLMMj%2B79Dg@mail.gmail.com> In-Reply-To: <5fe819e2-6181-9903-1d53-8f76bd745b76@rawbw.com> References: <5fe819e2-6181-9903-1d53-8f76bd745b76@rawbw.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Feb 24, 2020 at 10:30 AM Yuri <yuri@rawbw.com> wrote: > I'm trying to port this project: https://github.com/GaloisInc/cryptol > > However, it still downloads dependencies during the local build, and > fails in poudriere: > > Warning: No remote package servers have been specified. Usually you > would have > one specified in the config file. > Resolving dependencies... > cabal: Could not resolve dependencies: > [__0] trying: FloatingHex-0.4 (user goal) > [__1] trying: base-4.12.0.0/installed-4.1... (dependency of FloatingHex) > [__2] next goal: cryptohash-sha1 (user goal) > [__2] rejecting: cryptohash-sha1-0.11.100.1 (conflict: > base==4.12.0.0/installed-4.1..., cryptohash-sha1 => base>=4.5 && <4.10) > [__2] fail (backjumping, conflict set: base, cryptohash-sha1) > Here it says that cryptohash-sha1-0.11.100.1 requires base>=4.5 && <4.10, but our GHC ships 4.12, IIRC. The proper way to fix it is to check whether the problem package has additional revisions. Go to https://hackage.haskell.org/package/cryptohash-sha1 and look at the right: Revised Revision 4 <https://hackage.haskell.org/package/cryptohash-sha1-0.11.100.1/revisions/> made by HerbertValerioRiedel <https://hackage.haskell.org/user/HerbertValerioRiedel> at Sun Sep 1 09:25:44 UTC 2019 This means, USE_CABAL entry for this package should be "cryptohash-sha1-0.11.100.1_4". Are you making up USE_CABAL manually? There is actually an automated procedure to do that: 1. Define PORTNAME, PORTVERSION and USES=cabal 2. Run `make cabal-extract`. This will fetch the package using devel/hs-cabal-install 3. Run `make cabal-extract-deps`. This will fetch and build all package dependencies, including transitive ones. 4. Run make `make-use-cabal`. This will generate intial USE_CABAL string. Copy&paste it into the port. 5. Run make `make-use-cabal-revs`. This will check packages from current USE_CABAL for available revisions and generate new string. Copy&paste it into the port. 6. Run `make makesum && make clean` and try building the port the usual way. This procedure misses some packages sometimes (hsc2hs, for instance), but these can quickly be added manually. After searching the rest of the dependency tree exhaustively, these were the > goals I've had most trouble fulfilling: FloatingHex, base, cryptohash-sha1 > > > For example, FloatingHex-0.4 is in USE_CABAL but it still downloads it. > > How to correct this? > > > Thank you, > > Yuri > > > -------Makefile------- > > PORTNAME= cryptol > DISTVERSION= 2.8.0 > CATEGORIES= security lang haskell > > MAINTAINER= yuri@FreeBSD.org > COMMENT= Language of cryptography > > LICENSE= BSD3CLAUSE > > USES= cabal > > USE_CABAL= \ > FloatingHex-0.4 \ > GraphSCC-1.0.4 \ > QuickCheck-2.13.2 \ > alex-3.2.5 \ > ansi-terminal-0.10.3 \ > async-2.2.2 \ > base-compat-0.10.5 \ > base-orphans-0.8.2 \ > blaze-builder-0.4.1.0 \ > blaze-html-0.9.1.2 \ > blaze-markup-0.8.2.3 \ > colour-2.3.5 \ > crackNum-2.3 \ > cryptohash-sha1-0.11.100.1 \ > generic-deriving-1.13.1 \ > gitrev-1.3.1 \ > happy-1.19.12 \ > hashable-1.3.0.0 \ > heredoc-0.2.0.0 \ > monad-control-1.0.2.3 \ > monadLib-3.10 \ > panic-0.4.0.1 \ > primitive-0.7.0.0 \ > random-1.1 \ > sbv-8.6 \ > simple-smt-0.9.4 \ > splitmix-0.0.3 \ > strict-0.3.2 \ > syb-0.7.1 \ > tf-random-0.5 \ > th-abstraction-0.3.2.0 \ > transformers-base-0.4.5.2 \ > transformers-compat-0.6.5 > > EXECUTABLES= ${PORTNAME} > > PLIST_FILES= bin/${PORTNAME} > > .include <bsd.port.mk> > > _______________________________________________ > freebsd-haskell@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-haskell > To unsubscribe, send any mail to "freebsd-haskell-unsubscribe@freebsd.org" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALH631k9gE6QT4izhT=UPB17QLLWDYZwD1NTdXXshLMMj%2B79Dg>