[racket-dev] Too many license files
Hi, As I am testing upcoming 6.0 release build process, one thing that strikes me is the number of LICENCE.txt files, 166 of them. add the 3 for the copying COPYING-libscheme.txt, COPYING_LESSER.txt, COPYING.txt makes 169 in total. Is is really necessary to have the 166 copies of the same file ? Mind you it is not the size but identical file being installed 166 times is the issue here Please DO NOT put me in To or CC, just reply to the mailinglist/newsgroup -- Life is endless possibilities _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] Testing for Racket v6.0
Ryan == Ryan Culpepper ryanc-1vnkwvzi4qavc3sceru...@public.gmane.org writes: Ryan We need volunteers for a final round of testing for Racket v6.0. Ryan This round of testing will focus on the package system and changes Ryan related to it. Ryan We would like to test the release candidate on the following Ryan configurations: Ryan - Unix build from source, in-place install Ryan - Unix build from source, Unix-style install I want to test these as I am the maintainer for racket openSUSE packages Togan -- Life is endless possibilities _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] package-system update
On Sun, 21 Jul 2013 10:32:10 -0600, Matthew Flatt mflatt-sDh8Nw2yj/+vc3sceru...@public.gmane.org said: Matthew When the gui (or gui-lib) package is installed, then a Matthew gracket executable is added to bin. The starter executable Matthew is used by `raco exe' to generate executables (that sometimes Matthew refer back to gracket). Ok there is progress to report, I can now build the core package alone. However one thing is missing, the man pages are not installed by the make install phase. For openSUSE (yet it should be the same for other distros) every executable file should have a man page. Thanks Togan -- o.o.o o_o__o _o ,_o o_ | `|' (|))'),' ` |( ' (, ,( )| ' ( ) [ ] [ ]\ / \/ \/ _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] package-system update
On Sat, 20 Jul 2013 10:36:09 -0600, Matthew Flatt mflatt-sDh8Nw2yj/+vc3sceru...@public.gmane.org said: Matthew At Sat, 20 Jul 2013 17:12:26 +0200, Togan Muftuoglu wrote: On Fri, 19 Jul 2013 17:43:42 -0600, Matthew Flatt mflatt-sDh8Nw2yj/+vc3sceru5cw-xmd5yjdbdmrexy1tmh2...@public.gmane.org said: Matthew The documentation directory and collection directory should be Matthew configurable, now. Looks like but I still have problems with the build process as directory contents are not copied to the destinations. Matthew The share, doc, and etc directories will be empty/missing Matthew for a core build, so that's as expected. (But config vs. etc Matthew was a bug that now should be fixed.) Ok there is some progress but I am still not there. Let me briefly go over the current problems, this could be due to I am building rpm packages, but nevertheless: 1. Makefile in the main directory (not racket/src/Makefile.in) does not understand rpmmacro %_smp_mflags which basically sets the CPU and JOBS automatically setting CUPS=`/usr/bin/getconf _NPROCESSORS_ONLN` get this done easier That goes also true for %configure macro which sets most of the things based on the build machine ie /usr/lib64 for x86_64 and /usr/lib for i586. Not being able to the rpm macros makes packaging pain So currently I am avoiding using this Makefile 2. using racket/src configure for x86_64 build and make produces this make[6]: Leaving directory `/home/abuild/rpmbuild/BUILD/racket-5.90.0.1/racket/src/gracket' cd ..; rm -f /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-22.1.x86_64/usr/lib64/racket/gracketcgc cd ..; rm -f /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-22.1.x86_64/usr/lib64/racket/gracket cd ..; echo 'MROPTIONS=' /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-22.1.x86_64/usr/lib64/racket/buildinfo cd ..; echo MRLIBS= /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-22.1.x86_64/usr/lib64/racket/buildinfo cd ..; echo MRLDFLAGS=-pthread -L../racket \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-22.1.x86_64/usr/lib64/racket/buildinfo cd ..; mkdir -p /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-22.1.x86_64/usr/lib64; make[5]: Leaving directory `/home/abuild/rpmbuild/BUILD/racket-5.90.0.1/racket/src/gracket' make install-wx_xt-3m make[5]: Entering directory `/home/abuild/rpmbuild/BUILD/racket-5.90.0.1/racket/src/gracket' make install-lib-3m-wx_xt make[6]: Entering directory `/home/abuild/rpmbuild/BUILD/racket-5.90.0.1/racket/src/gracket' make[6]: Leaving directory `/home/abuild/rpmbuild/BUILD/racket-5.90.0.1/racket/src/gracket' cd ..; /usr/bin/libtool --mode=install cp gracket/gracket3m \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-22.1.x86_64/usr/lib64/racket/gracket libtool: install: cp gracket/.libs/gracket3m \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-22.1.x86_64/usr/lib64/racket/gracket ^^ That should not be the case gracket is not a library file it belongs to /usr/bin gracket: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), \ dynamically linked (uses shared libs), for GNU/Linux 2.6.32, There is also starter as /usr/lib64/racket/starter which has it come down to play yet but that is also wrong location for an executable starter: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, Thanks -- o.o.o o_o__o _o ,_o o_ | `|' (|))'),' ` |( ' (, ,( )| ' ( ) [ ] [ ]\ / \/ \/ _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] package-system update
On Fri, 19 Jul 2013 17:43:42 -0600, Matthew Flatt mflatt-sDh8Nw2yj/+vc3sceru...@public.gmane.org said: Matthew The documentation directory and collection directory should be Matthew configurable, now. Looks like but I still have problems with the build process as directory contents are not copied to the destinations. make install-common-middle make[3]: Entering directory `/home/abuild/rpmbuild/BUILD/racket-5.90.0.1/racket/src' make copytree-run make[4]: Entering directory `/home/abuild/rpmbuild/BUILD/racket-5.90.0.1/racket/src' racket/racketcgc -u \ ./../collects/setup/unixstyle-install.rkt \ make-install-copytree ./.. \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/bin \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/share/racket \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/share/doc/packages/racket \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/lib64 \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/include/racket \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/lib64/racket \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/share/racket \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/etc/racket \ /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/share/man no Copying collects - /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/share/racket Copying share - /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/share/racket missing source path share, skipping... Copying doc - /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/usr/share/doc/packages/racket missing source path doc, skipping... Copying config - /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/etc/racket missing source path config, skipping... Rewriting configuration file at: /home/abuild/rpmbuild/BUILDROOT/racket-5.90.0.1-0.x86_64/etc/racket/config.rktd... Matthew Besides starting from the git repository, you could also try out Matthew the new source snapshot: Matthew http://www.cs.utah.edu/plt/snapshots/ Matthew The label on the Source snapshots really should say something Matthew like kernel in source form, plus pre-built packages and Matthew documentation. The Minimal Racket variant doesn't have any Matthew packages, but it has the core collections pre-built, and Matthew installing a package from the main distribution gets the package Matthew in pre-built form from the snapshot site. Sorry my understanding from a source package is just source nothing built or pre-compiled interim product. So source = text files + icons. Yours don't count as source for me. Matthew I tried out the Racket | Source version, which took about one Matthew minute to download (83 MB), about 3-4 minutes for `configure' Matthew plus `make', and about 40 seconds for `make install'. After `make Matthew install', DrRacket was ready to go, and all documentation (for Matthew the main distribution) was available. Yes but my source package is 16 MB with xz compression and circa 21 MB when I package it as tgz. Surely they are smaller than your packages. That also means in the future I would expect a source only package to be available just like it is currently for the 5.3.5 release. -- o.o.o o_o__o _o ,_o o_ | `|' (|))'),' ` |( ' (, ,( )| ' ( ) [ ] [ ]\ / \/ \/ _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] package-system update
On Wed, 17 Jul 2013 19:52:21 -0600, Matthew Flatt mflatt-sDh8Nw2yj/+vc3sceru...@public.gmane.org said: Matthew I think the new system is as ready as it's going to get without Matthew further feedback, and my guess is that the problem hasn't been Matthew fixed. Can you check with the latest? When I check the current HEAD tag of the master this is what I get. Is this what it should be if not can it be fixed so it reflects reality? ~/devel/git-sources/racket $ git describe --tags HEAD v5.0.1-12863-g3c0b799 Togan o.o.o o_o__o _o ,_o o_ | `|' (|))'),' ` |( ' (, ,( )| ' ( ) [ ] [ ]\ / \/ \/ _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] package-system update
On Wed, 17 Jul 2013 19:52:21 -0600, Matthew Flatt mflatt-sDh8Nw2yj/+vc3sceru...@public.gmane.org said: Matthew At Mon, 15 Jul 2013 23:17:08 +0200, Togan Muftuoglu wrote: Maybe I have missed it but is there, or will there be a documentation showing the dependency of packages. Like package B requires A C and recommends F. Matthew We'll need documentation to say which package provides a given Matthew library. Matthew I don't anticipate documentation for a package that says which Matthew other packages it depends on, because that seems like an Matthew implementation detail of the package. Similarly, the Matthew documentation for a library does not specify what other libraries Matthew it imports --- only the bindings that the library provides. As a side note I have a patch that puts all generated documentation to /usr/share/doc/packages as the Makefile 5.3.5 (also the previous ones) do not honor the command line given parameters to the make command. I can send the patch (which is trivial anyway) but I guess the when the system will be ready the whole Makefile will be different. Matthew I think the new system is as ready as it's going to get without Matthew further feedback, and my guess is that the problem hasn't been Matthew fixed. Can you check with the latest? I have some issues compared to 5.3.5 where it was easy to fix. This is not the case with the current git HEAD 1. configure and Makefile should allow docdir parameter given at as an arg generated documentation (ie. html pdf) and other docs (README License etc) should be located in for opensuse /usr/share/doc/packages/PACKAGE-NAME since documention can be packaged separately and the end user has the option of not installing it/them. 2. collects path should be allowed for another location ie. /usr/lib/racked/collects for opensuse should be /usr/share/racket/collects Finally currently build system can't complete the install stage ./racketcgc -cu ./collects-path.rkt \ /home/abuild/rpmbuild/BUILDROOT/racket-5.6.0-0.x86_64/usr/lib64/racket/starter \ /usr/lib64/racket/collects vector-ref: index is out of range index: 2 valid range: [0, 1] vector: '#(/home/abuild/rpmbuild/BUILDROOT/racket-5.6.0-0.x86_64/usr/lib64/racket/starter /usr/lib64/racket/collects) So at the moment I haven't been able to create a rpm package the configure options are %configure --enable-shared \ --disable-static --docdir=%_defaultdocdir/%name --disable-strip --enable-places --enable-lt=/usr/bin/libtool make make install DESTDIR=/BUILDROOT/%{name}-%{version}-%{release}.x86_64 Thanks Togan -- o.o.o o_o__o _o ,_o o_ | `|' (|))'),' ` |( ' (, ,( )| ' ( ) [ ] [ ]\ / \/ \/ _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] package-system update
On Thu, 18 Jul 2013 19:51:08 -0400, James McCoy jamessan-8fiuurrzop0dnm+yrof...@public.gmane.org said: James On Thu, Jul 18, 2013 at 05:07:38PM -0600, Matthew Flatt wrote: At Fri, 19 Jul 2013 00:48:10 +0200, Togan Muftuoglu wrote: 1. configure and Makefile should allow docdir parameter given at as an arg [...] 2. collects path should be allowed for another location ie. [...] I'll work on those. James David or I probably should have brought up the second point James earlier. We've been carrying a patch[0] in Debian to do that for a James while now, although it's just changing one hard-coded path with James another. Well, I have a patch that is similar to debian also with the addition of the doc location fix. But the main issues are not these two -- o.o.o o_o__o _o ,_o o_ | `|' (|))'),' ` |( ' (, ,( )| ' ( ) [ ] [ ]\ / \/ \/ _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] package-system update
On Thu, 18 Jul 2013 17:07:38 -0600, Matthew Flatt mflatt-sDh8Nw2yj/+vc3sceru...@public.gmane.org said: Matthew At Fri, 19 Jul 2013 00:48:10 +0200, Togan Muftuoglu wrote: 1. configure and Makefile should allow docdir parameter given at as an arg [...] 2. collects path should be allowed for another location ie. [...] Matthew I'll work on those. Thanks Finally currently build system can't complete the install stage ./racketcgc -cu ./collects-path.rkt \ /home/abuild/rpmbuild/BUILDROOT/racket-5.6.0-0.x86_64/usr/lib64/racket/starter \ /usr/lib64/racket/collects Matthew Is this from a generated Makefile, or it is from some other Matthew script? That is from the generated Makefile. I use the racket/src/configure to generate the Makefile Matthew The collects-path.rkt script now expects a second path, with is Matthew the configuration directory path to embed in the executable. Is it necessary the configuration directory path should be embed in the executable. Why can't it be set at load time similar to Emacs init file concept -- o.o.o o_o__o _o ,_o o_ | `|' (|))'),' ` |( ' (, ,( )| ' ( ) [ ] [ ]\ / \/ \/ _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] package-system update
On Mon, 15 Jul 2013 09:34:00 -0600, Matthew Flatt mfl...@cs.utah.edu said: Matthew At Sun, 14 Jul 2013 15:59:28 +0200, tog...@opensuse.org wrote: On Sun, 14 Jul 2013 07:00:14 -0600, Matthew Flatt mfl...@cs.utah.edu said: Matthew Longer term, I think that OS-level packages/ports should probably Matthew reflect a minimal Racket installation, and then further Racket Matthew packages would be installed via the Racket package system. Well, I would argue the other way around, as the whole package system would have been prepared for the distribution in mind, for example I build the package with shared-libraries, and avoding any static library, in addition to not to use bundled software ie. libffi. This makes my life as the maintainer of the package easier as any possible bug/security fix would be easier. Matthew I agree that all the things you list should be part of any Matthew OS-specific packaging of Racket. I think all of those details are Matthew part of the core build, so they would be consistent with a Matthew Minimal Racket package. Maybe I have missed it but is there, or will there be a documentation showing the dependency of packages. Like package B requires A C and recommends F. Currently the opensuse packages have a racket package and separate packages for drracket, webserver, slideshow. As a side note I have a patch that puts all generated documentation to /usr/share/doc/packages as the Makefile 5.3.5 (also the previous ones) do not honor the command line given parameters to the make command. I can send the patch (which is trivial anyway) but I guess the when the system will be ready the whole Makefile will be different. Having said that the idea sounds more like the Emacs elpa system, and the user has the option to either download the distro provided packages or elpa versions. So in a effect racket goes the similar way. Matthew Yes, that sounds right. Ok then what is the current default install directory for the user downloaded packages ? It should be user's home directory by default as it is with elpa and its derivative melpa _ Racket Developers list: http://lists.racket-lang.org/dev