Install this version:
emerge -a =games-util/amxmodx-1.9.0.5303
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 1.9.0.5303 | 8 | amd64 | 0 |
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit git-r3
EGIT_REPO_URI="https://github.com/alliedmodders/amxmodx"
EGIT_COMMIT="${PV}"
EGIT_SUBMODULES=( 'public/amtl' )
DESCRIPTION="AMX Mod X - Half-Life 1 server-side Metamod plugin for game administration"
HOMEPAGE="https://www.amxmodx.org/"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="amd64"
IUSE="debug mysql +cstrike dod esf ns tfc ts"
# 32-bit .so files compiled without -fPIC
QA_TEXTRELS="
opt/Steam/${PN}/addons/amxmodx/dlls/*
opt/Steam/${PN}/addons/amxmodx/modules/*
opt/Steam/${PN}/cstrike/addons/amxmodx/modules/*
opt/Steam/${PN}/dod/addons/amxmodx/modules/*
opt/Steam/${PN}/esf/addons/amxmodx/modules/*
opt/Steam/${PN}/ns/addons/amxmodx/modules/*
opt/Steam/${PN}/tfc/addons/amxmodx/modules/*
opt/Steam/${PN}/ts/addons/amxmodx/modules/*
usr/bin/amxxpc32.so
"
#CONFIG_PROTECT="/opt/Steam/${PN}/addons/amxmodx/configs"
BDEPEND="
dev-build/ambuild
dev-lang/nasm
"
# TODO: add when ebuilds exist:
# games-util/hlsdk
# games-util/metamod-hl1
# mysql? ( dev-db/mysql:= )
#RDEPEND=""
#DEPEND=""
HLSDK_DIR="${WORKDIR}/hlsdk"
METAMOD_DIR="${WORKDIR}/metamod-hl1"
BUILD_DIR="${S}/build"
src_unpack() {
# Main source + public/amtl submodule
git-r3_src_unpack
# Half-Life SDK headers required by configure.py
git-r3_fetch "https://github.com/alliedmodders/hlsdk" HEAD
git-r3_checkout "https://github.com/alliedmodders/hlsdk" "${HLSDK_DIR}"
# Metamod source headers required by configure.py
git-r3_fetch "https://github.com/alliedmodders/metamod-hl1" HEAD
git-r3_checkout "https://github.com/alliedmodders/metamod-hl1" "${METAMOD_DIR}"
}
src_prepare() {
eapply "${FILESDIR}/${P}-amtl-cxx20-ctor.patch"
eapply "${FILESDIR}/${P}-regex-notext.patch"
eapply "${FILESDIR}/${P}-prefix-const.patch"
eapply "${FILESDIR}/${P}-libpc300-notext.patch"
eapply "${FILESDIR}/${P}-amxmodx-notext.patch"
eapply "${FILESDIR}/${P}-sqlite-notext.patch"
eapply_user
}
src_configure() {
mkdir -p "${BUILD_DIR}" || die
cd "${BUILD_DIR}" || die
local myargs=(
--enable-optimize
--disable-auto-versioning
--hlsdk="${HLSDK_DIR}"
--metamod="${METAMOD_DIR}"
)
use debug && myargs+=( --enable-debug )
use mysql || myargs+=( --no-mysql )
python "${S}/configure.py" "${myargs[@]}" || die
}
src_compile() {
ambuild "${BUILD_DIR}" || die
}
src_install() {
# Base package: game-agnostic dlls, modules, plugins, configs, scripting, data
insinto /opt/Steam
doins -r "${BUILD_DIR}/packages/base/."
# Game-specific packages (extra modules, plugins, configs)
local game
for game in cstrike dod esf ns tfc ts; do
use ${game} || continue
[[ -d "${BUILD_DIR}/packages/${game}" ]] || continue
insinto /opt/Steam/${PN}/${game}
doins -r "${BUILD_DIR}/packages/${game}/."
done
# Pawn compiler; amxxpc32.so must live alongside amxxpc (binreloc finds it there)
dobin "${BUILD_DIR}/compiler/amxxpc/amxxpc/amxxpc"
dobin "${BUILD_DIR}/compiler/libpc300/amxxpc32/amxxpc32.so"
# doins installs 0644; shared libraries need to be executable
find "${ED}/opt/Steam" -name "*.so" -exec chmod 0755 {} +
}
Manage flags for this package:
euse -i <flag> -p games-util/amxmodx |
euse -E <flag> -p games-util/amxmodx |
euse -D <flag> -p games-util/amxmodx