Discussing a breaking change in Python’s setuptools.

The really interesting part is in the discussion section… and it shows once more how incredibly well-designed the GNU Guix package manager is – which solves these problems very very well, for arbitrary languages and with a fast growing distribution of, by now, about 50,000 packages.

    • HaraldvonBlauzahn@feddit.orgOP
      link
      fedilink
      arrow-up
      1
      ·
      6 days ago

      Yes, Nix solves the same problem. The main difference is that the language used for package descriptions is less attractive to some developers compared to the language which Guix uses, which is Guile Scheme. Guile is very mature, well documented and has good performance.

      I think that will give Guix an advantage in the long run, since for a successful disyribution, one needs a bunch of packages and for this, volunteers need to write package definitions and maintain them. Guix makes it easier to write definitions.

      Clearly the strict focus on FLOSS will prevent some packages like NVidia drivers from appearing there. But on the other hand, this gives you a system which you will be able to completely compile from source in 10 years time.

  • WalnutLum@lemmy.ml
    link
    fedilink
    arrow-up
    3
    ·
    7 days ago

    Guix is awesome!

    Nonguix substitute server is down for the fifth straight day, forcing me to rebuild the entire Linux kernel when updating

    And you should Never use it!

      • WalnutLum@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        6 days ago

        Jokes aside I actually do appreciate that almost all guix packages are verified source and not just copy scripts of already built tarballs.

        • HaraldvonBlauzahn@feddit.orgOP
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          6 days ago

          Guix is really making fantastic progress and is a good alternative in the space between stable and fully FOSS distributions, likes Debian, and distributions which are more up-to-date, like Arch.

          And one interesting thing is that the number of packages is now so large that one can frequently install additional more recent packages on a Debian systems, or ones that are not packaged by Debian.

          For example, I run Debian stable as base system, Guix as extra package manager (and Arch in a VM for trying out latest software for programming).

          The thing is now Guix often provides more recent packages tham Debian, like many Rust command line tools, where Debian is lagging a bit. There are many interesting ones, and most are recent because Rust is progressing so fast. Using Guix, I can install them without using the language package manager, regardless whether iy is written in Rust, Go, or Python 3.13.

          Or, today I read an article about improvements in spaced repetition learning algorithms. It mentioned that the FLOSS software Anki provided it, and I became curious and wanted to have a look at Anki. Well, Debian has no “anki” package - and it is written, among other languages, im Python and Rust, so good luck getting it on Debian stable. But for Guix, I only had to do “guix install anki” and had it installed.

          This works a tad slower than apt-get … but it still saves time compared to installing stuff and dependencies manually.

    • HaraldvonBlauzahn@feddit.orgOP
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      7 days ago

      I don’t get that people constantly complain that the Guix project does not distributes or actively supports distribution of binary, propietary software. That is like complaining that Apple does not sells their Laptop with Linux, Microsoft does not sells Google’s Chromebooks, or that Amazon does not distribute free eBooks from project Gutenberg, ScienceHub or O’Reilly.

      And users can of course use the nonguix channel to get their non-free firmware or whatever, but they should not complain and demand that volunteers of other projects do more unpaid work. Instead, they should donate money or volunteer do do it themselves.

      But guess what? I think these complaints come to a good part from companies which want to sell their proprietary software. Valve and Steams show that a company can very well sell software for Linux, with mutual benefit, but not by freeloading on volunteer work.

      And one more thing, Guix allows to do exactly what Flatpaks etc. promise: Any company, as well as any lonely coder, team of scientists, or small FLOSS project, can build their own packages founded on a stable Guix base system, with libraries and everything, binary or from source, and distribute it from their own website in a company channel - just like any Emacs user can distribute his own, self-written Emacs extensions from a Web page. And thanks to the portability of the Guix package manager, this software can be installed on any Linux system, resting on a fully reproducible base.

      • Solumbran@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        7 days ago

        I’ve seen good devs, helped by the team of guix themselves, fail for weeks and weeks at making it work as intended. That’s not a working software.

          • Solumbran@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            6 days ago

            I don’t remember exactly, they were trying to package some dependencies they needed with guix and it was just a big headache.

            • HaraldvonBlauzahn@feddit.orgOP
              link
              fedilink
              arrow-up
              1
              ·
              5 days ago

              So, how many users of Debian would even think about creating own packages?

              I already have a hunch what went wrong: they were probably trying to package software that has no standard build system. This is painful because the standard tools, like GNU autotools for C programs, or cmake, or setuptools or its newer siblings for python, make sure that the right commands are used to build a package on whatever platform, and that, importantly, its components are installed into the right places. If they don’t use these, they will have a problem to build packages for any standard distribution.

              Guix has support for all the mayor build systems (otherwise, it could not support building of 50000 packages).