Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Oct 2017 02:30:24 +0000 (UTC)
From:      Mark Linimon <linimon@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r451725 - in head/multimedia/kodi: . files
Message-ID:  <201710110230.v9B2UOYr018118@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: linimon
Date: Wed Oct 11 02:30:24 2017
New Revision: 451725
URL: https://svnweb.freebsd.org/changeset/ports/451725

Log:
  Attempt to enable to build kodi on armv7.
  
  PR:		221899
  Approved by:	maintainer timeout (mickael.maillot @ gmail.com, 2 months)

Modified:
  head/multimedia/kodi/Makefile
  head/multimedia/kodi/files/patch-configure.ac
  head/multimedia/kodi/files/patch-m4_xbmc__arch.m4

Modified: head/multimedia/kodi/Makefile
==============================================================================
--- head/multimedia/kodi/Makefile	Wed Oct 11 02:30:16 2017	(r451724)
+++ head/multimedia/kodi/Makefile	Wed Oct 11 02:30:24 2017	(r451725)
@@ -59,10 +59,11 @@ LIB_DEPENDS=	libass.so:multimedia/libass \
 		libyajl.so:devel/yajl
 RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3
 
-ONLY_FOR_ARCHS=	amd64 armv6 i386
+ONLY_FOR_ARCHS=	amd64 armv6 armv7 i386
 KODI_ARCH_i386=	x86
 KODI_ARCH_amd64=x86_64
 KODI_ARCH_armv6=armv6
+KODI_ARCH_armv7=armv7
 
 USES=		autoreconf:build compiler:c++11-lib gettext gmake iconv jpeg \
 		libtool pkgconfig python:-2.7 ssl
@@ -98,6 +99,7 @@ OPTIONS_SINGLE=		RPI
 OPTIONS_SINGLE_RPI=	RPI1 RPI2
 
 OPTIONS_EXCLUDE_armv6=	LIRC VAAPI VDPAU
+OPTIONS_EXCLUDE_armv7=	LIRC VAAPI VDPAU
 OPTIONS_EXCLUDE_amd64=	RPI1 RPI2
 OPTIONS_EXCLUDE_i386=	RPI1 RPI2
 
@@ -112,6 +114,7 @@ RPI2_DESC=	build for RPI2 (cpu=cortex-a7, neon enabled
 OPTIONS_DEFAULT=	AIRPLAY AIRTUNES AVAHI CEC LIBBLURAY LIRC \
 		MYSQL NFS RTMP SFTP SMB VAAPI VDPAU WEBSERVER
 OPTIONS_DEFAULT_armv6=	RPI1
+OPTIONS_DEFAULT_armv7=	RPI1
 
 AIRPLAY_LIB_DEPENDS=	libplist.so:devel/libplist
 AIRPLAY_CONFIGURE_ENABLE=	airplay
@@ -170,7 +173,7 @@ CONFIGURE_ARGS+=	--disable-debug --disable-alsa --disa
 
 .include <bsd.port.pre.mk>
 
-.if ${ARCH} != "armv6"
+.if ${ARCH} != armv6 && ${ARCH} != armv7
 BUILD_DEPENDS+=	gtk-update-icon-cache:x11-toolkits/gtk20
 LIB_DEPENDS+=	libdrm.so:graphics/libdrm
 RUN_DEPENDS+=	glxinfo:graphics/mesa-demos \
@@ -182,7 +185,7 @@ INSTALLS_ICONS=	yes
 PLIST_SUB+=	ARM="@comment "
 PLIST_SUB+=	X86=""
 .else
-# armv6 (rpi1 and rpi2 only)
+# armv6 || armv7 (rpi1 and rpi2 only)
 EXTRA_PATCHES=	${FILESDIR}/extra-armv6_hal
 CONFIGURE_ARGS+=	--enable-player=omxplayer
 LIB_DEPENDS+=	libEGL.so:misc/raspberrypi-userland \
@@ -210,7 +213,7 @@ post-install:
 	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/kodi/kodi.bin
 	${FIND} ${STAGEDIR}${PREFIX}/lib/kodi -name '*.so' -or -name '*.xbs' -or -name '*.vis' \
 		| ${XARGS} ${STRIP_CMD}
-.if ${ARCH} != armv6
+.if ${ARCH} != armv6 && ${ARCH} != armv7
 	${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/kodi/kodi-xrandr
 .endif
 

Modified: head/multimedia/kodi/files/patch-configure.ac
==============================================================================
--- head/multimedia/kodi/files/patch-configure.ac	Wed Oct 11 02:30:16 2017	(r451724)
+++ head/multimedia/kodi/files/patch-configure.ac	Wed Oct 11 02:30:24 2017	(r451725)
@@ -1,6 +1,6 @@
---- configure.ac.orig	2016-10-08 UTC
-+++ configure.ac
-@@ -564,12 +564,25 @@ case $host in
+--- configure.ac.orig	2017-05-24 20:49:32.000000000 +0000
++++ configure.ac	2017-08-28 14:09:04.029056190 +0000
+@@ -564,12 +564,36 @@
       CORE_SYSTEM_NAME=linux
       ARCH="x86-freebsd"
       MAKE="gmake"
@@ -23,10 +23,21 @@
 +     use_gles=yes
 +     use_gl=no
 +     use_x11=no
++     ;;
++  armv7-*-freebsd*)
++     target_platform=target_linux
++     ARCH="armv7-freebsd"
++     MAKE="gmake"
++     USE_STATIC_FFMPEG=1
++     use_arch="arm"
++     use_neon=no
++     use_gles=yes
++     use_gl=no
++     use_x11=no
       ;;
    arm-apple-darwin*)
       CORE_SYSTEM_NAME=ios
