[rust-dev] RFC: Future of the Build System

Gaetan gaetan at xeberon.net
Tue Jan 14 14:51:57 PST 2014


you cannot stick build environment with one system. apt is now on every
system, you cannot use it under windows or mac.
and apt source simply checkout the source zip from repository, this is not
a proper build system.
package management is one job and build is another one. you will use
another package management on another system, while you expect to use the
same build system on another system.

in my experience, i ended up quite often with some bash script for unix
like systems that generates some makefiles or trigs cmake/cpack, visual
studio or eclipse projects for windows.
the only portable build system i used was cmake, which exists under windows
mac and unit, with ctest and cpack, even if there are quite limited. And
there were a lot of "if windows..."

But, i tend to NOT recommend cmake if the final goal is to be integrated
into systems like debian.

-----
Gaetan



2014/1/14 Lee Braiden <leebraid at gmail.com>

>  On 14/01/14 22:31, Jan Niklas Hasse wrote:
>
> I don't understand what debian's package manager has to do with a build
> system?
>
> There's no reason why
>
> apt-get install librust-sdl2-dev
>
> shouldn't work, no matter what rust-sdl2 uses for building itself. The
> package will just contain a rlib file and put it inside
> /usr/lib/rustlib/<target-triple>/.
>
>
> There is a LOT of cross-over between package managers and build systems.
> In fact, I'd argue that the distinction is very blurry, if not misguided.
> Debian, for instance, provides:
>
>     apt-get -b source packagename
>
> Which downloads and builds a package from source.
>
> Many package managers, like the BSD ports, MAINLY download and build from
> source.  They're nothing but standardised wrappers for the many build
> systems out there, along with (in some package managers, like Debian's)
> standards for where the installed files should end up.
>
> Other packages managers will ONLY build from source.
>
>
>
> I think what you're mainly getting at, though, is why you need to care
> about debian choosing to say:
>
>     apt-get install librust-sdl2-dev
>
> When the Rust community says:
>
>     rustpkg -i rust-sdl
>
>
> The problem is that, the whole concept of a package manager is to
> standardise and maintain compatiblity between installed packages.  So when
> debian says:
>
>     apt-get install librust-sdl2-dev
>
> AND you say:
>
>     rustpkg -i rust-sdl--berts-version
>
> That's a conflict.  Because two open source communities failed to work
> together.  BUT, debian, and others like BSD ports etc., very much do their
> part, in providing ways to install librust-sdl2-dev etc.  The part that's
> missing is the metadata for rust-sdl--berts-version, which says, "This
> package provides librust-sdl, so if you install this, don't install some
> other librust-sdl as well."
>
> Basically, I'm saying that, if we make a little effort to create open,
> accessible package data, then everyone will find it easier to work with
> us.  That shouldn't be a foreign concept.
>
>
> --
> Lee
>
>
> _______________________________________________
> Rust-dev mailing list
> Rust-dev at mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/rust-dev/attachments/20140114/5c9a8a14/attachment.html>


More information about the Rust-dev mailing list