May 24, 2012
On Wed, 2012-05-23 at 16:14 -0700, Walter Bright wrote:
> Currently, getting D code from github is a multistep process, that isn't always obvious. I propose the creation of a dget program, which will:

Sounds like you are asking for the same thing that the go program provides for Go. Except that go is also the package manager and build manager. It enforces convention over configuration and thereby becomes simple -- as long as package providers follow the rules, but then that is the whole point of convention over configuration. The go command understands GitHub, BitBucket and Launchpad so fails to discriminate over choice of DVCS.

-- 
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


May 24, 2012
On Thursday, 24 May 2012 at 08:13:29 UTC, Russel Winder wrote:
> On Wed, 2012-05-23 at 16:14 -0700, Walter Bright wrote:
>> Currently, getting D code from github is a multistep process, that isn't always obvious. I propose the creation of a dget program, which will:
>
> Sounds like you are asking for the same thing that the go program
> provides for Go. Except that go is also the package manager and build
> manager. It enforces convention over configuration and thereby becomes
> simple -- as long as package providers follow the rules, but then that
> is the whole point of convention over configuration. The go command
> understands GitHub, BitBucket and Launchpad so fails to discriminate
> over choice of DVCS.

"Go get" still has an issue with version dependencies, as it
gets latest.
May 24, 2012
On Thursday, 24 May 2012 at 05:51:38 UTC, Jonathan M Davis wrote:
> On Thursday, May 24, 2012 12:45:57 Ary Manzana wrote:
>> I think it's better to focus on a package manager that will make this
>> 'dget' program obsolete.
>
> Though dget would be a pretty good name for a D package manager.
>
> - Jonathan M Davis

Agreed.

Every time I need to do something in an language without official package manager support, I curse myself.

The uniform way of getting software distributed across operating systems is a great feature and it is a joy to integrate with CI systems.

I even forgive Maven for all its quirks.

--
Paulo
May 24, 2012
On 2012-05-24 02:23, Alex Rønne Petersen wrote:

> Maybe this should be part of whatever package manager the community ends
> up using. I think several people have been / are working on such programs.

I still am, although slowly:

https://github.com/jacob-carlborg/orbit/wiki/Orbit-Package-Manager-for-D
https://github.com/jacob-carlborg/orbit

-- 
/Jacob Carlborg
May 24, 2012
On Thu, 2012-05-24 at 10:34 +0200, Paulo Pinto wrote:
[...]
> Every time I need to do something in an language without official package manager support, I curse myself.

On the other hand Debian, Fedora, FreeBSD, MacOSX, etc. already have package managements systems. A problem is that Windows does not.

Experience shows (Maven, Gems, Hackage, ...) that having language specific packaging and platform specific packaging causes strife.

Scala has made the bold move to go with platform packaging and working with the platform teams so as to avoid the hassles seen by Java, Ruby, Python, Haskell. Maybe this will lead to the first language specific packaging that works in sympathy with the platform packaging.

> The uniform way of getting software distributed across operating systems is a great feature and it is a joy to integrate with CI systems.
> 
> I even forgive Maven for all its quirks.

I like the Maven repository, I think Maven the build framework should be banned, along with Ant. But then I would given my relationship with Gradle and SCons (and Gant and Waf).

-- 
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


May 24, 2012
On Thu, 2012-05-24 at 10:29 +0200, Paulo Pinto wrote:
[...]
> 
> "Go get" still has an issue with version dependencies, as it gets latest.

I wasn't trying to say it was perfect, apologies if that impression came across. I was trying to say that there was a model of source code organization for core+packages that as been tried and appears to be successful to an extent better than anything seen in C, C++, Fortran, etc. Python, Ruby, Java (and hence Groovy and to a lesser extent Scala) are going a slightly different route, but are definitely ahead as well.

-- 
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


May 24, 2012
On 24-05-2012 11:50, Russel Winder wrote:
> On Thu, 2012-05-24 at 10:34 +0200, Paulo Pinto wrote:
> [...]
>> Every time I need to do something in an language without official
>> package manager support, I curse myself.
>
> On the other hand Debian, Fedora, FreeBSD, MacOSX, etc. already have
> package managements systems. A problem is that Windows does not.
>
> Experience shows (Maven, Gems, Hackage, ...) that having language
> specific packaging and platform specific packaging causes strife.

Huh, it does? I've always found those tools ridiculously easy and great to work with.

I use easy_install for Python frequently and largely prefer NuGet for .NET development. In the little time I spent with Haskell, I also found Cabal very useful.

>
> Scala has made the bold move to go with platform packaging and working
> with the platform teams so as to avoid the hassles seen by Java, Ruby,
> Python, Haskell. Maybe this will lead to the first language specific
> packaging that works in sympathy with the platform packaging.
>
>> The uniform way of getting software distributed across operating
>> systems is a great feature and it is a joy to integrate with CI
>> systems.
>>
>> I even forgive Maven for all its quirks.
>
> I like the Maven repository, I think Maven the build framework should be
> banned, along with Ant. But then I would given my relationship with
> Gradle and SCons (and Gant and Waf).
>


-- 
Alex Rønne Petersen
alex@lycus.org
http://lycus.org
May 24, 2012
On Thursday, 24 May 2012 at 09:50:33 UTC, Russel Winder wrote:
> On Thu, 2012-05-24 at 10:34 +0200, Paulo Pinto wrote:
> [...]
>> Every time I need to do something in an language without official package manager support, I curse myself.
>
> On the other hand Debian, Fedora, FreeBSD, MacOSX, etc. already have
> package managements systems. A problem is that Windows does not.
>
> Experience shows (Maven, Gems, Hackage, ...) that having language
> specific packaging and platform specific packaging causes strife.


Platform specific package management is not enough for development use. It only works, if you need the version the platform provides. And everyone must have the same platform to have the same version.




May 24, 2012
On May 24, 2012 6:43 AM, "Tobias Pankrath" <tobias@pankrath.net> wrote:
>
> On Thursday, 24 May 2012 at 09:50:33 UTC, Russel Winder wrote:
>>
>> On Thu, 2012-05-24 at 10:34 +0200, Paulo Pinto wrote:
>> [...]
>>>
>>> Every time I need to do something in an language without official
package manager support, I curse myself.
>>
>>
>> On the other hand Debian, Fedora, FreeBSD, MacOSX, etc. already have package managements systems. A problem is that Windows does not.
>>
>> Experience shows (Maven, Gems, Hackage, ...) that having language specific packaging and platform specific packaging causes strife.
>
>
>
> Platform specific package management is not enough for development use.
It only works, if you need the version the platform provides. And everyone must have the same platform to have the same version.
>

Yes and no, for actually using programs that use the language the system package manager is far superior because when you install an app it can also install the required packages in one go. (As opposed to having to go to the d package manager and get the right libs.  However you bring up the point of development.  If you look at the arch build system it has what you want.  You can write descriptions on how to download and build a package and then is it just as easy to install as a dget would be, however thee advantage is that you can still depend on these packages.  Also, for switching versions all you have to do is change on variable.  I'm sure there are things like this for other systems but I use arch and I see a solution to your problem.


May 24, 2012
On 2012-05-24 11:50, Russel Winder wrote:
> On Thu, 2012-05-24 at 10:34 +0200, Paulo Pinto wrote:
> [...]
>> Every time I need to do something in an language without official
>> package manager support, I curse myself.
>
> On the other hand Debian, Fedora, FreeBSD, MacOSX, etc. already have
> package managements systems. A problem is that Windows does not.

Mac OS X doesn't have one out of the box, App Store doesn't count.

-- 
/Jacob Carlborg