Skip to content

An LLVM-centric personal overlay, with clang fixes to existing builds, and newly found software, patched or not.

License

Notifications You must be signed in to change notification settings

gentoo-mirror/xira

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kir68k/xira

~ A Clang-optimized Portage overlay ~

Package count

38 (2024-09-13 02:30 CEST)

Counted by:

ls -Fd */* | grep '/$' | grep -Ev '^(profiles|metadata)' | wc -l

Taken from a very cool overlay

Overview

This is a personal portage overlay, which was initially created with a goal in mind of adding patches to C/C++ programs which can't compile on Clang either with default CFLAGS, or with my more extreme ones (per features/stylize).

Now this repo is primarily for packages related to gnome, such as video-trimmer or secrets, and Source Engine/SRCDS related tools. The rest is programs I haven't seen packaged in any other repo, that I use.

Note

I want to keep this repo relatively minimal for ease of maintenance. Before remaking this README, there were 72 ebuilds in total.

Enabling

To enable this overlay, use eselect-repository.

eselect repository enable xira
emaint sync -r xira

Information

License info

Every ebuild I wrote here is licensed under the ISC License. Ebuilds I have copied from e.g. the main repository preserve their original GPLv2 header and authors.

Important

I am not a legal expert. As far as I understand ISC is GPLv2 compatible, but if there are any issues, please make an issue or message me here.

Requirements

  • GURU Overlay
    • The following ebuilds contain depends already existing in GURU:
      • gui-apps/gradience (dep: dev-python/material-color-utilities)

Recommendations

  • LLVM profile
    • Best is to install using the LLVM stage3.
    • Use either the main repository LLVM profile, or the llvm-desktop profiles here. I personally use llvm-systemd-desktop-gnome on my systems.
  • x86-64-v3 compatible machine
    • CFLAGS in profiles and some ebuilds explicitly state -march=x86-64-v3, as of 2024-04-08.

Note

Everything in this repository should compile using either LLVM/Clang or GCC.
I only test using portage settings from features/stylize, i.e. ThinLTO, x86-64-v3, LLVM toolchain.

Warning

The LLVM profiles from here use the main Gentoo ones as parent, but contain extra changes, through features/stylize. Most notably, they set -flto=thin and -fsplit-lto-unit in C(XX)FLAGS.

Due to -fsplit-lto-unit, ALL installed Qt dev-qt packages need to be rebuilt, if they don't use it. If you have any suggestions or think something's wrong with it, please make an issue or PR.

What's in here?

A directory structure and explanations are listed below.

Warning

llvm-complete & openwrt-prequisites may or may not be removed soon.
They don't serve that much of a purpose, see TODO.md
2024-09-02

xira
├── [ebuild categories]
├── metadata
├── profiles
│   ├── features
│   │   └── stylize
│   ├── llvm-desktop
│   ├── llvm-desktop-gnome
│   ├── llvm-systemd-desktop
│   └── llvm-systemd-desktop-gnome
└── metadata/sets
    ├── llvm-complete
    ├── mail-prequisites
    └── openwrt-prequisites
  • profiles
    • features/stylize
      • Primary features, currently including: *FLAGS changes.
  • metadata/sets
    • llvm-complete
      • Every package related to LLVM.
    • mail-prequisites
      • Packages related to creating a mail server. I recommend using Docker instead of bare-metal for the agony that mailservers are.
    • openwrt-prequisites
      • Packages required for compiling an OpenWrt image.
    • uup-prequisites
      • Packages for creating a Windows ISO through uupdump, if you need that.

About

An LLVM-centric personal overlay, with clang fixes to existing builds, and newly found software, patched or not.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published