diff --git a/tools/distributions/gentoo/etc/portage/README.md b/tools/distributions/gentoo/etc/portage/README.md new file mode 100644 index 000000000..9b01b471c --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/README.md @@ -0,0 +1,3 @@ +# Portage configuration + +You can inspire from these configuration files, I'm using them on my development machine. diff --git a/tools/distributions/gentoo/etc/portage/env/ccache b/tools/distributions/gentoo/etc/portage/env/ccache new file mode 100644 index 000000000..74a059762 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/env/ccache @@ -0,0 +1 @@ +FEATURES="ccache" diff --git a/tools/distributions/gentoo/etc/portage/env/debugsyms b/tools/distributions/gentoo/etc/portage/env/debugsyms new file mode 100644 index 000000000..810365199 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/env/debugsyms @@ -0,0 +1,4 @@ +# See https://wiki.gentoo.org/wiki/Valgrind#Troubleshooting +CFLAGS="${CFLAGS} -ggdb" +CXXFLAGS="${CXXFLAGS} -ggdb" +FEATURES="${FEATURES} splitdebug compressdebug -nostrip" diff --git a/tools/distributions/gentoo/etc/portage/env/installsources b/tools/distributions/gentoo/etc/portage/env/installsources new file mode 100644 index 000000000..df721338f --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/env/installsources @@ -0,0 +1,2 @@ +# See https://wiki.gentoo.org/wiki/GDB#Retain_debug_symbols +FEATURES="${FEATURES} installsources" diff --git a/tools/distributions/gentoo/etc/portage/env/lto b/tools/distributions/gentoo/etc/portage/env/lto new file mode 100644 index 000000000..5b6687895 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/env/lto @@ -0,0 +1,3 @@ +LTO="-flto=auto -fno-fat-lto-objects" +CFLAGS="${CFLAGS} ${LTO}" +CXXFLAGS="${CXXFLAGS} ${LTO}" diff --git a/tools/distributions/gentoo/etc/portage/package.accept_keywords/ccache b/tools/distributions/gentoo/etc/portage/package.accept_keywords/ccache new file mode 100644 index 000000000..7af90ce8e --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.accept_keywords/ccache @@ -0,0 +1 @@ +dev-util/ccache ~amd64 diff --git a/tools/distributions/gentoo/etc/portage/package.accept_keywords/clang b/tools/distributions/gentoo/etc/portage/package.accept_keywords/clang new file mode 100644 index 000000000..ea9d30206 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.accept_keywords/clang @@ -0,0 +1,12 @@ +# Use the latest Clang 😎 +sys-devel/llvm* ~amd64 +sys-devel/clang* ~amd64 +sys-libs/compiler-rt* ~amd64 +sys-libs/libomp ~amd64 +dev-debug/lldb ~amd64 +sys-devel/lld ~amd64 +sys-devel/lld-toolchain-symlinks ~amd64 +dev-python/lid ~amd64 +sys-libs/libcxx ~amd64 +sys-libs/libcxxabi ~amd64 +sys-libs/llvm-libunwind ~amd64 diff --git a/tools/distributions/gentoo/etc/portage/package.accept_keywords/cmake b/tools/distributions/gentoo/etc/portage/package.accept_keywords/cmake new file mode 100644 index 000000000..daf78443e --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.accept_keywords/cmake @@ -0,0 +1 @@ +dev-build/cmake ~amd64 diff --git a/tools/distributions/gentoo/etc/portage/package.accept_keywords/eselect-pwsh b/tools/distributions/gentoo/etc/portage/package.accept_keywords/eselect-pwsh new file mode 100644 index 000000000..d7f27504d --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.accept_keywords/eselect-pwsh @@ -0,0 +1 @@ +app-eselect/eselect-pwsh ~amd64 diff --git a/tools/distributions/gentoo/etc/portage/package.accept_keywords/gcc b/tools/distributions/gentoo/etc/portage/package.accept_keywords/gcc new file mode 100644 index 000000000..87f340983 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.accept_keywords/gcc @@ -0,0 +1 @@ +sys-devel/gcc ~amd64 diff --git a/tools/distributions/gentoo/etc/portage/package.accept_keywords/gcc-config b/tools/distributions/gentoo/etc/portage/package.accept_keywords/gcc-config new file mode 100644 index 000000000..b2022e1eb --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.accept_keywords/gcc-config @@ -0,0 +1 @@ +sys-devel/gcc-config ~amd64 diff --git a/tools/distributions/gentoo/etc/portage/package.accept_keywords/mariadb-connector-c b/tools/distributions/gentoo/etc/portage/package.accept_keywords/mariadb-connector-c new file mode 100644 index 000000000..348c76f79 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.accept_keywords/mariadb-connector-c @@ -0,0 +1 @@ +dev-db/mariadb-connector-c ~amd64 diff --git a/tools/distributions/gentoo/etc/portage/package.accept_keywords/mold b/tools/distributions/gentoo/etc/portage/package.accept_keywords/mold new file mode 100644 index 000000000..07c9d3959 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.accept_keywords/mold @@ -0,0 +1 @@ +sys-devel/mold ~amd64 diff --git a/tools/distributions/gentoo/etc/portage/package.accept_keywords/mysql-connector-c b/tools/distributions/gentoo/etc/portage/package.accept_keywords/mysql-connector-c new file mode 100644 index 000000000..ff74e6611 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.accept_keywords/mysql-connector-c @@ -0,0 +1 @@ +dev-db/mysql-connector-c ~amd64 diff --git a/tools/distributions/gentoo/etc/portage/package.accept_keywords/postgresql b/tools/distributions/gentoo/etc/portage/package.accept_keywords/postgresql new file mode 100644 index 000000000..ec4a59089 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.accept_keywords/postgresql @@ -0,0 +1 @@ +dev-db/postgresql ~amd64 diff --git a/tools/distributions/gentoo/etc/portage/package.accept_keywords/pwsh-bin b/tools/distributions/gentoo/etc/portage/package.accept_keywords/pwsh-bin new file mode 100644 index 000000000..5cba970cc --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.accept_keywords/pwsh-bin @@ -0,0 +1 @@ +app-shells/pwsh-bin ~amd64 diff --git a/tools/distributions/gentoo/etc/portage/package.accept_keywords/tinyorm b/tools/distributions/gentoo/etc/portage/package.accept_keywords/tinyorm new file mode 100644 index 000000000..c54faf27f --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.accept_keywords/tinyorm @@ -0,0 +1,2 @@ +dev-db/tinyorm ~amd64 +dev-cpp/tabulate ~amd64 diff --git a/tools/distributions/gentoo/etc/portage/package.accept_keywords/vscode b/tools/distributions/gentoo/etc/portage/package.accept_keywords/vscode new file mode 100644 index 000000000..e97d4a368 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.accept_keywords/vscode @@ -0,0 +1 @@ +app-editors/vscode ~amd64 diff --git a/tools/distributions/gentoo/etc/portage/package.env/glibc b/tools/distributions/gentoo/etc/portage/package.env/glibc new file mode 100644 index 000000000..3ef8efcfe --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.env/glibc @@ -0,0 +1 @@ +sys-libs/glibc debugsyms installsources diff --git a/tools/distributions/gentoo/etc/portage/package.env/tinyorm b/tools/distributions/gentoo/etc/portage/package.env/tinyorm new file mode 100644 index 000000000..06f664e5c --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.env/tinyorm @@ -0,0 +1 @@ +dev-db/tinyorm ccache diff --git a/tools/distributions/gentoo/etc/portage/package.use/binutils b/tools/distributions/gentoo/etc/portage/package.use/binutils new file mode 100644 index 000000000..52c16c38f --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.use/binutils @@ -0,0 +1,2 @@ +# Enable the gold linker +sys-devel/binutils gold diff --git a/tools/distributions/gentoo/etc/portage/package.use/ccache b/tools/distributions/gentoo/etc/portage/package.use/ccache new file mode 100644 index 000000000..043869bd3 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.use/ccache @@ -0,0 +1 @@ +dev-util/ccache doc diff --git a/tools/distributions/gentoo/etc/portage/package.use/clang b/tools/distributions/gentoo/etc/portage/package.use/clang new file mode 100644 index 000000000..60b9f7dd3 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.use/clang @@ -0,0 +1,10 @@ +sys-devel/clang doc +# clang <15 set flags on sys-devel/clang package +=sys-devel/clang-common-15 default-lld llvm-libunwind default-compiler-rt +# required by sys-devel/clang-common-15.0.7-r3::gentoo[llvm-libunwind,default-compiler-rt] +# required by sys-devel/clang-15.0.7-r1::gentoo +# required by @selected +# required by @world (argument) +>=sys-libs/llvm-libunwind-15.0.7 static-libs diff --git a/tools/distributions/gentoo/etc/portage/package.use/mysql b/tools/distributions/gentoo/etc/portage/package.use/mysql new file mode 100644 index 000000000..07356aa5d --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.use/mysql @@ -0,0 +1 @@ +dev-db/mysql -server -perl diff --git a/tools/distributions/gentoo/etc/portage/package.use/mysql-connector-c b/tools/distributions/gentoo/etc/portage/package.use/mysql-connector-c new file mode 100644 index 000000000..d4df5c1da --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.use/mysql-connector-c @@ -0,0 +1 @@ +dev-db/mysql-connector-c static-libs diff --git a/tools/distributions/gentoo/etc/portage/package.use/postgresql b/tools/distributions/gentoo/etc/portage/package.use/postgresql new file mode 100644 index 000000000..f6051def3 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.use/postgresql @@ -0,0 +1 @@ +dev-db/postgresql -server diff --git a/tools/distributions/gentoo/etc/portage/package.use/qtbase b/tools/distributions/gentoo/etc/portage/package.use/qtbase new file mode 100644 index 000000000..4f24f7832 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.use/qtbase @@ -0,0 +1 @@ +dev-qt/qtbase dbus mysql postgres -cups -gtk -libinput -libproxy -nls -udev diff --git a/tools/distributions/gentoo/etc/portage/package.use/qtsql b/tools/distributions/gentoo/etc/portage/package.use/qtsql new file mode 100644 index 000000000..657c7409f --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.use/qtsql @@ -0,0 +1 @@ +dev-qt/qtsql postgres -debug diff --git a/tools/distributions/gentoo/etc/portage/package.use/tinyorm b/tools/distributions/gentoo/etc/portage/package.use/tinyorm new file mode 100644 index 000000000..702601892 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/package.use/tinyorm @@ -0,0 +1,3 @@ +dev-db/tinyorm lto mysql postgres sqlite mysql-ping tom tom-cli +# The sqlite use flag is ON by default so -sqlite is needed, postgres isn't ON by default +# dev-db/tinyorm build-drivers lto mysql -sqlite diff --git a/tools/distributions/gentoo/etc/portage/profile/package.use.mask b/tools/distributions/gentoo/etc/portage/profile/package.use.mask new file mode 100644 index 000000000..a02c3d6f6 --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/profile/package.use.mask @@ -0,0 +1,3 @@ +# Unmask the gold USE flag +sys-devel/binutils -gold + diff --git a/tools/distributions/gentoo/etc/portage/repos.conf/crystal-repo.conf b/tools/distributions/gentoo/etc/portage/repos.conf/crystal-repo.conf new file mode 100644 index 000000000..2c642f9ce --- /dev/null +++ b/tools/distributions/gentoo/etc/portage/repos.conf/crystal-repo.conf @@ -0,0 +1,2 @@ +[crystal] +location = /var/db/repos/crystal