Skip to content

kir68k/xira

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b6951a9 · Nov 13, 2024
Nov 13, 2024
May 15, 2024
Aug 5, 2024
May 15, 2024
May 8, 2024
Sep 12, 2024
Aug 22, 2024
Nov 13, 2024
Sep 13, 2024
Sep 13, 2024
Sep 12, 2024
Aug 5, 2024
Sep 13, 2024
Sep 13, 2024
Sep 13, 2024
Sep 9, 2024
Sep 13, 2024
Sep 13, 2024
Aug 5, 2024
Aug 5, 2024
Sep 12, 2024
Apr 6, 2024
Aug 2, 2023
Sep 13, 2024
Sep 13, 2024
May 8, 2024

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

Xira ~ A portage repository (also one of my aliases)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages