blob: b641f648e3845eb76c2b3da101d81e4bd929d0bf (
plain)
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="3"
inherit toolchain-funcs eutils
MISC_VER=31
SHELL_VER=162
DEV_VER=55
DESCRIPTION="Miscellaneous commands used on Darwin/Mac OS X systems, Lion 10.7"
HOMEPAGE="http://www.opensource.apple.com/"
SRC_URI="http://www.opensource.apple.com/darwinsource/tarballs/other/misc_cmds-${MISC_VER}.tar.gz
http://www.opensource.apple.com/darwinsource/tarballs/other/shell_cmds-${SHELL_VER}.tar.gz
http://www.opensource.apple.com/darwinsource/tarballs/other/developer_cmds-${DEV_VER}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~ppc-macos ~x64-macos ~x86-macos"
IUSE=""
S=${WORKDIR}
src_prepare() {
cd "${S}"/shell_cmds-${SHELL_VER}
epatch "${FILESDIR}"/${PN}-6-w64.patch
}
src_compile() {
local flags=(
${CFLAGS}
-I.
-D__FBSDID=__RCSID
-Wsystem-headers
-Du_int=uint32_t
-include stdint.h
${LDFLAGS}
)
local TS=${S}/misc_cmds-${MISC_VER}
# tsort is provided by coreutils
for t in leave units calendar; do
cd "${TS}/${t}"
echo "in ${TS}/${t}:"
echo "$(tc-getCC) ${flags[@]} -o ${t}" *.c
$(tc-getCC) ${flags[@]} -o ${t} *.c || die "failed to compile $t"
done
# compile cal separately
cd "${TS}/ncal"
echo "in ${TS}/ncal:"
echo "$(tc-getCC) ${flags[@]} -c calendar.c"
$(tc-getCC) ${flags[@]} -c calendar.c || die "failed to compile cal"
echo "$(tc-getCC) ${flags[@]} -c easter.c"
$(tc-getCC) ${flags[@]} -c easter.c || die "failed to compile cal"
echo "$(tc-getCC) ${flags[@]} -c ncal.c"
$(tc-getCC) ${flags[@]} -c ncal.c || die "failed to compile cal"
echo "$(tc-getCC) ${flags[@]} -o cal calendar.o easter.o ncal.o"
$(tc-getCC) ${flags[@]} -o cal calendar.o easter.o ncal.o || die "failed to compile cal"
TS=${S}/shell_cmds-${SHELL_VER}
# only pick those tools not provided by coreutils, findutils
for t in \
alias apply getopt hostname jot kill killall \
lastcomm renice script shlock time whereis;
do
echo "in ${TS}/${t}:"
echo "$(tc-getCC) ${flags[@]} -o ${t} ${t}.c"
cd "${TS}/${t}"
$(tc-getCC) ${flags[@]} -o ${t} ${t}.c || die "failed to compile $t"
done
cd "${TS}/w"
sed -i -e '/#include <libutil.h>/d' w.c || die
echo "in ${TS}/w:"
echo "$(tc-getCC) ${flags[@]} -DHAVE_UTMPX=1 -lresolv -o w w.c pr_time.c proc_compare.c"
$(tc-getCC) ${flags[@]} -DHAVE_UTMPX=1 -lresolv -o w w.c pr_time.c proc_compare.c \
|| die "failed to compile w"
TS=${S}/developer_cmds-${DEV_VER}
# 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 Snow Leopard version)
for t in asa hexdump unifdef what ; do
echo "in ${TS}/${t}:"
cd "${TS}/${t}" || die
echo "$(tc-getCC) ${flags[@]} -o ${t}" *.c
$(tc-getCC) ${flags[@]} -o ${t} *.c || die "failed to compile $t"
done
}
src_install() {
mkdir -p "${ED}"/bin
mkdir -p "${ED}"/usr/bin
local TS=${S}/misc_cmds-${MISC_VER}
for t in leave units calendar ; do
cp "${TS}/${t}/${t}" "${ED}"/usr/bin/
doman "${TS}/${t}/${t}.1"
done
# copy cal separately
cp "${TS}/ncal/cal" "${ED}"/usr/bin/
dosym /usr/bin/cal /usr/bin/ncal
doman "${TS}/ncal/ncal.1"
dosym /usr/share/man/man1/ncal.1 /usr/share/man/man1/cal.1
TS=${S}/shell_cmds-${SHELL_VER}
for t in \
alias apply getopt jot killall lastcomm \
renice script shlock time w whereis;
do
cp "${TS}/${t}/${t}" "${ED}"/usr/bin/
[[ -f "${TS}/${t}/${t}.1" ]] && doman "${TS}/${t}/${t}.1"
[[ -f "${TS}/${t}/${t}.8" ]] && doman "${TS}/${t}/${t}.8"
done
cp "${TS}/w/w" "${ED}"/usr/bin/uptime
doman "${TS}/w/uptime.1"
for t in hostname kill; do
cp "${TS}/${t}/${t}" "${ED}"/bin/
doman "${TS}/${t}/${t}.1"
done
TS=${S}/developer_cmds-${DEV_VER}
for t in asa hexdump unifdef what ; do
cp "${TS}/${t}/${t}" "${ED}"/usr/bin/
doman "${TS}/${t}/${t}.1"
done
}
|