#!/usr/bin/env racket ;; This file is part of gentoo-racket-overlay. ;; gentoo-racket-overlay is free software: you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, either version 2 of the License, or ;; (at your option) any later version. ;; gentoo-racket-overlay is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with gentoo-racket-overlay. If not, see . ;; Original author: Maciej Barć ;; Copyright (c) 2021-2023, Maciej Barć ;; Licensed under the GNU GPL v2 License #lang scribble/manual @title[#:tag "gentoo-racket-overlay-users"]{Overlay Users} @section{Adding the overlay} After adding the repository by one of following methods, synchronize it's contents with @commandline{emerge --sync} If you use eix, than update it's database with @commandline{eix-update} @subsection{Eselect repository} If you have eselect-repository installed you can use the following command: @nested[#:style 'code-inset]{@verbatim{ eselect repository add racket-overlay git https://gitlab.com/gentoo-racket/gentoo-racket-overlay }} @subsection{Manual} As root: clone the repository into @filepath{/var/db/repos/racket-overlay} and copy @filepath{examples/repos.conf/racket-overlay.conf} into @filepath{/etc/portage/repos.conf} @nested[#:style 'code-inset]{@verbatim{ cd /var/db/repos/ git clone --recursive --verbose https://gitlab.com/gentoo-racket/gentoo-racket-overlay racket-overlay mkdir -p /etc/portage/repos.conf cp racket-overlay/examples/repos.conf/racket-overlay.conf /etc/portage/repos.conf/racket-overlay.conf }} @section{Unmask} Unmask packages in racket-overlay and a recent version of Racket (at least 8.1) @nested[#:style 'code-inset]{@verbatim{ mkdir -p /etc/portage/package.accept_keywords echo 'dev-racket/*::racket-overlay' >> /etc/portage/package.accept_keywords/racket-overlay.conf echo 'sys-apps/*::racket-overlay' >> /etc/portage/package.accept_keywords/racket-overlay.conf echo '>=dev-scheme/racket-8.1::gentoo' >> /etc/portage/package.accept_keywords/racket-overlay.conf }} If you want to try experimental snapshots of Racket also unmask dev-scheme/racket from this overlay. @nested[#:style 'code-inset]{@verbatim{ echo 'dev-scheme/racket::racket-overlay' >> /etc/portage/package.accept_keywords/racket-overlay.conf }} Check out a example @link["https://gitlab.com/gentoo-racket/gentoo-racket-overlay/-/blob/master/examples/package.accept_keywords/racket-overlay.conf" "racket-overlay.conf"]. @section{Emerge Racket} Emerge dev-scheme/racket with USE="-minimal" @nested[#:style 'code-inset]{@verbatim{ mkdir -p /etc/portage/package.use echo 'dev-scheme/racket -minimal' >> /etc/portage/package.use/racket.conf emerge -av dev-scheme/racket }} Check out a example @link["https://gitlab.com/gentoo-racket/gentoo-racket-overlay/-/blob/master/examples/package.use/racket.conf" "racket.conf"]. @section{Updates} To update "dev-scheme/racket" and packages that depend on it update the world set: @nested[#:style 'code-inset]{@verbatim{ emerge -Dauv --jobs=1 --with-bdeps=y @"@world" }} You should get a message similar to this: @nested[#:style 'code-inset]{@verbatim{ @;; WARNING: Don't format this! The following packages are causing rebuilds: (dev-scheme/racket-8.2:0/8.2::racket-overlay, ebuild scheduled for merge) causes rebuilds for: (dev-racket/drracket-one-dark-2021.03.05:0/0::racket-overlay, ebuild scheduled for merge) (sys-apps/racket-compiler-0.0.0:0/0::racket-overlay, ebuild scheduled for merge) }} For more info on Gentoo updates see @link["https://wiki.gentoo.org/wiki/Upgrading_Gentoo#Updating_packages" "Gentoo Wiki: Updating packages"].