summaryrefslogtreecommitdiff
path: root/packages/dbus-java/dbus-java_2.5.bb
blob: ef783c905dac6906907638f819c764631d7a844c (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
DESCRIPTION = "A pure Java D-Bus Implementation"
DESCRIPTION_dbus-java-viewer = "${DESCRIPTION} (DBusViewer Binary)"
DESCRIPTION_dbus-java-bin = "${DESCRIPTION} (Binaries)"
AUTHOR = "Matthew Johnson <dbus@matthew.ath.cx>"
HOMEPAGE = "http://dbus.freedesktop.org/doc/dbus-java"
SECTION = "libs"
LICENSE = "LGPLv2 AFL"
DEPENDS = "libmatthew docbook-utils-native docbook-sgml-dtd-4.1-native fastjar-native"
RDEPENDS_dbus-java-viewer = "java2-runtime libunixsocket-java ${JPN}"
RDEPENDS_dbus-java-bin = "java2-runtime libunixsocket-java ${JPN}"
RSUGGESTS_libdbus-java = "libunixsocket-java dbus"
PR = "r0"

SRC_URI = "http://dbus.freedesktop.org/releases/dbus-java/dbus-java-${PV}.tar.gz"

S = "${WORKDIR}/dbus-java-${PV}"

inherit java-library

# jamvm-native unfortunately contains non-generificed java/lang/reflect classes
# which are accessed in this package. Work around this by setting the bootclasspath
# explicitly.
JCFLAGS = "-bootclasspath ${STAGING_DATADIR}/classpath/glibj.zip"

do_compile () {
  oe_runmake \
	JCFLAGS="-source 1.5 ${JCFLAGS}" \
	JAVAC="javac" \
	JARPREFIX="${STAGING_DATADIR_JAVA}" \
	JAVAUNIXJARDIR="${STAGING_DATADIR_JAVA}" \
	CLASSPATH="${S}/classes" \
	JAR="fastjar" \
	bin

  # Generated shell scripts will have staging paths inside them.
	rm bin/*
  
	# Generate them again with target paths.
	oe_runmake \
		JAVAC="oefatal \"No Java compilation expected here.\"" \
		JAR="oefatal \"No jar invocation expected here.\"" \
		JARPREFIX=${datadir_java} \
		JAVAUNIXPATH=${datadir_java} \
		bin

	# Generate man pages.
	oe_runmake \
		JAVAC="oefatal \"No Java compilation expected here.\"" \
		JAR="oefatal \"No jar invocation expected here.\"" \
		JARPREFIX=${datadir_java} \
		JAVAUNIXPATH=${datadir_java} \
		man
}

do_install () {
	oe_jarinstall ${JPN}-${PV}.jar ${JPN}.jar
  oe_jarinstall dbus-java-viewer-${PV}.jar dbus-java-viewer.jar
  oe_jarinstall dbus-java-bin-${PV}.jar dbus-java-bin.jar
  
	install -d ${D}${bindir}
  install bin/DBusViewer ${D}${bindir}
  install bin/DBusCall ${D}${bindir}
  install bin/CreateInterface ${D}${bindir}
  install bin/ListDBus ${D}${bindir}
  install bin/DBusDaemon ${D}${bindir}

	oe_runmake \
		JAVAC="oefatal \"No Java compilation expected here.\"" \
		JAR="oefatal \"No jar invocation expected here.\"" \
		MANPREFIX=${D}${mandir} \
		DOCPREFIX=${D}${docdir}/${JPN} \
		install-man
}

do_stage () {
	oe_jarinstall -s ${JPN}-${PV}.jar ${JPN}.jar
}

PACKAGE_ARCH = "all"
# ${JPN} must be last otherwise it would pick up dbus-viewer*.jar
# and dbus-bin*.jar
PACKAGES = "dbus-java-viewer dbus-java-viewer-doc dbus-java-bin dbus-java-bin-doc ${JPN}"

FILES_dbus-java-viewer = "${datadir}/java/dbus-java-viewer*.jar ${bindir}/DBusViewer"
FILES_dbus-java-viewer-doc = "${mandir}/DBusViewer*"
FILES_dbus-java-bin = "${datadir}/java/dbus-java-bin*.jar ${bindir}"
FILES_dbus-java-bin-doc = "${mandir} ${docdir}/${JPN}"