1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
# 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
}
|