Package: jffi Version: 1.2.7-8 Severity: wishlist Tags: patch Hi!
jffi FTBFS on arches other than Linux, for a couple of reasons, both fixed in the attached patches. nonlinux_endian_h.patch: Include the system's <endian.h> for BYTE_ORDER definitions, not just on Linux but on other platforms too. nonlinux_platforms.patch: debian/rules expects an output file called ../dist/jffi-*-Linux.jar, its name basically determined by jffi-$(uname -m)-$(uname -s).jar That is set by build.xml, not by jni/GNUmakefile. On kfreebsd, $(uname -s) contains a forwardslash and this is not good in filenames. Since the naming is inconsequential anyway, just call it jffi-*-Linux.jar even on kfreebsd on hurd. Thanks! -- System Information: Debian Release: stretch/sid APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: kfreebsd-amd64 (x86_64) Kernel: kFreeBSD 10.1-0-amd64 Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
From: Steven Chamberlain <ste...@pyro.eu.org> Date: Wed, 16 Dec 2015 18:56:35 +0000 Subject: just use platform=Linux for GNU/kFreeBSD and Hurd --- a/build.xml +++ b/build.xml @@ -93,6 +93,13 @@ <condition property="platform.os" value="Windows"> <os family="Windows"/> </condition> + <!-- Treat GNU/kFreeBSD or Hurd just like Linux platform --> + <condition property="platform.os" value="Linux"> + <or> + <os name="GNU/kFreeBSD"/> + <os name="GNU"/> + </or> + </condition> <!-- default to os.arch for the cpu --> <condition property="platform.cpu" value="${os.arch}"> <not><isset property="platform.cpu"/></not>
From: Steven Chamberlain <ste...@pyro.eu.org> Date: Wed, 16 Dec 2015 14:49:13 +0000 Subject: include endian.h on other platforms than Linux --- a/jni/jffi/endian.h +++ b/jni/jffi/endian.h @@ -36,7 +36,7 @@ #include <sys/param.h> #include <sys/types.h> -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__GNU__) # include_next <endian.h> #endif