-@@ -684,7 +697,7 @@ if test "$target_platform" = "target_ras
+@@ -688,7 +712,7 @@
       use_hardcoded_tables="yes"
       use_openmax=no
       CORE_SYSTEM_NAME=rbpi
@@ -35,7 +46,7 @@
       AC_DEFINE(HAS_EGLGLES, [1], [Define if supporting EGL based GLES Framebuffer])
       USE_OMXLIB=1; AC_DEFINE([HAVE_OMXLIB],[1],["Define to 1 if OMX libs is enabled"])
       USE_MMAL=1; AC_DEFINE([HAS_MMAL],[1],["Define to 1 if MMAL libs is enabled"])
-@@ -753,10 +766,16 @@ fi
+@@ -759,10 +783,16 @@
  # platform specific flags
  if echo "$ARCH" | grep -q "freebsd" ; then
    LOCALBASE="${LOCALBASE:-/usr/local}"
@@ -55,7 +66,7 @@
  fi
  if test "$host_vendor" = "apple" ; then
    # standard application paths
-@@ -796,8 +815,16 @@ if test "$host_vendor" = "apple" ; then
+@@ -802,8 +832,17 @@
      LIBS="$LIBS -framework CoreFoundation"
    fi
  elif test "$target_platform" = "target_raspberry_pi"; then
@@ -67,13 +78,14 @@
 +  if test "$use_platform" = "raspberry-pi2"; then
 +    CFLAGS="$CFLAGS -march=armv7a -mtune=cortex-a7 -mfpu=neon"
 +    CXXFLAGS="$CXXFLAGS -march=armv7a -mtune=cortex-a7 -mfpu=neon"
++    ARCH="armv7-freebsd"
 +    FFMPEG_OPTS="${FFMPEG_OPTS} --enable-neon"
 +  fi
 +
  elif test "$use_arch" = "arm"; then
    CFLAGS="$CFLAGS -mno-apcs-stack-check"
    CXXFLAGS="$CXXFLAGS -mno-apcs-stack-check"
-@@ -915,6 +942,7 @@ AC_LANG_POP([C++])
+@@ -921,6 +960,7 @@
  
  # Check inotify availability
  AC_CHECK_HEADER([sys/inotify.h], AC_DEFINE([HAVE_INOTIFY],[1],[Define if we have inotify]),)
@@ -81,7 +93,7 @@
  
  # Python
  if test -z "$PYTHON_NOVERSIONCHECK"; then
-@@ -1163,12 +1191,13 @@ AS_CASE([x$use_libbluray],
+@@ -1169,12 +1209,13 @@
  )
  
  #Check to see if libs are needed for functions that are often built-in to libc
@@ -96,7 +108,7 @@
  
  # platform dependent libraries
  if test "$host_vendor" = "apple" ; then
