gentoo/sys-apps/darwin-miscutils/darwin-miscutils-12-r1.ebuild
Fabian Groffen 0b459be146
app-misc/darwin-miscutils-12-r1: big cleanup
Remove most tools that are nowadays obsolete compared to host versions
and not really necessary either.

Patch md so we can have silent compilation with compilers from this era.

Signed-off-by: Fabian Groffen <grobian@gentoo.org>
2024-04-07 12:30:52 +02:00

102 lines
2.9 KiB
Bash

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit edo toolchain-funcs
# from DT 8.2.1
DEV_VER=63
# from 10.7.4
MD_VER=147 # adv_cmds-148 in 10.8 has no md, bug #428530
DESCRIPTION="Miscellaneous commands used on macOS, High Sierra 10.13"
HOMEPAGE="https://github.com/apple-oss-distributions"
SRC_URI="
https://github.com/apple-oss-distributions/adv_cmds/blob/c8dbac91aa855b2d05282f45709b318f8bc3693d/md/md.1 \
-> adv_cmds-md-${MD_VER}.1
https://github.com/apple-oss-distributions/adv_cmds/blob/c8dbac91aa855b2d05282f45709b318f8bc3693d/md/md.c \
-> adv_cmds-md-${MD_VER}.c
https://642666.bugs.gentoo.org/attachment.cgi?id=511988 -> adv_cmds-md-${MD_VER}-compile.patch
https://github.com/apple-oss-distributions/developer_cmds/archive/refs/tags/developer_cmds-${DEV_VER}.tar.gz"
S="${WORKDIR}"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~arm64-macos ~ppc-macos ~x64-macos"
# for ncal
DEPEND=""
RDEPEND="${DEPEND}"
src_prepare() {
mkdir -p "${S}"/adv_cmds-${MD_VER}/md || die
cd "${S}"/adv_cmds-${MD_VER} || die
cp "${DISTDIR}"/adv_cmds-md-${MD_VER}.c md/md.c || die
cp "${DISTDIR}"/adv_cmds-md-${MD_VER}.1 md/md.1 || die
eapply "${FILESDIR}"/${PN}-12-md-modern-c.patch
cd "${S}" || die
eapply_user
}
src_compile() {
local t
local TS
local flags=(
${CFLAGS}
-I.
-D__FBSDID=__RCSID
-Du_int=uint32_t
-include stdint.h
)
# grobian 2024-04-07:
# removed most tools here that are provided by host as well, but
# newer versions, and they are in no way critical, but better
# figured out by Apple (e.g. tools like w/uptime and hostname)
# what's left here is developer tools that GCC interacts with
# tools from developer_cmds we could probably loose, but they've
# always worked up sofar, and they are needed on old targets
# (Darwin9) most likely, so keep them. md is just plain missing, so
# keep it in any case
TS="${S}/developer_cmds-developer_cmds-${DEV_VER}" # new github archives
# only pick those tools that do not conflict (no ctags and indent)
# do not install lorder, mkdep and vgrind as they are a non-prefix-aware
# shell scripts
# don't install rpcgen, as it is heavily related to the OS it runs
# on (and this is the High Sierra version)
for t in asa unifdef what ; do
echo "in ${TS}/${t}:"
cd "${TS}/${t}" || die
edo $(tc-getCC) ${flags[@]} -o ${t} ${LDFLAGS} *.c
done
# provide this one for gcc-apple
TS="${S}/adv_cmds-${MD_VER}"
for t in md ; do
echo "in ${TS}/${t}:"
cd "${TS}/${t}" || die
edo $(tc-getCC) ${flags[@]} -o ${t} ${LDFLAGS} *.c
done
}
src_install() {
local t
local TS
mkdir -p "${ED}"/{,usr/}bin || die
TS="${S}/developer_cmds-developer_cmds-${DEV_VER}" # new github archives
for t in asa unifdef what ; do
cp "${TS}/${t}/${t}" "${ED}"/usr/bin/ || die
doman "${TS}/${t}/${t}.1"
done
TS="${S}/adv_cmds-${MD_VER}"
for t in md ; do
cp "${TS}/${t}/${t}" "${ED}"/usr/bin/ || die
doman "${TS}/${t}/${t}.1"
done
}