* Symlinks to generic names @ 2014-02-01 8:21 John Darrington 2014-02-01 18:28 ` Nikita Karetnikov 2014-02-02 7:34 ` Ludovic Courtès 0 siblings, 2 replies; 10+ messages in thread From: John Darrington @ 2014-02-01 8:21 UTC (permalink / raw) To: guix-devel [-- Attachment #1: Type: text/plain, Size: 435 bytes --] Some software (rightly or wrongly) tries to build with "lex" and "yacc" . Guix does not provide these. Instead we have "flex" and "bison". Most operating systems have symbolic links lex -> flex and yacc -> bison. Shouldn't we provide these too? J' -- PGP Public key ID: 1024D/2DE827B3 fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3 See http://sks-keyservers.net or any PGP keyserver for public key. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Symlinks to generic names 2014-02-01 8:21 Symlinks to generic names John Darrington @ 2014-02-01 18:28 ` Nikita Karetnikov 2014-02-02 0:32 ` Mark H Weaver 2014-02-02 7:34 ` Ludovic Courtès 1 sibling, 1 reply; 10+ messages in thread From: Nikita Karetnikov @ 2014-02-01 18:28 UTC (permalink / raw) To: John Darrington; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 362 bytes --] > Some software (rightly or wrongly) tries to build with "lex" and "yacc" . Guix does not provide these. > Instead we have "flex" and "bison". Most operating systems have symbolic links lex -> flex and yacc -> bison. > Shouldn't we provide these too? I guess this should solve the problem (untested): (inputs `(("lex" ,flex) ("yacc" ,bison) ...)) [-- Attachment #2: Type: application/pgp-signature, Size: 835 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Symlinks to generic names 2014-02-01 18:28 ` Nikita Karetnikov @ 2014-02-02 0:32 ` Mark H Weaver 0 siblings, 0 replies; 10+ messages in thread From: Mark H Weaver @ 2014-02-02 0:32 UTC (permalink / raw) To: Nikita Karetnikov; +Cc: guix-devel Nikita Karetnikov <nikita@karetnikov.org> writes: >> Some software (rightly or wrongly) tries to build with "lex" and "yacc" . Guix does not provide these. >> Instead we have "flex" and "bison". Most operating systems have symbolic links lex -> flex and yacc -> bison. >> Shouldn't we provide these too? > > I guess this should solve the problem (untested): > > (inputs > `(("lex" ,flex) > ("yacc" ,bison) > ...)) No, this wouldn't work. Those strings ("lex" and "yacc" above) do not become commands on the filesystem, so they won't be visible to a build system that's looking for lex or yacc. They are merely used within the derivation to refer to the inputs. Implementing John's suggestion would involve installing symbolic links in /nix/store/*-flex-* and /nix/store/*-bison-* in the flex and bison recipes, which I guess means adding a new phase to those recipes. Mark ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Symlinks to generic names 2014-02-01 8:21 Symlinks to generic names John Darrington 2014-02-01 18:28 ` Nikita Karetnikov @ 2014-02-02 7:34 ` Ludovic Courtès 2014-02-02 7:46 ` John Darrington 2014-02-02 13:40 ` John Darrington 1 sibling, 2 replies; 10+ messages in thread From: Ludovic Courtès @ 2014-02-02 7:34 UTC (permalink / raw) To: John Darrington; +Cc: guix-devel John Darrington <john@darrington.wattle.id.au> skribis: > Some software (rightly or wrongly) tries to build with "lex" and "yacc" . Guix does not provide these. > Instead we have "flex" and "bison". Most operating systems have symbolic links lex -> flex and yacc -> bison. > Shouldn't we provide these too? We had a similar discussion for ‘cc’ vs. ‘gcc’, but in practice ‘cc’ has been rare enough that it’s not worth bothering. I believe Autoconf-based packages do not have any problems with ‘flex’ and ‘bison’. What package was it? How hard is it to work around? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Symlinks to generic names 2014-02-02 7:34 ` Ludovic Courtès @ 2014-02-02 7:46 ` John Darrington 2014-02-02 18:06 ` Ludovic Courtès 2014-02-02 13:40 ` John Darrington 1 sibling, 1 reply; 10+ messages in thread From: John Darrington @ 2014-02-02 7:46 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1037 bytes --] On Sun, Feb 02, 2014 at 08:34:23AM +0100, Ludovic Courtès wrote: John Darrington <john@darrington.wattle.id.au> skribis: > Some software (rightly or wrongly) tries to build with "lex" and "yacc" . Guix does not provide these. > Instead we have "flex" and "bison". Most operating systems have symbolic links lex -> flex and yacc -> bison. > Shouldn't we provide these too? We had a similar discussion for ‘cc’ vs. ‘gcc’, but in practice ‘cc’ has been rare enough that it’s not worth bothering. I believe Autoconf-based packages do not have any problems with ‘flex’ and ‘bison’. What package was it? How hard is it to work around? It's probably not too hard. It just seems to me, that it makes more sense to do the workaround in 1 package, than in N. J' -- PGP Public key ID: 1024D/2DE827B3 fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3 See http://sks-keyservers.net or any PGP keyserver for public key. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Symlinks to generic names 2014-02-02 7:46 ` John Darrington @ 2014-02-02 18:06 ` Ludovic Courtès 0 siblings, 0 replies; 10+ messages in thread From: Ludovic Courtès @ 2014-02-02 18:06 UTC (permalink / raw) To: John Darrington; +Cc: guix-devel John Darrington <john@darrington.wattle.id.au> skribis: > On Sun, Feb 02, 2014 at 08:34:23AM +0100, Ludovic Courtès wrote: > John Darrington <john@darrington.wattle.id.au> skribis: > > > Some software (rightly or wrongly) tries to build with "lex" and "yacc" . Guix does not provide these. > > Instead we have "flex" and "bison". Most operating systems have symbolic links lex -> flex and yacc -> bison. > > Shouldn't we provide these too? > > We had a similar discussion for ‘cc’ vs. ‘gcc’, but in practice ‘cc’ has > been rare enough that it’s not worth bothering. > > I believe Autoconf-based packages do not have any problems with ‘flex’ > and ‘bison’. What package was it? How hard is it to work around? > > It's probably not too hard. It just seems to me, that it makes more sense to do the > workaround in 1 package, than in N. I understand the point, but that does not answer my question. :-) I mean, I don’t think it’s worth discussing it until we have at least two or more occurrences of the problem. Ludo’. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Symlinks to generic names 2014-02-02 7:34 ` Ludovic Courtès 2014-02-02 7:46 ` John Darrington @ 2014-02-02 13:40 ` John Darrington 2014-02-02 16:42 ` Andreas Enge 1 sibling, 1 reply; 10+ messages in thread From: John Darrington @ 2014-02-02 13:40 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1357 bytes --] On Sun, Feb 02, 2014 at 08:34:23AM +0100, Ludovic Courtès wrote: John Darrington <john@darrington.wattle.id.au> skribis: > Some software (rightly or wrongly) tries to build with "lex" and "yacc" . Guix does not provide these. > Instead we have "flex" and "bison". Most operating systems have symbolic links lex -> flex and yacc -> bison. > Shouldn't we provide these too? We had a similar discussion for ‘cc’ vs. ‘gcc’, but in practice ‘cc’ has been rare enough that it’s not worth bothering. I believe Autoconf-based packages do not have any problems with ‘flex’ and ‘bison’. What package was it? How hard is it to work around? We should at least be consistent. In guix we have a (hard) link from sh -> bash For consistency I believe we should also have csh -> tcsh lex -> flex yacc -> bison cc -> gcc egrep -> grep Then there are various versioned commands: python3 -> python wish8.6 -> wish Otherwise, individual packages are forced to do substitutes - not particularly onerous, but it makes the maintenance a pain. Just my $0.02 J' -- PGP Public key ID: 1024D/2DE827B3 fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3 See http://sks-keyservers.net or any PGP keyserver for public key. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Symlinks to generic names 2014-02-02 13:40 ` John Darrington @ 2014-02-02 16:42 ` Andreas Enge 2014-02-02 17:47 ` John Darrington 0 siblings, 1 reply; 10+ messages in thread From: Andreas Enge @ 2014-02-02 16:42 UTC (permalink / raw) To: John Darrington; +Cc: guix-devel On Sun, Feb 02, 2014 at 02:40:39PM +0100, John Darrington wrote: > python3 -> python For python, the binary python is provided by python-2.7.6. The binary python3 (and python3.3) is provided by python-3.3.3. And there is python-wrapper, which installs python-3.3.3 and creates symlinks python -> python3 etc.. So for python, there is nothing to do - if you need python3, you already have it. Generally, we intend to be closer to upstream than debian, for instance; also to keep maintenance low. So I would be very cautious about adding symbolic links. Maybe we should rather remove those that we already have? ;-) Andreas ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Symlinks to generic names 2014-02-02 16:42 ` Andreas Enge @ 2014-02-02 17:47 ` John Darrington 2014-02-03 13:46 ` Ludovic Courtès 0 siblings, 1 reply; 10+ messages in thread From: John Darrington @ 2014-02-02 17:47 UTC (permalink / raw) To: Andreas Enge; +Cc: guix-devel [-- Attachment #1: Type: text/plain, Size: 1372 bytes --] On Sun, Feb 02, 2014 at 05:42:01PM +0100, Andreas Enge wrote: On Sun, Feb 02, 2014 at 02:40:39PM +0100, John Darrington wrote: > python3 -> python For python, the binary python is provided by python-2.7.6. The binary python3 (and python3.3) is provided by python-3.3.3. And there is python-wrapper, which installs python-3.3.3 and creates symlinks python -> python3 etc.. So for python, there is nothing to do - if you need python3, you already have it. It seems that whilst guix's python2 package installs a link from python2 -> python this does not happen for python3. Generally, we intend to be closer to upstream than debian, for instance; also to keep maintenance low. So I would be very cautious about adding symbolic links. Minimising downstream modifications is certainly a noble goal. The thing is if we refuse to (say) link lex to flex, then every package which calls "lex" has to be modified, thus defeating that goal. Obviously the best option would be to get upstream to adopt our patches. Do we have any programme to actually make them aware or our patches? J' -- PGP Public key ID: 1024D/2DE827B3 fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3 See http://sks-keyservers.net or any PGP keyserver for public key. [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 198 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: Symlinks to generic names 2014-02-02 17:47 ` John Darrington @ 2014-02-03 13:46 ` Ludovic Courtès 0 siblings, 0 replies; 10+ messages in thread From: Ludovic Courtès @ 2014-02-03 13:46 UTC (permalink / raw) To: John Darrington; +Cc: guix-devel John Darrington <john@darrington.wattle.id.au> skribis: > On Sun, Feb 02, 2014 at 05:42:01PM +0100, Andreas Enge wrote: > On Sun, Feb 02, 2014 at 02:40:39PM +0100, John Darrington wrote: > > python3 -> python > > For python, the binary python is provided by python-2.7.6. The binary > python3 (and python3.3) is provided by python-3.3.3. And there is > python-wrapper, which installs python-3.3.3 and creates symlinks > python -> python3 etc.. > > So for python, there is nothing to do - if you need python3, you already > have it. > > It seems that whilst guix's python2 package installs a link from python2 -> python > this does not happen for python3. Actually, in Python 2.x, the binary is called ‘python’; in Python 3, the binary is called ‘python3’ (these are decisions made by the Python maintainers, which we just follow.) For Python 3, we have ‘python3-wrapper’ which provides a symlink to facilitate things. > Minimising downstream modifications is certainly a noble goal. The thing > is if we refuse to (say) link lex to flex, then every package which calls "lex" > has to be modified, thus defeating that goal. Please list packages that need it, thanks. :-) Ludo’. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-02-03 13:51 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-02-01 8:21 Symlinks to generic names John Darrington 2014-02-01 18:28 ` Nikita Karetnikov 2014-02-02 0:32 ` Mark H Weaver 2014-02-02 7:34 ` Ludovic Courtès 2014-02-02 7:46 ` John Darrington 2014-02-02 18:06 ` Ludovic Courtès 2014-02-02 13:40 ` John Darrington 2014-02-02 16:42 ` Andreas Enge 2014-02-02 17:47 ` John Darrington 2014-02-03 13:46 ` Ludovic Courtès
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).