aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-extended/dbus/dbus-java_2.7.bb
blob: a3f7a40a6453f103bdb4f3ae4b8115d64ec8a8c8 (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
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 = "LGPL-2.1 & AFL-2.1"

DEPENDS = "libmatthew docbook-utils-native docbook-sgml-dtd-4.1-native fastjar-native"
RDEPENDS_dbus-java-viewer = "java2-runtime libunixsocket-java dbus-java-bin libmatthew-debug-java ${JPN}"
RDEPENDS_dbus-java-bin = "java2-runtime libunixsocket-java libmatthew-debug-java ${JPN}"
RSUGGESTS_libdbus-java = "libunixsocket-java"

PR = "r0"
LIC_FILES_CHKSUM = "file://COPYING;md5=72cc739fb93ae32741edbae802490e92"
SRC_URI = "http://dbus.freedesktop.org/releases/dbus-java/dbus-java-${PV}.tar.gz"

SRC_URI[md5sum] = "8b8470db5cd657591bac245e3b6e18e4"
SRC_URI[sha256sum] = "be404ea36284d938646192d0ee42e146853064217d4e3aaf89b56bd351ebca33"

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}" \
	JAVAUNIXLIBDIR="${STAGING_DIR_TARGET}${libdir_jni}" \
	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} \
		JAVAUNIXJARDIR=${datadir_java} \
		JAVAUNIXLIBDIR=${libdir_jni} \
		bin

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

JARFILENAME = "${JPN}-${PV}.jar"

do_install () {
  oe_jarinstall ${JPN}-${PV}.jar ${JPN}.jar dbus.jar
  oe_jarinstall dbus-java-viewer-${PV}.jar dbus-java-viewer.jar dbus-viewer.jar
  oe_jarinstall dbus-java-bin-${PV}.jar dbus-java-bin.jar dbus-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
}

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

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