-@@ -1552,7 +1581,7 @@ if test "${USE_STATIC_FFMPEG}" = "1"; th
+@@ -1558,7 +1599,7 @@
  
    if test "$cross_compiling" != "yes"; then
      if test "$use_debug" != "yes"; then
@@ -105,7 +117,7 @@
      fi
      if test "$use_optimizations" != "yes"; then
        FFMPEG_OPTS="${FFMPEG_OPTS} --disable-optimizations"
-@@ -1563,7 +1592,7 @@ if test "${USE_STATIC_FFMPEG}" = "1"; th
+@@ -1569,7 +1610,7 @@
        SAVE_LIBS="$LIBS"
        # check for system installed ffmpeg. We require minimum versions.
        PKG_CHECK_MODULES([FFMPEG], [$FFMPEG_LIBNAMES],
@@ -114,7 +126,7 @@
          [FFMPEG_FOUND="false"])
  
        if test "${USE_STATIC_FFMPEG}" = "1" && test "$FFMPEG_FOUND" = "true"; then
-@@ -1590,7 +1619,11 @@ if test "${USE_STATIC_FFMPEG}" = "1"; th
+@@ -1596,7 +1637,11 @@
      elif test "$with_ffmpeg" = "force"; then
        # always build our ffmpeg
        AC_MSG_NOTICE("FFmpeg installation forced by user - installing our version")
@@ -127,7 +139,7 @@
        export PKG_CONFIG_PATH="${ffmpeg_build}/ffmpeg-install/lib/pkgconfig:$PKG_CONFIG_PATH"
  
      elif test "$with_ffmpeg" != "no"; then
-@@ -1603,7 +1636,7 @@ fi
+@@ -1609,7 +1654,7 @@
  
  if test "$FFMPEG_FOUND" != "true"; then
    PKG_CHECK_MODULES([FFMPEG], [$FFMPEG_LIBNAMES],
@@ -136,7 +148,7 @@
      [AC_MSG_ERROR("ffmpeg not found")])
  fi
  
-@@ -1627,9 +1660,9 @@ fi
+@@ -1633,9 +1678,9 @@
  echo "Checking for SWIG installation"
  AC_PATH_PROG(SWIG_EXE, swig, "none")
  if test "$SWIG_EXE" = "none"; then
@@ -149,7 +161,7 @@
    fi
  fi
  if test "$SWIG_EXE" = "none"; then
-@@ -1922,7 +1955,7 @@ if test "x$use_texturepacker" != "xno"; 
+@@ -1928,7 +1973,7 @@
    AC_PATH_PROG([TEXTUREPACKER], [TexturePacker], ["none"],
      [$PATH$PATH_SEPARATOR${abs_top_srcdir}/tools/depends/native/TexturePacker/bin])
    if test "$TEXTUREPACKER" = "none"; then
@@ -158,7 +170,7 @@
      TEXTUREPACKER="${abs_top_srcdir}/tools/depends/native/TexturePacker/bin/TexturePacker"
    fi
    if test -x "$TEXTUREPACKER"; then
-@@ -2142,6 +2175,8 @@ if test "$host_vendor" = "apple" ; then
+@@ -2148,6 +2193,8 @@
    LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libswscale -lswscale"
  fi
  

Modified: head/multimedia/kodi/files/patch-m4_xbmc__arch.m4
==============================================================================
--- head/multimedia/kodi/files/patch-m4_xbmc__arch.m4	Wed Oct 11 02:30:16 2017	(r451724)
+++ head/multimedia/kodi/files/patch-m4_xbmc__arch.m4	Wed Oct 11 02:30:24 2017	(r451725)
@@ -4,7 +4,7 @@
    amd64-*-freebsd*)
       AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_FREEBSD -D_LINUX")
       ;;
-+  armv6-*-freebsd*)
++  armv*-*-freebsd*)
 +     AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_FREEBSD -D_LINUX")
 +     ;;
    *86*-apple-darwin*)
@@ -14,7 +14,7 @@
    amd64-*-freebsd*)
       AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_FREEBSD -D_LINUX")
       ;;
-+  armv6-*-freebsd*)
++  armv*-*-freebsd*)
 +     AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_FREEBSD -D_LINUX")
 +     ;;
    arm-apple-darwin*)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201710110230.v9B2UOYr018118>