From the.dead.shall.rise at gmail.com Thu May 1 20:18:41 2014 From: the.dead.shall.rise at gmail.com (Mikhail Glushenkov) Date: Thu, 1 May 2014 22:18:41 +0200 Subject: Proposal: cabal-install: verify OpenPGP signatures In-Reply-To: <87eh0fafsq.fsf@karetnikov.org> References: <87eh0fafsq.fsf@karetnikov.org> Message-ID: Hi, On 30 April 2014 01:15, Nikita Karetnikov wrote: > Following up on the ?cabal-install: Replacing HTTP with HTTPS? thread. > I think we can do better. I want to make sure that people will notice > if someone compromises the packages on hackage.haskell.org. >[...] I believe Austin Seipp had some ideas about this. IIRC, his plan was to use ed25519 signatures [1]. [1] https://github.com/thoughtpolice/hs-ed25519 From nikita at karetnikov.org Sat May 3 00:31:55 2014 From: nikita at karetnikov.org (Nikita Karetnikov) Date: Sat, 03 May 2014 04:31:55 +0400 Subject: Proposal: cabal-install: verify OpenPGP signatures In-Reply-To: <87eh0fafsq.fsf@karetnikov.org> (Nikita Karetnikov's message of "Wed, 30 Apr 2014 03:15:17 +0400") References: <87eh0fafsq.fsf@karetnikov.org> Message-ID: <87a9az3dok.fsf@karetnikov.org> I?ve been told off-list that relying on external tools (such as GPG) may be problematic. Is it the case? And if so, could you elaborate? -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 835 bytes Desc: not available URL: From johan.tibell at gmail.com Sun May 4 00:25:24 2014 From: johan.tibell at gmail.com (Johan Tibell) Date: Sun, 4 May 2014 02:25:24 +0200 Subject: Windows executable for just released cabal-install-1.20.0.1 needed Message-ID: Hi, It's that time again. 1.20.0.1 is out and I want to put a Windows executable for download on the Hackage website. Could someone provide me with one? -- Johan -------------- next part -------------- An HTML attachment was scrubbed... URL: From the.dead.shall.rise at gmail.com Sun May 4 02:55:14 2014 From: the.dead.shall.rise at gmail.com (Mikhail Glushenkov) Date: Sun, 4 May 2014 04:55:14 +0200 Subject: Proposal: cabal-install: verify OpenPGP signatures In-Reply-To: <87a9az3dok.fsf@karetnikov.org> References: <87eh0fafsq.fsf@karetnikov.org> <87a9az3dok.fsf@karetnikov.org> Message-ID: Hi, On 3 May 2014 02:31, Nikita Karetnikov wrote: > I?ve been told off-list that relying on external tools (such as GPG) may > be problematic. Is it the case? And if so, could you elaborate? Yes, we want to make cabal-install as self-contained as possible, since it makes installation/distribution easier. E.g. on Windows we can just distribute a single cabal.exe to users. From the.dead.shall.rise at gmail.com Sun May 4 03:47:34 2014 From: the.dead.shall.rise at gmail.com (Mikhail Glushenkov) Date: Sun, 4 May 2014 05:47:34 +0200 Subject: Windows executable for just released cabal-install-1.20.0.1 needed In-Reply-To: References: Message-ID: ??? cabal-1.20.0.1.exe ?Hi, On 4 May 2014 02:25, Johan Tibell wrote: > Hi, > > It's that time again. 1.20.0.1 is out and I want to put a Windows executable > for download on the Hackage website. Could someone provide me with one? Attached. Let's also upload a Linux executable, people have requested it before. -------------- next part -------------- An HTML attachment was scrubbed... URL: From johan.tibell at gmail.com Sun May 4 08:48:32 2014 From: johan.tibell at gmail.com (Johan Tibell) Date: Sun, 4 May 2014 10:48:32 +0200 Subject: Windows executable for just released cabal-install-1.20.0.1 needed In-Reply-To: References: Message-ID: Thanks! On Sun, May 4, 2014 at 5:47 AM, Mikhail Glushenkov < the.dead.shall.rise at gmail.com> wrote: > ??? > cabal-1.20.0.1.exe > ?Hi, > > > On 4 May 2014 02:25, Johan Tibell wrote: > > Hi, > > > > It's that time again. 1.20.0.1 is out and I want to put a Windows > executable > > for download on the Hackage website. Could someone provide me with one? > > Attached. > > Let's also upload a Linux executable, people have requested it before. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From johan.tibell at gmail.com Sun May 4 08:57:28 2014 From: johan.tibell at gmail.com (Johan Tibell) Date: Sun, 4 May 2014 10:57:28 +0200 Subject: Windows executable for just released cabal-install-1.20.0.1 needed In-Reply-To: References: Message-ID: We can also provide a Linux executable, but I don't quite know how portable an executable would be if I build it on e.g. some specific version of Ubuntu? -------------- next part -------------- An HTML attachment was scrubbed... URL: From the.dead.shall.rise at gmail.com Mon May 5 02:15:55 2014 From: the.dead.shall.rise at gmail.com (Mikhail Glushenkov) Date: Mon, 5 May 2014 04:15:55 +0200 Subject: Windows executable for just released cabal-install-1.20.0.1 needed In-Reply-To: References: Message-ID: Hi, On 4 May 2014 10:57, Johan Tibell wrote: > > We can also provide a Linux executable, but I don't quite know how portable an executable would be if I build it on e.g. some specific version of Ubuntu? > Attaching a Linux exe (32-bit). 12.04 LTS is two years old (older than Debian 7, which is used to build Linux binaries for GHC), so the libc requirement shouldn't be a problem. If people will complain about it, I can use some other Linux distro inside?? a VM. BTW, the Windows exe I sent you was 32-bit, unlike what it says on the download page. ? cabal-1.20.0.1-i386-unknown-linux ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From duncan.coutts at googlemail.com Mon May 5 10:55:43 2014 From: duncan.coutts at googlemail.com (Duncan Coutts) Date: Mon, 05 May 2014 11:55:43 +0100 Subject: Proposal: cabal-install: verify OpenPGP signatures In-Reply-To: <87eh0fafsq.fsf@karetnikov.org> References: <87eh0fafsq.fsf@karetnikov.org> Message-ID: <1399287343.18197.190.camel@dunky.localdomain> On Wed, 2014-04-30 at 03:15 +0400, Nikita Karetnikov wrote: > Following up on the ?cabal-install: Replacing HTTP with HTTPS? thread. > I think we can do better. I want to make sure that people will notice > if someone compromises the packages on hackage.haskell.org. > > Here?s a rough plan: > > 1. Patch ?hackage-server? to allow uploading of OpenPGP signatures. > > 2. Patch ?cabal-install? to use GPG for verification. (GPG trust levels > could be useful here.) ?cabal install? should also support > ?--skip-verification? or some such to avoid disaster during the > adoption stage. > > In addition, ?cabal update? would fetch the list of fingerprints from > Hackage and cache each revision. A warning would be raised if a > fignerprint cannot be found in the cache. > > If a maintainer wants to use a new key, it must be signed with the > previously used one. If a maintainer loses their private key, for > instance, this should be resolved by the admins. For example, an > admin (admins?) could sign the new key. > > After a while, a web of trust would be formed. The fingerprints of > active maintainers would be well-known. > > I?ve been thinking about this for quite a while and don?t see other ways > to achive the same level of trust while allowing arbitrary uploads. The > proposal also doesn?t require much manual intervention. > > What do you think? I?m willing to work on this but want to make sure > that my time won?t be wasted. Will you accept such a patch? I think optional GPG signatures is a good idea, and I think in principle we would accept the patch. However it does have to be opt-in only: both opt-in for authors signing, and opt-in for clients checking. The idea of GPG signing is complementary to another package signing idea that we have been considering (Mikhail's reference to Austin's plan). GPG signing can provide a higher level of security because it can be end to end. However it's much harder with GPG signing to provide broad coverage of packages and users. It's hard because not all users have GPG (e.g. Windows), not all authors have GPG or can be bothered to sign anything. The web of trust is tricky, especially if we want to minimise the effort on the part of end users. Because of these issues with GPG signing, we thought a better use of our time was to work on this complementary plan where we have the server sign all the packages and the client automatically check. This is less secure because it is not end-to-end, but we can cover every package and we should be able to do it on all platforms, and without any knowledge or action needed on the part of authors or users. However, as I've said, these two security measures are complementary, we can have both. I can imagine a situation in which all packages are signed by the server, but some important ones are also signed by the authors, giving us a higher level of assurance of authenticity and integrity for those packages. So yes, you're welcome to help with either GPG signing or this alternative scheme, whichever you'd prefer to hack on. If you go for GPG, here's some issues to consider: * Who is allowed to sign for each package? Do we place any restriction or is any sufficiently trusted user allowed to upload any package? (I know the server will try to prevent this, but I'm talking about crypto level assurance here, not just server permission checks). If we do try to restrict it then we need some equivalent of the maintainer groups so I can allow other certain people to upload "my" package. * How to require some packages to be signed while not requiring all packages to be signed. In particular, once we opt-in to signing a particular package, we want to make sure it's signed from then on, and not allow a non-signed version of the package (which would otherwise be an obvious attack). * How to distribute the web of trust among end users (as opposed to authors) to minimise effort. Good luck! Duncan From nikita at karetnikov.org Tue May 6 11:00:32 2014 From: nikita at karetnikov.org (Nikita Karetnikov) Date: Tue, 06 May 2014 15:00:32 +0400 Subject: Proposal: cabal-install: verify OpenPGP signatures In-Reply-To: <1399287343.18197.190.camel@dunky.localdomain> (Duncan Coutts's message of "Mon, 05 May 2014 11:55:43 +0100") References: <87eh0fafsq.fsf@karetnikov.org> <1399287343.18197.190.camel@dunky.localdomain> Message-ID: <87iopjuq7j.fsf@karetnikov.org> Thanks for such a detailed reply, Duncan. > I think optional GPG signatures is a good idea, and I think in principle > we would accept the patch. However it does have to be opt-in only: both > opt-in for authors signing, and opt-in for clients checking. Okay. > However, as I've said, these two security measures are complementary, we > can have both. I can imagine a situation in which all packages are > signed by the server, but some important ones are also signed by the > authors, giving us a higher level of assurance of authenticity and > integrity for those packages. Indeed. > So yes, you're welcome to help with either GPG signing or this > alternative scheme, whichever you'd prefer to hack on. I intend to hack on the former. I?ll be sending progress reports, questions, and so forth to this list, so stay tuned. If anyone wants to collaborate, don?t hesitate to contact me. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 835 bytes Desc: not available URL: From juhp at community.haskell.org Wed May 7 02:22:59 2014 From: juhp at community.haskell.org (Jens Petersen) Date: Wed, 7 May 2014 11:22:59 +0900 Subject: Windows executable for just released cabal-install-1.20.0.1 needed In-Reply-To: References: Message-ID: > > BTW, the Windows exe I sent you was 32-bit, unlike what it says on the > download page. > BTW I just noticed that http://www.haskell.org/cabal/download.html now says that ghc-7.8.1 ships with Cabal-1.20.0.0 whereas in fact it still ships with 1.18.1.3. (I imagine that the sentence was updated/added for 1.18.1.3 and then just left there when the section was updated to 1.20.) -------------- next part -------------- An HTML attachment was scrubbed... URL: From juhp at community.haskell.org Wed May 7 02:27:28 2014 From: juhp at community.haskell.org (Jens Petersen) Date: Wed, 7 May 2014 11:27:28 +0900 Subject: Fedora Copr repo updated to cabal-install-1.20.0.1 Message-ID: I updated my Fedora Copr repos to cabal-install-1.20.0.1 (though due to some copr flakiness the build failed somehow on F20 i686). https://copr.fedoraproject.org/coprs/petersen/cabal-install/ On 4 May 2014 09:25, Johan Tibell wrote: > It's that time again. 1.20.0.1 is out > -------------- next part -------------- An HTML attachment was scrubbed... URL: From johan.tibell at gmail.com Wed May 7 07:13:13 2014 From: johan.tibell at gmail.com (Johan Tibell) Date: Wed, 7 May 2014 09:13:13 +0200 Subject: Windows executable for just released cabal-install-1.20.0.1 needed In-Reply-To: References: Message-ID: On Wed, May 7, 2014 at 4:22 AM, Jens Petersen wrote: > BTW, the Windows exe I sent you was 32-bit, unlike what it says on the >> download page. >> > > BTW I just noticed that http://www.haskell.org/cabal/download.html > now says that ghc-7.8.1 ships with Cabal-1.20.0.0 > whereas in fact it still ships with 1.18.1.3. > > (I imagine that the sentence was updated/added for 1.18.1.3 > and then just left there when the section was updated to 1.20.) > > Good catch. Fixed. -------------- next part -------------- An HTML attachment was scrubbed... URL: From hvr at gnu.org Wed May 7 07:34:17 2014 From: hvr at gnu.org (Herbert Valerio Riedel) Date: Wed, 07 May 2014 09:34:17 +0200 Subject: Windows executable for just released cabal-install-1.20.0.1 needed In-Reply-To: (Mikhail Glushenkov's message of "Mon, 5 May 2014 04:15:55 +0200") References: Message-ID: <874n12f3eu.fsf@gnu.org> On 2014-05-05 at 04:15:55 +0200, Mikhail Glushenkov wrote: > On 4 May 2014 10:57, Johan Tibell wrote: >> >> We can also provide a Linux executable, but I don't quite know how > portable an executable would be if I build it on e.g. some specific version > of Ubuntu? >> > > Attaching a Linux exe (32-bit). 12.04 LTS is two years old (older than > Debian 7, which is used to build Linux binaries for GHC), so the libc > requirement shouldn't be a problem. If people will complain about it, I can > use some other Linux distro inside?? a VM. > > BTW, the Windows exe I sent you was 32-bit, unlike what it says on the > download page. > > ? > cabal-1.20.0.1-i386-unknown-linux Btw, if you want 32bit+64bit binaries for Ubuntu 12.04LTS in future, you can steal them of my PPA as well: For instance, here's how to extract the Linux executable just by using 'wget', 'ar', and 'tar': wget https://launchpad.net/~hvr/+archive/ghc/+files/cabal-install-1.20_1.20.0.1-1_amd64.deb ar x cabal-install-1.20_1.20.0.1-1_amd64.deb data.tar.gz tar xvzf data.tar.gz ./opt/cabal/1.20/bin/cabal (for the 32bit binary, just replace 'amd64' by 'i386') From johan.tibell at gmail.com Wed May 7 07:47:53 2014 From: johan.tibell at gmail.com (Johan Tibell) Date: Wed, 7 May 2014 09:47:53 +0200 Subject: Windows executable for just released cabal-install-1.20.0.1 needed In-Reply-To: <874n12f3eu.fsf@gnu.org> References: <874n12f3eu.fsf@gnu.org> Message-ID: On Wed, May 7, 2014 at 9:34 AM, Herbert Valerio Riedel wrote: > Btw, if you want 32bit+64bit binaries for Ubuntu 12.04LTS in future, you > can steal them of my PPA as well: > > For instance, here's how to extract the Linux executable just by using > 'wget', 'ar', and 'tar': > > wget > https://launchpad.net/~hvr/+archive/ghc/+files/cabal-install-1.20_1.20.0.1-1_amd64.deb > ar x cabal-install-1.20_1.20.0.1-1_amd64.deb data.tar.gz > tar xvzf data.tar.gz ./opt/cabal/1.20/bin/cabal > > (for the 32bit binary, just replace 'amd64' by 'i386') > Good to know, thanks! At some point we should probably establish a process for doing this, instead of me sending out random emails. We should list the binaries we want to provide who/what system is responsible for providing them. -------------- next part -------------- An HTML attachment was scrubbed... URL: From simonpj at microsoft.com Thu May 8 16:20:16 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Thu, 8 May 2014 16:20:16 +0000 Subject: Cabal can't open a TCP connection In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0C850EB4@DB3PRD3001MB020.064d.mgd.msft.net> <87siok30kn.fsf@gmail.com> <618BE556AADD624C9C918AA5D5911BEF0C851099@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: <618BE556AADD624C9C918AA5D5911BEF0C8512DB@DB3PRD3001MB020.064d.mgd.msft.net> Spot on, Kim-Ee. Thanks. unsetting http_proxy fixed it. I?m fwding to cabal-devel: it would be great that if ?http_proxy? was set to ??, then it behaved just as if it was un-set. The current behaviour is very confusing (to me anyway). Simon From: Kim-Ee Yeoh [mailto:ky3 at atamo.com] Sent: 08 May 2014 14:48 To: Simon Peyton Jones Cc: Herbert Valerio Riedel; Simon Marlow; ghc-devs at haskell.org Subject: Re: Cabal can't open a TCP connection On Thu, May 8, 2014 at 8:22 PM, Simon Peyton Jones > wrote: On a machine that doesn't need to use a proxy server, what should $http_proxy be set to? It's a Maybe (Maybe String) problem. Blame Cabal for not ignoring an empty http_proxy. The *nix programs I've tried treat empty as unset. The solution is: unset HTTP_PROXY. -- Kim-Ee ________________________________ Fr?n: Simon Peyton Jones Skickat: ?2014-?05-?08 14:04 Till: ghc-devs at haskell.org Kopia: Simon Marlow ?mne: Cabal can't open a TCP connection Dear ghc-devs Cabal can?t open a TCP connection from my Linux box. It used to work fine. Here?s what it says: cabal -v3 update Downloading the latest package list from hackage.haskell.org Sending: GET http://hackage.haskell.org/packages/archive/00-index.tar.gz HTTP/1.1 User-Agent: cabal-install/1.16.0.2 Host: hackage.haskell.org proxy uri host: , port: Creating new connection to cabal: openTCPConnection: host lookup failure for "" simonpj at cam-05-unx:~/code/HEAD$ cabal --version cabal-install version 1.16.0.2 using version 1.16.0.3 of the Cabal library simonpj at cam-05-unx:~/code/HEAD$ Can anyone help me work out what to do? git works just fine, so the internet is connected all right. Thanks Simon -------------- next part -------------- An HTML attachment was scrubbed... URL: From simonpj at microsoft.com Thu May 8 16:23:35 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Thu, 8 May 2014 16:23:35 +0000 Subject: Cabal problem Message-ID: <618BE556AADD624C9C918AA5D5911BEF0C8512E6@DB3PRD3001MB020.064d.mgd.msft.net> Dear Cabal-ers I have downloaded a binary installation of GHC 7.8.2, for Linux. Now I want to install regex-compat. First I had to deal with the http_proxy problem, in my last email. But now I get this: cabal install regex-compat Resolving dependencies... Downloading regex-posix-0.95.2... Configuring regex-posix-0.95.2... Building regex-posix-0.95.2... Preprocessing library regex-posix-0.95.2... [1 of 6] Compiling Text.Regex.Posix.Wrap ( dist/build/Text/Regex/Posix/Wrap.hs, dist/build/Text/Regex/Posix/Wrap.o ) [2 of 6] Compiling Text.Regex.Posix.String ( Text/Regex/Posix/String.hs, dist/build/Text/Regex/Posix/String.o ) [3 of 6] Compiling Text.Regex.Posix.Sequence ( Text/Regex/Posix/Sequence.hs, dist/build/Text/Regex/Posix/Sequence.o ) [4 of 6] Compiling Text.Regex.Posix.ByteString ( Text/Regex/Posix/ByteString.hs, dist/build/Text/Regex/Posix/ByteString.o ) [5 of 6] Compiling Text.Regex.Posix.ByteString.Lazy ( Text/Regex/Posix/ByteString/Lazy.hs, dist/build/Text/Regex/Posix/ByteString/Lazy.o ) [6 of 6] Compiling Text.Regex.Posix ( Text/Regex/Posix.hs, dist/build/Text/Regex/Posix.o ) /usr/bin/ld: cannot find -lHSregex-base-0.93.2-ghc7.8.2 /usr/bin/ld: cannot find -lHSmtl-2.1.2-ghc7.8.2 collect2: ld returned 1 exit status Failed to install regex-posix-0.95.2 cabal: Error: some packages failed to install: regex-compat-0.95.1 depends on regex-posix-0.95.2 which failed to install. regex-posix-0.95.2 failed during the building phase. The exception was: ExitFailure 1 simonpj at cam-05-unx:~/code/HEAD-1$ cabal install regex-base Resolving dependencies... All the requested packages are already installed: regex-base-0.93.2 Use --reinstall if you want to reinstall anyway. simonpj at cam-05-unx:~/code/HEAD-1$ So regex-base is already installed, but cabal isn't using it for regex-posix; nor is it installing regex-base-0.93.2. This seems to break the user's-eye view of the Cabal claim that it'll download and install the dependencies. Any thoughts? Simon -------------- next part -------------- An HTML attachment was scrubbed... URL: From hesselink at gmail.com Thu May 8 16:38:17 2014 From: hesselink at gmail.com (Erik Hesselink) Date: Thu, 8 May 2014 18:38:17 +0200 Subject: Cabal problem In-Reply-To: <618BE556AADD624C9C918AA5D5911BEF0C8512E6@DB3PRD3001MB020.064d.mgd.msft.net> References: <618BE556AADD624C9C918AA5D5911BEF0C8512E6@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: Could it be this problem? https://plus.google.com/115504368969270249241/posts/19fyYuT5C1i Regards, Erik On Thu, May 8, 2014 at 6:23 PM, Simon Peyton Jones wrote: > Dear Cabal-ers > > I have downloaded a binary installation of GHC 7.8.2, for Linux. > > Now I want to install regex-compat. First I had to deal with the http_proxy > problem, in my last email. But now I get this: > > cabal install regex-compat > > Resolving dependencies... > > Downloading regex-posix-0.95.2... > > Configuring regex-posix-0.95.2... > > Building regex-posix-0.95.2... > > Preprocessing library regex-posix-0.95.2... > > [1 of 6] Compiling Text.Regex.Posix.Wrap ( > dist/build/Text/Regex/Posix/Wrap.hs, dist/build/Text/Regex/Posix/Wrap.o ) > > [2 of 6] Compiling Text.Regex.Posix.String ( Text/Regex/Posix/String.hs, > dist/build/Text/Regex/Posix/String.o ) > > [3 of 6] Compiling Text.Regex.Posix.Sequence ( Text/Regex/Posix/Sequence.hs, > dist/build/Text/Regex/Posix/Sequence.o ) > > [4 of 6] Compiling Text.Regex.Posix.ByteString ( > Text/Regex/Posix/ByteString.hs, dist/build/Text/Regex/Posix/ByteString.o ) > > [5 of 6] Compiling Text.Regex.Posix.ByteString.Lazy ( > Text/Regex/Posix/ByteString/Lazy.hs, > dist/build/Text/Regex/Posix/ByteString/Lazy.o ) > > [6 of 6] Compiling Text.Regex.Posix ( Text/Regex/Posix.hs, > dist/build/Text/Regex/Posix.o ) > > /usr/bin/ld: cannot find -lHSregex-base-0.93.2-ghc7.8.2 > > /usr/bin/ld: cannot find -lHSmtl-2.1.2-ghc7.8.2 > > collect2: ld returned 1 exit status > > Failed to install regex-posix-0.95.2 > > cabal: Error: some packages failed to install: > > regex-compat-0.95.1 depends on regex-posix-0.95.2 which failed to install. > > regex-posix-0.95.2 failed during the building phase. The exception was: > > ExitFailure 1 > > > > simonpj at cam-05-unx:~/code/HEAD-1$ cabal install regex-base > > Resolving dependencies... > > All the requested packages are already installed: > > regex-base-0.93.2 > > Use --reinstall if you want to reinstall anyway. > > simonpj at cam-05-unx:~/code/HEAD-1$ > > > > So regex-base is already installed, but cabal isn?t using it for > regex-posix; nor is it installing regex-base-0.93.2. This seems to break > the user?s-eye view of the Cabal claim that it?ll download and install the > dependencies. > > Any thoughts? > > Simon > > > > > _______________________________________________ > cabal-devel mailing list > cabal-devel at haskell.org > http://www.haskell.org/mailman/listinfo/cabal-devel > From carter.schonwald at gmail.com Thu May 8 16:45:09 2014 From: carter.schonwald at gmail.com (Carter Schonwald) Date: Thu, 8 May 2014 12:45:09 -0400 Subject: Cabal problem In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0C8512E6@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: likewise, make sure you have a 1.20 style cabal-install (~/.cabal/config should have fields like haddock hyper-link-source: etc) On Thu, May 8, 2014 at 12:38 PM, Erik Hesselink wrote: > Could it be this problem? > https://plus.google.com/115504368969270249241/posts/19fyYuT5C1i > > Regards, > > Erik > > On Thu, May 8, 2014 at 6:23 PM, Simon Peyton Jones > wrote: > > Dear Cabal-ers > > > > I have downloaded a binary installation of GHC 7.8.2, for Linux. > > > > Now I want to install regex-compat. First I had to deal with the > http_proxy > > problem, in my last email. But now I get this: > > > > cabal install regex-compat > > > > Resolving dependencies... > > > > Downloading regex-posix-0.95.2... > > > > Configuring regex-posix-0.95.2... > > > > Building regex-posix-0.95.2... > > > > Preprocessing library regex-posix-0.95.2... > > > > [1 of 6] Compiling Text.Regex.Posix.Wrap ( > > dist/build/Text/Regex/Posix/Wrap.hs, dist/build/Text/Regex/Posix/Wrap.o ) > > > > [2 of 6] Compiling Text.Regex.Posix.String ( Text/Regex/Posix/String.hs, > > dist/build/Text/Regex/Posix/String.o ) > > > > [3 of 6] Compiling Text.Regex.Posix.Sequence ( > Text/Regex/Posix/Sequence.hs, > > dist/build/Text/Regex/Posix/Sequence.o ) > > > > [4 of 6] Compiling Text.Regex.Posix.ByteString ( > > Text/Regex/Posix/ByteString.hs, dist/build/Text/Regex/Posix/ByteString.o > ) > > > > [5 of 6] Compiling Text.Regex.Posix.ByteString.Lazy ( > > Text/Regex/Posix/ByteString/Lazy.hs, > > dist/build/Text/Regex/Posix/ByteString/Lazy.o ) > > > > [6 of 6] Compiling Text.Regex.Posix ( Text/Regex/Posix.hs, > > dist/build/Text/Regex/Posix.o ) > > > > /usr/bin/ld: cannot find -lHSregex-base-0.93.2-ghc7.8.2 > > > > /usr/bin/ld: cannot find -lHSmtl-2.1.2-ghc7.8.2 > > > > collect2: ld returned 1 exit status > > > > Failed to install regex-posix-0.95.2 > > > > cabal: Error: some packages failed to install: > > > > regex-compat-0.95.1 depends on regex-posix-0.95.2 which failed to > install. > > > > regex-posix-0.95.2 failed during the building phase. The exception was: > > > > ExitFailure 1 > > > > > > > > simonpj at cam-05-unx:~/code/HEAD-1$ cabal install regex-base > > > > Resolving dependencies... > > > > All the requested packages are already installed: > > > > regex-base-0.93.2 > > > > Use --reinstall if you want to reinstall anyway. > > > > simonpj at cam-05-unx:~/code/HEAD-1$ > > > > > > > > So regex-base is already installed, but cabal isn?t using it for > > regex-posix; nor is it installing regex-base-0.93.2. This seems to break > > the user?s-eye view of the Cabal claim that it?ll download and install > the > > dependencies. > > > > Any thoughts? > > > > Simon > > > > > > > > > > _______________________________________________ > > cabal-devel mailing list > > cabal-devel at haskell.org > > http://www.haskell.org/mailman/listinfo/cabal-devel > > > _______________________________________________ > cabal-devel mailing list > cabal-devel at haskell.org > http://www.haskell.org/mailman/listinfo/cabal-devel > -------------- next part -------------- An HTML attachment was scrubbed... URL: From simonpj at microsoft.com Fri May 9 09:26:41 2014 From: simonpj at microsoft.com (Simon Peyton Jones) Date: Fri, 9 May 2014 09:26:41 +0000 Subject: Cabal problem In-Reply-To: References: <618BE556AADD624C9C918AA5D5911BEF0C8512E6@DB3PRD3001MB020.064d.mgd.msft.net> Message-ID: <618BE556AADD624C9C918AA5D5911BEF0C8517AA@DB3PRD3001MB020.064d.mgd.msft.net> Erik was spot on. It's unfortunate that Cabal gives such an opaque error message when all that has happened is that I upgraded Cabal itself. Thanks for un-gluing me. Simon | -----Original Message----- | From: Erik Hesselink [mailto:hesselink at gmail.com] | Sent: 08 May 2014 17:38 | To: Simon Peyton Jones | Cc: cabal-devel at haskell.org | Subject: Re: Cabal problem | | Could it be this problem? | https://plus.google.com/115504368969270249241/posts/19fyYuT5C1i | | Regards, | | Erik | | On Thu, May 8, 2014 at 6:23 PM, Simon Peyton Jones | wrote: | > Dear Cabal-ers | > | > I have downloaded a binary installation of GHC 7.8.2, for Linux. | > | > Now I want to install regex-compat. First I had to deal with the | > http_proxy problem, in my last email. But now I get this: | > | > cabal install regex-compat | > | > Resolving dependencies... | > | > Downloading regex-posix-0.95.2... | > | > Configuring regex-posix-0.95.2... | > | > Building regex-posix-0.95.2... | > | > Preprocessing library regex-posix-0.95.2... | > | > [1 of 6] Compiling Text.Regex.Posix.Wrap ( | > dist/build/Text/Regex/Posix/Wrap.hs, | > dist/build/Text/Regex/Posix/Wrap.o ) | > | > [2 of 6] Compiling Text.Regex.Posix.String ( | > Text/Regex/Posix/String.hs, dist/build/Text/Regex/Posix/String.o ) | > | > [3 of 6] Compiling Text.Regex.Posix.Sequence ( | > Text/Regex/Posix/Sequence.hs, dist/build/Text/Regex/Posix/Sequence.o ) | > | > [4 of 6] Compiling Text.Regex.Posix.ByteString ( | > Text/Regex/Posix/ByteString.hs, | > dist/build/Text/Regex/Posix/ByteString.o ) | > | > [5 of 6] Compiling Text.Regex.Posix.ByteString.Lazy ( | > Text/Regex/Posix/ByteString/Lazy.hs, | > dist/build/Text/Regex/Posix/ByteString/Lazy.o ) | > | > [6 of 6] Compiling Text.Regex.Posix ( Text/Regex/Posix.hs, | > dist/build/Text/Regex/Posix.o ) | > | > /usr/bin/ld: cannot find -lHSregex-base-0.93.2-ghc7.8.2 | > | > /usr/bin/ld: cannot find -lHSmtl-2.1.2-ghc7.8.2 | > | > collect2: ld returned 1 exit status | > | > Failed to install regex-posix-0.95.2 | > | > cabal: Error: some packages failed to install: | > | > regex-compat-0.95.1 depends on regex-posix-0.95.2 which failed to | install. | > | > regex-posix-0.95.2 failed during the building phase. The exception | was: | > | > ExitFailure 1 | > | > | > | > simonpj at cam-05-unx:~/code/HEAD-1$ cabal install regex-base | > | > Resolving dependencies... | > | > All the requested packages are already installed: | > | > regex-base-0.93.2 | > | > Use --reinstall if you want to reinstall anyway. | > | > simonpj at cam-05-unx:~/code/HEAD-1$ | > | > | > | > So regex-base is already installed, but cabal isn?t using it for | > regex-posix; nor is it installing regex-base-0.93.2. This seems to | > break the user?s-eye view of the Cabal claim that it?ll download and | > install the dependencies. | > | > Any thoughts? | > | > Simon | > | > | > | > | > _______________________________________________ | > cabal-devel mailing list | > cabal-devel at haskell.org | > http://www.haskell.org/mailman/listinfo/cabal-devel | > From spam at scientician.net Sat May 10 16:27:55 2014 From: spam at scientician.net (Bardur Arantsson) Date: Sat, 10 May 2014 18:27:55 +0200 Subject: "Showing last 10 lines of the build log" Message-ID: (I'm currently using Cabal 1.18.) Working with sandboxes and multiple cabal packages (via --add-source and a super-package which requires all the others), I've found that the Showing last 10 lines of the build log feature is less useful than one would hope for. When restructuring code across multiple packages there's a lot of potential for huge error messages, *and* furthermore the most interesting lines in the build log are actually towards the *start* og the build log since that's where the *first* error shows up -- given the nature of compilers you generally always want to fix the first-occuring error first since that may fix subsequent errors. So, here's a little feature request: Couldn't we just have cabal install spit out the full build log in case a build fails? Is there any real disadvantage that I'm not seeing? From spam at scientician.net Sat May 10 17:15:09 2014 From: spam at scientician.net (Bardur Arantsson) Date: Sat, 10 May 2014 19:15:09 +0200 Subject: "Showing last 10 lines of the build log" In-Reply-To: References: Message-ID: On 2014-05-10 18:27, Bardur Arantsson wrote: > > So, here's a little feature request: Couldn't we just have cabal install > spit out the full build log in case a build fails? Is there any real > disadvantage that I'm not seeing? > (Btw, I'll be happy to write the necessary patch since it seems simple enough for me to do, I just want to be sure there's some interest.) From hesselink at gmail.com Sat May 10 19:13:03 2014 From: hesselink at gmail.com (Erik Hesselink) Date: Sat, 10 May 2014 21:13:03 +0200 Subject: "Showing last 10 lines of the build log" In-Reply-To: References: Message-ID: On Sat, May 10, 2014 at 7:15 PM, Bardur Arantsson wrote: > On 2014-05-10 18:27, Bardur Arantsson wrote: >> >> So, here's a little feature request: Couldn't we just have cabal install >> spit out the full build log in case a build fails? Is there any real >> disadvantage that I'm not seeing? > > (Btw, I'll be happy to write the necessary patch since it seems simple > enough for me to do, I just want to be sure there's some interest.) I think there's enough interest: I'm often annoyed by this and there are at least two tickets [0,1] about it. Erik [0] https://github.com/haskell/cabal/issues/1373 [1] https://github.com/haskell/cabal/issues/1062 From spam at scientician.net Sun May 11 12:16:24 2014 From: spam at scientician.net (Bardur Arantsson) Date: Sun, 11 May 2014 14:16:24 +0200 Subject: "Showing last 10 lines of the build log" In-Reply-To: References: Message-ID: On 2014-05-10 18:27, Bardur Arantsson wrote: > (I'm currently using Cabal 1.18.) > > Working with sandboxes and multiple cabal packages (via --add-source and > a super-package which requires all the others), I've found that the > > Showing last 10 lines of the build log > > feature is less useful than one would hope for. When restructuring code > across multiple packages there's a lot of potential for huge error > messages, *and* furthermore the most interesting lines in the build log > are actually towards the *start* og the build log since that's where the > *first* error shows up -- given the nature of compilers you generally > always want to fix the first-occuring error first since that may fix > subsequent errors. > > So, here's a little feature request: Couldn't we just have cabal install > spit out the full build log in case a build fails? Is there any real > disadvantage that I'm not seeing? > Lodged as https://github.com/haskell/cabal/pull/1856 From bjp at informatik.uni-kiel.de Mon May 19 11:27:48 2014 From: bjp at informatik.uni-kiel.de (=?ISO-8859-15?Q?Bj=F6rn_Peem=F6ller?=) Date: Mon, 19 May 2014 13:27:48 +0200 Subject: cabal install fails with empty conflict set Message-ID: <5379EAB4.7000604@informatik.uni-kiel.de> Hi, I am trying to install a cabal package in a fresh, clean sandbox, but cabal fails with: cabal: Could not resolve dependencies: Dependency tree exhaustively searched. I'm using $ cabal -V cabal-install version 1.20.0.1 using version 1.20.0.0 of the Cabal library $ ghc -V The Glorious Glasgow Haskell Compilation System, version 7.8.2 Even when I try -v3 I do not get much more information: $cabal install --only-dependencies -v3 Using a sandbox located at /home/bjp/projects/curry-frontend/.cabal-sandbox Searching for ghc in path. Found ghc at /home/bjp/.ghc-config/ghc/bin/ghc ("/home/bjp/.ghc-config/ghc/bin/ghc",["--numeric-version"]) /home/bjp/.ghc-config/ghc/bin/ghc is version 7.8.2 looking for tool ghc-pkg near compiler in /home/bjp/.ghc-config/ghc/bin found ghc-pkg in /home/bjp/.ghc-config/ghc/bin/ghc-pkg ("/home/bjp/.ghc-config/ghc/bin/ghc-pkg",["--version"]) /home/bjp/.ghc-config/ghc/bin/ghc-pkg is version 7.8.2 ("/home/bjp/.ghc-config/ghc/bin/ghc",["--supported-languages"]) ("/home/bjp/.ghc-config/ghc/bin/ghc",["--info"]) The package database already exists: /home/bjp/projects/curry-frontend/.cabal-sandbox/x86_64-linux-ghc-7.8.2-packages.conf.d Reading available packages... Reading available packages... Reading installed packages... ("/home/bjp/.ghc-config/ghc/bin/ghc-pkg",["dump","--package-db=/home/bjp/projects/curry-frontend/.cabal-sandbox/x86_64-linux-ghc-7.8.2-packages.conf.d","-v0"]) ("/home/bjp/.ghc-config/ghc/bin/ghc",["--print-libdir"]) Found no modified add-source deps. Reading installed packages... ("/home/bjp/.ghc-config/ghc/bin/ghc-pkg",["dump","--global","-v0"]) ("/home/bjp/.ghc-config/ghc/bin/ghc-pkg",["dump","--package-db=/home/bjp/projects/curry-frontend/.cabal-sandbox/x86_64-linux-ghc-7.8.2-packages.conf.d","-v0"]) ("/home/bjp/.ghc-config/ghc/bin/ghc",["--print-libdir"]) Reading available packages... Choosing modular solver. Resolving dependencies... [__0] trying: curry-frontend-0.3.10 (user goal) [__1] trying: base-4.7.0.0/installed-018... (dependency of curry-frontend-0.3.10) [__2] trying: rts-1.0/installedbuil... (dependency of base-4.7.0.0/installed-018...) [__3] trying: integer-gmp-0.5.1.0/installed-dc4... (dependency of base-4.7.0.0/installed-018...) [__4] trying: ghc-prim-0.3.1.0/installed-948... (dependency of base-4.7.0.0/installed-018...) [__5] trying: curry-frontend-0.3.10:+split-syb [__6] trying: syb-0.4.1 (dependency of curry-frontend-0.3.10) [__7] trying: syb-0.4.1:!test [__8] trying: transformers-0.3.0.0/installed-7df... (dependency of curry-frontend-0.3.10) [__9] trying: process-1.2.0.0/installed-eaf... (dependency of curry-frontend-0.3.10) [_10] trying: unix-2.7.0.1/installed-23f... (dependency of process-1.2.0.0/installed-eaf...) [_11] trying: time-1.4.2/installed-b47... (dependency of unix-2.7.0.1/installed-23f...) [_12] trying: old-locale-1.0.0.6/installed-be1... (dependency of time-1.4.2/installed-b47...) [_13] trying: bytestring-0.10.4.0/installed-7de... (dependency of unix-2.7.0.1/installed-23f...) [_14] trying: deepseq-1.3.0.2/installed-716... (dependency of process-1.2.0.0/installed-eaf...) [_15] trying: array-0.5.0.0/installed-9f2... (dependency of deepseq-1.3.0.2/installed-716...) [_16] trying: mtl-2.1.2/installed-d71... (dependency of curry-frontend-0.3.10) [_17] trying: either-4.1.2 (dependency of curry-frontend-0.3.10) [_18] trying: transformers-base-0.4.2 (dependency of either-4.1.2) [_19] trying: transformers-base-0.4.2:+orphaninstances [_20] trying: semigroupoids-4.0.2 (dependency of either-4.1.2) [_21] trying: distributive-0.4.4 (dependency of semigroupoids-4.0.2) [_22] trying: distributive-0.4.4:-lib-werror [_23] trying: distributive-0.4.4:!test [_24] trying: transformers-compat-0.3.2 (dependency of distributive-0.4.4) [_25] trying: transformers-compat-0.3.2:-transformers3 [__0] fail (backjumping, conflict set: ) cabal: Could not resolve dependencies: Dependency tree exhaustively searched. Note: when using a sandbox, all packages are required to have consistent dependencies. Try reinstalling/unregistering the offending packages or recreating the sandbox. Does anybody have an idea what the problem is? Best Regards, Bj?rn From bjp at informatik.uni-kiel.de Mon May 19 11:38:53 2014 From: bjp at informatik.uni-kiel.de (=?ISO-8859-15?Q?Bj=F6rn_Peem=F6ller?=) Date: Mon, 19 May 2014 13:38:53 +0200 Subject: cabal install fails with empty conflict set In-Reply-To: <5379EAB4.7000604@informatik.uni-kiel.de> References: <5379EAB4.7000604@informatik.uni-kiel.de> Message-ID: <5379ED4D.8020009@informatik.uni-kiel.de> Am 19.05.2014 13:27, schrieb Bj?rn Peem?ller: > Hi, > > I am trying to install a cabal package in a fresh, clean sandbox, but > cabal fails with: > > cabal: Could not resolve dependencies: > Dependency tree exhaustively searched. Update: It works when I manually install the package transformers-compat-0.3.2 first. - Does not work with transformers-0.2.2.1 - Works with transformers-0.3.0.0 (installed): $ cabal install transformers-compat-0.3.2 -f transformers3 $ cabal install --only-dependencies - Works with transformers-0.4.1.0: $ cabal install transformers-compat-0.3.2 $ cabal install --only-dependencies From andres.loeh at googlemail.com Mon May 19 11:52:27 2014 From: andres.loeh at googlemail.com (=?UTF-8?Q?Andres_L=C3=B6h?=) Date: Mon, 19 May 2014 13:52:27 +0200 Subject: cabal install fails with empty conflict set In-Reply-To: <5379ED4D.8020009@informatik.uni-kiel.de> References: <5379EAB4.7000604@informatik.uni-kiel.de> <5379ED4D.8020009@informatik.uni-kiel.de> Message-ID: Hi. Could I get the .cabal file for curry-frontend-0.3.10 from somewhere? Cheers, Andres From bjp at informatik.uni-kiel.de Mon May 19 11:59:45 2014 From: bjp at informatik.uni-kiel.de (=?UTF-8?B?QmrDtnJuIFBlZW3DtmxsZXI=?=) Date: Mon, 19 May 2014 13:59:45 +0200 Subject: cabal install fails with empty conflict set In-Reply-To: References: <5379EAB4.7000604@informatik.uni-kiel.de> <5379ED4D.8020009@informatik.uni-kiel.de> Message-ID: <5379F231.3050905@informatik.uni-kiel.de> Am 19.05.2014 13:52, schrieb Andres L?h: > Hi. > > Could I get the .cabal file for curry-frontend-0.3.10 from somewhere? Hi Andres, you can find the packages curry-frontend and curry-base (used by the former) at: https://git-ps.informatik.uni-kiel.de/curry The cabal files are: https://git-ps.informatik.uni-kiel.de/curry/curry-frontend/blobs/master/curry-frontend.cabal and https://git-ps.informatik.uni-kiel.de/curry/curry-base/blobs/master/curry-base.cabal Thanks for having a look, Bj?rn From andres.loeh at googlemail.com Mon May 19 13:36:10 2014 From: andres.loeh at googlemail.com (=?UTF-8?Q?Andres_L=C3=B6h?=) Date: Mon, 19 May 2014 15:36:10 +0200 Subject: cabal install fails with empty conflict set In-Reply-To: <5379F231.3050905@informatik.uni-kiel.de> References: <5379EAB4.7000604@informatik.uni-kiel.de> <5379ED4D.8020009@informatik.uni-kiel.de> <5379F231.3050905@informatik.uni-kiel.de> Message-ID: Hi Bj?rn. Please see my latest comment on issue 1855 (which I believe to be related or the same) at https://github.com/haskell/cabal/issues/1855#issuecomment-43503323 for a status update. I think I know what the problem is, but I still need to fix it. Cheers, Andres From bjp at informatik.uni-kiel.de Mon May 19 13:40:02 2014 From: bjp at informatik.uni-kiel.de (=?UTF-8?B?QmrDtnJuIFBlZW3DtmxsZXI=?=) Date: Mon, 19 May 2014 15:40:02 +0200 Subject: cabal install fails with empty conflict set In-Reply-To: References: <5379EAB4.7000604@informatik.uni-kiel.de> <5379ED4D.8020009@informatik.uni-kiel.de> <5379F231.3050905@informatik.uni-kiel.de> Message-ID: <537A09B2.1030706@informatik.uni-kiel.de> Am 19.05.2014 15:36, schrieb Andres L?h: > Hi Bj?rn. > > Please see my latest comment on issue 1855 (which I believe to be > related or the same) at > https://github.com/haskell/cabal/issues/1855#issuecomment-43503323 for > a status update. I think I know what the problem is, but I still need > to fix it. Thanks Andres, I will watch this issue to be informed in case of updates. Best regards, Bj?rn From oleg.durandin at gmail.com Tue May 20 10:12:45 2014 From: oleg.durandin at gmail.com (Oleg Durandin) Date: Tue, 20 May 2014 14:12:45 +0400 Subject: Manually control linker options in Cabal build system In-Reply-To: <537B29DB.1090204@gmail.com> References: <537B29DB.1090204@gmail.com> Message-ID: <537B2A9D.2010103@gmail.com> Hi all! Not long ago, I faced with problem building library with Cabal. I'm trying to build simple Haskell project as a shared library for use in MS Visual Studio (yes, I use FFI for this). And I created simple test project: / {-# LANGUAGE ForeignFunctionInterface #-} module GrepWrap where import Foreign import Foreign.C.String import Data.Char printCString :: CString -> IO () printCString s = do ss <- peekCString s putStrLn ss getCStringFromKey :: IO CString getCStringFromKey = do guess <- getLine newCString guess hello :: IO() hello = do putStrLn "Hi there!" foreign export stdcall ? ? ? ? hello :: IO () foreign export stdcall? ? printCString :: CString -> IO () foreign export stdcall? ? getCStringFromKey :: IO CString/ Also, I created file for safe initialization with wrappers for hs_init() and hs_exit() calls: /// StartEnd.c #include extern void __stginit_GrepWrap(void); void HsStart() { int argc = 1; char* argv[] = {"ghcDll", NULL}; // argv must end with NULL // Initialize Haskell runtime char** args = argv; hs_init(&argc, &args); } void HsEnd() { hs_exit(); }/ I compile these files with the next commands: /*> ghc -c GrepWrap.c*//* *//*> ghc -c StartEnd.c*//* *//*> ghc -shared -o grepWrap.dll grepWrap.hs StartEnd.o*/ /Linking grepWrap.dll ...// //Creating library file: grepWrap.dll.a// /// After it, I've got grepWrap.dll and grepWrap.dll.a files. I successfully linked that library with my simple C++ test app, that uses these functions. And I was able to use my Haskell functions in my simple C++ app. Further, I'd like to use Cabal build system for building the same Haskell library filles. My cabal file looks like this: /*name: GrepWrap version: 1.0 synopsis: example shared library for C use build-type: Simple cabal-version: >=1.10 library default-language: Haskell2010 exposed-modules: GrepWrap extra-libraries: HSbase-4.6.0.1, wsock32, user32, shell32, HSinteger-gmp-0.5.0.0, HSghc-prim-0.3.0.0, HSrts, gdi32, winmm c-sources: StartEnd.c extensions: ForeignFunctionInterface build-depends: base >= 4 --ghc-options: "-v"*/ After build, in directory dist/build I got a set of files and among them there are: _/libHSGrepWrap-1.0-ghc7.6.3.dll/_ , ___/libHSGrepWrap-1.0-ghc7.6.3.dll.a/_ and /_GrepWrap_stub.h_/ . I use these files in the same Visual Studio project (of course, I changed names of dependent libraries in dependencies configuration in Visual Studio). Application successfully builds, but after run this app, I've got the next exception: Unhandled exception at 0x6D7905FB (libHSrts-ghc7.6.3.dll) in GrepWrapCabalUseDll.exe: 0xC0000005: Access violation reading location 0x00000000 It occurs, when I call functions from library (but when HsStart() already called). When I use "-v" flag with compilation (using ghc) I saw such linker message log: /*** Linker:// //"C:\Program Files (x86)\Haskell Platform\2013.2.0.0\lib/../mingw/bin/gcc.exe" "-fno-stack-protector" "-Wl,--hash-size=31" "-Wl,--reduce-memory-overheads" "-o" "grepWrap.dll" "-shared" "-Wl,--out-implib=grepWrap.dll.a" "grepWrap.o" "-Wl,--enable-auto-import" "StartEnd.o" "-LC:\Program Files (x86)\Haskell Platform\2013.2.0.0\lib\base-4.6.0.1" "-LC:\Program Files (x86)\Haskell Platform\2013.2.0.0\lib\integer-gmp-0.5.0.0" "-LC:\Program Files (x86)\Haskell Platform\2013.2.0.0\lib\ghc-prim-0.3.0.0" "-LC:\Program Files (x86)\Haskell Platform\2013.2.0.0\lib" "-lHSbase-4.6.0.1" "-lwsock32" "-luser32" "-lshell32" "-lHSinteger-gmp-0.5.0.0" "-lHSghc-prim-0.3.0.0" "-lHSrts" "-lm" "-lwsock32" "-lgdi32" "-lwinmm" "-u" "_ghczmprim_GHCziTypes_Izh_static_info" "-u" "_ghczmprim_GHCziTypes_Czh_static_info" "-u" "_ghczmprim_GHCziTypes_Fzh_static_info" "-u" "_ghczmprim_GHCziTypes_Dzh_static_info" "-u" "_base_GHCziPtr_Ptr_static_info" "-u" "_ghczmprim_GHCziTypes_Wzh_static_info" "-u" "_base_GHCziInt_I8zh_static_info" "-u" "_base_GHCziInt_I16zh_static_info" "-u" "_base_GHCziInt_I32zh_static_info" "-u" "_base_GHCziInt_I64zh_static_info" "-u" "_base_GHCziWord_W8zh_static_info" "-u" "_base_GHCziWord_W16zh_static_info" "-u" "_base_GHCziWord_W32zh_static_info" "-u" "_base_GHCziWord_W64zh_static_info" "-u" "_base_GHCziStable_StablePtr_static_info" "-u" "_ghczmprim_GHCziTypes_Izh_con_info" "-u" "_ghczmprim_GHCziTypes_Czh_con_info" "-u" "_ghczmprim_GHCziTypes_Fzh_con_info" "-u" "_ghczmprim_GHCziTypes_Dzh_con_info" "-u" "_base_GHCziPtr_Ptr_con_info" "-u" "_base_GHCziPtr_FunPtr_con_info" "-u" "_base_GHCziStable_StablePtr_con_info" "-u" "_ghczmprim_GHCziTypes_False_closure" "-u" "_ghczmprim_GHCziTypes_True_closure" "-u" "_base_GHCziPack_unpackCString_closure" "-u" "_base_GHCziIOziException_stackOverflow_closure" "-u" "_base_GHCziIOziException_heapOverflow_closure" "-u" "_base_ControlziExceptionziBase_nonTermination_closure" "-u" "_base_GHCziIOziException_blockedIndefinitelyOnMVar_closure" "-u" "_base_GHCziIOziException_blockedIndefinitelyOnSTM_closure" "-u" "_base_ControlziExceptionziBase_nestedAtomically_closure" "-u" "_base_GHCziWeak_runFinalizzerBatch_closure" "-u" "_base_GHCziTopHandler_flushStdHandles_closure" "-u" "_base_GHCziTopHandler_runIO_closure" "-u" "_base_GHCziTopHandler_runNonIO_closure" "-u" "_base_GHCziConcziIO_ensureIOManagerIsRunning_closure" "-u" "_base_GHCziConcziSync_runSparks_closure" "-u" "_base_GHCziConcziSignal_runHandlers_closure"// //Creating library file: grepWrap.dll.a// //link: done/ But, when I call cabal build with "-v2" option to get build log, I get the following: /> cabal build -v2 I've got the next log: creating dist\build creating dist\build\autogen Building GrepWrap-1.0... Preprocessing library GrepWrap-1.0... Building library... creating dist\build C:\Program Files (x86)\Haskell Platform\2013.2.0.0\bin\ghc.exe --make -fbuilding-cabal-package -O -odir dist\build -hidir dist\build -stubdir dist\build -i -idist\build -i. -idist\build\autogen -Idist\build\autogen -Idist\build -optP-include -optPdist\build\autogen\cabal_macros.h -package-name GrepWrap-1.0 -hide-all-packages -package-db dist\package.conf.inplace -package-id base-4.6.0.1-f0c2cc6dcf0e12bf75312a2e7f354095 -XHaskell2010 -XForeignFunctionInterface GrepWrap [1 of 1] Compiling GrepWrap ( GrepWrap.hs, dist\build\GrepWrap.o ) C:\Program Files (x86)\Haskell Platform\2013.2.0.0\bin\ghc.exe --make -fbuilding-cabal-package -O -prof -osuf p_o -hisuf p_hi -odir dist\build -hidir dist\build -stubdir dist\build -i -idist\build -i. -idist\build\autogen -Idist\build\autogen -Idist\build -optP-include -optPdist\build\autogen\cabal_macros.h -package-name GrepWrap-1.0 -hide-all-packages -package-db dist\package.conf.inplace -package-id base-4.6.0.1-f0c2cc6dcf0e12bf75312a2e7f354095 -XHaskell2010 -XForeignFunctionInterface GrepWrap [1 of 1] Compiling GrepWrap ( GrepWrap.hs, dist\build\GrepWrap.p_o ) C:\Program Files (x86)\Haskell Platform\2013.2.0.0\bin\ghc.exe --make -fbuilding-cabal-package -O -dynamic -fPIC -osuf dyn_o -hisuf dyn_hi -odir dist\build -hidir dist\build -stubdir dist\build -i -idist\build -i. -idist\build\autogen -Idist\build\autogen -Idist\build -optP-include -optPdist\build\autogen\cabal_macros.h -package-name GrepWrap-1.0 -hide-all-packages -package-db dist\package.conf.inplace -package-id base-4.6.0.1-f0c2cc6dcf0e12bf75312a2e7f354095 -XHaskell2010 -XForeignFunctionInterface GrepWrap [1 of 1] Compiling GrepWrap ( GrepWrap.hs, dist\build\GrepWrap.dyn_o ) Building C Sources... creating dist\build C:\Program Files (x86)\Haskell Platform\2013.2.0.0\bin\ghc.exe -c -prof -odir dist\build -Idist\build -optc-O2 -package-db dist\package.conf.inplace -package-id base-4.6.0.1-f0c2cc6dcf0e12bf75312a2e7f354095 StartEnd.c C:\Program Files (x86)\Haskell Platform\2013.2.0.0\bin\ghc.exe -c -prof -dynamic -fPIC -osuf dyn_o -odir dist\build -Idist\build -optc-O2 -package-db dist\package.conf.inplace -package-id base-4.6.0.1-f0c2cc6dcf0e12bf75312a2e7f354095 StartEnd.c Linking... C:\Program Files (x86)\Haskell Platform\2013.2.0.0\mingw\bin\ar.exe -r dist\build\libHSGrepWrap-1.0.a dist\build\GrepWrap.o dist\build\StartEnd.o C:\Program Files (x86)\Haskell Platform\2013.2.0.0\mingw\bin\ar.exe: creating dist\build\libHSGrepWrap-1.0.a C:\Program Files (x86)\Haskell Platform\2013.2.0.0\mingw\bin\ar.exe -r dist\build\libHSGrepWrap-1.0_p.a dist\build\GrepWrap.p_o dist\build\StartEnd.o C:\Program Files (x86)\Haskell Platform\2013.2.0.0\mingw\bin\ar.exe: creating dist\build\libHSGrepWrap-1.0_p.a C:\Program Files (x86)\Haskell Platform\2013.2.0.0\mingw\bin\ld.exe -x --hash-size=31 --reduce-memory-overheads -r -o dist\build\HSGrepWrap-1.0.o dist\build\GrepWrap.o dist\build\StartEnd.o C:\Program Files (x86)\Haskell Platform\2013.2.0.0\bin\ghc.exe -shared -dynamic -lHSbase-4.6.0.1 -lwsock32 -luser32 -lshell32 -lHSinteger-gmp-0.5.0.0 -lHSghc-prim-0.3.0.0 -lHSrts -lgdi32 -lwinmm -package-name GrepWrap-1.0 -no-auto-link-packages -package-db dist\package.conf.inplace -package-id base-4.6.0.1-f0c2cc6dcf0e12bf75312a2e7f354095 dist\build\GrepWrap.dyn_o dist\build\StartEnd.dyn_o -o dist\build\libHSGrepWrap-1.0-ghc7.6.3.dll Creating library file: dist\build\libHSGrepWrap-1.0-ghc7.6.3.dll.a In-place registering GrepWrap-1.0... C:\Program Files (x86)\Haskell Platform\2013.2.0.0\bin\ghc-pkg.exe update - --global --user --package-db=dist\package.conf.inplace/ I'm confused.. Cabal uses a batch of options, it adds multiple options that I can't control. I'd like to control this options. How can I build my Haskell library with Cabal build system as same as building it with simple ghc? I can call ghc manually, but it will be a hard task, when I'll compile library for multiple files. Best regards, Oleg Durandin -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- name: GrepWrap version: 1.0 synopsis: example shared library for C use build-type: Simple cabal-version: >=1.10 library default-language: Haskell2010 exposed-modules: GrepWrap extra-libraries: HSbase-4.6.0.1, wsock32, user32, shell32, HSinteger-gmp-0.5.0.0, HSghc-prim-0.3.0.0, HSrts, gdi32, winmm c-sources: StartEnd.c extensions: ForeignFunctionInterface build-depends: base >= 4 --ghc-options: "-v" -------------- next part -------------- {-# LANGUAGE ForeignFunctionInterface #-} module GrepWrap where import Foreign import Foreign.C.String import Data.Char printCString :: CString -> IO () printCString s = do ss <- peekCString s putStrLn ss getCStringFromKey :: IO CString getCStringFromKey = do guess <- getLine newCString guess hello :: IO() hello = do putStrLn "Hi there!" foreign export stdcall hello :: IO () foreign export stdcall printCString :: CString -> IO () foreign export stdcall getCStringFromKey :: IO CString -------------- next part -------------- // StartEnd.c #include extern void __stginit_GrepWrap(void); void HsStart() { int argc = 1; char* argv[] = {"ghcDll", NULL}; // argv must end with NULL // Initialize Haskell runtime char** args = argv; hs_init(&argc, &args); // Tell Haskell about all root modules //hs_add_root(__stginit_Adder); } void HsEnd() { hs_exit(); } From nikita at karetnikov.org Thu May 22 20:43:01 2014 From: nikita at karetnikov.org (Nikita Karetnikov) Date: Fri, 23 May 2014 00:43:01 +0400 Subject: Proposal: cabal-install: verify OpenPGP signatures In-Reply-To: <1399287343.18197.190.camel@dunky.localdomain> (Duncan Coutts's message of "Mon, 05 May 2014 11:55:43 +0100") References: <87eh0fafsq.fsf@karetnikov.org> <1399287343.18197.190.camel@dunky.localdomain> Message-ID: <87zji9fstm.fsf@karetnikov.org> I?ve been extremely busy recently, so I only answer the questions for now. Please speak up if you see a possibility for an attack, or if something is not clear or not efficient. > If you go for GPG, here's some issues to consider: > * Who is allowed to sign for each package? Do we place any > restriction or is any sufficiently trusted user allowed to > upload any package? (I know the server will try to prevent this, > but I'm talking about crypto level assurance here, not just > server permission checks). If we do try to restrict it then we > need some equivalent of the maintainer groups so I can allow > other certain people to upload "my" package. Each Hackage user should be able to upload their public key. Each Hackage package must have a ?signed?? flag or an equivalent (which will be set automatically). While uploading a package, a user should be able to choose whether to sign it or not. If a package is signed, the maintainers have the permission to sign. If it?s necessary to add a maintainer, the uploader lists a username in a file, signs it, and uploads. (Is there a better way to achieve the same thing?) The server checks the signature, parses the file, and adds the usernames to the maintainers group. Since it?s important to sign the file locally, there should be a convenience tool allowing to select the usernames. An error must be raised if the file is not signed; the server must not allow such uploads. Each user of the said list must have a public key on Hackage. If not, the server must show an error message. If a key is not known, the server must check whether it?s signed by a previously known key corresponding to the package. > * How to require some packages to be signed while not requiring > all packages to be signed. In particular, once we opt-in to > signing a particular package, we want to make sure it's signed > from then on, and not allow a non-signed version of the package > (which would otherwise be an obvious attack). When a user runs ?cabal update?, it fetches a list of packages along with the ?signed?? flags and the keys corresponding to each package. If the cache is empty, the information is written to disk. If not, it is compared with the previous version. If a package that was signed previously is not signed, an error must be raised. People will be able to share such files (if they want) in order to bootstrap securely. > * How to distribute the web of trust among end users (as opposed > to authors) to minimise effort. I?m not sure. Maybe we shouldn?t bother (at least for now). If someone wants to check a fingerprint, for instance, they can ask on haskell-cafe or #haskell. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 835 bytes Desc: not available URL: From johan.tibell at gmail.com Thu May 29 18:09:17 2014 From: johan.tibell at gmail.com (Johan Tibell) Date: Thu, 29 May 2014 20:09:17 +0200 Subject: cabal-install-1.20.0.2 binaries needed for Windows and Linux Message-ID: Hi all, There's some important bug fixes in Cabal-1.20.0.1 and cabal-install-1.20.0.2 and I'd like to upload some binaries to make it easier for users to upgrade. Could someone build me a Windows binary? We could also use Linux binaries, but that's less important. Please make sure you use the versions above* and that you include the architecture (x86 or x86-64) in the email you send to me. Thanks! * Double check using cabal --version before emailing. -- Johan -------------- next part -------------- An HTML attachment was scrubbed... URL: From the.dead.shall.rise at gmail.com Fri May 30 01:30:14 2014 From: the.dead.shall.rise at gmail.com (Mikhail Glushenkov) Date: Fri, 30 May 2014 03:30:14 +0200 Subject: cabal-install-1.20.0.2 binaries needed for Windows and Linux In-Reply-To: References: Message-ID: Hi, On 29 May 2014 20:09, Johan Tibell wrote: > Hi all, > > There's some important bug fixes in Cabal-1.20.0.1 and > cabal-install-1.20.0.2 and I'd like to upload some binaries to make it > easier for users to upgrade. Could someone build me a Windows binary? We > could also use Linux binaries, but that's less important. Attaching a Windows binary. ? cabal-1.20.0.2-i386-unknown-mingw32.exe ? -------------- next part -------------- An HTML attachment was scrubbed... URL: