Re: What is the error mean for bloomfilter?

2015-05-16 Thread Mateusz Kowalczyk
On 05/16/2015 03:31 PM, Peng Yu wrote:
 I'm not sure how to fix the problem after reading the links you
 pointed. Would you please be specific what should be done? Thanks.
 
 $ ghc --version
 The Glorious Glasgow Haskell Compilation System, version 7.10.1
 
 On Sat, May 16, 2015 at 7:45 AM, Mikhail Glushenkov
 the.dead.shall.r...@gmail.com wrote:
 Hi,

 On 16 May 2015 at 03:57, Peng Yu pengyu...@gmail.com wrote:
 Data/BloomFilter/Mutable.hs:136:9:
 Non type-variable argument
   in the constraint: [...]

 Not a Cabal issue: the library wasn't updated to work with GHC 7.10.
 See https://github.com/bos/bloomfilter/issues/11 and
 https://github.com/bos/bloomfilter/pull/10


It's not a cabal problem, it's not relevant on this list. The links you
were given already point out that the issue is known and even a link to
the pull request that fixes it.


-- 
Mateusz K.
___
cabal-devel mailing list
cabal-devel@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/cabal-devel


Re: GSoC - request for mentor

2014-03-28 Thread Mateusz Kowalczyk
On 28/03/14 08:17, Chris Wong wrote:
 Hi all,
 
 Like Mateusz Lenik, I am looking for a mentor for the Google Summer of
 Code. The project aims to make various improvements to Hackage, such
 as exposing build reports and documentation uploads.
 
 An initial proposal is here [1], though as Greg Weber notes, the
 details may change if the project is accepted.
 
 Feel free to ping me if mentoring interests you.
 
 Chris
 
 [1] 
 http://www.google-melange.com/gsoc/proposal/review/student/google/gsoc2014/lambda_fairy/5741031244955648
 ___
 cabal-devel mailing list
 cabal-devel@haskell.org
 http://www.haskell.org/mailman/listinfo/cabal-devel
 

Hi,

I can't read the proposal, I get

You are not logged in as the user in the URL.

Perhaps you should try giving us a different URL?

-- 
Mateusz K.
___
cabal-devel mailing list
cabal-devel@haskell.org
http://www.haskell.org/mailman/listinfo/cabal-devel


module ‘free-4.6.1:Main’ is defined in multiple files

2014-03-24 Thread Mateusz Kowalczyk
Greetings,

First of all to people reading this at ghc-devs, I don't expect this to
be a direct problem caused by GHC but who knows, so I'm CC'ing it anyway.

As you might know, GHC 7.8.1 is scheduled to release Very Soon™  (later
today?). We got a report at Haddock Trac few weeks ago about a strange
error, see http://trac.haskell.org/haddock/ticket/284.

I have asked about this on cabal-devel before and Mikhail said that
maybe it's https://github.com/haskell/cabal/pull/1374 but it's unlikely
because the changes aren't ran by default.

Today I got new reports of this problem and so far everyone on OSX seems
to be affected! This suddenly became a big problem. To replicate:

1. Find OSX machine
2. Get GHC 7.8 rc2 package (which includes Haddock at that stage)
3. git clone g...@github.com:ekmett/free.git  cd free
4. cabal install --only-dependencies --enable-documentation  cabal
configure  cabal haddock

The reason I'm barking up cabal-devel and ghc-devs is because I honestly
can not think of anything that has changed since Haddock 2.13.2.1 that
could possibly cause this.

Does anyone have any idea at all? I think it would be very bad to
release now and have everyone on OSX unable to build docs.

FYI I get build docs on 32-bit Linux. No idea about Windows.

Thanks, I hope to hear back soon.

PS: How does one go about downgrading Cabal and cabal-install? If we
wanted to check whether cabal is the problem, how?

-- 
Mateusz K.
___
cabal-devel mailing list
cabal-devel@haskell.org
http://www.haskell.org/mailman/listinfo/cabal-devel


Re: module 'free-4.6.1:Main' is defined in multiple files

2014-03-24 Thread Mateusz Kowalczyk
On 24/03/14 21:26, Mikhail Glushenkov wrote:
 Hi,
 
 On 24 March 2014 18:54, Mateusz Kowalczyk fuuze...@fuuzetsu.co.uk wrote:

 PS: How does one go about downgrading Cabal and cabal-install? If we
 wanted to check whether cabal is the problem, how?
 
 You can force the Cabal lib version to use (in case you have multiple
 versions installed) with 'install --cabal-lib-version'. To downgrade
 cabal-install itself to some older version you need to compile and
 install that version.
 

About cabal-install, I'm mostly concerned about not breaking my whole
existing system by installing an old version. Are there any steps I can
take to retain sane setup? I don't have an OSX machine and I can't
exactly ask people volunteering to break their Haskell environments.

Are there any catches to having multiple Cabal libs installed or will
the latest one always be used if not specified?

-- 
Mateusz K.
___
cabal-devel mailing list
cabal-devel@haskell.org
http://www.haskell.org/mailman/listinfo/cabal-devel


Re: Haddock fails with Module defined in multiple files

2014-03-03 Thread Mateusz Kowalczyk
On 04/03/14 06:38, Mikhail Glushenkov wrote:
 Hi,
 
 On 4 March 2014 07:20, Mateusz Kowalczyk fuuze...@fuuzetsu.co.uk wrote:

 I don't follow the changes in cabal (even though I should) so it might
 be something really obvious that changed recently that we aren't aware of.
 
 Can this be related to https://github.com/haskell/cabal/pull/1374 ? I
 don't think that documentation for tests and benchmarks is enabled by
 default, though...
 

Hm, perhaps it could be this but as you mention, I don't think it's a
default (but what do I know, maybe it --all or something was made a
default in the bindist). I imagine that this problem would have come up
9 months ago, when the commit was merged however.

I will of course investigate further over the next few days but any help
is appreciated, especially if this turns out to be a big problem
considering GHC rc2 is out of the door.

-- 
Mateusz K.
___
cabal-devel mailing list
cabal-devel@haskell.org
http://www.haskell.org/mailman/listinfo/cabal-devel


Re: Hackage Travis build failures

2014-02-16 Thread Mateusz Kowalczyk
On 16/02/14 15:51, Mikhail Glushenkov wrote:
 Hi,
 
 On 16 February 2014 10:33, Ian Ross i...@skybluetrades.net wrote:
 Does anyone have any idea what the source of the intermittent Travis
 failures for Hackage is?
 
 Cabal builds on Travis sometimes error out because of network
 connectivity problems.
 
 Example: https://travis-ci.org/haskell/cabal/jobs/18955110
 ___
 cabal-devel mailing list
 cabal-devel@haskell.org
 http://www.haskell.org/mailman/listinfo/cabal-devel
 
There was a blog post by Travis about the mysterious connectivity
issues. They have introduced the retry command because of it. You might
want to use it.

-- 
Mateusz K.
___
cabal-devel mailing list
cabal-devel@haskell.org
http://www.haskell.org/mailman/listinfo/cabal-devel


Re: Broken documentation on Hackage.

2014-01-06 Thread Mateusz Kowalczyk
Oops, seems I sent to libraries. Let's keep the thread on cabal-devel
only as here's where the replies happened.

On 06/01/14 10:27, Malcolm Wallace wrote:

 On 5 Jan 2014, at 10:15, Mateusz Kowalczyk wrote:

 It seems that we are having a rather big issue with Hackage in recent
 months and I'm sure many of you have noticed: a lot of packages aren't
 getting their docs built. As far as I can tell, there can be multiple
 reasonable causes:

 * Dependencies fail to build so your package does
 * Your package fails to build directly
 * Your package requires non-cabal libraries which aren't installed
 * Your package requires different version of install libraries

 I think the fundamental problem is that Haddock is now built on top of
ghc.  So if a package cannot be built by ghc (for whatever reason, e.g.
missing C library dependency), then it cannot be documented either.
This is a good deal less than useful.  A documentation generator ought
to do a reasonable job, even if the code it is looking at is technically
not-compilable.

It is because it uses GHC to type check the modules and generate the
signatures. I agree that there should be some kind of fall back but it
would be a great deal less useful of an output.

 At work, we have a stand-alone documentation generator for Haskell,
which requires no compiler.  Haddock also was once stand-alone.  I think
it might be time to wind the clock backwards and retrieve this desirable
property.

Was Haddock ever stand alone? AFAIK it used to be part of GHC and then
David Waern separated it into a separate package. I honestly can't think
of how it would ever have been stand-alone (that is not relying on GHC
to do part of the work).


 Regards,
-- 
Mateusz K.
___
cabal-devel mailing list
cabal-devel@haskell.org
http://www.haskell.org/mailman/listinfo/cabal-devel


Re: Broken documentation on Hackage.

2014-01-06 Thread Mateusz Kowalczyk
On 05/01/14 10:15, Mateusz Kowalczyk wrote:
 Hi all,
 
 It seems that we are having a rather big issue with Hackage in recent
 months and I'm sure many of you have noticed: a lot of packages aren't
 getting their docs built. As far as I can tell, there can be multiple
 reasonable causes:

 [snip]
 
 [1]: https://github.com/haskell/hackage-server/issues/145
 [2]:
 https://github.com/haskell/hackage-server/issues/145#issuecomment-29468613
 [3]:
 https://github.com/haskell/hackage-server/issues/145#issuecomment-29422332
 [4]: http://hackage.haskell.org/packages/trustees/
 [5]: http://fuuzetsu.co.uk/misc/sorted.txt
 [6]:
 https://github.com/haskell/hackage-server/issues/145#issuecomment-30129142
 [7]:
 https://github.com/haskell/hackage-server/issues/145#issuecomment-29472445
 

Greetings again,

After some feedback from people over yesterday and some digging today,
few things became apparent:
* cross-package linking is broken with manual documentation
* ‘Contents’ link takes you somewhere else now
* I said ‘cd dist/doc’ instead of ‘cd dist/doc/html’

Here is what you can do to fix the package links and contents page:
add the following flags to the ‘cabal haddock’ command:

--html-location='http://hackage.haskell.org/package/$pkg/docs'
--contents-location='http://hackage.haskell.org/package/$pkg'

I'm not sure of implication of this for specific version package links.
Note also that you do need to put in ‘$pkg’, that is a cabal directive.

As usual, I welcome any comments and improvements.
-- 
Mateusz K.
___
cabal-devel mailing list
cabal-devel@haskell.org
http://www.haskell.org/mailman/listinfo/cabal-devel


Re: Broken documentation on Hackage.

2014-01-06 Thread Mateusz Kowalczyk
On 07/01/14 01:23, Peter Selinger wrote:
 Thanks, that's even better!

 However, I find that the --contents-location option to cabal haddock
 does not work properly.  Apparently it not only prevents index.html
 from being built (which makes modest sense), but it also prevents
 index-frames.html from being built (which does not). So in the frames
 view, one of the frames will just say Sorry, it's just not here.
 That's not very nice. Also, if one loads the /frames.html URL
 directly, it still points to the non-existing index.html, rather than
 the one given by --contents-location. I think these are bugs.

 For example, see
 http://hackage.haskell.org/package/yi-monokai-0.1.1.1/docs/Yi-Style-Monokai.html
 and click on Frames.

Ah, I do not use frames so I did not notice.

 One workaround is to run cabal haddock twice: first without the
 --contents-location option, and then with it. Slightly annoying, but
 it works. It has the disadvantage that if one goes directly to the
 .../frames.html URL, one will still see the old index.html.

 Another workaround is to omit the --contents-location option
 altogether, and to manually create an index.html that is just a
 forward to the correct location, i.e.:

 meta HTTP-EQUIV=REFRESH content=0; 
 url=http://hackage.haskell.org/package/newsynth-0.1.0.0;
 If your browser does not take you there automatically, please go to
 a 
 href=http://hackage.haskell.org/package/newsynth-0.1.0.0http://hackage.haskell.org/package/newsynth-0.1.0.0/a.

 Only this last solution seems to do the correct thing all the time.
 For an example, see
 http://hackage.haskell.org/package/newsynth-0.1.0.0/docs/frames.html

 Your instructions have been *very* helpful. But it's a lot of details
 and finnicky cabal directives to keep track of for doing this all the
 time. I've turned your instructions into a Makefile to automate this
 task; see attached. In principle, only the first two lines should need
 to be customized. Then make doc-upload will build the documentation
 and upload it correctly.

