Practical Problems with distribution D projects

Assaf Gordon agordon at wi.mit.edu
Wed Feb 26 09:09:28 PST 2014


On 02/25/2014 05:41 PM, Dicebot wrote:
>
> I see, your requirements do not match use case of a typical desktop
> application.

This is the root cause of our different POVs - I should have explained it more clearly.

My users are people who have access to Linux machines which they do not control.
I can expect them to be able to handle the standard/easy steps of compiling software, but not much more.

This is the case in many universities, were the computer "cluster" is made of whatever Linux the IT department used.
You won't get root access on those servers. And many time the distribution is very old and not updated on purpose (for the sake of stability).
To make matters more complicated, many additional programs are installed in places like "/usr/local/" and "/opt/".
It might make you cringe you as a maintainer (it makes me cringe, as a root-less user) ... but that's life :)

Now, I have to be realistic:
My program will be useful to some degree, but not a life-changing Killer-App.
If it's easy to use and install, people will use it (and by proxy, perhaps use D as well, if they want to hack the code).
If it's too complicated, they'll give up and look for a different solution.

So my goal to begin with, was to find the easiest way to distribute my D program to unix platforms.

>However, if you are fine with full static linking why
> not simply distribute binary tarballs for set of systems you want to
> support? It will put burden of having proper D compilation
> environment away from the end user.
>

We've come full circle :)

In my first message in this thread, I wrote (item #3), that unless I'm missing something, there is no way to build a statically linked binary with D on Linux. If there is a way, I would love to know about it.
I would gladly spend the time to create VMs for each common system setup and package a static binary for it.

  
> I know it is not very convenient with Debian because of how
> conservative it is but in Arch just asking in #archlinux @ freenode
> is likely to result in kind soul willing to help with packaging
> questions. Or even easier, just contacting me as it is my direct
> responsibility to maintain all D-related projects in Arch [community]
> ;)
>

I got one package into Debian, and it took some effort. But it was worth it, because I learned alot, and it did make my program better (distribution wise).
Arch and Gentoo might be friendlier (and HomeBrew/LinuxBrew even easier), but the people I'm aiming for aren't using Arch or Gentoo...

I do have high hopes for HomeBrew/LinuxBrew, as "brew install dmd" and "brew install dub" seems to work nicely on some linux systems.

Best,
  -gordon




More information about the Digitalmars-d mailing list