October 27, 2014
On Mon, 2014-10-27 at 09:19 +0000, John Colvin via Digitalmars-d wrote: […]
> dub functions fine without internet connection. Packages already in ~/.dub (or wherever else you might choose) are used.
> 
> There isn't anything important to be done to fix this any further: If you want to get code you haven't already decided to download, you're going to have to have an internet connection and download it.

Indeed, dub currently behaves exactly as Maven and Gradle, and as it
should. The workflow for all build systems which handle dependency
artefacts stored centrally is fundamentally the same.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


October 27, 2014
Walter Bright:

> http://www.quora.com/What-are-the-algorithms-required-to-solve-all-problems-using-C++-in-any-competitive-coding-contest
>
> Anyone want to review these and see what we should add to Phobos?

It's a good idea to help people that want to use D for contests, because contests require to write small programs from scratch and this is a very good situation to try new/uncommon languages as D.

Some of those algorithms seem too much large to implement for Phobos (Voronoi), other seem too much specialized, but some of them seem acceptable for Phobos.

Regarding simple but very useful things to add to Phobos, I have several Phobos enhancement requests in Bugzilla, that are often more basic than the algorithms in that page. If you want I can list some of them here.

Bye,
bearophile
October 27, 2014
On Monday, 27 October 2014 at 09:19:26 UTC, John Colvin wrote:
> On Monday, 27 October 2014 at 09:10:41 UTC, Russel Winder via Digitalmars-d wrote:
>> On Sun, 2014-10-26 at 23:42 +0100, Martin Nowak via Digitalmars-d wrote:
>> […]
>>> Seriously, internet connection, well you can fetch packages and use them locally.
>> […]
>>
>> Yes seriously, having to have an Internet connection, to get anything
>> started is a serious problem for many people. When at home it is not a
>> problem, when on the road it is a ####### disaster.
>>
>> As with Maven, Gradle, (anything in the JVM-verse with artefact
>> dependencies) you have to pre-plan having all the artefacts you might
>> want before leaving the Internet. Thus no serendipitous starting of new
>> work.
>>
>> Until the Internet is a high speed resource free for everyone at all
>> times everywhere, please do not hardwire into build tools assumptions
>> that it is there Internet connectivity as Maven originally did.
>
> dub functions fine without internet connection. Packages already in ~/.dub (or wherever else you might choose) are used.

And how is it going to get there? It is common for build service (openSUSE's OBS for instance) to disable all internet connectivity. All things that are necessary for building get installed by the build service from prebuilt packages _before_ the system is booted. It cannot download additional files during the build process.
October 27, 2014
On Monday, 27 October 2014 at 13:24:26 UTC, Marc Schütz wrote:
> On Monday, 27 October 2014 at 09:19:26 UTC, John Colvin wrote:
>> On Monday, 27 October 2014 at 09:10:41 UTC, Russel Winder via Digitalmars-d wrote:
>>> On Sun, 2014-10-26 at 23:42 +0100, Martin Nowak via Digitalmars-d wrote:
>>> […]
>>>> Seriously, internet connection, well you can fetch packages and use them locally.
>>> […]
>>>
>>> Yes seriously, having to have an Internet connection, to get anything
>>> started is a serious problem for many people. When at home it is not a
>>> problem, when on the road it is a ####### disaster.
>>>
>>> As with Maven, Gradle, (anything in the JVM-verse with artefact
>>> dependencies) you have to pre-plan having all the artefacts you might
>>> want before leaving the Internet. Thus no serendipitous starting of new
>>> work.
>>>
>>> Until the Internet is a high speed resource free for everyone at all
>>> times everywhere, please do not hardwire into build tools assumptions
>>> that it is there Internet connectivity as Maven originally did.
>>
>> dub functions fine without internet connection. Packages already in ~/.dub (or wherever else you might choose) are used.
>
> And how is it going to get there? It is common for build service (openSUSE's OBS for instance) to disable all internet connectivity. All things that are necessary for building get installed by the build service from prebuilt packages _before_ the system is booted. It cannot download additional files during the build process.

I'm not sure I fully understand, but `dub upgrade` will download all the dependencies for the current package.

The --cache=VALUE option can be used to specify where you want them put.
October 27, 2014
On Sunday, 26 October 2014 at 20:58:39 UTC, Martin Nowak wrote:
> On 10/26/2014 02:37 AM, Vic wrote:
>> JRE has Oracle and 100 devs, CLR has MS and 100 dec, there are 7
>> for D, and it should be narrow, like LUA. It should have 7% of
>> their platform. Majority of scared cows must be killed, the
>> sooner leaders realize the better.
>
> I'd actually also like to see less things being stuffed into phobos.
> Now that we have dub and code.dlang.org the benefit of adding something to phobos instead of maintaining it as a separate library is much smaller. And we already have some

Please tell us more. Separation libraries may  accelerate the
program's execution, or only compilation speed?

> unmaintained/problematic modules in phobos that would be better as external libraries (std.signals, std.net.curl, std.xml).

October 27, 2014
On Monday, 27 October 2014 at 13:44:23 UTC, John Colvin wrote:
> On Monday, 27 October 2014 at 13:24:26 UTC, Marc Schütz wrote:
>> On Monday, 27 October 2014 at 09:19:26 UTC, John Colvin wrote:
>>> dub functions fine without internet connection. Packages already in ~/.dub (or wherever else you might choose) are used.
>>
>> And how is it going to get there? It is common for build service (openSUSE's OBS for instance) to disable all internet connectivity. All things that are necessary for building get installed by the build service from prebuilt packages _before_ the system is booted. It cannot download additional files during the build process.
>
> I'm not sure I fully understand, but `dub upgrade` will download all the dependencies for the current package.
>
> The --cache=VALUE option can be used to specify where you want them put.

I'm speaking about this:
https://build.opensuse.org/

This is for openSUSE, but Redhat/Fedore, Debian and others have similar services. They are used to build software packages (RPM, DEB) for all of a Linux distributions programs and libraries from the source. Each build starts off with a completely freshly installed environment (VM), and during it there is not internet connection. It can only access files from other packages that the build service has preinstalled into this system (as specified in the package's dependencies), or the package's source files.

This means that in order to build a DUB based project in such a system, there must not be external dependencies that DUB itself downloads. Instead, these dependencies need to be built separately as *-devel packages and then pulled as build requirements. Thus DUB needs to be told _not_ to download libraries, but use those that are already present in the system.
1 2
Next ›   Last »