aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/ckermit/ckermit_211.bb
blob: 13173286193d0eee993ee8b19c0c460cbaf52102 (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
DESCRIPTION = "C-Kermit is a combined serial and network communication \
software package offering a consistent, medium-independent, \
cross-platform approach to connection establishment, terminal \
sessions, file transfer, character-set translation, and automation \
of communication tasks."
LICENSE = "Kermit"
HOMEPAGE = "http://www.columbia.edu/kermit/"
SECTION = "console/network"
SRC_URI = "ftp://kermit.columbia.edu/kermit/archives/cku${PV}.tar.gz"
PR = "r1"

#
# From http://www.columbia.edu/kermit/ck80.html#license
#
#	"Free Unix Distributions: C-Kermit may be included in "free Unix"
#	distributions such as GNU/Linux, FreeBSD, NetBSD, and OpenBSD. See the
#	license for details."
#
# A distributions based on OpenEmbedded (OpenZaurus, OpenSimpad etc) is a
# "free Unix" distribution, therefore we can include the package.
#
#
# Please note that the license is not 100% because it limits what you can
# do:
#
#	"The C-Kermit source code may not be changed without the consent of
#	the Kermit Project, which will not be unreasonably withheld (this is
#	simply a matter of keeping a consistent and supportable code base)."
#
# But we don't change the source code in any way, so we comply to the license.
# So, essentially for us C-Kermit is free as in beer, but not in freedom.
#
# That is true for other distros. C-Kkermit is distributed by:
#
#	Debian:	http://packages.debian.org/unstable/comm/ckermit
#	Gentoo: http://mirror.pudas.net/gentoo-x86-portage/app-misc/ckermit/ckermit-8.0.211.ebuild
#	SuSE: http://www.novell.com/products/linuxpackages/enterpriseserver/s390/ckermit.html
#	Fedora Core: http://cvs.fedora.redhat.com/viewcvs/devel/ckermit/
#	PLD: http://cvs.pld.org.pl/SPECS/ckermit.spec
#
# and, according to the Kermit website http://www.columbia.edu/kermit/ck80.html also with
#
#	Red Hat 9 (on earlier Red Hat's it was on the PowerTools CD)
#	HP-UX
#	FreeBSD
#	NetBSD
#	OpenBSD
#
# ... and probably other distro's as well.
#

S = "${WORKDIR}"

export CC2 = "${CC}"
export BINDIR = "${bindir}"
export MANDIR = "${mandir}/man1"
export INFODIR = "${infodir}"

# Additional flags. For uclibc we add -DNOARROWKEYS which stops ckermit
# trying to look inside the stdio headers.
CKERMIT_ADDITIONAL = ""
CKERMIT_ADDITIONAL_linux-uclibc = "-DNOARROWKEYS"

do_compile () {
	# The original makefile doesn't differentiate between CC and CC_FOR_BUILD,
	# so we build wart manually. Note that you need a ckwart.o with the proper
	# timestamp to make this hack work:
	${BUILD_CC} -c ckwart.c
	${BUILD_CC} -o wart ckwart.o
	./wart ckcpro.w ckcpro.c

	# read ${S}/ckccfg.txt to understand this :-)
	oe_runmake wermit CFLAGS="${CFLAGS} -DLINUX -DCK_POSIX_SIG \
		-DNOTCPOPTS -DLINUXFSSTND -DNOCOTFMC -DPOSIX -DUSE_STRERROR \
		-DNOSYSLOG -DHAVE_PTMX -DNO_DNS_SRV -DNOGFTIMER \
		-DNOB_50 -DNOB_75 -DNOB_134 -DNOB_150 -DNOB_200 \
		-DNOB_1800 -DNOB_3600 -DNOB_7200 -DNOB_76K -DNOB_230K \
		-DNOB_460K -DNOB_921K \
		-DNOAPC -DNOCSETS -DNONET -DNOUNICODE -DNOHELP -DNODEBUG \
		-DNOFRILLS -DNOFTP -DNODIAL -DNOPUSH -DNOIKSD -DNOHTTP -DNOFLOAT \
		-DNOSERVER -DNOSEXP -DNORLOGIN -DNOOLDMODEMS -DNOSSH -DNOLISTEN \
		-DNORESEND -DNOAUTODL -DNOSTREAMING -DNOHINTS -DNOCKXYZ -DNOLEARN \
		-DNOMKDIR -DNOPERMS -DNOCKTIMERS -DNOCKREGEX -DNOREALPATH \
		-DCK_SMALL -DNOLOGDIAL -DNORENAME -DNOWHATAMI \
		${CKERMIT_ADDITIONAL}"
}

do_install () {
	install -d ${D}${BINDIR} ${D}${MANDIR} ${D}${INFODIR}
	oe_runmake 'DESTDIR=${D}' 'MANDIR=${D}${MANDIR}' install
	# Fix up dangling symlink
	rm ${D}${BINDIR}/kermit-sshsub
	(cd ${D}${BINDIR} && ln -s ${BINDIR}/kermit kermit-sshusb)
}