That looks very useful but I have a few questions about it:
* Why a Makefile as opposed to a Bash script or something? I don't
think there's a way to pass arguments into a Makefile like to Bash
scripts, save for environmental variables. I'd much rather prefer a
command line flag for a script in my PATH rather than having to change
the file each time.

* This file makes us change the top two lines (user and package name)
and uses ‘read’ for everything else. Why not fully go with one way or
the other? Personally, I'd prefer arguments rather than ‘read’ (much
easier to repeat commands/script against) but it's up to personal taste.

* Can we not grab to project name from the cabal file just like you do
with version?

* Your ‘--html-location’ has ‘$$pkg’ in it, how come? Is that some
kind of escape?

* Considering you seem to know what you're doing much more than I am,
is there any way to detect cabal sandboxes?

I'm trying your makefile now (running with make -f /tmp/Makefile
doc-upload) and
it's giving me an error:

```
[snip]
Haddock coverage:
 100% ( 18 / 18) in 'Yi.Style.Monokai'
Documentation created: dist/doc/html/yi-monokai/index.html
rm -r yi-monokai-0.1.1.1-docs
rm: cannot remove ‘yi-monokai-0.1.1.1-docs’: No such file or directory
make: *** [yi-monokai-0.1.1.1-docs.tar.gz] Error 1
```

It works fine if I comment out the ‘rm -r’. Perhaps that should be
allowed to fail somehow.

 I know, Cabal somehow was supposed to make Makefiles obsolete. Alas.
 Fortunately, the Makefile is only for the package maintainer, and not
 for the package user.

 -- Peter

I think that cabal-install should really have the option to do all
this rather than have people write up scripts like this, resulting in
trial and error.

--
Mateusz K.
___
cabal-devel mailing list
cabal-devel@haskell.org
http://www.haskell.org/mailman/listinfo/cabal-devel


Broken documentation on Hackage.

2014-01-05 Thread Mateusz Kowalczyk
Hi all,

It seems that we are having a rather big issue with Hackage in recent
months and I'm sure many of you have noticed: a lot of packages aren't
getting their docs built. As far as I can tell, there can be multiple
reasonable causes:

* Dependencies fail to build so your package does
* Your package fails to build directly
* Your package requires non-cabal libraries which aren't installed
* Your package requires different version of install libraries

While all of these are understandable, there also seem to be problems
with some packages which are seemingly perfectly fine otherwise. This
problem is not new and has been reported[1]. There is even a system in
place with Hackage 2 that would grant package owners to manually upload
documentation and a system where some people (trustees and package
maintainers) have the ability to do things like deleting the broken docs
to have the builder try again[3] but it seems that this isn't actually
used[4].

Over night I hacked up a quick program to parse some Hackage parts to
see just how much stuff was broken. I have only considered the most
recent package versions. Out of the 7761 packages, 811 came up with
missing documentations. While it is a big number (~9.56%), it includes
every package on Hackage. Next thing that follows is to restrict the
search a bit. Only considering packages from 2013 and the still very
young 2014, 210 are missing documentation. 140 of those were uploaded
since August 2013 (around the Hackage 2 move). Remember that this is
only for most recent versions on Hackage. Assuming that we didn't have a
large spike in package uploads in second half of 2013 (I don't know, are
there any charts or something?), that's unreasonably more than in the
first half of 2013.

