A reliable way to build vendored libraries for C/C++ projects using Gentoo Layman and Gentoo Ebuilds
10K+
A reliable way to build vendored libraries for C/C++ projects using Gentoo Layman and Gentoo Ebuilds
mkdir -p gentoo/overlayThe tree will look similar to this
tree gentoo
gentoo
└── overlay
├── metadata
│ └── layout.conf
├── net-irc
│ └── clandestine
│ ├── Manifest
│ └── clandestine-9999.ebuild
├── profiles
│ └── repo_name
└── repositories.xml
<repositories version="1.1" encoding="unicode">
<repo quality="experimental" priority="50">
<name>clandestine</name>
<description />
<owner>
<email>[email protected]</email>
<name>clandestine</name>
</owner>
<source type="git">https://github.com/paigeadelethompson</source>
</repo>
</repositories>
clandestine
masters = gentoo
EAPI=8
inherit cmake
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ppc ppc64 s390 sh sparc x86"
SLOT=0
DEPEND="
>=dev-libs/utfcpp-3.2.1
>=sys-libs/libxcrypt-4.4.28-r2
>=dev-libs/libpcre-8.45-r1
>=dev-libs/libpcre2-10.42-r1
>=dev-libs/re2-0.2022.12.01
>=app-crypt/argon2-3.0
>=net-libs/http-parser-2.9.4-r2
>=dev-libs/libmaxminddb-1.7.1
>=dev-libs/openssl-1.1.1t
>=media-gfx/qrencode-4.1.1
>=net-libs/mbedtls-2.28.1
>=net-libs/gnutls-3.7.8
>=dev-db/sqlite-3.40.1
>=net-nds/openldap-2.6.3-r7
>=dev-db/postgresql-14.5
>=dev-db/mysql-connector-c-8.0.31
"
CMAKE_MAKEFILE_GENERATOR=emake
src_unpack() {
mkdir clandestine-9999/
cp -rvp /mnt/. clandestine-9999/
}
src_configure() {
cmake_src_configure
}
docker run -it --rm -v /path/to/your/src/tree:/mnt paigeadele/gentoo-overlay-builder:latest --entrypoint ebuild /mnt/gentoo/overlay/net-irc/clandestine/clandestine-9999.ebuild manifest
docker run -it --rm -v /path/to/your/src/tree:/mnt paigeadele/gentoo-overlay-builder:latest clandestine::clandestine
Your source tree will have a dist/ directory that contains your built project and it's dependencies, you should add this to your .gitignore
tree dist
dist
├── Packages
├── acct-group
│ ├── ldap
│ │ └── ldap-0-1.xpak
│ └── postgres
│ └── postgres-0-r1-1.xpak
├── acct-user
│ ├── ldap
│ │ └── ldap-0-1.xpak
│ └── postgres
│ └── postgres-0-r1-1.xpak
├── app-arch
│ └── lz4
│ └── lz4-1.9.4-1.xpak
├── app-crypt
│ └── argon2
│ └── argon2-20190702-r1-1.xpak
├── app-eselect
│ └── eselect-postgresql
│ └── eselect-postgresql-2.4-r1-1.xpak
├── dev-db
│ ├── lmdb
│ │ └── lmdb-0.9.29-1.xpak
│ ├── mysql-connector-c
│ │ └── mysql-connector-c-8.0.31-1.xpak
│ └── postgresql
│ └── postgresql-14.5-1.xpak
├── dev-libs
│ ├── libmaxminddb
│ │ └── libmaxminddb-1.7.1-1.xpak
│ ├── libpcre
│ │ └── libpcre-8.45-r1-1.xpak
│ ├── re2
│ │ └── re2-0.2022.12.01-1.xpak
│ └── utfcpp
│ └── utfcpp-3.2.1-1.xpak
├── media-gfx
│ └── qrencode
│ └── qrencode-4.1.1-1.xpak
├── net-irc
│ └── clandestine
│ └── clandestine-9999-1.xpak
├── net-libs
│ ├── http-parser
│ │ └── http-parser-2.9.4-r2-1.xpak
│ └── mbedtls
│ └── mbedtls-2.28.1-1.xpak
└── net-nds
└── openldap
└── openldap-2.6.3-r7-1.xpak
and the files are in .XZ format
file dist/net-irc/clandestine/clandestine-9999-1.xpak
dist/net-irc/clandestine/clandestine-9999-1.xpak: XZ compressed data, checksum CRC64
https://wiki.gentoo.org/wiki/Binary_package_guide#Understanding_the_binary_package_format
Content type
Image
Digest
sha256:1aaba18a5…
Size
489.6 MB
Last updated
over 3 years ago
docker pull paigeadele/gentoo-overlay-builder