<span class="latin" style="width:19px;height:19px;">G</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">o</span><span class="latin" style="width:19px;height:19px;">u</span><span class="latin" style="width:19px;height:19px;">p</span><span class="latin" style="width:19px;height:19px;">:</span><span class="latin" style="width:19px;height:19px;">G</span><span class="latin" style="width:19px;height:19px;">u</span><span class="latin" style="width:19px;height:19px;">i</span><span class="latin" style="width:19px;height:19px;">x</span><span class="latin" style="width:19px;height:19px;">/</span><span class="latin" style="width:19px;height:19px;">G</span><span class="latin" style="width:19px;height:19px;">S</span><span class="latin" style="width:19px;height:19px;">o</span><span class="latin" style="width:19px;height:19px;">C</span><span class="latin" style="width:19px;height:19px;">-</span><span class="latin" style="width:19px;height:19px;">2</span><span class="latin" style="width:19px;height:19px;">0</span><span class="latin" style="width:19px;height:19px;">2</span><span class="latin" style="width:19px;height:19px;">4</span><span class="latin" style="display:block;width:19px;height:19px;"> </span><span class="latin" style="width:19px;height:19px;">-</span><span class="latin" style="display:block;width:19px;height:19px;"> </span><span class="latin" style="width:19px;height:19px;">L</span><span class="latin" style="width:19px;height:19px;">i</span><span class="latin" style="width:19px;height:19px;">b</span><span class="latin" style="width:19px;height:19px;">r</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">P</span><span class="latin" style="width:19px;height:19px;">l</span><span class="latin" style="width:19px;height:19px;">a</span></span><span class="tktr-gyo" style="height:640px;margin:0 0 180px 22px;font-size:19px;_width:19px;/width:19px;"><span class="latin" style="width:19px;height:19px;">n</span><span class="latin" style="width:19px;height:19px;">e</span><span class="latin" style="width:19px;height:19px;">t</span>  

Navigation menu




LibrePlanet


About 
About LibrePlanet
Mission Statement
Founding documents
Support this Community
Code of Conduct
Anti-harassment policy
Teams 
Activists
Wiki Helpers
LibrePlanet Artists
FSF Community Team
Local & Student Teams
Conferences 
LibrePlanet Conference
Non-official
Get involved 
Participate
Discussion channels
Events
 


Login
 










Group: Guix/GSoC-2024

 

From LibrePlanet

< Group:Guix

Jump to: navigation, search  

Contents

  • 1.2 Port the Guix installer to GNU Hurd
  • 1.3 Add support for AppImage in guix pack
  • 2 Ideas from 2023
  • GNU Guix Google Summer of Code ideas page for 2024

    Guile based build-tool for Guix

    Guile-based build tool for advanced software developers who do not want to deal with the complexity of multi-platform deployment and dependency hell. By default the tool runs inside the GNU Guix build system and effectively replaces the likes of autotools, cmake, etc.

    Build tools such as automake and cmake are complex beasts. What they try to do is target multiple build environments by generating make files using a complex list of string expansions. Complexity, in general, means hard to understand, change and maintain. The bad thing is that almost every software project has to deal with this complexity to make the software deployable.

    What is wrong with these build tools? In short:

    1. Complex - and therefore hard to understand and maintain

    2. Simplistic language - simple string expansion systems are not nice and not DRY

    3. Race conditions - make's time stamps, for example, are not suitable for building across servers

    4. Different combinations of options are badly handled.

    5. No intermediate representation

    Alternatives, such as Java ant, Scala sbt, and Ruby rake, try to resolve similar issues but are specialised for their environments. Here we have a *fresh* start of a build tool which should ultimately be able to run complex workflows on multiple servers and make use of opportunistic execution, i.e. jobs may be distributed multiple times and the first one that comes back wins.

    We primarily target GNU Guix because Guix already solves the complexity of handling dependencies and software deployment. This simplifies things dramatically because the build system does not have to deal with platform or architecture targets. Even so, in time, we can target out of GNU Guix builds.

    Mentors: Pjotr Prins (pjotr dot public12 at thebird.nl) and other Guix members (through guix-dev mailing list)

    Time: 350 hrs (large)

    Port the Guix installer to GNU Hurd

    GNU Hurd is a fully functional microkernel that will run more and more systems. Guix boots the Hurd and many packages compile and run. With this project we wish to port the Guix installer for Linux to the Hurd. It is an advanced and challenging project!

    IMPORTANT other similar projects will also be considered. E.g. improving Guix+Hurd support in some way is of importance to us. Run the binary image from the Guix download page and tell us what you would want to do. Rump-kernel work is an option. Improving package support is also an option. Etc. etc.

    Mentors: Pjotr Prins and Manolis Ragkousis (pjotr email see above) with support from Ludo, Efraim and others.

    Time: 350 hrs (large)

    Add support for AppImage in guix pack

    Currently guix pack supports several formats like debian packages, rpm, and others, but it lacks support for simple things like an AppImage that is just click-and-run for Linux systems. Adding support for it might help deploy applications in some systems that are not currently available, and would keep the internals' (/gnu/store/...) hidden from the users. This could be interesting for games and other applications.

    Mentors: Ekaitz Zarraga will help but doesn't have all the needed knowledge for it. Anyone else is free to raise a hand and join.

    Time: 175 hrs (medium project)

    ---

    Ideas from 2023

    See [1]

    Ideas from 2021

    Ideas from 2020

    Ideas from 2019

    Retrieved from "https://libreplanet.org/wiki?title=Group:Guix/GSoC-2024&oldid=69888" 



















    FSF
    The Free Software Foundation (FSF) is a nonprofit with a worldwide mission to promote computer user freedom.

    We defend the rights of all software users. (Read more)
     



    Campaigns


    High Priority Free Software Projects

    Free JavaScript

    Secure Boot vs Restricted Boot

    GNU Operating System

    Defective by Design

    See all campaigns
     



    Get Involved



    Contact
     




    Send your feedback on our translations and new translations of pages to campaigns@fsf.org.

    Copyright © 20132023 Free Software Foundation, Inc.  Privacy Policy, JavaScript license information