summaryrefslogtreecommitdiff
path: root/media-libs/raspberrypi-userland
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-11-25 22:39:15 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-11-25 22:39:15 +0000
commitd934827bf44b7cfcf6711964418148fa60877668 (patch)
tree0625f358789b5e015e49db139cc1dbc9be00428f /media-libs/raspberrypi-userland
parent2e34d110f164bf74d55fced27fe0000201b3eec5 (diff)
gentoo resync : 25.11.2020
Diffstat (limited to 'media-libs/raspberrypi-userland')
-rw-r--r--media-libs/raspberrypi-userland/Manifest8
-rw-r--r--media-libs/raspberrypi-userland/files/raspberrypi-userland-include.patch19
-rw-r--r--media-libs/raspberrypi-userland/files/raspberrypi-userland-libdir.patch316
-rw-r--r--media-libs/raspberrypi-userland/files/raspberrypi-userland-libfdt-static.patch22
-rw-r--r--media-libs/raspberrypi-userland/files/raspberrypi-userland-pkgconf-arm64.patch38
-rw-r--r--media-libs/raspberrypi-userland/raspberrypi-userland-0_pre20201022.ebuild71
-rw-r--r--media-libs/raspberrypi-userland/raspberrypi-userland-9999.ebuild71
7 files changed, 523 insertions, 22 deletions
diff --git a/media-libs/raspberrypi-userland/Manifest b/media-libs/raspberrypi-userland/Manifest
index c9bd7bfa9200..086316bf661e 100644
--- a/media-libs/raspberrypi-userland/Manifest
+++ b/media-libs/raspberrypi-userland/Manifest
@@ -4,7 +4,13 @@ AUX bcm_host.pc 338 BLAKE2B 2afdd23a6b200a04650c4ea0b669b14e4f6aac9f2fbcbc77a606
AUX egl.pc 227 BLAKE2B e3b205358a0891f58d95fbd0494e6d6a07c550363b60373c0f3b14686b5c3967dfa7e76fb2a65ca703c770f7bd9e5ba2232e1932ebebdd799fb99555afa55402 SHA512 15e2cdf73be35640a951a7e841963902bb056d96025b52c1551359ec7671baf710699c642a08a5543d52d27f424d900e2fd1d584976a056a54a20116b59a21f6
AUX glesv2.pc 230 BLAKE2B eb3405f7e867b7e8d1ecde9498ac396c11931dac0bb03ae1e78a3bb6ed376b468917ed6363f08341934f1b97ed3df00bfc9c0af22e6e5aa7c91def517df586e7 SHA512 a821afcf22d52ea48b4b94b3f4317553bed2ed2e1aadee2862b4d925ee3c78cc0d3a023c62842758de5c2b168dfc8b1ba6838ccb9b0749aef9fc782aa33fa8ec
AUX next-resource-handle.patch 12535 BLAKE2B b7dbf4152f92ce7bbbf9d2b8b72fddc8cf2f32e576b2d8096b0b17ac89a4cc8ab2cfd0e11137b8da3b2c7b7414d02855a14e1dbffd77d26e087989184ab88001 SHA512 f0368ffff54f989f2541f1891fe3b244d9ff4f2fc464adf2387c04045aca2f1e1f35622d2bd6c6d42e9581c45c417d1961e235b063d892b17e7dbe3e4724f5c5
+AUX raspberrypi-userland-include.patch 1484 BLAKE2B 7563874b54b168bd4858ecb65112ef48a7e010feae7a68c22f6d3f47dc1b855222df124df808fd6be427fea5763a9afd4c55ae2e3223c7bd55aa95333e55fe88 SHA512 fe73bcd1182b36e8ccaf81f0d7717f299a482545f08b352af8ead80f134a7be0f5269adb6972a1979a390046b9b94cab55c7a50a493740c72c5084e0e4995baf
+AUX raspberrypi-userland-libdir.patch 12348 BLAKE2B ed0dcc454b13589244204cf2cb26d9e38b75887c2d4d1ec4db02e7d4a206661f0ae4fc9d06467e353310a6b69f49a72a53b2882acab6a3959d57c7c0d34434b5 SHA512 213f04d859a0134143cf0e98650ed69096934c1600577d28bb24d62272f9da7ca12d0f3b59a19d3ff06a5fc67547f8e5a8684738b534bfa6e429722b320fee9f
+AUX raspberrypi-userland-libfdt-static.patch 724 BLAKE2B 1e2901c69d9bf855c1db9e7f5776041d9d83e9e3025a31ab54fa136bfd67dd944ed631017de33ef15a948324b1392711fb2535b65fea4e4d5a59177b866114ea SHA512 1841061596a98157d7ed25f358e5d63d78f7f808f777b909c271c0b4aa9b45c4dfa498d5623bc53466d9b81e5c064ae45423910d180816b7e39563cedb1809d8
+AUX raspberrypi-userland-pkgconf-arm64.patch 1453 BLAKE2B 42dae98ead22bf8c37adae584ca5b8230176f290202124cf61677b9d13deb627637f5eef230db4e4628524c2056096139a1a9311b9530d7cceaa246111f70780 SHA512 fa259fe0ea348dfe4b5718dfc27b4b18289abd10d7b160a29fd01c62b4ed95e518259adaeadb1b300e7957d2a824ce1748b9216cc7679be2aed105d6883ad042
DIST raspberrypi-userland-0_pre20160424.tar.gz 32933952 BLAKE2B 4a2d40200a6a4d673be277a0958f768342a2777c28b14b4c7fcac1dbc9c59f2ef2485234f11fbd228aea6bbcf4982a3fd1d4825268af60be91665ea6fee6922d SHA512 04a71837b1247ecbbe479b3b09b5705638a9e576dc99a1ab2200727509195a4a2f2a9b184e3c23ce3933a3236b260afc8bd2b75bc218567b386445bdd8208a5b
+DIST raspberrypi-userland-0_pre20201022.tar.gz 32958590 BLAKE2B 01733a24822d80c5bf9aa3e0feefc3e9437390a465d7a4184d0a9c6a68446e91515d3d6d398ff516d9fd1bdcd4a885512d358a4ed1d24d9b94bdc72d81db84d3 SHA512 1813224068b8a8e569c874a8ffb354f1ac86e95b482caaad18b9703a187baaea60f1f87dfbb0c7e4b3cb2eb875abbcc82aedba410646a3c1df0208bd73aaf9f9
EBUILD raspberrypi-userland-0_pre20160424.ebuild 3280 BLAKE2B 74a7ac7e2fdaa85c45c7a6352f8d30024e33d0b6c10740082447d874bab8e59d7a04d31351b7fe8a69d89cece234709e8444207c4d9960ab20ff08f12b2c1cc2 SHA512 f1fca6c1cf73336d482c4cd400667e22d6493402fa23389e62e40af86dc605af98dddee39b5f553fc33cc03c766f40b8009f41c8af004d540e28b01a8bb24ac1
-EBUILD raspberrypi-userland-9999.ebuild 784 BLAKE2B a088f6dce3d0df70c06b3c78e699ca6779925225439331f4802199a556d8c4e3f6479346bdf03edf73623999c50034ab0b18eae104d98415ea4c9b214e6c489e SHA512 2688a1ec3bb75618593ca6770cf18c6289b6cf0498b4d147ab596fe3cb886176a01fb4d95113125289470ad131a27abbc9b7fb7092c91bfe41c01b8d24b6ceaf
+EBUILD raspberrypi-userland-0_pre20201022.ebuild 2165 BLAKE2B 11958652dcfbab355a9bd8187a8736f4f8ba2e0b71cb594eabcb1cf61173cf18344541463d21c22778ae39b158e681bb860efb0f3eab4c6495c538dc3ae2f4f1 SHA512 6d50e25e52580d0dbc4932329eae3f63f465bfebe1209b4832e80dccb7bd3ecd87b59b9c776d8c3b32f805a3a712ad57a673a21b75501599a11ed92412e62f65
+EBUILD raspberrypi-userland-9999.ebuild 2165 BLAKE2B 11958652dcfbab355a9bd8187a8736f4f8ba2e0b71cb594eabcb1cf61173cf18344541463d21c22778ae39b158e681bb860efb0f3eab4c6495c538dc3ae2f4f1 SHA512 6d50e25e52580d0dbc4932329eae3f63f465bfebe1209b4832e80dccb7bd3ecd87b59b9c776d8c3b32f805a3a712ad57a673a21b75501599a11ed92412e62f65
MISC metadata.xml 351 BLAKE2B ba576d7f61b104574b6a6691584dd75e632a637ded0bce055a267822a86574e35a6d71f5bb3616939af1a964aa007cbe49fd5cf3b64939b387dc0d46d356fc82 SHA512 f0d9ddcb8e1e7df5ff767f33824c5f2b6ab5a9afc508e1d39864a046f2ffc05665011a1a08e2624dd41d6e1c150ed0d14ce888401cb5c52069eb4a8958d167e2
diff --git a/media-libs/raspberrypi-userland/files/raspberrypi-userland-include.patch b/media-libs/raspberrypi-userland/files/raspberrypi-userland-include.patch
new file mode 100644
index 000000000000..83556be3ae46
--- /dev/null
+++ b/media-libs/raspberrypi-userland/files/raspberrypi-userland-include.patch
@@ -0,0 +1,19 @@
+diff -NrU5 1/makefiles/cmake/vmcs.cmake 2/makefiles/cmake/vmcs.cmake
+--- 1/makefiles/cmake/vmcs.cmake 2020-11-06 14:21:49.103179336 +0100
++++ 2/makefiles/cmake/vmcs.cmake 2020-11-06 17:00:57.410230948 +0100
+@@ -72,10 +72,14 @@
+ install(DIRECTORY ${vmcs_root}/interface/vctypes DESTINATION ${VMCS_INSTALL_PREFIX}/include/interface FILES_MATCHING PATTERN "*.h")
+ install(DIRECTORY ${vmcs_root}/vcinclude DESTINATION ${VMCS_INSTALL_PREFIX}/include FILES_MATCHING PATTERN "*.h")
+ install(DIRECTORY ${vmcs_root}/interface/peer DESTINATION ${VMCS_INSTALL_PREFIX}/include/interface FILES_MATCHING PATTERN "*.h")
+ install(DIRECTORY ${vmcs_root}/interface/vmcs_host DESTINATION ${VMCS_INSTALL_PREFIX}/include/interface FILES_MATCHING PATTERN "*.h" PATTERN "${vmcs_root}/interface/vmcs_host/khronos" EXCLUDE)
+
+-install(DIRECTORY ${vmcs_root}/interface/khronos/include DESTINATION ${VMCS_INSTALL_PREFIX} FILES_MATCHING PATTERN "*.h")
++install(DIRECTORY ${vmcs_root}/interface/khronos/include DESTINATION ${VMCS_INSTALL_PREFIX} FILES_MATCHING PATTERN "*.h"
++ PATTERN EGL EXCLUDE
++ PATTERN GLES EXCLUDE
++ PATTERN GLES2 EXCLUDE
++ PATTERN KHR EXCLUDE )
+ install(DIRECTORY ${vmcs_root}/interface/vmcs_host/khronos/IL DESTINATION ${VMCS_INSTALL_PREFIX}/include FILES_MATCHING PATTERN "*.h")
+
+ install(DIRECTORY ${vmcs_root}/host_applications/linux/libs/bcm_host/include DESTINATION ${VMCS_INSTALL_PREFIX} FILES_MATCHING PATTERN "*.h")
+
diff --git a/media-libs/raspberrypi-userland/files/raspberrypi-userland-libdir.patch b/media-libs/raspberrypi-userland/files/raspberrypi-userland-libdir.patch
new file mode 100644
index 000000000000..b1367a982321
--- /dev/null
+++ b/media-libs/raspberrypi-userland/files/raspberrypi-userland-libdir.patch
@@ -0,0 +1,316 @@
+From 9f2ba8c56e473fa05a5f216260571f4269fc16cc Mon Sep 17 00:00:00 2001
+From: Damian Wrobel <dwrobel@ertelnet.rybnik.pl>
+Date: Mon, 14 Sep 2020 09:23:07 +0200
+Subject: [PATCH] Install libraries as per GNU Coding Standards
+
+Includes GNUInstallDirs and uses LIBDIR (instead of hardcoded lib)
+to install libraries.
+
+Fixes packaging on aarch64 systems where LIBDIR=lib64 (not lib).
+
+Signed-off-by: Damian Wrobel <dwrobel@ertelnet.rybnik.pl>
+---
+ CMakeLists.txt | 4 +++-
+ containers/CMakeLists.txt | 2 +-
+ helpers/dtoverlay/CMakeLists.txt | 2 +-
+ host_applications/linux/libs/bcm_host/CMakeLists.txt | 2 +-
+ host_applications/linux/libs/debug_sym/CMakeLists.txt | 4 ++--
+ host_applications/linux/libs/sm/CMakeLists.txt | 2 +-
+ interface/khronos/CMakeLists.txt | 6 +++---
+ interface/mmal/CMakeLists.txt | 2 +-
+ interface/mmal/components/CMakeLists.txt | 2 +-
+ interface/mmal/core/CMakeLists.txt | 2 +-
+ interface/mmal/util/CMakeLists.txt | 2 +-
+ interface/mmal/vc/CMakeLists.txt | 2 +-
+ interface/vchiq_arm/CMakeLists.txt | 2 +-
+ interface/vcos/pthreads/CMakeLists.txt | 2 +-
+ interface/vmcs_host/CMakeLists.txt | 2 +-
+ middleware/openmaxil/CMakeLists.txt | 2 +-
+ pkgconfig/bcm_host.pc.in | 2 +-
+ pkgconfig/brcmegl.pc.in | 2 +-
+ pkgconfig/brcmglesv2.pc.in | 2 +-
+ pkgconfig/brcmvg.pc.in | 2 +-
+ pkgconfig/mmal.pc.in | 2 +-
+ pkgconfig/vcsm.pc.in | 2 +-
+ 22 files changed, 27 insertions(+), 25 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fe67fc87..035b16fa 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -8,6 +8,8 @@ SET(PROJECT_VER_PATCH 0)
+ SET(PROJECT_VER "${PROJECT_VER_MAJOR}.${PROJECT_VER_MINOR}.${PROJECT_VER_PATCH}")
+ SET(PROJECT_APIVER "${PROJECT_VER}")
+
++include(GNUInstallDirs)
++
+ if(ARM64)
+ set(BUILD_MMAL FALSE)
+ set(BUILD_MMAL_APPS FALSE)
+@@ -125,7 +127,7 @@ if(PKG_CONFIG_FOUND)
+ foreach(PCFILE bcm_host.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc)
+ configure_file("pkgconfig/${PCFILE}.in" "${PCFILE}" @ONLY)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PCFILE}"
+- DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
++ DESTINATION "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pkgconfig")
+ endforeach()
+ endif()
+ # Remove cache entry, if one added by command line
+diff --git a/containers/CMakeLists.txt b/containers/CMakeLists.txt
+index 5570038c..3578fe80 100644
+--- a/containers/CMakeLists.txt
++++ b/containers/CMakeLists.txt
+@@ -66,7 +66,7 @@ set(packetizers_SRCS ${packetizers_SRCS} ${SOURCE_DIR}/h264/avc1_packetizer.c)
+
+ add_library(containers ${LIBRARY_TYPE} ${core_SRCS} ${io_SRCS} ${net_SRCS} ${packetizers_SRCS})
+ target_link_libraries(containers vcos)
+-install(TARGETS containers DESTINATION lib)
++install(TARGETS containers DESTINATION ${LIBDIR})
+
+ set(container_readers)
+ set(container_writers)
+diff --git a/helpers/dtoverlay/CMakeLists.txt b/helpers/dtoverlay/CMakeLists.txt
+index b3bd30f1..5e1a3a4a 100644
+--- a/helpers/dtoverlay/CMakeLists.txt
++++ b/helpers/dtoverlay/CMakeLists.txt
+@@ -22,4 +22,4 @@ add_library (dtovl ${SHARED}
+
+ target_link_libraries(dtovl fdt)
+
+-install (TARGETS dtovl DESTINATION lib)
++install (TARGETS dtovl DESTINATION ${LIBDIR})
+diff --git a/host_applications/linux/libs/bcm_host/CMakeLists.txt b/host_applications/linux/libs/bcm_host/CMakeLists.txt
+index 2f4beb93..e18d611c 100644
+--- a/host_applications/linux/libs/bcm_host/CMakeLists.txt
++++ b/host_applications/linux/libs/bcm_host/CMakeLists.txt
+@@ -19,5 +19,5 @@ add_library(bcm_host ${SHARED} bcm_host.c)
+
+ target_link_libraries(bcm_host vcos vchostif)
+
+-install(TARGETS bcm_host DESTINATION lib)
++install(TARGETS bcm_host DESTINATION ${LIBDIR})
+
+diff --git a/host_applications/linux/libs/debug_sym/CMakeLists.txt b/host_applications/linux/libs/debug_sym/CMakeLists.txt
+index d437b995..40e0bc77 100644
+--- a/host_applications/linux/libs/debug_sym/CMakeLists.txt
++++ b/host_applications/linux/libs/debug_sym/CMakeLists.txt
+@@ -11,6 +11,6 @@ include_directories (
+ add_library(debug_sym ${SHARED} debug_sym.c)
+ add_library(debug_sym_static STATIC debug_sym.c)
+
+-install(TARGETS debug_sym DESTINATION lib)
+-install(TARGETS debug_sym_static DESTINATION lib)
++install(TARGETS debug_sym DESTINATION ${LIBDIR})
++install(TARGETS debug_sym_static DESTINATION ${LIBDIR})
+ install(FILES debug_sym.h DESTINATION include/interface/debug_sym)
+diff --git a/host_applications/linux/libs/sm/CMakeLists.txt b/host_applications/linux/libs/sm/CMakeLists.txt
+index 5ce5aca7..f85959bd 100644
+--- a/host_applications/linux/libs/sm/CMakeLists.txt
++++ b/host_applications/linux/libs/sm/CMakeLists.txt
+@@ -14,5 +14,5 @@ add_library(vcsm ${SHARED} user-vcsm.c)
+
+ target_link_libraries(vcsm vcos)
+
+-install(TARGETS vcsm DESTINATION lib)
++install(TARGETS vcsm DESTINATION ${LIBDIR})
+ install(FILES user-vcsm.h DESTINATION include/interface/vcsm)
+diff --git a/interface/khronos/CMakeLists.txt b/interface/khronos/CMakeLists.txt
+index 9ad615b8..97683049 100644
+--- a/interface/khronos/CMakeLists.txt
++++ b/interface/khronos/CMakeLists.txt
+@@ -78,8 +78,8 @@ target_link_libraries(GLESv2 EGL khrn_client vcos)
+ target_link_libraries(WFC EGL)
+ target_link_libraries(OpenVG EGL)
+
+-install(TARGETS EGL GLESv2 OpenVG WFC khrn_client DESTINATION lib)
+-install(TARGETS EGL_static GLESv2_static khrn_static DESTINATION lib)
++install(TARGETS EGL GLESv2 OpenVG WFC khrn_client DESTINATION ${LIBDIR})
++install(TARGETS EGL_static GLESv2_static khrn_static DESTINATION ${LIBDIR})
+
+ # recommended names to use to avoid conflicts with mesa libs
+ add_library(brcmEGL ${SHARED} ${EGL_SOURCE})
+@@ -92,4 +92,4 @@ target_link_libraries(brcmGLESv2 brcmEGL khrn_client vcos)
+ target_link_libraries(brcmWFC brcmEGL)
+ target_link_libraries(brcmOpenVG brcmEGL)
+
+-install(TARGETS brcmEGL brcmGLESv2 brcmOpenVG brcmWFC DESTINATION lib)
++install(TARGETS brcmEGL brcmGLESv2 brcmOpenVG brcmWFC DESTINATION ${LIBDIR})
+diff --git a/interface/mmal/CMakeLists.txt b/interface/mmal/CMakeLists.txt
+index 46f149df..544f173b 100644
+--- a/interface/mmal/CMakeLists.txt
++++ b/interface/mmal/CMakeLists.txt
+@@ -16,7 +16,7 @@ add_subdirectory(client)
+
+ target_link_libraries(mmal mmal_core mmal_util mmal_vc_client vcos mmal_components)
+
+-install(TARGETS mmal DESTINATION lib)
++install(TARGETS mmal DESTINATION ${LIBDIR})
+ install(FILES
+ mmal.h
+ mmal_buffer.h
+diff --git a/interface/mmal/components/CMakeLists.txt b/interface/mmal/components/CMakeLists.txt
+index d65fa37d..5b929098 100644
+--- a/interface/mmal/components/CMakeLists.txt
++++ b/interface/mmal/components/CMakeLists.txt
+@@ -30,5 +30,5 @@ set(container_libs ${container_libs} containers)
+ target_link_libraries(mmal_components ${container_libs} mmal_util)
+ target_link_libraries(mmal_components mmal_core)
+
+-install(TARGETS mmal_components DESTINATION lib)
++install(TARGETS mmal_components DESTINATION ${LIBDIR})
+
+diff --git a/interface/mmal/core/CMakeLists.txt b/interface/mmal/core/CMakeLists.txt
+index de0bcb25..7f1adb86 100644
+--- a/interface/mmal/core/CMakeLists.txt
++++ b/interface/mmal/core/CMakeLists.txt
+@@ -13,7 +13,7 @@ add_library (mmal_core ${LIBRARY_TYPE}
+
+ target_link_libraries (mmal_core vcos)
+
+-install(TARGETS mmal_core DESTINATION lib)
++install(TARGETS mmal_core DESTINATION ${LIBDIR})
+ install(FILES
+ mmal_buffer_private.h
+ mmal_clock_private.h
+diff --git a/interface/mmal/util/CMakeLists.txt b/interface/mmal/util/CMakeLists.txt
+index b2a6858b..acabed6f 100644
+--- a/interface/mmal/util/CMakeLists.txt
++++ b/interface/mmal/util/CMakeLists.txt
+@@ -12,7 +12,7 @@ add_library (mmal_util ${LIBRARY_TYPE}
+
+ target_link_libraries (mmal_util vcos)
+
+-install(TARGETS mmal_util DESTINATION lib)
++install(TARGETS mmal_util DESTINATION ${LIBDIR})
+ install(FILES
+ mmal_component_wrapper.h
+ mmal_connection.h
+diff --git a/interface/mmal/vc/CMakeLists.txt b/interface/mmal/vc/CMakeLists.txt
+index d6e80db7..ecba8112 100644
+--- a/interface/mmal/vc/CMakeLists.txt
++++ b/interface/mmal/vc/CMakeLists.txt
+@@ -13,7 +13,7 @@ endif(BUILD_MMAL_APPS)
+
+ include_directories ( ../../../host_applications/linux/libs/sm )
+
+-install(TARGETS mmal_vc_client DESTINATION lib)
++install(TARGETS mmal_vc_client DESTINATION ${LIBDIR})
+ install(FILES
+ mmal_vc_api.h
+ mmal_vc_api_drm.h
+diff --git a/interface/vchiq_arm/CMakeLists.txt b/interface/vchiq_arm/CMakeLists.txt
+index 7af383de..75080655 100644
+--- a/interface/vchiq_arm/CMakeLists.txt
++++ b/interface/vchiq_arm/CMakeLists.txt
+@@ -5,7 +5,7 @@ add_library(vchiq_arm SHARED
+ # pull in VCHI cond variable emulation
+ target_link_libraries(vchiq_arm vcos)
+
+-install(TARGETS vchiq_arm DESTINATION lib)
++install(TARGETS vchiq_arm DESTINATION ${LIBDIR})
+ #install(FILES etc/10-vchiq.rules DESTINATION /etc/udev/rules.d)
+
+ include_directories(../..)
+diff --git a/interface/vcos/pthreads/CMakeLists.txt b/interface/vcos/pthreads/CMakeLists.txt
+index 1d81ca3c..c6a80cf3 100644
+--- a/interface/vcos/pthreads/CMakeLists.txt
++++ b/interface/vcos/pthreads/CMakeLists.txt
+@@ -43,4 +43,4 @@ endif ()
+
+
+ #install(FILES ${HEADERS} DESTINATION include)
+-install(TARGETS vcos DESTINATION lib)
++install(TARGETS vcos DESTINATION ${LIBDIR})
+diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
+index cbef80c5..f61067f0 100755
+--- a/interface/vmcs_host/CMakeLists.txt
++++ b/interface/vmcs_host/CMakeLists.txt
+@@ -32,5 +32,5 @@ target_link_libraries(vchostif vchiq_arm vcos)
+
+ #target_link_libraries(bufman WFC)
+
+-install(TARGETS ${INSTALL_TARGETS} DESTINATION lib)
++install(TARGETS ${INSTALL_TARGETS} DESTINATION ${LIBDIR})
+
+diff --git a/middleware/openmaxil/CMakeLists.txt b/middleware/openmaxil/CMakeLists.txt
+index 3e9c5f9d..6b6c36a6 100644
+--- a/middleware/openmaxil/CMakeLists.txt
++++ b/middleware/openmaxil/CMakeLists.txt
+@@ -49,4 +49,4 @@ else ()
+
+ endif ()
+
+-install (TARGETS openmaxil DESTINATION lib)
++install (TARGETS openmaxil DESTINATION ${LIBDIR})
+diff --git a/pkgconfig/bcm_host.pc.in b/pkgconfig/bcm_host.pc.in
+index c7237c53..2988b42f 100644
+--- a/pkgconfig/bcm_host.pc.in
++++ b/pkgconfig/bcm_host.pc.in
+@@ -1,6 +1,6 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=${prefix}
+-libdir=${exec_prefix}/lib
++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+ includedir=${prefix}/include
+
+ Name: bcm_host
+diff --git a/pkgconfig/brcmegl.pc.in b/pkgconfig/brcmegl.pc.in
+index 5dd3d5b9..a45bf22a 100644
+--- a/pkgconfig/brcmegl.pc.in
++++ b/pkgconfig/brcmegl.pc.in
+@@ -1,6 +1,6 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=${prefix}
+-libdir=${exec_prefix}/lib
++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+ includedir=${prefix}/include
+
+ Name: brcmEGL
+diff --git a/pkgconfig/brcmglesv2.pc.in b/pkgconfig/brcmglesv2.pc.in
+index e0e36f5a..902fbf33 100644
+--- a/pkgconfig/brcmglesv2.pc.in
++++ b/pkgconfig/brcmglesv2.pc.in
+@@ -1,6 +1,6 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=${prefix}
+-libdir=${exec_prefix}/lib
++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+ includedir=${prefix}/include
+
+ Name: brcmGLESv2
+diff --git a/pkgconfig/brcmvg.pc.in b/pkgconfig/brcmvg.pc.in
+index 763a44b0..98489ee4 100644
+--- a/pkgconfig/brcmvg.pc.in
++++ b/pkgconfig/brcmvg.pc.in
+@@ -1,6 +1,6 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=${prefix}
+-libdir=${exec_prefix}/lib
++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+ includedir=${prefix}/include
+
+ Name: brcmOpenVG
+diff --git a/pkgconfig/mmal.pc.in b/pkgconfig/mmal.pc.in
+index 37d344c4..1ffa4f51 100644
+--- a/pkgconfig/mmal.pc.in
++++ b/pkgconfig/mmal.pc.in
+@@ -1,6 +1,6 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=${prefix}
+-libdir=${exec_prefix}/lib
++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+ includedir=${prefix}/include
+
+ Name: MMAL
+diff --git a/pkgconfig/vcsm.pc.in b/pkgconfig/vcsm.pc.in
+index b12c56fc..6f762cbf 100644
+--- a/pkgconfig/vcsm.pc.in
++++ b/pkgconfig/vcsm.pc.in
+@@ -1,6 +1,6 @@
+ prefix=@CMAKE_INSTALL_PREFIX@
+ exec_prefix=${prefix}
+-libdir=${exec_prefix}/lib
++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+ includedir=${prefix}/include
+
+ Name: VCSM
diff --git a/media-libs/raspberrypi-userland/files/raspberrypi-userland-libfdt-static.patch b/media-libs/raspberrypi-userland/files/raspberrypi-userland-libfdt-static.patch
new file mode 100644
index 000000000000..7ba0cd0852d3
--- /dev/null
+++ b/media-libs/raspberrypi-userland/files/raspberrypi-userland-libfdt-static.patch
@@ -0,0 +1,22 @@
+From 55999626af756874012f0163718152a77b14ff51 Mon Sep 17 00:00:00 2001
+From: crabbed halo ablution
+ <17379795+crabbedhaloablution@users.noreply.github.com>
+Date: Sun, 8 Nov 2020 13:49:09 +0100
+Subject: [PATCH] Make explicit that libfdt should be built static
+
+---
+ opensrc/helpers/libfdt/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/opensrc/helpers/libfdt/CMakeLists.txt b/opensrc/helpers/libfdt/CMakeLists.txt
+index f57c61cb..fad86d32 100755
+--- a/opensrc/helpers/libfdt/CMakeLists.txt
++++ b/opensrc/helpers/libfdt/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ include_directories(.)
+
+-add_library(fdt
++add_library(fdt STATIC
+ fdt.c
+ fdt_empty_tree.c
+ fdt_ro.c
diff --git a/media-libs/raspberrypi-userland/files/raspberrypi-userland-pkgconf-arm64.patch b/media-libs/raspberrypi-userland/files/raspberrypi-userland-pkgconf-arm64.patch
new file mode 100644
index 000000000000..48ccea1f6811
--- /dev/null
+++ b/media-libs/raspberrypi-userland/files/raspberrypi-userland-pkgconf-arm64.patch
@@ -0,0 +1,38 @@
+From 6d666d333f2022004fa453b28faad91021cd13d3 Mon Sep 17 00:00:00 2001
+From: crabbedhaloablution
+ <17379795+crabbedhaloablution@users.noreply.github.com>
+Date: Mon, 16 Nov 2020 13:41:12 +0100
+Subject: [PATCH] Only install .pc files for which we build a .so.
+
+Many .so files are not built on arm64, but currently we install
+the .pc files anyway. Fix by including the .pc files in the ARM64
+conditional.
+---
+ CMakeLists.txt | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fe67fc87..8393a8bd 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,9 +11,11 @@ SET(PROJECT_APIVER "${PROJECT_VER}")
+ if(ARM64)
+ set(BUILD_MMAL FALSE)
+ set(BUILD_MMAL_APPS FALSE)
++ set(PKGCONFFILES bcm_host.pc)
+ else()
+ set(BUILD_MMAL TRUE)
+ set(BUILD_MMAL_APPS TRUE)
++ set(PKGCONFFILES bcm_host.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc)
+ endif()
+ set(vmcs_root ${PROJECT_SOURCE_DIR})
+ get_filename_component(VIDEOCORE_ROOT . ABSOLUTE)
+@@ -122,7 +124,7 @@ include_directories("${PROJECT_BINARY_DIR}")
+ include(FindPkgConfig QUIET)
+ if(PKG_CONFIG_FOUND)
+ # Produce a pkg-config file
+- foreach(PCFILE bcm_host.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc)
++ foreach(PCFILE IN LISTS PKGCONFFILES)
+ configure_file("pkgconfig/${PCFILE}.in" "${PCFILE}" @ONLY)
+ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PCFILE}"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
diff --git a/media-libs/raspberrypi-userland/raspberrypi-userland-0_pre20201022.ebuild b/media-libs/raspberrypi-userland/raspberrypi-userland-0_pre20201022.ebuild
new file mode 100644
index 000000000000..7fa3e5909284
--- /dev/null
+++ b/media-libs/raspberrypi-userland/raspberrypi-userland-0_pre20201022.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit cmake flag-o-matic udev
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN/-//}.git"
+ SRC_URI=""
+else
+ # We base our versioning on Raspbian
+ # Go to https://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-userland/
+ # Example:
+ # * libraspberrypi-bin-dbgsym_2+git20201022~151804+e432bc3-1_arm64.deb
+ # * "e432bc3" is the first 7 hex digits of the commit hash.
+ # * Go to https://github.com/raspberrypi/userland/commits/master and find the full hash
+ GIT_COMMIT="e432bc3400401064e2d8affa5d1454aac2cf4a00"
+ SRC_URI="https://github.com/raspberrypi/userland/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~arm ~arm64"
+ S="${WORKDIR}/userland-${GIT_COMMIT}"
+fi
+
+DESCRIPTION="Raspberry Pi userspace tools and libraries"
+HOMEPAGE="https://github.com/raspberrypi/userland"
+
+LICENSE="BSD"
+SLOT="0"
+
+DEPEND=""
+RDEPEND="acct-group/video
+ !media-libs/raspberrypi-userland-bin"
+
+PATCHES=(
+ # Install in $(get_libdir)
+ # See https://github.com/raspberrypi/userland/pull/650
+ "${FILESDIR}/${PN}-libdir.patch"
+ # Don't install includes that collide.
+ "${FILESDIR}/${PN}-include.patch"
+ # See https://github.com/raspberrypi/userland/pull/655
+ "${FILESDIR}/${PN}-libfdt-static.patch"
+ # See https://github.com/raspberrypi/userland/pull/659
+ "${FILESDIR}/${PN}-pkgconf-arm64.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+ sed -i \
+ -e 's:DESTINATION ${VMCS_INSTALL_PREFIX}/src:DESTINATION ${VMCS_INSTALL_PREFIX}/'"share/doc/${PF}:" \
+ "${S}/makefiles/cmake/vmcs.cmake" || die "Failed sedding makefiles/cmake/vmcs.cmake"
+ sed -i \
+ -e 's:^install(TARGETS EGL GLESv2 OpenVG WFC:install(TARGETS:' \
+ -e '/^install(TARGETS EGL_static GLESv2_static/d' \
+ "${S}/interface/khronos/CMakeLists.txt" || die "Failed sedding interface/khronos/CMakeLists.txt"
+}
+
+src_configure() {
+ append-ldflags $(no-as-needed)
+
+ mycmakeargs=(
+ -DVMCS_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DARM64=$(usex arm64)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ udev_dorules "${FILESDIR}/92-local-vchiq-permissions.rules"
+}
diff --git a/media-libs/raspberrypi-userland/raspberrypi-userland-9999.ebuild b/media-libs/raspberrypi-userland/raspberrypi-userland-9999.ebuild
index 6906bbc70397..7fa3e5909284 100644
--- a/media-libs/raspberrypi-userland/raspberrypi-userland-9999.ebuild
+++ b/media-libs/raspberrypi-userland/raspberrypi-userland-9999.ebuild
@@ -1,42 +1,71 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit cmake-utils flag-o-matic git-r3
+EAPI=7
+inherit cmake flag-o-matic udev
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${PN/-//}.git"
+ SRC_URI=""
+else
+ # We base our versioning on Raspbian
+ # Go to https://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-userland/
+ # Example:
+ # * libraspberrypi-bin-dbgsym_2+git20201022~151804+e432bc3-1_arm64.deb
+ # * "e432bc3" is the first 7 hex digits of the commit hash.
+ # * Go to https://github.com/raspberrypi/userland/commits/master and find the full hash
+ GIT_COMMIT="e432bc3400401064e2d8affa5d1454aac2cf4a00"
+ SRC_URI="https://github.com/raspberrypi/userland/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~arm ~arm64"
+ S="${WORKDIR}/userland-${GIT_COMMIT}"
+fi
DESCRIPTION="Raspberry Pi userspace tools and libraries"
HOMEPAGE="https://github.com/raspberrypi/userland"
-SRC_URI=""
LICENSE="BSD"
SLOT="0"
-KEYWORDS=""
-IUSE=""
DEPEND=""
-RDEPEND=""
+RDEPEND="acct-group/video
+ !media-libs/raspberrypi-userland-bin"
-EGIT_REPO_URI="https://github.com/raspberrypi/userland"
+PATCHES=(
+ # Install in $(get_libdir)
+ # See https://github.com/raspberrypi/userland/pull/650
+ "${FILESDIR}/${PN}-libdir.patch"
+ # Don't install includes that collide.
+ "${FILESDIR}/${PN}-include.patch"
+ # See https://github.com/raspberrypi/userland/pull/655
+ "${FILESDIR}/${PN}-libfdt-static.patch"
+ # See https://github.com/raspberrypi/userland/pull/659
+ "${FILESDIR}/${PN}-pkgconf-arm64.patch"
+)
-pkg_setup() {
- append-ldflags $(no-as-needed)
+src_prepare() {
+ cmake_src_prepare
+ sed -i \
+ -e 's:DESTINATION ${VMCS_INSTALL_PREFIX}/src:DESTINATION ${VMCS_INSTALL_PREFIX}/'"share/doc/${PF}:" \
+ "${S}/makefiles/cmake/vmcs.cmake" || die "Failed sedding makefiles/cmake/vmcs.cmake"
+ sed -i \
+ -e 's:^install(TARGETS EGL GLESv2 OpenVG WFC:install(TARGETS:' \
+ -e '/^install(TARGETS EGL_static GLESv2_static/d' \
+ "${S}/interface/khronos/CMakeLists.txt" || die "Failed sedding interface/khronos/CMakeLists.txt"
}
src_configure() {
- local mycmakeargs=(
- -DVMCS_INSTALL_PREFIX="/usr"
+ append-ldflags $(no-as-needed)
+
+ mycmakeargs=(
+ -DVMCS_INSTALL_PREFIX="${EPREFIX}/usr"
+ -DARM64=$(usex arm64)
)
- cmake-utils_src_configure
+ cmake_src_configure
}
src_install() {
- cmake-utils_src_install
-
- insinto /lib/udev/rules.d
- doins "${FILESDIR}"/92-local-vchiq-permissions.rules
-
- dodir /usr/share/doc/${PF}
- mv "${D}"/usr/src/hello_pi "${D}"/usr/share/doc/${PF}/
- rmdir "${D}"/usr/src
+ cmake_src_install
+ udev_dorules "${FILESDIR}/92-local-vchiq-permissions.rules"
}