Project Description

We are currently at GHC-9.4.x, which a bit old. So I'd like to take a shot at the latest version of the compiler, GHC-9.6.x. This is gonna be interesting because the new version requires major updates to all kinds of libraries and base packages, which typically means patching lots of packages to make them build again. A significant part of the development effort will be live-streamed on Twitch so that others can collaborate easily.

Goal for this Hackweek

Have working builds of GHC-9.6.x and the required Haskell packages in 'devel:languages:haskell` so that we can compile:

  • git-annex
  • pandoc
  • xmonad
  • cabal-install

Resources

  • https://build.opensuse.org/project/show/devel:languages:haskell/
  • https://github.com/opensuse-haskell/configuration/
  • #discuss-haskell
  • https://www.twitch.tv/peti343

Looking for hackers with the skills:

haskell ghc opensuse tumbleweed packaging livestreaming

This project is part of:

Hack Week 22 Hack Week 23

Activity

  • about 2 years ago: osukup joined this project.
  • almost 3 years ago: psimons added keyword "livestreaming" to this project.
  • almost 3 years ago: psimons started this project.
  • almost 3 years ago: psimons added keyword "packaging" to this project.
  • almost 3 years ago: psimons added keyword "haskell" to this project.
  • almost 3 years ago: psimons added keyword "ghc" to this project.
  • almost 3 years ago: psimons added keyword "opensuse" to this project.
  • almost 3 years ago: psimons added keyword "tumbleweed" to this project.
  • almost 3 years ago: psimons originated this project.

  • Comments

    • psimons
      over 2 years ago by psimons | Reply

      I re-used the "update to ghc-9.4.x" project from Hackweek 22 for Hackweek 23. The goal is to update to ghc-9.6.x this time.

    Similar Projects

    eBPF bytecode emitter in Haskell by kalfalakh

    Description

    Newbie level knowledge of eBPF and some knowledge of Haskell. The goal for this hackweek is to catch two birds with one stone; get familiar with eBPF and learn more about Haskell, hence implement something related to eBPF in Haskell. Given an input, which is a program, represented as eBPF instructions, prepare a fully built eBPF bytecode ready to be loaded into the Kernel.

    Goals

    • Recap on ADTs in Haskell, type classes and their instances / deriving, on pattern matching and higher order functions
    • Read and understand RFC 9669
    • Implement the entire pipeline; parsing the input, verifying the input, building instructions, encoding them and concatenating them
    • Deal with all the learning, bugs and difficulties encountered on the way

    Progress

    Last day of hackweek and this is what I have so far.

    • ADTs implemented to correctly type all operations, classes, opcodes, instructions and other instruction specific types
    • opcodes and opcode builders based on specification are implemented.
    • Encoder is ready for 64-bit instruction format. Extended 128-bit instruction format is not yet supported
    • Only ALU and ALU64 instructions API is provided. JMP, LD, ST for base32 and base64 are missing. swap and atomic are missing
    • All ALU and ALU64 instructions (except MOV and MOVSX) are tested manually and are correctly encoded

    Whats next?

    There is still a lot left to do:

    • Input parser and formatter + some kind of basic verifier
    • API for remaining instruction classes
    • Proper testing mechanism
    • swap and atomic instructions
    • Loader

    Resources

    • RFC 9669
    • https://ebpf.io/
    • https://www.haskell.org/documentation/


    GHC-9.14 and split Hadrian from GHC build by osukup

    Description

    Prepare openSUSE Tumbleweed project for new GHC Haskell compiler and separate builder (Hadrian) from GHC build

    Goals

    • have GHC-9.14 project with working compiler and if possible filled with packageset
    • have Hadrian in own package built with bootstrap compiler to separate Hadrian bootstrap from ghc bootstrap

    Resources

    devel:languages:haskell

    d:l:h:ghc-9.12.x

    opensuse Haskell rpm macros

    opensuse haskell package gen project


    Create openSUSE images for Arm and RISC-V boards by avicenzi

    Project Description

    Create openSUSE images (or test generic EFI images) for Arm and RISC-V boards that are not yet supported.

    Goal for Hackweek

    Create bootable images of Tumbleweed for SBCs that currently have no images available or are untested.

    Consider generic EFI images where possible, as some boards can hold a bootloader.

    Document in the openSUSE Wiki how to flash and use the image for a given board.

    Hack Week 25

    Hack Week 24

    Hack Week 23

    Hack Week 22

    Hack Week 21

    Resources


    OpenRC in openSUSE by jimedrand

    Description

    I have been using openSUSE for 3 years and I am just seen the systemd as init system. Actually, I want to make openSUSE with supports to another init such as OpenRC init that I'm always using it in another distros, and I was think, "what about if I'm including OpenRC init in openSUSE and give anyone as second way for them who don't want to use systemd?", and I'm curious about that. That's why I'm opening these.

    Goals

    Giving OpenRC support for Tumbleweed first, then going in Leap in future if possible.


    Tumbleweed on Mars-CM (RISC-V board) by ph03nix

    RISC-V is awesome, Tumbleweed is awesome, chocolate cake is awesome. I'm planning to combine all of them in one project.

    Project Description

    I recently purchased a MILK-V Mars CM and managed to setup it up already using Debian Linux. My project for this Hackweek is to see how far I can get to run Tumbleweed on this compute module board.

    Goal for this Hackweek

    • Run Tumbleweed on the Compute Module

    Resources

    • http://milkv.io/mars-cm
    • https://en.opensuse.org/HCL:VisionFive2


    GHC-9.14 and split Hadrian from GHC build by osukup

    Description

    Prepare openSUSE Tumbleweed project for new GHC Haskell compiler and separate builder (Hadrian) from GHC build

    Goals

    • have GHC-9.14 project with working compiler and if possible filled with packageset
    • have Hadrian in own package built with bootstrap compiler to separate Hadrian bootstrap from ghc bootstrap

    Resources

    devel:languages:haskell

    d:l:h:ghc-9.12.x

    opensuse Haskell rpm macros

    opensuse haskell package gen project


    openSUSE on ZoL from OpenZFS project by jkohoutek

    Idea is to have SUSE system with OpenZFS as root FS.

    Why ZFS

    Ways in which ZFS is better than BTRFS

    Main goal

    Have OpenZFS as install option in the installer and utilize zedenv Boot Environment Manager for SUSE updates install

    Goals

    • synergy of ZFS with dracut, so snapshots are correctly added to the grub
    • synergy of zedenv with zypper
      • before every update snapshot is created
      • when new kernel or other package which requires reboot is about to be installed, the update will be processed to the new boot environment snapshot and grub configuration changed to boot to this new one
    • integrate Root on ZFS as install option to the YaST
    • configure Kiwi for the ZFS install images

    Completed goals

    • prepare ZFS pool compatible with openSUSE installation ✓
    • install openSUSE with root on ZFS ✓
    • boot to the prepared and installed system ✓

    Current progress

    Resources: