November 27, 2013
On Wednesday, 27 November 2013 at 17:58:48 UTC, Andrei Alexandrescu wrote:
> On 11/27/13 2:26 AM, Martin Krejcirik wrote:
>> On 26.11.2013 20:02, Andrei Alexandrescu wrote:
>>>> (0x00007f28ca047000)
>>>>     libsasl2.so.2 => /usr/lib/x86_64-linux-gnu/libsasl2.so.2
>>>> (0x00007f28c9e2b000)
>>>>     /lib64/ld-linux-x86-64.so.2 (0x00007f28cd28e000)
>>>>     libtasn1.so.3 => /usr/lib/x86_64-linux-gnu/libtasn1.so.3
>>>> (0x00007f28c9c1a000)
>>>>     libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0
>>>> (0x00007f28c99fa000)
>>>>     libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0
>>>> (0x00007f28c97f6000)
>>>>
>>>
>>> But those are already installed libraries, right?
>>
>> The problem (in my case) is, that you also need to install the -dev
>> packages of these libraries just to compile Phobos (even if you don't
>> use curl in your programs at all).
>>
>> Maybe we just need something like --without-curl for Phobos makefile.
>
> We could add that. I'll note that building Phobos is something for the experts only.
>
> Andrei

I'm not sure I would consider myself an expert but I compile dmd/druntime/phobos once a day on 3 different machines. Hah, now I type that it seems a little excessive!
November 27, 2013
On 2013-11-27 19:15, H. S. Teoh wrote:

> Didn't Nick already write a script that would generate separate tarballs
> / zipballs / whatnot for each supported platform?

Yes, https://github.com/D-Programming-Language/installer/pull/24

-- 
/Jacob Carlborg
November 27, 2013
On 2013-11-27 19:00, Andrei Alexandrescu wrote:

> I agree the business with distributing all binaries for all platforms in
> the .zip is just weird. We should drop it for the New Year's release.

I would hate to see the cross-platform zip gone. It would break DVM and probably other tools/scripts.

I don't mind additional packages but please, keep the current zip as well.

-- 
/Jacob Carlborg
November 27, 2013
On 11/27/13 10:57 AM, Jacob Carlborg wrote:
> On 2013-11-27 19:00, Andrei Alexandrescu wrote:
>
>> I agree the business with distributing all binaries for all platforms in
>> the .zip is just weird. We should drop it for the New Year's release.
>
> I would hate to see the cross-platform zip gone. It would break DVM and
> probably other tools/scripts.
>
> I don't mind additional packages but please, keep the current zip as well.

Wait, you mean with binaries and all?

Andrei

November 27, 2013
On Wed, Nov 27, 2013 at 07:45:07PM +0100, John Colvin wrote:
> On Wednesday, 27 November 2013 at 17:58:48 UTC, Andrei Alexandrescu wrote:
[...]
> >We could add that. I'll note that building Phobos is something for the experts only.
> >
> >Andrei
> 
> I'm not sure I would consider myself an expert but I compile dmd/druntime/phobos once a day on 3 different machines. Hah, now I type that it seems a little excessive!

I don't have 3 different machines, but I find myself compiling git HEAD so often, that I've written a script that automatically pulls upstream master, pushes to my github fork, runs make clean, and rebuilds everything from scratch. Sometimes, I run that script multiple times a day. :)

But yeah, if you can build the D toolchain by hand, I'd consider you as an expert. Perhaps not as expert as the phobos devs, maybe, but definitely not among the lay people. ;-)

To D's credit, though, building the toolchain really *is* as simple as just running the makefiles in the source code in the right order (dmd, druntime, then phobos), perhaps with an option or two (like MODEL=64).

Try doing that with, say, the gcc toolchain, and you're in for a journey of pain that will last, if you're lucky, days, or if not, weeks and maybe even months. (Unless you're just one of those geniuses that seem to have no problem whatsoever in taming the gcc / glibc build process. I'm certainly not among them. The gcc build scripts hate me, and hate me a lot, for some reason, and they just refuse to work in my environment. I flinch every time the thought of rebuilding gcc comes to mind. The dmd toolchain is, in comparison, a pleasure to build.)


T

-- 
A mathematician is a device for turning coffee into theorems. -- P. Erdos
November 27, 2013
On Wednesday, 27 November 2013 at 18:58:42 UTC, Andrei Alexandrescu wrote:
> Wait, you mean with binaries and all?

Yeah, I like it the way it is too since I use the binaries too, building windows programs from my linux box calling wine dmd. My scripts currently assume the zip layout and it works pretty beautifully.

I hate installers and package managers, the zip rox.


Though, I've said this before, but I could actually live with a separate zip per platform if:

1) the folder layouts remains the same. So if I unzip dmd-windows.zip, unzip dmd-linux.zip in the same place, it would recreate the same directory layout we have now.

2) The Windows zip actually offers a compelling benefit: include up-to-date .lib files and more complete Win32 bindings out of the box!
November 27, 2013
On Wednesday, 27 November 2013 at 18:16:34 UTC, H. S. Teoh wrote:
> Didn't Nick already write a script that would generate separate tarballs
> / zipballs / whatnot for each supported platform?

It still implies that "Linux xx-bit" is a single platform which is not true.
November 27, 2013
On Wednesday, 27 November 2013 at 18:57:23 UTC, Jacob Carlborg wrote:
> On 2013-11-27 19:00, Andrei Alexandrescu wrote:
>
>> I agree the business with distributing all binaries for all platforms in
>> the .zip is just weird. We should drop it for the New Year's release.
>
> I would hate to see the cross-platform zip gone. It would break DVM and probably other tools/scripts.
>
> I don't mind additional packages but please, keep the current zip as well.

DVM is already broken if it relies on binaries present in .zip
We can't claim that we support things that we don't actually support
November 27, 2013
On Wednesday, 27 November 2013 at 19:10:26 UTC, Adam D. Ruppe wrote:
> On Wednesday, 27 November 2013 at 18:58:42 UTC, Andrei Alexandrescu wrote:
>> Wait, you mean with binaries and all?
>
> Yeah, I like it the way it is too since I use the binaries too, building windows programs from my linux box calling wine dmd. My scripts currently assume the zip layout and it works pretty beautifully.

I don't think Windows binaries will go anywhere as they do work on all supported Windows versions. Problem is with considering "Linux" a single platform while in practice each distro is more like separate operating system (despite being so similar in many things).

My vision is that we can keep current layout but to make it mandatory to run `make` on target Linux system to create actual binaries in the same places they are present right now. It should work quite reliably at only added cost of actual compilation time (which is relatively small for dmd + phobos)
November 27, 2013
On 2013-11-27 20:13, Dicebot wrote:

> DVM is already broken if it relies on binaries present in .zip
> We can't claim that we support things that we don't actually support

So we don't support the zip we release every time?

-- 
/Jacob Carlborg