1 |
On 03/07/2018 11:06 AM, anoteros@××××××.io wrote: |
2 |
> Why should portage download some outdated second copy of the |
3 |
> sources for 'bar', rebuild it, and scatter it around the file system |
4 |
> where it cannot be used by other programs installed by cabal? |
5 |
|
6 |
These other package managers don't solve any hard problems -- they're |
7 |
basically a fancy interface around wget and "git clone." Portage on the |
8 |
other hand has ~20 years of good ideas and hard work on the hard |
9 |
problems in package management. For example... |
10 |
|
11 |
|
12 |
> It seems reasonable to me to 'hook' portage into these other package |
13 |
> managers, so that running 'emerge bar' would actually run 'cabal install |
14 |
> bar' |
15 |
|
16 |
Can "cabal install" build or even identify the C libraries that your |
17 |
Haskell package needs? No, because nobody ever thought of that, and it |
18 |
seems kind of hard now that the cabal build system has no ability to |
19 |
build non-Haskell packages, so no one is ever going to work on it. |
20 |
|
21 |
Can "cabal install" rebuild your Haskell packages when the ABI of some |
22 |
library changes? No, because "cabal install" doesn't have any idea |
23 |
what's installed on your system. |
24 |
|
25 |
Can "cabal install" uninstall a package? Nope, it has no idea what was |
26 |
done during the installation, and thus no idea what to undo. |
27 |
|
28 |
Can "cabal install" verify the integrity of your downloaded source code? |
29 |
No, because by design it fetches and runs code from complete strangers. |
30 |
|
31 |
Can "cabal install" use a local tarball to function without network |
32 |
access? Etc. We're dead in the water. |
33 |
|
34 |
Every other language-specific package manager has the same problems, |
35 |
because they're all written by people who didn't know anything about |
36 |
package management and then got bored when they realized that there's |
37 |
more to it than parsing a json file of dependencies. |
38 |
|
39 |
If you want to eliminate the duplication of effort, tell these people to |
40 |
use Gentoo Prefix instead of writing the N+1st crippled PM. Doing it the |
41 |
other way around won't work because we'd be replacing one good thing |
42 |
with 75 shitty things. |