From owner-freebsd-haskell@freebsd.org Mon Feb 24 06:56:02 2020 Return-Path: Delivered-To: freebsd-haskell@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B84BF25415D for ; Mon, 24 Feb 2020 06:56:02 +0000 (UTC) (envelope-from 6yearold@gmail.com) Received: from mail-lj1-f171.google.com (mail-lj1-f171.google.com [209.85.208.171]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48QtBR6J6qz3JVL for ; Mon, 24 Feb 2020 06:55:59 +0000 (UTC) (envelope-from 6yearold@gmail.com) Received: by mail-lj1-f171.google.com with SMTP id o15so8800287ljg.6 for ; Sun, 23 Feb 2020 22:55:59 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=kfRzazkvwjVsIk4wMimFcQQdmwgBsG34364fZ+Lbrys=; b=Ijilm8EAf0bFStDhT5y5ubEe5RR4lOF9RHAoH/t2ydYlstI92Q2rm7L7hShd8AOIRe aoQsfBRykhaEGzzJJ/IOsuIKm/TeBg3UX6HWuHtlJA/aODJncTTLB0MouUQJdG+rqzVE UdzPOuvOY73Wj1T46WkWs1sE5TPL/qz2huujZZYQI61sjzpM1NDD6xve9Aso+DC6hCsF jC7HIXp1XCkiaJnFnOUg2cappQVHYpIT7N7TW4tnFc9CsKSOSx1Xr/eQaqz2XmyD4trq vOBvzWB5kKRcxszAYEnGJSMnWcNx3C8ZtIovn8dboXf1ldp7bVXfnkl5lKoP8lHMX99F vbeQ== X-Gm-Message-State: APjAAAV1jLeF2XSCEtp9z1fVc05Pdv+BPvHLSwz0Oe+gi09vnh5js4el 8Uv2cX6kZI2CvCOa8AgQ6mmvSvohJn0= X-Google-Smtp-Source: APXvYqw9X44ilxLFSrSRLNz3u825huJVOYkRyXvtcmJ9oEXaar9t8F7uaW/FlgDygHkTnBletCOMlg== X-Received: by 2002:a2e:9b90:: with SMTP id z16mr30372089lji.254.1582527356367; Sun, 23 Feb 2020 22:55:56 -0800 (PST) Received: from mail-lj1-f179.google.com (mail-lj1-f179.google.com. [209.85.208.179]) by smtp.gmail.com with ESMTPSA id 138sm5800296lfk.9.2020.02.23.22.55.56 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 23 Feb 2020 22:55:56 -0800 (PST) Received: by mail-lj1-f179.google.com with SMTP id x14so8745393ljd.13 for ; Sun, 23 Feb 2020 22:55:56 -0800 (PST) X-Received: by 2002:a2e:b0db:: with SMTP id g27mr28472476ljl.74.1582527356079; Sun, 23 Feb 2020 22:55:56 -0800 (PST) MIME-Version: 1.0 References: <5fe819e2-6181-9903-1d53-8f76bd745b76@rawbw.com> In-Reply-To: <5fe819e2-6181-9903-1d53-8f76bd745b76@rawbw.com> From: Gleb Popov Date: Mon, 24 Feb 2020 10:55:27 +0400 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: Why does the port with USES=cabal and USE_CABAL= fail with unknown dependencies? To: Yuri Cc: freebsd-haskell@freebsd.org X-Rspamd-Queue-Id: 48QtBR6J6qz3JVL X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of 6yearold@gmail.com designates 209.85.208.171 as permitted sender) smtp.mailfrom=6yearold@gmail.com X-Spamd-Result: default: False [-1.01 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; IP_SCORE(-1.01)[ip: (-0.34), ipnet: 209.85.128.0/17(-2.99), asn: 15169(-1.67), country: US(-0.05)]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-haskell@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCVD_COUNT_THREE(0.00)[4]; MIME_TRACE(0.00)[0:+,1:+,2:~]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[171.208.85.209.list.dnswl.org : 127.0.5.0]; HTTP_TO_IP(1.00)[]; SUBJECT_ENDS_QUESTION(1.00)[]; FORGED_SENDER(0.30)[arrowd@freebsd.org,6yearold@gmail.com]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[arrowd@freebsd.org,6yearold@gmail.com]; RCVD_TLS_ALL(0.00)[] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: freebsd-haskell@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FreeBSD-specific Haskell issues and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Feb 2020 06:56:03 -0000 On Mon, Feb 24, 2020 at 10:30 AM Yuri 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 made by 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 > > _______________________________________________ > 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" >