It should be fairly clear that something is broken and I'd love to know
what. I snooped around in #hackage today for a bit and there doesn't
seem to be much sense of the urgency. Granted, people are busy but isn't
this a pretty important issue? It's not like it's recent either.

What can we do? Why isn't it fixed? Are there any suspects? Why isn't
the trustee system being used to mitigate this problem a bit while it's
being fixed? Is there any way to improve the amount of things that can
be built by trying to work out any of the points at the top of this
e-mail? Honestly, scrolling through the build logs of packages, all
failures seem reasonable (Haddock parse failure, no dependencies
installed…) and yet somehow I find myself having to click on older
version of packages to get docs very often recently. What changed? Is
there even anything to fix? Maybe I'm just getting unlucky with the
packages I click on recently.

I have uploaded the list of packages with missing documentation that
have been uploaded on Hackage in 2013 and 2014 to [5]. The format is:
(packageUrl, MissingDocs (Maybe reason) packageVersion dateUploaded). If
your package is on there, you might want to consider uploading the docs
by hand for now! Packages with ‘Nothing’ for a reason have no build log.
See [6] for a reason for those. See [7] for how to view build logs yourself.

PS: I'm unsure if these are the right lists to e-mail. I've been told
that Cabal folk maintain Hackage issues and considering so many broken
docs, libraries might also be interested in it. Feel free to point me
elsewhere.
PPS: There also seems to be a lot of 404 errors while trying to click on
some docs on some older packages that probably existed in the past.
Perhaps they were lost in the Hackage move or are a different issue all
together.

[1]: https://github.com/haskell/hackage-server/issues/145
[2]:
https://github.com/haskell/hackage-server/issues/145#issuecomment-29468613
[3]:
https://github.com/haskell/hackage-server/issues/145#issuecomment-29422332
[4]: http://hackage.haskell.org/packages/trustees/
[5]: http://fuuzetsu.co.uk/misc/sorted.txt
[6]:
https://github.com/haskell/hackage-server/issues/145#issuecomment-30129142
[7]:
https://github.com/haskell/hackage-server/issues/145#issuecomment-29472445
-- 
Mateusz K.
___
cabal-devel mailing list
cabal-devel@haskell.org
http://www.haskell.org/mailman/listinfo/cabal-devel


Re: Broken documentation on Hackage.

2014-01-05 Thread Mateusz Kowalczyk
On 05/01/14 14:14, Sven Panne wrote:
 My ALUT package is among the ones without documentation, and I have a
 theory what's wrong (probably a missing installed C library/package
 libalut-dev, see
 https://github.com/haskell-openal/ALUT/blob/master/.travis.yml). Two
 questions:
 
* As a package maintainer, how can I find out why the documentation
 is not built/published on Hackage? Logs, etc.?

I mention a link to a GitHub post in my opening post which outlines how
to access the log. In case of ALUT, the build log is at [1]
http://hackage.haskell.org/package/ALUT-2.3.0.1/reports/1/log and indeed
a C library is missing.

* Who should be contacted to polish the server a bit (i.e. install
 libalut-dev)?

No idea, but I'd love to find out myself! I'm just a disgruntled Hackage
user myself.

 Currently things are very opaque from the outside, both from a
 technical and from an organizational point of view, and manually
 uploading documentation which is effectively guaranteed to be
 wrong/outdated/etc. sooner or later is not a solution IMHO.

You would be uploading documentation for a specific package version. So
for example, if you upload something for ALUT 2.3.0.1 and later upload
upload ALUT 2.4, either the docs will be built fine (which would be
ideal) or you will have to upload them yourself again for that version.
I agree that this is subpar but I think it's better than nothing. There
should really be a ‘upload documentation’ button on the site or maybe
even a Cabal flag or maybe even ability to bundle documentation in the
package tarball when uploading it, to act as a fallback if package fails
to build. I suppose this is something that has to be discussed. Ideally,
it should just work.

 
 Cheers,
S.
 

[1]: http://hackage.haskell.org/package/ALUT-2.3.0.1/reports/1/log
-- 
Mateusz K.
___
cabal-devel mailing list
cabal-devel@haskell.org
http://www.haskell.org/mailman/listinfo/cabal-devel


