Merge pull request #298 from aldrik/master

Cubox: cryptodev support, marvell-ipp and xbmc
This commit is contained in:
Kevin Mihelich 2012-11-12 07:19:23 -08:00
commit aaf7ee2842
6 changed files with 307 additions and 9 deletions

View file

@ -0,0 +1,51 @@
# Armada 510/Dove Marvell IPP headers and CODECs.
buildarch=4
pkgname="marvell-ipp"
pkgdesc="Marvell IPP headers and CODECs."
pkgver=0.2.1
pkgrel=2
arch=("armv7h")
url="http://www.marvell.com/"
license=("custom:MARVELL Software")
source=("http://sources.openbricks.org/devel/marvell-ipp_0.2.1-0ubuntu1~ppa10.tar.gz")
md5sums=("87fb47c4ce1236eba5730e2c9b7500b0")
depends=("marvell-libvmeta")
MAKEFLAGS=-j1
build() {
cd "${srcdir}/marvell-ipp/"
sed -r \
-e "s|^(PATH_GNU_BIN=).+|\1/usr/bin|" \
-e "s|^(TOOLCHAIN_PREFIX=).+|\1${CHOST}|" \
-e "s|^(CFLAGS=).*|\1 -mcpu=cortex-a9|" \
-e "s|^(AR=).+|\1/usr/bin/ar|" \
-i example/Rules.make
cd example/misc/build/wmmx2_linux/
make -f makefile_miscGen
}
package() {
cd "${srcdir}/marvell-ipp/"
install -Dm644 bin/License.txt \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
install -Dm644 etc/99-uio.rules \
"${pkgdir}/usr/lib/udev/rules.d/99-uio.rules"
install -d "${pkgdir}/usr/lib" "${pkgdir}/usr/include/marvell-ipp"
install -m644 include/*.h "${pkgdir}/usr/include/marvell-ipp"
find bin lib -not -type d \( -name "*.so" -o -name "*.a" \) \
-not -path "*libcodecvmetadec.a" \
-not -path "*libvmetahal.a" \
-not -path "*libvmetahal.so" \
-not -path "*libcodecvmetadec.so" \
-not -path "bin/libmiscgen.so" \
-exec install -m644 "{}" "${pkgdir}/usr/lib/" \;
install -d "${pkgdir}/usr/include/OpenMAX/IL/"
install -m644 openmax/include/* "${pkgdir}/usr/include/OpenMAX/IL/"
install -m644 openmax/*.a "${pkgdir}/usr/lib/"
}

View file

@ -0,0 +1,191 @@
buildarch=4
pkgname="xbmc-cubox-git"
pkgver=20121106
pkgrel=1
pkgdesc="A software media player and entertainment hub for digital media"
arch=("armv7h")
url="http://xbmc.org"
license=("GPL" "LGPL")
depends=("faac" "faad2" "jasper" "hicolor-icon-theme" "libass" "libcdio" \
"libgl" "libmad" "libmicrohttpd" "libplist" "libmodplug" "libmpeg2" \
"libmysqlclient" "libsamplerate" "libxtst" "lzo2" "python2" \
"sdl_image>=1.2.10" "sdl_mixer" "smbclient" "unzip" "wavpack" "mesa-demos" \
"xorg-xdpyinfo" "yajl" "glew" "tinyxml" "marvell-libgfx" "marvell-ipp" \
"avahi" "bluez" "libssh" "ffmpeg" "taglib>=1.8" "libnfs" "libdvdcss" \
"libbluray" "libdvdread" "libcec-cubox")
makedepends=("boost" "cmake" "git" "gperf" "nasm" "zip" "swig" "java-runtime")
optdepends=("pulseaudio: pulseaudio support" \
"lirc: remote controller support" \
"udisks: automount external drives" \
"upower: used to trigger suspend functionality" \
"unrar: access compressed files without unpacking them" \
"xorg-xinit: autostart xbmc")
conflict=("xbmc" "xbmc-git")
provides=("xbmc" "xbmc-git")
replaces=("marvell-xbmc-git")
source=("https://dl.dropbox.com/u/38673799/XbmcCuBoxPatches-Rev10.tar.xz" \
"http://alunamation.com/archlinux/arm/AdditionalXbmcCuBoxPatches-Rev10.1.tar.xz" \
"xbmc.service" \
"xbmc.install" \
"https://archvdr.svn.sourceforge.net/svnroot/archvdr/trunk/archvdr/xbmc-git/pulse_fix.patch")
md5sums=("55813f68e1ab05405451f9791e59e68b" \
"966deb0b02155153d72445b461b3e952" \
"f5d227faaac16d08035e0dc849649cb5" \
"46db2069b75b23809bd7c760650618dd" \
"b09721b962e591abb3f4b39a641ded15")
install="xbmc.install"
_gitroot="git://github.com/xbmc/xbmc.git"
_gitname="xbmc"
_prefix=/usr
_patches=(
"Xbmc-git-Python-2.7-2.patch" \
"Lircmap_xml.patch" \
"Xbmc-git-force-vdpau.patch" \
"Xbmc-git-force-vdpau-2.patch" \
"Xbmc-git-UDisksProvider-iso9660.patch" \
"Xbmc-git-libmpeg2-vdpau-vertical-green-bars-fix.patch" \
"01-Xbmc-Add-Marvell-Dove.patch" \
"02.1-Xbmc-MathUtils_h-TARGET_MARVELL_DOVE-20120809.patch" \
"03-Xbmc-Add-VMETA-Codec-20120927.patch" \
"04-Xbmc-Add-Dove-Overlay-20120912.patch" \
"05-Xbmc-VMeta-Fixups.patch" \
"06-Xbmc-Configure-platform-Marvell-Dove-20120925.patch" \
"07-Xbmc-libsquish-arm-20120925.patch" \
# "09-Xbmc-WinSystemGLES_cpp.patch" \
"10-Xbmc-ManageDisplayDove.patch" \
"11-Xbmc-Marvell-use-Pulse.patch" \
"12-Xbmc-Marvell-Dove-cortex-a9.patch" \
"13-Xbmc-Marvell-Dove-force-iwmmxt.patch" \
"14-Xbmc-Marvell-Dove-force-iwmmxt-2.patch" \
"15-Xbmc-Marvell-Dove-enable-armv5te.patch" \
"Xbmc-git-PulseAudio-Updates-20120926.patch" \
"41-Xbmc-VMETA-Updates-2.patch" \
"36-Xbmc-VMETA-use-ffmpeg-for-thumbs.patch" \
"Xbmc-git-CJobWorker-THREAD_PRIORITY_LOWEST.patch" \
"Xbmc-git-pthread-SetThreadInfo-20120806.patch" \
"Xbmc-git-linux-Thread-Name-20120806.patch" \
"xbmc-frodo-433f681-811.12-smoother-page-flip.patch" \
"xbmc-frodo-433f681-811.13-change-email-address.patch" \
"Xbmc-git-JobManager-Force-exit-after-2.patch" \
"Xbmc-git-AnnouncementManager-Locks.patch" \
"34-Xbmc-Dove-Gpu-Backoff-20120818.patch" \
"38-Xbmc-RenderManager.patch" \
"Xbmc-projectM-selectPreset-avoid-abort.patch" \
"Xbmc-git-Thread-StopThread-20120809.patch" \
"Xbmc-git-DVDPlayer-StopThread.patch" \
"Xbmc-git-CDVDAudio-Drain.patch" \
"Xbmc-git-VideoReferenceClock-NvidiaWrapper.patch" \
"Xbmc-git-WinSystemX11-SDL_CreateRGBSurfaceFrom-20120817.patch" \
"Xbmc-git-WinSystemX11-SDL_CreateRGBSurfaceFrom-no-Dove.patch" \
"XbmcPvr-PvrManager-StopUpdateThread.patch" \
"Xbmc-git-BandwidthRequester-20120723.patch" \
"Xbmc-git-enable-systemd-power-management.patch" \
"Xbmc-git-enable-systemd-power-management-2.patch" \
# "Xbmc-git-arm-linux.patch" \
# "Xbmc-git-VMETA-TimeStamp.patch" \
# "Xbmc-git-VMETA-No-Prebuf.patch" \
"Xbmc-git-LinuxTimezone-systemd.patch" \
"Xbmc-git-DoveOverlay-20120806.patch" \
"Xbmc-git-Event-Constructor.patch" \
"Xbmc-git-EventGroup-Constructor.patch" \
"Xbmc-git-Thread-Constructor.patch" \
"Xbmc-git-FileCache-Constructor.patch" \
"Xbmc-git-FileCache-Constructor-2.patch" \
"Xbmc-git-Database-Constructor.patch" \
"Xbmc-git-Event-groupListMutex-SharedSection.patch" \
"Xbmc-git-RecursiveMutex.patch" \
"Xbmc-git-PrintStackSize.patch" \
# "Xbmc-git-no-WinEGLPlatformAndroid-20120926.patch" \
"Xbmc-git-TexturePacker-Makefile.patch" \
"Xbmc-git-dove-dont-specify-audio.patch" \
"Xbmc-git-Repository-checksum-segfault-20120927.patch" \
"Xbmc-git-DVDStreamInfo-cap-channels-at-8.patch" \
"Xbmc-git-DVDAudioCodecFFmpeg-Constructor-20120906.patch" \
"Xbmc-git-SDL_PollEvent.patch" \
# "Xbmc-git-no-error-without-java.patch" \
# "08-Xbmc-WinbindingEGL_cpp.patch" \
# "XbmcPvr-git-debug-tvheadend.patch" \
# "XbmcPvr-git-HTSPDemux-GetSignalStatus-20120906.patch" \
# "XbmcPvr-git-pvr-addons-DESTDIR.patch" \
# "37-Xbmc-debug-BitstreamConverter.patch" \
)
build() {
msg "Connecting to GIT server..."
if [ -d $_gitname ]; then
cd "${_gitname}"
git clean -dxf
git reset --hard
git pull origin
else
git clone --depth 1 "${_gitroot}" "${_gitname}"
cd "${_gitname}"
fi
msg2 "checkout done or server timeout"
# fix lsb_release dependency
sed -i -e "s:/usr/bin/lsb_release -d:cat /etc/arch-release:" xbmc/utils/SystemInfo.cpp
msg "Applying patchs"
for _patch in ${_patches[@]}; do
patch -p1 -i "${srcdir}/XbmcCuBoxPatches-Rev10/${_patch}"
done
for _patch in "${srcdir}"/AdditionalXbmcCuBoxPatches-Rev10.1/* "${srcdir}/pulse_fix.patch"; do
patch -p1 -i "${_patch}"
done
sed -i -e "s/softfp/hard/g" configure.in
msg "Bootstrapping"
./bootstrap
msg "Configuring"
export PYTHON_VERSION=2
./configure --prefix="${_prefix}" \
--with-platform=marvell-dove \
--enable-external-libraries \
--enable-gles \
--enable-pulse \
--disable-debug \
--disable-vaapi \
--disable-hal
msg "make"
make
}
package() {
cd "${srcdir}/${_gitname}"
# Running make install
make DESTDIR="${pkgdir}" install
# run feh with python2
sed -i -e "s/python/python2/g" ${pkgdir}/${_prefix}/bin/xbmc
# lsb_release fix
sed -i -e 's/which lsb_release &> \/dev\/null/\[ -f \/etc\/arch-release ]/g' "${pkgdir}/${_prefix}/bin/xbmc"
sed -i -e "s/lsb_release -a 2> \/dev\/null | sed -e 's\/\^\/ \/'/cat \/etc\/arch-release/g" "${pkgdir}/${_prefix}/bin/xbmc"
# Tools
install -D -m 0755 "${srcdir}/${_gitname}/xbmc-xrandr" "${pkgdir}/${_prefix}/share/xbmc/xbmc-xrandr"
install -D -m 0755 "${srcdir}/${_gitname}/tools/TexturePacker/TexturePacker" "${pkgdir}/${_prefix}/share/xbmc/"
# Licenses
install -d -m 0755 "${pkgdir}/${_prefix}/share/licenses/${pkgname}"
for licensef in LICENSE.GPL copying.txt; do
mv "${pkgdir}${_prefix}/share/doc/xbmc/${licensef}" \
"${pkgdir}/${_prefix}/share/licenses/${pkgname}"
done
# systemd stuff
install -Dm0644 "${srcdir}/xbmc.service" \
"${pkgdir}/usr/lib/systemd/system/xbmc.service"
}
# vim:set noet:

View file

@ -0,0 +1,16 @@
post_install() {
[[ $(type -p gtk-update-icon-cache) ]] && usr/bin/gtk-update-icon-cache -qtf usr/share/icons/hicolor
[[ $(type -p update-desktop-database) ]] && usr/bin/update-desktop-database -q usr/share/applications
getent group xbmc > /dev/null || groupadd xbmc
getent passwd xbmc > /dev/null || useradd -d /var/empty -g xbmc xbmc
usermod -a -G xbmc,audio,video,power,network,optical,storage,disk xbmc
}
post_upgrade() {
post_install $1
}
post_remove() {
post_install $1
echo "You may want to remove xbmc user and group"
}

View file

@ -0,0 +1,13 @@
[Unit]
Description = Starts instance of XBMC using xinit
After = remote-fs.target
[Service]
User = xbmc
Group = xbmc
Type = simple
ExecStart = /usr/bin/xinit /usr/bin/xbmc-standalone -- :0
Restart = on-failure
[Install]
WantedBy = multi-user.target

View file

@ -8,16 +8,19 @@ pkgname=('linux-cubox' 'linux-headers-cubox')
_kernelname=${pkgname#linux}
_basekernel=3.5
pkgver=${_basekernel}.7
pkgrel=3
pkgrel=4
cryptover=1.4
arch=('arm')
url="http://www.kernel.org/"
license=('GPL2')
makedepends=('xmlto' 'docbook-xsl' 'uboot-mkimage' 'git' 'python2')
options=('!strip')
source=('config'
'change-default-console-loglevel.patch')
md5sums=('004ab6ff32c7ada65f33d241e8d5b515'
'9d3c56a4b999c8bfbd4018089a62f662')
'change-default-console-loglevel.patch'
"http://download.gna.org/cryptodev-linux/cryptodev-linux-${cryptover}.tar.gz")
md5sums=('64f271dbdde04963c91092c88bce50e8'
'9d3c56a4b999c8bfbd4018089a62f662'
'7b0ac1c0a88d8fbe7316db02f21666e6')
__gitroot="git://github.com/vDorst/linux.git"
__gitname="linux"
@ -75,13 +78,17 @@ build() {
# build!
make ${MAKEFLAGS} modules uImage
# build cryptodev module
cd "${srcdir}/cryptodev-linux-${cryptover}"
make KERNEL_DIR="${srcdir}/${__gitname}"
}
package_linux-cubox() {
pkgdesc="The Linux Kernel and modules for the Cubox"
depends=('coreutils' 'linux-firmware' 'module-init-tools>=3.16' 'mkinitcpio>=0.7')
optdepends=('crda: to set the correct wireless channels of your country')
provides=('kernel26-cubox' 'linux=${pkgver}')
provides=('kernel26-cubox' 'linux=${pkgver}' 'cryptodev_friendly')
conflicts=('kernel26' 'linux')
replaces=('kernel26')
backup=("etc/mkinitcpio.d/${pkgname}.preset")
@ -116,6 +123,12 @@ package_linux-cubox() {
mkdir -p "${pkgdir}/lib/modules/extramodules-${pkgver}-${_kernelname:-ARCH}"
echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${pkgver}-${_kernelname:-ARCH}/version"
# install cryptodev module
cd "${srcdir}/cryptodev-linux-${cryptover}"
make -C "${srcdir}/${__gitname}" INSTALL_MOD_PATH="${pkgdir}" SUBDIRS=`pwd` modules_install
cd "${srcdir}/${__gitname}"
# Now we call depmod...
depmod -b "$pkgdir" -F System.map "$_kernver"
@ -236,6 +249,10 @@ package_linux-headers-cubox() {
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners"
cp drivers/media/common/tuners/*.h "${pkgdir}/usr/src/linux-${_kernver}/drivers/media/common/tuners/"
# install cryptodev header
install -Dm644 "${srcdir}/cryptodev-linux-${cryptover}/crypto/cryptodev.h" \
"${pkgdir}/usr/src/linux-${_kernver}/crypto/cryptodev.h"
# copy in Kconfig files
for i in `find . -name "Kconfig*"`; do
mkdir -p "${pkgdir}"/usr/src/linux-${_kernver}/`echo ${i} | sed 's|/Kconfig.*||'`

View file

@ -16,11 +16,15 @@ pkgver=${_ver/[a-z]/.${_ver//[0-9.]/}}
#pkgver=$_ver
pkgrel=1
pkgdesc='The Open Source toolkit for Secure Sockets Layer and Transport Layer Security'
arch=('i686' 'x86_64')
arch=('i686' 'x86_64' 'armv7h')
url='https://www.openssl.org'
license=('custom:BSD')
depends=('perl' 'cryptodev_friendly')
makedepends=('linux-headers')
if [ "${CARCH}" == 'armv7h' ]; then
makedepends=('linux-headers-cubox')
else
makedepends=('linux-headers')
fi
optdepends=('ca-certificates')
options=('!makeflags')
backup=('etc/ssl/openssl.cnf')
@ -31,7 +35,7 @@ source=("https://www.openssl.org/source/${_pkgname}-${_ver}.tar.gz"
'no-rpath.patch'
'ca-dir.patch')
md5sums=('ae412727c8c15b67880aef7bd2999b2e'
'a3d90bc42253def61cd1c4237f1ce5f7'
'5bbc0655bda2af95bc8eb568963ce8ba'
'dc78d3d06baffc16217519242ce92478'
'3bf51be3a1bbd262be46dc619f92aa90')
@ -46,6 +50,12 @@ build() {
openssltarget='linux-armv4'
fi
if [ "${CARCH}" == 'armv7h' ]; then
_kernel_release="$(pacman -Q linux-headers-cubox | grep -Eo "[^\ ]+$")-ARCH+"
else
_kernel_release="$(uname -r)"
fi
# avoid conflicts with other man pages
# see http://www.linuxfromscratch.org/patches/downloads/openssl/
patch -p1 -i $srcdir/fix-manpages.patch
@ -58,7 +68,7 @@ build() {
-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS -DHASH_MAX_LEN=64 \
shared threads zlib enable-md2 \
"${openssltarget}" \
-Wa,--noexecstack "${CFLAGS} -I/usr/src/linux-`uname -r`" \
-Wa,--noexecstack "${CFLAGS} -I/usr/src/linux-${_kernel_release}" \
-DOPENSSL_NO_TLS1_2_CLIENT
make depend