(begin
  (use-modules (srfi srfi-19))
  `((title . "GSoC update")
    (author . "Ludovic Courtès")
    (date unquote (make-date 0 0 0 0 19 7 2015 7200))
    (tags unquote (list "GNU/Hurd" "GSoC"))
    (content
      div
      (p "This year Guix was lucky to have "
         (a (@ (href "/news/gnu-guix-welcomes-three-students-for-gsoc.html"))
            "3 GSoC projects")
         ", and they have made rather good progress so far:"
         (br))
      (ul (li "Manolis successfully completed the recipes to get a "
              (a (@ (href "http://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-hurd"))
                 "cross-compilation toolchain to GNU/Hurd")
              ", with part of the work already in the main branch.  This allowed him to produce statically-linked bootstrap binaries (stumbling upon nasty ld.so issues on the way.)  Manolis is now "
              (a (@ (href "http://lists.gnu.org/archive/html/guix-devel/2015-07/msg00029.html"))
                 "running Guix and building packages natively")
              " on GNU/Hurd, which will constitute a large part of the remainder of his project.\n")
          (li "Rémi has written "
              (a (@ (href "http://git.savannah.gnu.org/cgit/guix/gnunet.git/tree/"))
                 "Guile bindings")
              " to crucial parts of the "
              (a (@ (href "https://gnunet.org")) "GNUnet")
              " API, including the file sharing API.  This will allow him to move to the next step: Writing "
              (a (@ (href "http://lists.gnu.org/archive/html/guix-devel/2015-07/msg00033.html"))
                 "tools to publish and retrieve")
              " Guix "
              (a (@ (href "http://www.gnu.org/software/guix/manual/en/html_node/Substitutes.html"))
                 "substitutes")
              " (pre-built binaries.)\n")
          (li "Rohan laid the foundations of the "
              (a (@ (href "http://git.savannah.gnu.org/cgit/guix/dhcp.git/tree/"))
                 "DHCP client")
              ".  The current code can send packets on all the configured network interfaces.  Rohan hopes to have working code to establish leases in the following weeks.\n"))
      (p "Happy hacking!" (br))
      (h4 "About GNU Guix")
      (p (a (@ (href "http://www.gnu.org/software/guix"))
            "GNU Guix")
         " is a functional package manager for the GNU system.  The Guix System Distribution or GuixSD is an advanced distribution of the GNU system that relies on GNU Guix and "
         (a (@ (href "http://www.gnu.org/distros/free-system-distribution-guidelines.html"))
            "respects the user's freedom")
         "."
         (br))
      (p "In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection.  Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as native "
         (a (@ (href "http://www.gnu.org/software/guile"))
            "Guile")
         " modules, using extensions to the "
         (a (@ (href "http://schemers.org")) "Scheme")
         " language.  GuixSD offers a declarative approach to operating system configuration management, and is highly customizable and hackable."
         (br))
      (p "GuixSD can be used on an i686 or x86_64 machine.  It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el and armv7."
         (br)))))