Re: Broken documentation on Hackage.

2014-01-05 Thread Mateusz Kowalczyk
On 05/01/14 18:15, Peter Selinger wrote:
 I agree. Two of my packages are in your list: easyrender and newsynth
 (both have Nothing for a reason in your list).

If a package has Nothing for a reason, that means that no build log is
available. From what I've read yesterday, it's a problem with their
report system and I think it happens when cabal can't find
dependency candidates for your package. I link to a comment on GitHub
in my opening post which explains this.

 The problem for me is that, although you seem to have access to build
 logs, I don't. I have not found the way to access the hackage build
 logs for my packages or their documentation. Could you let me know
 where I can find them?

I do not have any special access to Hackage, I didn't even log in. See
my opening post for how to access the build log or see my reply to
Sven for an example. I really think there should be a button on the
site for this. If the build logs existed for newsynth, you could do
the following: check general build status[1] then check the first
report[2] then check the build log for the first report[3]. If the
build status is empty, you won't have any reports.

Check out [4][5][6] for an example on a package which failed to build
and has logs.

Effectively, the Nothing in my ‘report’ indicates no build status.

 For both packages, the documentation builds just fine on my local
 machine. It also builds fine in a virtual machine, under Windows and
 Ubuntu. Since I don't have access to Hackage's build logs, I cannot
 really figure out why the documentation is not building there. This is
 what has prevented me from fixing it.

I suspect Hackage fails to resolve your dependencies, at least that
what seems to be causing no logs. See [7] for a comment and [8] for an
existing GitHub issue (although one without any activity).

 I even created candidates for the packages, before uploading the
 packages to the main index. Again, the documentation did not build,
 and again, I could not find any logs to tell me what went wrong. So
 the whole candidate mechanism has so far been useless to me.

 You mentioned that there is a way to upload the documentation
 manually. I'd love to do that. But how? I don't see any buttons or
 links on the package maintainer's pages that would allow me to do
 that.

I post a link in my opening post to a comment about this. See [9].
I just tried to do it for one of my packages (yi-monokai-0.1.1.1) and
here are the steps I took:

1. cd ~/programming/yi-monokai
2. cabal configure  cabal build  cabal haddock --hyperlink-source
3. cd dist/doc
4. mv yi-monokai yi-monokai-0.1.1.1-docs
5. tar -c -v -z -Hustar -f yi-monokai-0.1.1.1-docs.tar.gz
yi-monokai-0.1.1.1-docs
6. curl -X PUT -H 'Content-Type: application/x-tar' -H
'Content-Encoding: gzip' --data-binary
'@yi-monokai-0.1.1.1-docs.tar.gz'
'http://USERNAME:passw...@hackage.haskell.org/package/yi-monokai-0.1.1.1/docs'

With these steps, my little package now has documentation. There's
some info on format at [10]. I might write a small blog post outlining
these steps later as it was not easy to figure out.

 Any help appreciated, -- Peter

[1]: http://hackage.haskell.org/package/newsynth-0.1.0.0/reports/
[2]: http://hackage.haskell.org/package/newsynth-0.1.0.0/reports/1
[3]: http://hackage.haskell.org/package/newsynth-0.1.0.0/reports/1/log
[4]: http://hackage.haskell.org/package/yi-monokai-0.1.1.1/reports/
[5]: http://hackage.haskell.org/package/yi-monokai-0.1.1.1/reports/1
[6]:
http://hackage.haskell.org/package/yi-monokai-0.1.1.1/reports/1/log
[7]:
https://github.com/haskell/hackage-server/issues/145#issuecomment-30129142
[8]: https://github.com/haskell/hackage-server/issues/142
[9]:
https://github.com/haskell/hackage-server/issues/145#issuecomment-29468613
[10]: https://github.com/haskell/hackage-server/issues/56
--
Mateusz K.
___
cabal-devel mailing list
cabal-devel@haskell.org
http://www.haskell.org/mailman/listinfo/cabal-devel