unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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: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  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 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).