mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
Merge branch 'openelec-next' of git://github.com/OpenELEC/OpenELEC.tv into openelec-pvr
This commit is contained in:
commit
e489253224
@ -92,14 +92,17 @@ get_graphicdrivers() {
|
||||
|
||||
if [ "$drv" = "i915" -o "$drv" = "i965" ]; then
|
||||
XORG_DRIVERS="$XORG_DRIVERS intel"
|
||||
# LLVM_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "r200" -o "$drv" = "r300" -o "$drv" = "r600" -o "$drv" = "radeon" ]; then
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati"
|
||||
# LLVM_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "nouveau" ]; then
|
||||
XORG_DRIVERS="$XORG_DRIVERS nouveau"
|
||||
# LLVM_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "nvidia" ]; then
|
||||
@ -109,14 +112,18 @@ get_graphicdrivers() {
|
||||
|
||||
if [ "$drv" = "fglrx" ]; then
|
||||
XORG_DRIVERS="$XORG_DRIVERS fglrx"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
XINERAMA_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "omapfb" ]; then
|
||||
XORG_DRIVERS="$XORG_DRIVERS ompafb"
|
||||
# LLVM_SUPPORT="yes"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "vmware" ]; then
|
||||
XINERAMA_SUPPORT="yes"
|
||||
# LLVM_SUPPORT="yes"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="sqlite"
|
||||
PKG_VERSION="autoconf-3070602"
|
||||
PKG_VERSION="autoconf-3070603"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="PublicDomain"
|
||||
|
66
packages/devel/llvm-host/build
Executable file
66
packages/devel/llvm-host/build
Executable file
@ -0,0 +1,66 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
$SCRIPTS/unpack llvm
|
||||
|
||||
setup_toolchain host
|
||||
|
||||
if [ "$TARGET_ARCH" = i386 ]; then
|
||||
ARCH=x86
|
||||
elif [ "$TARGET_ARCH" = x86_64 ]; then
|
||||
ARCH=x86_64
|
||||
fi
|
||||
|
||||
LLVM_DIR=`ls -d $BUILD/llvm-[0-9]*`
|
||||
|
||||
cd $LLVM_DIR
|
||||
|
||||
cd autoconf
|
||||
aclocal --force --verbose -I m4
|
||||
autoconf --force --verbose -I m4 -o ../configure
|
||||
cd ..
|
||||
|
||||
mkdir -p .build-host && cd .build-host
|
||||
|
||||
../configure --prefix=$ROOT/$TOOLCHAIN \
|
||||
--enable-polly \
|
||||
--enable-optimized \
|
||||
--disable-profiling \
|
||||
--disable-assertions \
|
||||
--disable-expensive-checks \
|
||||
--disable-debug-runtime \
|
||||
--disable-debug-symbols \
|
||||
--enable-jit \
|
||||
--disable-docs \
|
||||
--disable-doxygen \
|
||||
--enable-threads \
|
||||
--enable-pthreads \
|
||||
--enable-pic \
|
||||
--enable-shared \
|
||||
--enable-embed-stdcxx \
|
||||
--enable-timestamps \
|
||||
--enable-targets=$ARCH \
|
||||
|
||||
make
|
||||
make install
|
36
packages/devel/llvm-host/meta
Normal file
36
packages/devel/llvm-host/meta
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="llvm"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://llvm.org/"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="ccache"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="toolchain/lang"
|
||||
PKG_SHORTDESC="llvm: Low Level Virtual Machine"
|
||||
PKG_LONGDESC="Low-Level Virtual Machine (LLVM) is a compiler infrastructure designed for compile-time, link-time, run-time, and "idle-time" optimization of programs from arbitrary programming languages. It currently supports compilation of C, Objective-C, and C++ programs, using front-ends derived from GCC 4.0, GCC 4.2, and a custom new front-end, "clang". It supports x86, x86-64, ia64, PowerPC, and SPARC, with support for Alpha and ARM under development."
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
67
packages/devel/llvm/build
Executable file
67
packages/devel/llvm/build
Executable file
@ -0,0 +1,67 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
# llvm fails to build with LTO support
|
||||
strip_lto
|
||||
|
||||
if [ "$TARGET_ARCH" = i386 ]; then
|
||||
ARCH=x86
|
||||
elif [ "$TARGET_ARCH" = x86_64 ]; then
|
||||
ARCH=x86_64
|
||||
fi
|
||||
|
||||
LLVM_DIR=`ls -d $BUILD/llvm-[0-9]*`
|
||||
|
||||
cd $LLVM_DIR
|
||||
|
||||
mkdir -p .build-target && cd .build-target
|
||||
|
||||
../configure --host=$TARGET_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=/usr \
|
||||
--enable-polly \
|
||||
--enable-optimized \
|
||||
--disable-profiling \
|
||||
--disable-assertions \
|
||||
--disable-expensive-checks \
|
||||
--disable-debug-runtime \
|
||||
--disable-debug-symbols \
|
||||
--enable-jit \
|
||||
--disable-docs \
|
||||
--disable-doxygen \
|
||||
--enable-threads \
|
||||
--enable-pthreads \
|
||||
--enable-pic \
|
||||
--enable-shared \
|
||||
--enable-embed-stdcxx \
|
||||
--enable-timestamps \
|
||||
--enable-targets=$ARCH \
|
||||
|
||||
TBLGEN="$ROOT/$TOOLCHAIN/bin/tblgen" \
|
||||
TCLSH="$ROOT/$TOOLCHAIN/bin/tclsh" \
|
||||
make
|
||||
|
||||
TBLGEN="$ROOT/$TOOLCHAIN/bin/tblgen" \
|
||||
TCLSH="$ROOT/$TOOLCHAIN/bin/tclsh" \
|
||||
$MAKEINSTALL
|
27
packages/devel/llvm/install
Executable file
27
packages/devel/llvm/install
Executable file
@ -0,0 +1,27 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
mkdir -p $INSTALL/usr/lib
|
||||
cp -P $PKG_BUILD/.build-target/Release/lib/libLLVM-*.so $INSTALL/usr/lib
|
||||
|
36
packages/devel/llvm/meta
Normal file
36
packages/devel/llvm/meta
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="llvm"
|
||||
PKG_VERSION="2.9"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://llvm.org/"
|
||||
PKG_URL="http://llvm.org/releases/$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tgz"
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="toolchain llvm-host"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="toolchain/lang"
|
||||
PKG_SHORTDESC="llvm: Low Level Virtual Machine"
|
||||
PKG_LONGDESC="Low-Level Virtual Machine (LLVM) is a compiler infrastructure designed for compile-time, link-time, run-time, and "idle-time" optimization of programs from arbitrary programming languages. It currently supports compilation of C, Objective-C, and C++ programs, using front-ends derived from GCC 4.0, GCC 4.2, and a custom new front-end, "clang". It supports x86, x86-64, ia64, PowerPC, and SPARC, with support for Alpha and ARM under development."
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
105
packages/devel/llvm/patches/llvm-2.9-cross.patch
Normal file
105
packages/devel/llvm/patches/llvm-2.9-cross.patch
Normal file
@ -0,0 +1,105 @@
|
||||
diff -Naur llvm-2.9-old/autoconf/configure.ac llvm-2.9-new/autoconf/configure.ac
|
||||
--- llvm-2.9-old/autoconf/configure.ac 2011-03-25 00:56:32.000000000 -0700
|
||||
+++ llvm-2.9-new/autoconf/configure.ac 2011-05-05 13:33:38.000000000 -0700
|
||||
@@ -384,6 +384,10 @@
|
||||
AC_CHECK_PROG(BUILD_CXX, c++, c++, , , /usr/ucb/c++)
|
||||
fi
|
||||
fi
|
||||
+ AC_SUBST(BUILD_CPPFLAGS)
|
||||
+ AC_SUBST(BUILD_CFLAGS)
|
||||
+ AC_SUBST(BUILD_CXXFLAGS)
|
||||
+ AC_SUBST(BUILD_LDFLAGS)
|
||||
else
|
||||
AC_SUBST(LLVM_CROSS_COMPILING, [0])
|
||||
fi
|
||||
diff -Naur llvm-2.9-old/autoconf/m4/build_exeext.m4 llvm-2.9-new/autoconf/m4/build_exeext.m4
|
||||
--- llvm-2.9-old/autoconf/m4/build_exeext.m4 2008-09-26 10:27:58.000000000 -0700
|
||||
+++ llvm-2.9-new/autoconf/m4/build_exeext.m4 2011-05-05 12:29:10.000000000 -0700
|
||||
@@ -18,7 +18,7 @@
|
||||
fi
|
||||
fi
|
||||
test -z "$BUILD_CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
|
||||
- ac_build_link='${BUILD_CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
+ ac_build_link='${BUILD_CC-cc} -o conftest $BUILD_CFLAGS $BUILD_CPPFLAGS $BUILD_LDFLAGS conftest.$ac_ext $LIBS 1>&AS_MESSAGE_LOG_FD'
|
||||
rm -f conftest*
|
||||
echo 'int main () { return 0; }' > conftest.$ac_ext
|
||||
ac_cv_build_exeext=
|
||||
diff -Naur llvm-2.9-old/Makefile llvm-2.9-new/Makefile
|
||||
--- llvm-2.9-old/Makefile 2010-11-29 10:16:10.000000000 -0800
|
||||
+++ llvm-2.9-new/Makefile 2011-05-05 13:35:06.000000000 -0700
|
||||
@@ -104,37 +104,6 @@
|
||||
DIRS := $(filter-out unittests, $(DIRS))
|
||||
endif
|
||||
|
||||
-# If we're cross-compiling, build the build-hosted tools first
|
||||
-ifeq ($(LLVM_CROSS_COMPILING),1)
|
||||
-all:: cross-compile-build-tools
|
||||
-
|
||||
-clean::
|
||||
- $(Verb) rm -rf BuildTools
|
||||
-
|
||||
-cross-compile-build-tools:
|
||||
- $(Verb) if [ ! -f BuildTools/Makefile ]; then \
|
||||
- $(MKDIR) BuildTools; \
|
||||
- cd BuildTools ; \
|
||||
- unset CFLAGS ; \
|
||||
- unset CXXFLAGS ; \
|
||||
- $(PROJ_SRC_DIR)/configure --build=$(BUILD_TRIPLE) \
|
||||
- --host=$(BUILD_TRIPLE) --target=$(BUILD_TRIPLE); \
|
||||
- cd .. ; \
|
||||
- fi; \
|
||||
- (unset SDKROOT; \
|
||||
- $(MAKE) -C BuildTools \
|
||||
- BUILD_DIRS_ONLY=1 \
|
||||
- UNIVERSAL= \
|
||||
- ENABLE_OPTIMIZED=$(ENABLE_OPTIMIZED) \
|
||||
- ENABLE_PROFILING=$(ENABLE_PROFILING) \
|
||||
- ENABLE_COVERAGE=$(ENABLE_COVERAGE) \
|
||||
- DISABLE_ASSERTIONS=$(DISABLE_ASSERTIONS) \
|
||||
- ENABLE_EXPENSIVE_CHECKS=$(ENABLE_EXPENSIVE_CHECKS) \
|
||||
- CFLAGS= \
|
||||
- CXXFLAGS= \
|
||||
- ) || exit 1;
|
||||
-endif
|
||||
-
|
||||
# Include the main makefile machinery.
|
||||
include $(LLVM_SRC_ROOT)/Makefile.rules
|
||||
|
||||
diff -Naur llvm-2.9-old/Makefile.config.in llvm-2.9-new/Makefile.config.in
|
||||
--- llvm-2.9-old/Makefile.config.in 2010-12-28 19:59:14.000000000 -0800
|
||||
+++ llvm-2.9-new/Makefile.config.in 2011-05-05 12:25:34.000000000 -0700
|
||||
@@ -113,6 +113,10 @@
|
||||
# call if we're cross-compiling).
|
||||
BUILD_CC=@BUILD_CC@
|
||||
BUILD_CXX=@BUILD_CXX@
|
||||
+BUILD_CPPFLAGS=@BUILD_CPPFLAGS@
|
||||
+BUILD_CFLAGS=@BUILD_CFLAGS@
|
||||
+BUILD_CXXFLAGS=@BUILD_CXXFLAGS@
|
||||
+BUILD_LDFLAGS=@BUILD_LDFLAGS@
|
||||
|
||||
# Triple for configuring build tools when cross-compiling
|
||||
BUILD_TRIPLE=@build@
|
||||
diff -Naur llvm-2.9-old/Makefile.rules llvm-2.9-new/Makefile.rules
|
||||
--- llvm-2.9-old/Makefile.rules 2011-03-24 23:26:58.000000000 -0700
|
||||
+++ llvm-2.9-new/Makefile.rules 2011-05-05 12:24:42.000000000 -0700
|
||||
@@ -647,15 +647,15 @@
|
||||
$(CPP.BaseFlags)
|
||||
|
||||
ifeq ($(BUILD_COMPONENT), 1)
|
||||
- Compile.C = $(BUILD_CC) $(CPP.Flags) $(C.Flags) $(CFLAGS) $(CPPFLAGS) \
|
||||
+ Compile.C = $(BUILD_CC) $(CPP.Flags) $(C.Flags) $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) \
|
||||
$(TargetCommonOpts) $(CompileCommonOpts) -c
|
||||
- Compile.CXX = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) \
|
||||
+ Compile.CXX = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(BUILD_CXXFLAGS) \
|
||||
$(CPPFLAGS) \
|
||||
$(TargetCommonOpts) $(CompileCommonOpts) -c
|
||||
- Preprocess.CXX= $(BUILD_CXX) $(CPP.Flags) $(CPPFLAGS) $(TargetCommonOpts) \
|
||||
+ Preprocess.CXX= $(BUILD_CXX) $(CPP.Flags) $(BUILD_CPPFLAGS) $(TargetCommonOpts) \
|
||||
$(CompileCommonOpts) $(CXX.Flags) -E
|
||||
- Link = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(CXXFLAGS) \
|
||||
- $(LD.Flags) $(LDFLAGS) \
|
||||
+ Link = $(BUILD_CXX) $(CPP.Flags) $(CXX.Flags) $(BUILD_CXXFLAGS) \
|
||||
+ $(LD.Flags) $(BUILD_LDFLAGS) \
|
||||
$(TargetCommonOpts) $(CompileCommonOpts) $(Strip)
|
||||
else
|
||||
Compile.C = $(CC) $(CPP.Flags) $(C.Flags) $(CFLAGS) $(CPPFLAGS) \
|
@ -36,29 +36,42 @@ MESA_CONFIG=" --disable-gallium --disable-gallium-nouveau --disable-gallium-i915
|
||||
MESA_CONFIG="$MESA_CONFIG --disable-gallium-radeon --disable-gallium-r300 --disable-gallium-r600"
|
||||
MESA_CONFIG="$MESA_CONFIG --disable-gallium-svga --disable-gallium-swrast"
|
||||
|
||||
if [ "$LLVM_SUPPORT" = "yes" ]; then
|
||||
export LLVM_CONFIG="$SYSROOT_PREFIX/usr/bin/llvm-config"
|
||||
MESA_CONFIG="$MESA_CONFIG --enable-gallium --enable-gallium-llvm"
|
||||
fi
|
||||
|
||||
for drv in $GRAPHIC_DRIVERS; do
|
||||
[ "$drv" = i915 ] && \
|
||||
MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-i915/disable-gallium-i915/'`
|
||||
|
||||
[ "$drv" = i965 ] && \
|
||||
MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-i965/disable-gallium-i965/'`
|
||||
|
||||
[ "$drv" = r300 -o "$drv" = radeon ] && \
|
||||
MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-radeon/enable-gallium-radeon/'` && \
|
||||
MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-r300/enable-gallium-r300/'` && \
|
||||
if [ "$drv" = i915 ]; then
|
||||
MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-i915/enable-gallium-i915/'`
|
||||
MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium"
|
||||
fi
|
||||
|
||||
[ "$drv" = r600 ] && \
|
||||
MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-r600/enable-gallium-r600/'` && \
|
||||
if [ "$drv" = i965 ]; then
|
||||
MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-i965/enable-gallium-i965/'`
|
||||
MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium"
|
||||
fi
|
||||
|
||||
[ "$drv" = nouveau ] && \
|
||||
MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-nouveau/enable-gallium-nouveau/'` && \
|
||||
if [ "$drv" = r300 -o "$drv" = radeon ]; then
|
||||
MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-radeon/enable-gallium-radeon/'`
|
||||
MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-r300/enable-gallium-r300/'`
|
||||
MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium"
|
||||
fi
|
||||
|
||||
[ "$drv" = vmware ] && \
|
||||
MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-svga/enable-gallium-svga/'` && \
|
||||
if [ "$drv" = r600 ]; then
|
||||
MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-r600/enable-gallium-r600/'`
|
||||
MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium"
|
||||
fi
|
||||
|
||||
if [ "$drv" = nouveau ]; then
|
||||
MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-nouveau/enable-gallium-nouveau/'`
|
||||
MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium"
|
||||
fi
|
||||
|
||||
if [ "$drv" = vmware ]; then
|
||||
MESA_CONFIG=`echo $MESA_CONFIG | sed -e 's/disable-gallium-svga/enable-gallium-svga/'`
|
||||
MESA_CONFIG="$MESA_CONFIG --with-state-trackers=dri,glx --enable-gallium"
|
||||
fi
|
||||
done
|
||||
|
||||
cd $PKG_BUILD
|
||||
|
@ -35,6 +35,13 @@ PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
get_graphicdrivers
|
||||
|
||||
if [ "$LLVM_SUPPORT" = "yes" ]; then
|
||||
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS llvm"
|
||||
PKG_DEPENDS="$PKG_DEPENDS llvm"
|
||||
fi
|
||||
|
||||
if [ "$MESA_MASTER" = "yes" ]; then
|
||||
PKG_VERSION="7.11-git2812b60"
|
||||
PKG_URL="$OPENELEC_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
|
12
packages/graphics/Mesa/patches/Mesa-7.10.2-llvm_so.patch
Normal file
12
packages/graphics/Mesa/patches/Mesa-7.10.2-llvm_so.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -Naur Mesa-7.10.2-old/configure.ac Mesa-7.10.2-new/configure.ac
|
||||
--- Mesa-7.10.2-old/configure.ac 2011-02-11 14:49:47.000000000 -0800
|
||||
+++ Mesa-7.10.2-new/configure.ac 2011-05-05 16:31:18.000000000 -0700
|
||||
@@ -1551,7 +1551,7 @@
|
||||
if test "x$LLVM_CONFIG" != xno; then
|
||||
LLVM_VERSION=`$LLVM_CONFIG --version`
|
||||
LLVM_CFLAGS=`$LLVM_CONFIG --cppflags`
|
||||
- LLVM_LIBS="`$LLVM_CONFIG --libs jit interpreter nativecodegen bitwriter` -lstdc++"
|
||||
+ LLVM_LIBS="-lLLVM-$LLVM_VERSION -lstdc++"
|
||||
|
||||
if test "x$HAS_UDIS86" != xno; then
|
||||
LLVM_LIBS="$LLVM_LIBS -ludis86"
|
12
packages/graphics/Mesa/patches/Mesa-7.10.2-llvmpipe_ld.patch
Normal file
12
packages/graphics/Mesa/patches/Mesa-7.10.2-llvmpipe_ld.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -Naur Mesa-7.10.2-old/src/gallium/drivers/llvmpipe/Makefile Mesa-7.10.2-new/src/gallium/drivers/llvmpipe/Makefile
|
||||
--- Mesa-7.10.2-old/src/gallium/drivers/llvmpipe/Makefile 2011-01-04 09:44:17.000000000 -0800
|
||||
+++ Mesa-7.10.2-new/src/gallium/drivers/llvmpipe/Makefile 2011-05-05 15:48:06.000000000 -0700
|
||||
@@ -71,7 +71,7 @@
|
||||
|
||||
LDFLAGS += $(LLVM_LDFLAGS)
|
||||
LIBS += -L../../auxiliary/ -lgallium libllvmpipe.a $(LLVM_LIBS) $(GL_LIB_DEPS)
|
||||
-LD=g++
|
||||
+LD = $(CXX)
|
||||
|
||||
$(PROGS): lp_test_main.o libllvmpipe.a
|
||||
|
28
packages/initramfs/compress/zlib-initramfs/install
Executable file
28
packages/initramfs/compress/zlib-initramfs/install
Executable file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
ZLIB_DIR="$BUILD/zlib-*"
|
||||
|
||||
mkdir -p $INSTALL/lib
|
||||
cp -R $ZLIB_DIR/*.so* $INSTALL/lib
|
36
packages/initramfs/compress/zlib-initramfs/meta
Normal file
36
packages/initramfs/compress/zlib-initramfs/meta
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="zlib-initramfs"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.zlib.net"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="toolchain zlib"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="initramfs/compress"
|
||||
PKG_SHORTDESC="zlib: A general purpose (ZIP) data compression library"
|
||||
PKG_LONGDESC="zlib is a general purpose data compression library. All the code is thread safe. The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files ftp://ds.internic.net/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format)."
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
30
packages/initramfs/devel/eglibc-initramfs/install
Executable file
30
packages/initramfs/devel/eglibc-initramfs/install
Executable file
@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
EGLIBC_DIR="$BUILD/eglibc-*"
|
||||
|
||||
mkdir -p $INSTALL/lib
|
||||
cp $EGLIBC_DIR/objdir-eglibc/elf/ld*.so.* $INSTALL/lib
|
||||
cp $EGLIBC_DIR/objdir-eglibc/libc.so.6 $INSTALL/lib
|
||||
cp $EGLIBC_DIR/objdir-eglibc/math/libm.so.6 $INSTALL/lib
|
36
packages/initramfs/devel/eglibc-initramfs/meta
Normal file
36
packages/initramfs/devel/eglibc-initramfs/meta
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="eglibc-initramfs"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.eglibc.org/"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="eglibc"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="initramfs/devel"
|
||||
PKG_SHORTDESC="eglibc: The Embedded GNU C library"
|
||||
PKG_LONGDESC="The Embedded GLIBC (EGLIBC) is a variant of the GNU C Library (GLIBC) that is designed to work well on embedded systems. EGLIBC strives to be source and binary compatible with GLIBC. EGLIBC's goals include reduced footprint, configurable components, better support for cross-compilation and cross-testing. In contrast to what Ulrich Drepper makes out of GLIBC, in EGLIBC all patches assigned to the FSF will be considered regardless of individual or company affiliation and cooperation is encouraged, as well as communication, civility, and respect among developers."
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
28
packages/initramfs/graphics/libpng-initramfs/install
Executable file
28
packages/initramfs/graphics/libpng-initramfs/install
Executable file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
LIBPNG_DIR="$BUILD/libpng-*"
|
||||
|
||||
mkdir -p $INSTALL/lib
|
||||
cp -P $LIBPNG_DIR/.libs/libpng*.so* $INSTALL/lib
|
36
packages/initramfs/graphics/libpng-initramfs/meta
Normal file
36
packages/initramfs/graphics/libpng-initramfs/meta
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libpng-initramfs"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.libpng.org/"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS="zlib-initramfs"
|
||||
PKG_BUILD_DEPENDS="toolchain libpng"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="initramfs/graphics"
|
||||
PKG_SHORTDESC="libpng: Portable Network Graphics (PNG) Reference Library"
|
||||
PKG_LONGDESC="PNG (Portable Network Graphics) is an extensible file format for the lossless, portable, well-compressed storage of raster images. PNG provides a patent-free replacement for GIF and can also replace many common uses of TIFF. Indexed-color, grayscale, and truecolor images are supported, plus an optional alpha channel. Sample depths range from 1 to 16 bits."
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
28
packages/initramfs/lang/gcc-initramfs/install
Executable file
28
packages/initramfs/lang/gcc-initramfs/install
Executable file
@ -0,0 +1,28 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
GCC_DIR="$BUILD/gcc-*"
|
||||
|
||||
mkdir -p $INSTALL/lib
|
||||
cp -P $GCC_DIR/objdir-gcc-final/$TARGET_NAME/libgcc/libgcc_s.so* $INSTALL/lib
|
36
packages/initramfs/lang/gcc-initramfs/meta
Normal file
36
packages/initramfs/lang/gcc-initramfs/meta
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="gcc-initramfs"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://gcc.gnu.org/"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="gcc-final"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="initramfs/lang"
|
||||
PKG_SHORTDESC="gcc: The GNU Compiler Collection Version 4 (aka GNU C Compiler)"
|
||||
PKG_LONGDESC="This package contains the GNU Compiler Collection. It includes compilers for the languages C, C++, Objective C, Fortran 95, Java and others ... This GCC contains the Stack-Smashing Protector Patch which can be enabled with the -fstack-protector command-line option. More information about it ca be found at http://www.research.ibm.com/trl/projects/security/ssp/."
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
40
packages/initramfs/meta
Normal file
40
packages/initramfs/meta
Normal file
@ -0,0 +1,40 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="initramfs"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.openelec.tv"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS="eglibc-initramfs busybox-initramfs plymouth-lite"
|
||||
PKG_BUILD_DEPENDS="toolchain eglibc-initramfs busybox-initramfs plymouth-lite"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="initramfs"
|
||||
PKG_SHORTDESC="initramfs: Metapackage for installing initramfs"
|
||||
PKG_LONGDESC="debug is a Metapackage for installing initramfs"
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
if [ "$HFSTOOLS" = "yes" ]; then
|
||||
PKG_DEPENDS="$PKG_DEPENDS diskdev_cmds-initramfs util-linux-initramfs"
|
||||
fi
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Busybox version: 1.18.4
|
||||
# Thu Apr 7 10:08:24 2011
|
||||
# Tue May 17 21:21:08 2011
|
||||
#
|
||||
CONFIG_HAVE_DOT_CONFIG=y
|
||||
|
||||
@ -54,7 +54,7 @@ CONFIG_FEATURE_HAVE_RPC=y
|
||||
#
|
||||
# Build Options
|
||||
#
|
||||
CONFIG_STATIC=y
|
||||
# CONFIG_STATIC is not set
|
||||
# CONFIG_PIE is not set
|
||||
# CONFIG_NOMMU is not set
|
||||
# CONFIG_BUILD_LIBBUSYBOX is not set
|
38
packages/initramfs/sysutils/busybox-initramfs/install
Executable file
38
packages/initramfs/sysutils/busybox-initramfs/install
Executable file
@ -0,0 +1,38 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
mkdir -p $INSTALL/bin
|
||||
cp -PR $BUILD/busybox*/_install-initramfs/bin/busybox $INSTALL/bin
|
||||
ln -sf busybox $INSTALL/bin/sh
|
||||
chmod 4755 $INSTALL/bin/busybox
|
||||
|
||||
mkdir -p $INSTALL/dev
|
||||
mkdir -p $INSTALL/proc
|
||||
mkdir -p $INSTALL/sys
|
||||
mkdir -p $INSTALL/flash
|
||||
mkdir -p $INSTALL/sysroot
|
||||
mkdir -p $INSTALL/storage
|
||||
|
||||
cp $PKG_DIR/scripts/init $INSTALL
|
||||
chmod 755 $INSTALL/init
|
@ -143,6 +143,15 @@ NFS_OVERLAY="192.168.1.1:/var/lib/overlay"
|
||||
fi
|
||||
}
|
||||
|
||||
hfsdiskprep() {
|
||||
for DEV in `/bin/busybox ls /dev/sd*`; do
|
||||
FS_TYPE=$(/sbin/blkid -o value -s TYPE $DEV)
|
||||
if [ "$FS_TYPE" = "hfs" -o "$FS_TYPE" = "hfsplus" ]; then
|
||||
/sbin/fsck_hfs -r -y $DEV > /dev/null 2>&1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
mount_nbd() {
|
||||
retry_nr=0
|
||||
retry_delay=20
|
||||
@ -164,7 +173,7 @@ NFS_OVERLAY="192.168.1.1:/var/lib/overlay"
|
||||
error "INIT_2" "Could not mount NBD root from $NBD_ROOT_SERVER port $NBD_ROOT_PORT"
|
||||
debug_shell
|
||||
fi
|
||||
|
||||
|
||||
mount_part "$NFS_OVERLAY" "/sysroot/storage" "rw,nolock,retrans=10" "nfs"
|
||||
|
||||
if [ ! -d /sysroot/storage/$OVERLAY_DIR ]; then
|
||||
@ -176,12 +185,22 @@ NFS_OVERLAY="192.168.1.1:/var/lib/overlay"
|
||||
}
|
||||
|
||||
mount_disk() {
|
||||
mount_part "$boot" "/flash" "ro,noatime"
|
||||
|
||||
# deal with hfs partitions
|
||||
if [ -x /sbin/fsck_hfs ]; then
|
||||
hfsdiskprep
|
||||
fi
|
||||
|
||||
mount_part "$boot" "/flash" "ro,noatime"
|
||||
show_splash
|
||||
|
||||
if [ -n "$disk" ]; then
|
||||
mount_part "$disk" "/storage" "rw,noatime"
|
||||
|
||||
if [ -f "/flash/atv_single_boot" ]; then
|
||||
IMAGE_KERNEL="MACH_KERNEL"
|
||||
fi
|
||||
|
||||
update "Kernel" "$IMAGE_KERNEL" "/flash/$IMAGE_KERNEL"
|
||||
update "System" "$IMAGE_SYSTEM" "/flash/$IMAGE_SYSTEM"
|
||||
|
30
packages/initramfs/sysutils/diskdev_cmds-initramfs/install
Executable file
30
packages/initramfs/sysutils/diskdev_cmds-initramfs/install
Executable file
@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
DISKDEV_CMDS_DIR="$BUILD/diskdev_cmds-*"
|
||||
|
||||
mkdir -p $INSTALL/sbin
|
||||
cp $DISKDEV_CMDS_DIR/fsck_hfs.tproj/fsck_hfs $INSTALL/sbin
|
||||
ln -sf fsck_hfs $INSTALL/sbin/fsck.hfs
|
||||
ln -sf fsck_hfs $INSTALL/sbin/fsck.hfsplus
|
36
packages/initramfs/sysutils/diskdev_cmds-initramfs/meta
Normal file
36
packages/initramfs/sysutils/diskdev_cmds-initramfs/meta
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="diskdev_cmds-initramfs"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="APSL"
|
||||
PKG_SITE="http://src.gnu-darwin.org/DarwinSourceArchive/expanded/diskdev_cmds/"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="toolchain diskdev_cmds"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="initramfs/system"
|
||||
PKG_SHORTDESC="diskdev_cmds: hfs filesystem utilities"
|
||||
PKG_LONGDESC="The fsck and mkfs utliities for hfs and hfsplus filesystems."
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
@ -25,7 +25,7 @@ PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.meego.com"
|
||||
PKG_URL="$OPENELEC_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS=""
|
||||
PKG_DEPENDS="gcc-initramfs libpng-initramfs"
|
||||
PKG_BUILD_DEPENDS="toolchain libpng"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="system"
|
@ -4,7 +4,7 @@
|
||||
|
||||
ply-image: ply-image.c ply-frame-buffer.c Makefile
|
||||
- gcc -O2 -march=core2 -mtune=generic -lm `pkg-config --cflags libpng12` `pkg-config --libs libpng12` ply-image.c ply-frame-buffer.c -o ply-image
|
||||
+ $(CC) -static $(CFLAGS) `pkg-config --cflags libpng` ply-image.c ply-frame-buffer.c -o ply-image -lm `pkg-config --libs libpng` -lm -lz
|
||||
+ $(CC) $(CFLAGS) `pkg-config --cflags libpng` ply-image.c ply-frame-buffer.c -o ply-image -lm `pkg-config --libs libpng` -lm -lz
|
||||
|
||||
clean:
|
||||
rm -f ply-image *~ gmon.out
|
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
32
packages/initramfs/sysutils/util-linux-initramfs/install
Executable file
32
packages/initramfs/sysutils/util-linux-initramfs/install
Executable file
@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
UTIL_LINUX_DIR="$BUILD/util-linux-*"
|
||||
|
||||
mkdir -p $INSTALL/sbin
|
||||
cp -P $UTIL_LINUX_DIR/misc-utils/.libs/blkid $INSTALL/sbin
|
||||
|
||||
mkdir -p $INSTALL/lib
|
||||
cp -P $UTIL_LINUX_DIR/shlibs/blkid/src/.libs/libblkid.so* $INSTALL/lib
|
||||
cp -P $UTIL_LINUX_DIR/shlibs/uuid/src/.libs/libuuid.so* $INSTALL/lib
|
36
packages/initramfs/sysutils/util-linux-initramfs/meta
Normal file
36
packages/initramfs/sysutils/util-linux-initramfs/meta
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="util-linux-initramfs"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="APSL"
|
||||
PKG_SITE="http://userweb.kernel.org/~kzak/util-linux-ng/"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="toolchain util-linux"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="initramfs/system"
|
||||
PKG_SHORTDESC="util-linux: Miscellaneous system utilities for Linux"
|
||||
PKG_LONGDESC="The util-linux package contains a large variety of low-level system utilities that are necessary for a Linux system to function. Among many features, Util-linux contains the fdisk configuration tool and the login program."
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
@ -22,8 +22,12 @@
|
||||
|
||||
. config/options $1
|
||||
|
||||
export INSTALL=$(kernel_path)/initramfs
|
||||
$SCRIPTS/install busybox-initramfs
|
||||
export INSTALL=$ROOT/$BUILD/image/initramfs/root-image
|
||||
$SCRIPTS/install initramfs
|
||||
|
||||
cd $INSTALL
|
||||
find . | cpio -H newc -ov -R 0:0 > $ROOT/$BUILD/image/initramfs.cpio
|
||||
cd -
|
||||
|
||||
if [ "$BOOTLOADER" = "u-boot" ]; then
|
||||
$SCRIPTS/build u-boot
|
||||
@ -47,4 +51,3 @@ rm -f modules/lib/modules/*/build
|
||||
rm -f modules/lib/modules/*/source
|
||||
|
||||
make $KERNEL_IMAGE
|
||||
|
||||
|
@ -45,3 +45,4 @@ mkdir -p $INSTALL/etc
|
||||
|
||||
mkdir -p $INSTALL/etc/modprobe.d
|
||||
cp $PKG_DIR/modprobe.d/*.conf $INSTALL/etc/modprobe.d
|
||||
|
||||
|
@ -19,15 +19,15 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="linux"
|
||||
PKG_VERSION="2.6.39-rc7"
|
||||
PKG_VERSION="2.6.39"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.kernel.org"
|
||||
#PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/testing/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
#PKG_URL="http://www.kernel.org/pub/linux/kernel/v2.6/testing/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS="busybox linux-drivers linux-firmware"
|
||||
PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz"
|
||||
PKG_BUILD_DEPENDS="toolchain busybox-hosttools xz cpio"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="linux"
|
||||
PKG_SHORTDESC="linux26: The Linux kernel 2.6 precompiled kernel binary image and modules"
|
||||
@ -46,3 +46,7 @@ if [ "$LINUX" = "ti-omap4" ]; then
|
||||
PKG_VERSION="2.6.38-ti-omap4"
|
||||
PKG_URL="$OPENELEC_SRC/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
fi
|
||||
|
||||
if [ "$BOOTLOADER" = "atv-bootloader" ]; then
|
||||
PKG_DEPENDS="$PKG_DEPENDS atv-bootloader"
|
||||
fi
|
||||
|
904
packages/linux/patches/linux-2.6.39-056_fintek-cir.patch
Normal file
904
packages/linux/patches/linux-2.6.39-056_fintek-cir.patch
Normal file
@ -0,0 +1,904 @@
|
||||
[media] fintek-cir: new device driver
|
||||
|
||||
Device driver for the Fintek F71809 LPC SuperIO Integrated CIR.
|
||||
|
||||
Only receive is supported at the moment, but the hardware does
|
||||
support transmit. This is just a first rough draft, if you will...
|
||||
|
||||
Signed-off-by: Jarod Wilson <jarod@redhat.com>
|
||||
---
|
||||
drivers/media/rc/Kconfig | 12 +
|
||||
drivers/media/rc/Makefile | 1 +
|
||||
drivers/media/rc/fintek-cir.c | 618 +++++++++++++++++++++++++++++++++++++++++
|
||||
drivers/media/rc/fintek-cir.h | 224 +++++++++++++++
|
||||
4 files changed, 855 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/rc/Kconfig b/drivers/media/rc/Kconfig
|
||||
index 154c337..7d4bbc2 100644
|
||||
--- a/drivers/media/rc/Kconfig
|
||||
+++ b/drivers/media/rc/Kconfig
|
||||
@@ -148,6 +148,18 @@ config IR_ITE_CIR
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called ite-cir.
|
||||
|
||||
+config IR_FINTEK
|
||||
+ tristate "Fintek Consumer Infrared Transceiver"
|
||||
+ depends on PNP
|
||||
+ depends on RC_CORE
|
||||
+ ---help---
|
||||
+ Say Y here to enable support for integrated infrared receiver
|
||||
+ /transciever made by Fintek. This chip is found on assorted
|
||||
+ Jetway motherboards (and of course, possibly others).
|
||||
+
|
||||
+ To compile this driver as a module, choose M here: the
|
||||
+ module will be called fintek-cir.
|
||||
+
|
||||
config IR_NUVOTON
|
||||
tristate "Nuvoton w836x7hg Consumer Infrared Transceiver"
|
||||
depends on PNP
|
||||
diff --git a/drivers/media/rc/Makefile b/drivers/media/rc/Makefile
|
||||
index 1f90a21..52830e5 100644
|
||||
--- a/drivers/media/rc/Makefile
|
||||
+++ b/drivers/media/rc/Makefile
|
||||
@@ -16,6 +16,7 @@ obj-$(CONFIG_IR_LIRC_CODEC) += ir-lirc-codec.o
|
||||
obj-$(CONFIG_IR_IMON) += imon.o
|
||||
obj-$(CONFIG_IR_ITE_CIR) += ite-cir.o
|
||||
obj-$(CONFIG_IR_MCEUSB) += mceusb.o
|
||||
+obj-$(CONFIG_IR_FINTEK) += fintek-cir.o
|
||||
obj-$(CONFIG_IR_NUVOTON) += nuvoton-cir.o
|
||||
obj-$(CONFIG_IR_ENE) += ene_ir.o
|
||||
obj-$(CONFIG_IR_REDRAT3) += redrat3.o
|
||||
diff --git a/drivers/media/rc/fintek-cir.c b/drivers/media/rc/fintek-cir.c
|
||||
new file mode 100644
|
||||
index 0000000..ae275ec
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/rc/fintek-cir.c
|
||||
@@ -0,0 +1,618 @@
|
||||
+/*
|
||||
+ * Driver for Feature Integration Technology Inc. (aka Fintek) LPC CIR
|
||||
+ *
|
||||
+ * Copyright (C) 2011 Jarod Wilson <jarod@redhat.com>
|
||||
+ *
|
||||
+ * Special thanks to Fintek for providing hardware and spec sheets.
|
||||
+ * This driver is based upon the nuvoton, ite and ene drivers for
|
||||
+ * similar hardware.
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of the
|
||||
+ * License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful, but
|
||||
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
+ * USA
|
||||
+ */
|
||||
+
|
||||
+#include <linux/kernel.h>
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/pnp.h>
|
||||
+#include <linux/io.h>
|
||||
+#include <linux/interrupt.h>
|
||||
+#include <linux/sched.h>
|
||||
+#include <linux/slab.h>
|
||||
+#include <media/rc-core.h>
|
||||
+#include <linux/pci_ids.h>
|
||||
+
|
||||
+#include "fintek-cir.h"
|
||||
+
|
||||
+/* write val to config reg */
|
||||
+static inline void fintek_cr_write(struct fintek_dev *fintek, u8 val, u8 reg)
|
||||
+{
|
||||
+ fit_dbg("%s: reg 0x%02x, val 0x%02x (ip/dp: %02x/%02x)",
|
||||
+ __func__, reg, val, fintek->cr_ip, fintek->cr_dp);
|
||||
+ outb(reg, fintek->cr_ip);
|
||||
+ outb(val, fintek->cr_dp);
|
||||
+}
|
||||
+
|
||||
+/* read val from config reg */
|
||||
+static inline u8 fintek_cr_read(struct fintek_dev *fintek, u8 reg)
|
||||
+{
|
||||
+ u8 val;
|
||||
+
|
||||
+ outb(reg, fintek->cr_ip);
|
||||
+ val = inb(fintek->cr_dp);
|
||||
+
|
||||
+ fit_dbg("%s: reg 0x%02x, val 0x%02x (ip/dp: %02x/%02x)",
|
||||
+ __func__, reg, val, fintek->cr_ip, fintek->cr_dp);
|
||||
+ return val;
|
||||
+}
|
||||
+
|
||||
+/* update config register bit without changing other bits */
|
||||
+static inline void fintek_set_reg_bit(struct fintek_dev *fintek, u8 val, u8 reg)
|
||||
+{
|
||||
+ u8 tmp = fintek_cr_read(fintek, reg) | val;
|
||||
+ fintek_cr_write(fintek, tmp, reg);
|
||||
+}
|
||||
+
|
||||
+/* clear config register bit without changing other bits */
|
||||
+static inline void fintek_clear_reg_bit(struct fintek_dev *fintek, u8 val, u8 reg)
|
||||
+{
|
||||
+ u8 tmp = fintek_cr_read(fintek, reg) & ~val;
|
||||
+ fintek_cr_write(fintek, tmp, reg);
|
||||
+}
|
||||
+
|
||||
+/* enter config mode */
|
||||
+static inline void fintek_config_mode_enable(struct fintek_dev *fintek)
|
||||
+{
|
||||
+ /* Enabling Config Mode explicitly requires writing 2x */
|
||||
+ outb(CONFIG_REG_ENABLE, fintek->cr_ip);
|
||||
+ outb(CONFIG_REG_ENABLE, fintek->cr_ip);
|
||||
+}
|
||||
+
|
||||
+/* exit config mode */
|
||||
+static inline void fintek_config_mode_disable(struct fintek_dev *fintek)
|
||||
+{
|
||||
+ outb(CONFIG_REG_DISABLE, fintek->cr_ip);
|
||||
+}
|
||||
+
|
||||
+/*
|
||||
+ * When you want to address a specific logical device, write its logical
|
||||
+ * device number to GCR_LOGICAL_DEV_NO
|
||||
+ */
|
||||
+static inline void fintek_select_logical_dev(struct fintek_dev *fintek, u8 ldev)
|
||||
+{
|
||||
+ fintek_cr_write(fintek, ldev, GCR_LOGICAL_DEV_NO);
|
||||
+}
|
||||
+
|
||||
+/* write val to cir config register */
|
||||
+static inline void fintek_cir_reg_write(struct fintek_dev *fintek, u8 val, u8 offset)
|
||||
+{
|
||||
+ outb(val, fintek->cir_addr + offset);
|
||||
+}
|
||||
+
|
||||
+/* read val from cir config register */
|
||||
+static u8 fintek_cir_reg_read(struct fintek_dev *fintek, u8 offset)
|
||||
+{
|
||||
+ u8 val;
|
||||
+
|
||||
+ val = inb(fintek->cir_addr + offset);
|
||||
+
|
||||
+ return val;
|
||||
+}
|
||||
+
|
||||
+#define pr_reg(text, ...) \
|
||||
+ printk(KERN_INFO KBUILD_MODNAME ": " text, ## __VA_ARGS__)
|
||||
+
|
||||
+/* dump current cir register contents */
|
||||
+static void cir_dump_regs(struct fintek_dev *fintek)
|
||||
+{
|
||||
+ fintek_config_mode_enable(fintek);
|
||||
+ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR);
|
||||
+
|
||||
+ pr_reg("%s: Dump CIR logical device registers:\n", FINTEK_DRIVER_NAME);
|
||||
+ pr_reg(" * CR CIR BASE ADDR: 0x%x\n",
|
||||
+ (fintek_cr_read(fintek, CIR_CR_BASE_ADDR_HI) << 8) |
|
||||
+ fintek_cr_read(fintek, CIR_CR_BASE_ADDR_LO));
|
||||
+ pr_reg(" * CR CIR IRQ NUM: 0x%x\n",
|
||||
+ fintek_cr_read(fintek, CIR_CR_IRQ_SEL));
|
||||
+
|
||||
+ fintek_config_mode_disable(fintek);
|
||||
+
|
||||
+ pr_reg("%s: Dump CIR registers:\n", FINTEK_DRIVER_NAME);
|
||||
+ pr_reg(" * STATUS: 0x%x\n", fintek_cir_reg_read(fintek, CIR_STATUS));
|
||||
+ pr_reg(" * CONTROL: 0x%x\n", fintek_cir_reg_read(fintek, CIR_CONTROL));
|
||||
+ pr_reg(" * RX_DATA: 0x%x\n", fintek_cir_reg_read(fintek, CIR_RX_DATA));
|
||||
+ pr_reg(" * TX_CONTROL: 0x%x\n", fintek_cir_reg_read(fintek, CIR_TX_CONTROL));
|
||||
+ pr_reg(" * TX_DATA: 0x%x\n", fintek_cir_reg_read(fintek, CIR_TX_DATA));
|
||||
+}
|
||||
+
|
||||
+/* detect hardware features */
|
||||
+static int fintek_hw_detect(struct fintek_dev *fintek)
|
||||
+{
|
||||
+ unsigned long flags;
|
||||
+ u8 chip_major, chip_minor;
|
||||
+ u8 vendor_major, vendor_minor;
|
||||
+ u8 portsel, ir_class;
|
||||
+ u16 vendor;
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ fintek_config_mode_enable(fintek);
|
||||
+
|
||||
+ /* Check if we're using config port 0x4e or 0x2e */
|
||||
+ portsel = fintek_cr_read(fintek, GCR_CONFIG_PORT_SEL);
|
||||
+ if (portsel == 0xff) {
|
||||
+ fit_pr(KERN_INFO, "first portsel read was bunk, trying alt");
|
||||
+ fintek_config_mode_disable(fintek);
|
||||
+ fintek->cr_ip = CR_INDEX_PORT2;
|
||||
+ fintek->cr_dp = CR_DATA_PORT2;
|
||||
+ fintek_config_mode_enable(fintek);
|
||||
+ portsel = fintek_cr_read(fintek, GCR_CONFIG_PORT_SEL);
|
||||
+ }
|
||||
+ fit_dbg("portsel reg: 0x%02x", portsel);
|
||||
+
|
||||
+ ir_class = fintek_cir_reg_read(fintek, CIR_CR_CLASS);
|
||||
+ fit_dbg("ir_class reg: 0x%02x", ir_class);
|
||||
+
|
||||
+ switch (ir_class) {
|
||||
+ case CLASS_RX_2TX:
|
||||
+ case CLASS_RX_1TX:
|
||||
+ fintek->hw_tx_capable = true;
|
||||
+ break;
|
||||
+ case CLASS_RX_ONLY:
|
||||
+ default:
|
||||
+ fintek->hw_tx_capable = false;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ chip_major = fintek_cr_read(fintek, GCR_CHIP_ID_HI);
|
||||
+ chip_minor = fintek_cr_read(fintek, GCR_CHIP_ID_LO);
|
||||
+
|
||||
+ vendor_major = fintek_cr_read(fintek, GCR_VENDOR_ID_HI);
|
||||
+ vendor_minor = fintek_cr_read(fintek, GCR_VENDOR_ID_LO);
|
||||
+ vendor = vendor_major << 8 | vendor_minor;
|
||||
+
|
||||
+ if (vendor != VENDOR_ID_FINTEK)
|
||||
+ fit_pr(KERN_WARNING, "Unknown vendor ID: 0x%04x", vendor);
|
||||
+ else
|
||||
+ fit_dbg("Read Fintek vendor ID from chip");
|
||||
+
|
||||
+ fintek_config_mode_disable(fintek);
|
||||
+
|
||||
+ spin_lock_irqsave(&fintek->fintek_lock, flags);
|
||||
+ fintek->chip_major = chip_major;
|
||||
+ fintek->chip_minor = chip_minor;
|
||||
+ fintek->chip_vendor = vendor;
|
||||
+ spin_unlock_irqrestore(&fintek->fintek_lock, flags);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static void fintek_cir_ldev_init(struct fintek_dev *fintek)
|
||||
+{
|
||||
+ /* Select CIR logical device and enable */
|
||||
+ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR);
|
||||
+ fintek_cr_write(fintek, LOGICAL_DEV_ENABLE, CIR_CR_DEV_EN);
|
||||
+
|
||||
+ /* Write allocated CIR address and IRQ information to hardware */
|
||||
+ fintek_cr_write(fintek, fintek->cir_addr >> 8, CIR_CR_BASE_ADDR_HI);
|
||||
+ fintek_cr_write(fintek, fintek->cir_addr & 0xff, CIR_CR_BASE_ADDR_LO);
|
||||
+
|
||||
+ fintek_cr_write(fintek, fintek->cir_irq, CIR_CR_IRQ_SEL);
|
||||
+
|
||||
+ fit_dbg("CIR initialized, base io address: 0x%lx, irq: %d (len: %d)",
|
||||
+ fintek->cir_addr, fintek->cir_irq, fintek->cir_port_len);
|
||||
+}
|
||||
+
|
||||
+/* enable CIR interrupts */
|
||||
+static void fintek_enable_cir_irq(struct fintek_dev *fintek)
|
||||
+{
|
||||
+ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_EN, CIR_STATUS);
|
||||
+}
|
||||
+
|
||||
+static void fintek_cir_regs_init(struct fintek_dev *fintek)
|
||||
+{
|
||||
+ /* clear any and all stray interrupts */
|
||||
+ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS);
|
||||
+
|
||||
+ /* and finally, enable interrupts */
|
||||
+ fintek_enable_cir_irq(fintek);
|
||||
+}
|
||||
+
|
||||
+static void fintek_enable_wake(struct fintek_dev *fintek)
|
||||
+{
|
||||
+ fintek_config_mode_enable(fintek);
|
||||
+ fintek_select_logical_dev(fintek, LOGICAL_DEV_ACPI);
|
||||
+
|
||||
+ /* Allow CIR PME's to wake system */
|
||||
+ fintek_set_reg_bit(fintek, ACPI_WAKE_EN_CIR_BIT, LDEV_ACPI_WAKE_EN_REG);
|
||||
+ /* Enable CIR PME's */
|
||||
+ fintek_set_reg_bit(fintek, ACPI_PME_CIR_BIT, LDEV_ACPI_PME_EN_REG);
|
||||
+ /* Clear CIR PME status register */
|
||||
+ fintek_set_reg_bit(fintek, ACPI_PME_CIR_BIT, LDEV_ACPI_PME_CLR_REG);
|
||||
+ /* Save state */
|
||||
+ fintek_set_reg_bit(fintek, ACPI_STATE_CIR_BIT, LDEV_ACPI_STATE_REG);
|
||||
+
|
||||
+ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR);
|
||||
+ fintek_cr_write(fintek, LOGICAL_DEV_ENABLE, CIR_CR_DEV_EN);
|
||||
+ fintek_config_mode_disable(fintek);
|
||||
+}
|
||||
+
|
||||
+/* copy data from hardware rx register into driver buffer */
|
||||
+static void fintek_get_rx_ir_data(struct fintek_dev *fintek, u8 rx_irqs)
|
||||
+{
|
||||
+ DEFINE_IR_RAW_EVENT(rawir);
|
||||
+ unsigned long flags;
|
||||
+ u8 header, sample, status, len, i;
|
||||
+
|
||||
+ init_ir_raw_event(&rawir);
|
||||
+
|
||||
+ spin_lock_irqsave(&fintek->fintek_lock, flags);
|
||||
+
|
||||
+ header = fintek_cir_reg_read(fintek, CIR_RX_DATA);
|
||||
+ fit_dbg("%s: sample header 0x%02x", __func__, header);
|
||||
+ len = header & BUF_LEN_MASK;
|
||||
+
|
||||
+ for (i = 0; i < len; i++) {
|
||||
+ sample = fintek_cir_reg_read(fintek, CIR_RX_DATA);
|
||||
+ fit_dbg("%s: sample 0x%02x", __func__, sample);
|
||||
+ status = fintek_cir_reg_read(fintek, CIR_STATUS);
|
||||
+ if (!(status & rx_irqs))
|
||||
+ fit_dbg("RX irqs cleared");
|
||||
+
|
||||
+ rawir.pulse = ((sample & BUF_PULSE_BIT) != 0);
|
||||
+ rawir.duration = US_TO_NS((sample & BUF_LEN_MASK)
|
||||
+ * CIR_SAMPLE_PERIOD);
|
||||
+
|
||||
+ fit_dbg("Storing %s with duration %d",
|
||||
+ rawir.pulse ? "pulse" : "space", rawir.duration);
|
||||
+
|
||||
+ ir_raw_event_store_with_filter(fintek->rdev, &rawir);
|
||||
+ }
|
||||
+
|
||||
+ fit_dbg("Calling ir_raw_event_handle");
|
||||
+ ir_raw_event_handle(fintek->rdev);
|
||||
+
|
||||
+ while (fintek_cir_reg_read(fintek, CIR_STATUS) & rx_irqs) {
|
||||
+ fit_dbg("RX irqs not cleared");
|
||||
+ sample = fintek_cir_reg_read(fintek, CIR_RX_DATA);
|
||||
+ fit_dbg("%s: sample 0x%02x", __func__, sample);
|
||||
+ }
|
||||
+ spin_unlock_irqrestore(&fintek->fintek_lock, flags);
|
||||
+}
|
||||
+
|
||||
+static void fintek_cir_log_irqs(u8 status)
|
||||
+{
|
||||
+ fit_pr(KERN_INFO, "IRQ 0x%02x:%s%s%s%s%s", status,
|
||||
+ status & CIR_STATUS_IRQ_EN ? " IRQEN" : "",
|
||||
+ status & CIR_STATUS_TX_FINISH ? " TXF" : "",
|
||||
+ status & CIR_STATUS_TX_UNDERRUN ? " TXU" : "",
|
||||
+ status & CIR_STATUS_RX_TIMEOUT ? " RXTO" : "",
|
||||
+ status & CIR_STATUS_RX_RECEIVE ? " RXOK" : "");
|
||||
+}
|
||||
+
|
||||
+/* interrupt service routine for incoming and outgoing CIR data */
|
||||
+static irqreturn_t fintek_cir_isr(int irq, void *data)
|
||||
+{
|
||||
+ struct fintek_dev *fintek = data;
|
||||
+ u8 status, rx_irqs;
|
||||
+
|
||||
+ fit_dbg_verbose("%s firing", __func__);
|
||||
+
|
||||
+ fintek_config_mode_enable(fintek);
|
||||
+ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR);
|
||||
+ fintek_config_mode_disable(fintek);
|
||||
+
|
||||
+ /*
|
||||
+ * Get IR Status register contents. Write 1 to ack/clear
|
||||
+ *
|
||||
+ * bit: reg name - description
|
||||
+ * 3: TX_FINISH - TX is finished
|
||||
+ * 2: TX_UNDERRUN - TX underrun
|
||||
+ * 1: RX_TIMEOUT - RX data timeout
|
||||
+ * 0: RX_RECEIVE - RX data received
|
||||
+ */
|
||||
+ status = fintek_cir_reg_read(fintek, CIR_STATUS);
|
||||
+ if (!(status & CIR_STATUS_IRQ_MASK)) {
|
||||
+ fit_dbg_verbose("%s exiting, IRSTS 0x0", __func__);
|
||||
+ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS);
|
||||
+ return IRQ_RETVAL(IRQ_NONE);
|
||||
+ }
|
||||
+
|
||||
+ if (debug)
|
||||
+ fintek_cir_log_irqs(status);
|
||||
+
|
||||
+ rx_irqs = status & (CIR_STATUS_RX_RECEIVE | CIR_STATUS_RX_TIMEOUT);
|
||||
+ if (rx_irqs)
|
||||
+ fintek_get_rx_ir_data(fintek, rx_irqs);
|
||||
+
|
||||
+ /* ack/clear all irq flags we've got */
|
||||
+ fintek_cir_reg_write(fintek, status, CIR_STATUS);
|
||||
+
|
||||
+ fit_dbg_verbose("%s done", __func__);
|
||||
+ return IRQ_RETVAL(IRQ_HANDLED);
|
||||
+}
|
||||
+
|
||||
+static void fintek_enable_cir(struct fintek_dev *fintek)
|
||||
+{
|
||||
+ /* set IRQ enabled */
|
||||
+ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_EN, CIR_STATUS);
|
||||
+
|
||||
+ fintek_config_mode_enable(fintek);
|
||||
+
|
||||
+ /* enable the CIR logical device */
|
||||
+ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR);
|
||||
+ fintek_cr_write(fintek, LOGICAL_DEV_ENABLE, CIR_CR_DEV_EN);
|
||||
+
|
||||
+ fintek_config_mode_disable(fintek);
|
||||
+
|
||||
+ /* clear all pending interrupts */
|
||||
+ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS);
|
||||
+
|
||||
+ /* enable interrupts */
|
||||
+ fintek_enable_cir_irq(fintek);
|
||||
+}
|
||||
+
|
||||
+static void fintek_disable_cir(struct fintek_dev *fintek)
|
||||
+{
|
||||
+ /* clear any and all pending interrupts and disable IRQ */
|
||||
+ fintek_cir_reg_write(fintek, CIR_STATUS_IRQ_MASK, CIR_STATUS);
|
||||
+
|
||||
+ fintek_config_mode_enable(fintek);
|
||||
+
|
||||
+ /* disable the CIR logical device */
|
||||
+ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR);
|
||||
+ fintek_cr_write(fintek, LOGICAL_DEV_DISABLE, CIR_CR_DEV_EN);
|
||||
+
|
||||
+ fintek_config_mode_disable(fintek);
|
||||
+}
|
||||
+
|
||||
+static int fintek_open(struct rc_dev *dev)
|
||||
+{
|
||||
+ struct fintek_dev *fintek = dev->priv;
|
||||
+ unsigned long flags;
|
||||
+
|
||||
+ spin_lock_irqsave(&fintek->fintek_lock, flags);
|
||||
+ fintek->in_use = true;
|
||||
+ fintek_enable_cir(fintek);
|
||||
+ spin_unlock_irqrestore(&fintek->fintek_lock, flags);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void fintek_close(struct rc_dev *dev)
|
||||
+{
|
||||
+ struct fintek_dev *fintek = dev->priv;
|
||||
+ unsigned long flags;
|
||||
+
|
||||
+ spin_lock_irqsave(&fintek->fintek_lock, flags);
|
||||
+ fintek->in_use = false;
|
||||
+ fintek_disable_cir(fintek);
|
||||
+ spin_unlock_irqrestore(&fintek->fintek_lock, flags);
|
||||
+}
|
||||
+
|
||||
+/* Allocate memory, probe hardware, and initialize everything */
|
||||
+static int fintek_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id)
|
||||
+{
|
||||
+ struct fintek_dev *fintek;
|
||||
+ struct rc_dev *rdev;
|
||||
+ int ret = -ENOMEM;
|
||||
+
|
||||
+ fintek = kzalloc(sizeof(struct fintek_dev), GFP_KERNEL);
|
||||
+ if (!fintek)
|
||||
+ return ret;
|
||||
+
|
||||
+ /* input device for IR remote (and tx) */
|
||||
+ rdev = rc_allocate_device();
|
||||
+ if (!rdev)
|
||||
+ goto failure;
|
||||
+
|
||||
+ ret = -ENODEV;
|
||||
+ /* validate pnp resources */
|
||||
+ if (!pnp_port_valid(pdev, 0)) {
|
||||
+ dev_err(&pdev->dev, "IR PNP Port not valid!\n");
|
||||
+ goto failure;
|
||||
+ }
|
||||
+
|
||||
+ if (!pnp_irq_valid(pdev, 0)) {
|
||||
+ dev_err(&pdev->dev, "PNP IRQ not valid!\n");
|
||||
+ goto failure;
|
||||
+ }
|
||||
+
|
||||
+ fintek->cir_addr = pnp_port_start(pdev, 0);
|
||||
+ fintek->cir_irq = pnp_irq(pdev, 0);
|
||||
+ fintek->cir_port_len = pnp_port_len(pdev, 0);
|
||||
+
|
||||
+ fintek->cr_ip = CR_INDEX_PORT;
|
||||
+ fintek->cr_dp = CR_DATA_PORT;
|
||||
+
|
||||
+ spin_lock_init(&fintek->fintek_lock);
|
||||
+ init_ir_raw_event(&fintek->rawir);
|
||||
+
|
||||
+ ret = -EBUSY;
|
||||
+ /* now claim resources */
|
||||
+ if (!request_region(fintek->cir_addr,
|
||||
+ fintek->cir_port_len, FINTEK_DRIVER_NAME))
|
||||
+ goto failure;
|
||||
+
|
||||
+ if (request_irq(fintek->cir_irq, fintek_cir_isr, IRQF_SHARED,
|
||||
+ FINTEK_DRIVER_NAME, (void *)fintek))
|
||||
+ goto failure;
|
||||
+
|
||||
+ pnp_set_drvdata(pdev, fintek);
|
||||
+ fintek->pdev = pdev;
|
||||
+
|
||||
+ ret = fintek_hw_detect(fintek);
|
||||
+ if (ret)
|
||||
+ goto failure;
|
||||
+
|
||||
+ /* Initialize CIR & CIR Wake Logical Devices */
|
||||
+ fintek_config_mode_enable(fintek);
|
||||
+ fintek_cir_ldev_init(fintek);
|
||||
+ fintek_config_mode_disable(fintek);
|
||||
+
|
||||
+ /* Initialize CIR & CIR Wake Config Registers */
|
||||
+ fintek_cir_regs_init(fintek);
|
||||
+
|
||||
+ /* Set up the rc device */
|
||||
+ rdev->priv = fintek;
|
||||
+ rdev->driver_type = RC_DRIVER_IR_RAW;
|
||||
+ rdev->allowed_protos = RC_TYPE_ALL;
|
||||
+ rdev->open = fintek_open;
|
||||
+ rdev->close = fintek_close;
|
||||
+ rdev->input_name = FINTEK_DESCRIPTION;
|
||||
+ rdev->input_phys = "fintek/cir0";
|
||||
+ rdev->input_id.bustype = BUS_HOST;
|
||||
+ rdev->input_id.vendor = VENDOR_ID_FINTEK;
|
||||
+ rdev->input_id.product = fintek->chip_major;
|
||||
+ rdev->input_id.version = fintek->chip_minor;
|
||||
+ rdev->dev.parent = &pdev->dev;
|
||||
+ rdev->driver_name = FINTEK_DRIVER_NAME;
|
||||
+ rdev->map_name = RC_MAP_RC6_MCE;
|
||||
+ rdev->timeout = US_TO_NS(1000);
|
||||
+ /* rx resolution is hardwired to 50us atm, 1, 25, 100 also possible */
|
||||
+ rdev->rx_resolution = US_TO_NS(CIR_SAMPLE_PERIOD);
|
||||
+
|
||||
+ ret = rc_register_device(rdev);
|
||||
+ if (ret)
|
||||
+ goto failure;
|
||||
+
|
||||
+ device_init_wakeup(&pdev->dev, true);
|
||||
+ fintek->rdev = rdev;
|
||||
+ fit_pr(KERN_NOTICE, "driver has been successfully loaded\n");
|
||||
+ if (debug)
|
||||
+ cir_dump_regs(fintek);
|
||||
+
|
||||
+ return 0;
|
||||
+
|
||||
+failure:
|
||||
+ if (fintek->cir_irq)
|
||||
+ free_irq(fintek->cir_irq, fintek);
|
||||
+ if (fintek->cir_addr)
|
||||
+ release_region(fintek->cir_addr, fintek->cir_port_len);
|
||||
+
|
||||
+ rc_free_device(rdev);
|
||||
+ kfree(fintek);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static void __devexit fintek_remove(struct pnp_dev *pdev)
|
||||
+{
|
||||
+ struct fintek_dev *fintek = pnp_get_drvdata(pdev);
|
||||
+ unsigned long flags;
|
||||
+
|
||||
+ spin_lock_irqsave(&fintek->fintek_lock, flags);
|
||||
+ /* disable CIR */
|
||||
+ fintek_cir_reg_write(fintek, 0, CIR_STATUS);
|
||||
+ fintek_disable_cir(fintek);
|
||||
+ /* enable CIR Wake (for IR power-on) */
|
||||
+ fintek_enable_wake(fintek);
|
||||
+ spin_unlock_irqrestore(&fintek->fintek_lock, flags);
|
||||
+
|
||||
+ /* free resources */
|
||||
+ free_irq(fintek->cir_irq, fintek);
|
||||
+ release_region(fintek->cir_addr, fintek->cir_port_len);
|
||||
+
|
||||
+ rc_unregister_device(fintek->rdev);
|
||||
+
|
||||
+ kfree(fintek);
|
||||
+}
|
||||
+
|
||||
+static int fintek_suspend(struct pnp_dev *pdev, pm_message_t state)
|
||||
+{
|
||||
+ struct fintek_dev *fintek = pnp_get_drvdata(pdev);
|
||||
+
|
||||
+ fit_dbg("%s called", __func__);
|
||||
+
|
||||
+ /* disable all CIR interrupts */
|
||||
+ fintek_cir_reg_write(fintek, 0, CIR_STATUS);
|
||||
+
|
||||
+ fintek_config_mode_enable(fintek);
|
||||
+
|
||||
+ /* disable cir logical dev */
|
||||
+ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR);
|
||||
+ fintek_cr_write(fintek, LOGICAL_DEV_DISABLE, CIR_CR_DEV_EN);
|
||||
+
|
||||
+ fintek_config_mode_disable(fintek);
|
||||
+
|
||||
+ /* make sure wake is enabled */
|
||||
+ fintek_enable_wake(fintek);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int fintek_resume(struct pnp_dev *pdev)
|
||||
+{
|
||||
+ int ret = 0;
|
||||
+ struct fintek_dev *fintek = pnp_get_drvdata(pdev);
|
||||
+
|
||||
+ fit_dbg("%s called", __func__);
|
||||
+
|
||||
+ /* open interrupt */
|
||||
+ fintek_enable_cir_irq(fintek);
|
||||
+
|
||||
+ /* Enable CIR logical device */
|
||||
+ fintek_config_mode_enable(fintek);
|
||||
+ fintek_select_logical_dev(fintek, LOGICAL_DEV_CIR);
|
||||
+ fintek_cr_write(fintek, LOGICAL_DEV_ENABLE, CIR_CR_DEV_EN);
|
||||
+
|
||||
+ fintek_config_mode_disable(fintek);
|
||||
+
|
||||
+ fintek_cir_regs_init(fintek);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static void fintek_shutdown(struct pnp_dev *pdev)
|
||||
+{
|
||||
+ struct fintek_dev *fintek = pnp_get_drvdata(pdev);
|
||||
+ fintek_enable_wake(fintek);
|
||||
+}
|
||||
+
|
||||
+static const struct pnp_device_id fintek_ids[] = {
|
||||
+ { "FIT0002", 0 }, /* CIR */
|
||||
+ { "", 0 },
|
||||
+};
|
||||
+
|
||||
+static struct pnp_driver fintek_driver = {
|
||||
+ .name = FINTEK_DRIVER_NAME,
|
||||
+ .id_table = fintek_ids,
|
||||
+ .flags = PNP_DRIVER_RES_DO_NOT_CHANGE,
|
||||
+ .probe = fintek_probe,
|
||||
+ .remove = __devexit_p(fintek_remove),
|
||||
+ .suspend = fintek_suspend,
|
||||
+ .resume = fintek_resume,
|
||||
+ .shutdown = fintek_shutdown,
|
||||
+};
|
||||
+
|
||||
+int fintek_init(void)
|
||||
+{
|
||||
+ return pnp_register_driver(&fintek_driver);
|
||||
+}
|
||||
+
|
||||
+void fintek_exit(void)
|
||||
+{
|
||||
+ pnp_unregister_driver(&fintek_driver);
|
||||
+}
|
||||
+
|
||||
+module_param(debug, int, S_IRUGO | S_IWUSR);
|
||||
+MODULE_PARM_DESC(debug, "Enable debugging output");
|
||||
+
|
||||
+MODULE_DEVICE_TABLE(pnp, fintek_ids);
|
||||
+MODULE_DESCRIPTION(FINTEK_DESCRIPTION " driver");
|
||||
+
|
||||
+MODULE_AUTHOR("Jarod Wilson <jarod@redhat.com>");
|
||||
+MODULE_LICENSE("GPL");
|
||||
+
|
||||
+module_init(fintek_init);
|
||||
+module_exit(fintek_exit);
|
||||
diff --git a/drivers/media/rc/fintek-cir.h b/drivers/media/rc/fintek-cir.h
|
||||
new file mode 100644
|
||||
index 0000000..790c502
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/rc/fintek-cir.h
|
||||
@@ -0,0 +1,224 @@
|
||||
+/*
|
||||
+ * Driver for Feature Integration Technology Inc. (aka Fintek) LPC CIR
|
||||
+ *
|
||||
+ * Copyright (C) 2011 Jarod Wilson <jarod@redhat.com>
|
||||
+ *
|
||||
+ * Special thanks to Fintek for providing hardware and spec sheets.
|
||||
+ * This driver is based upon the nuvoton, ite and ene drivers for
|
||||
+ * similar hardware.
|
||||
+ *
|
||||
+ * This program is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU General Public License as
|
||||
+ * published by the Free Software Foundation; either version 2 of the
|
||||
+ * License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This program is distributed in the hope that it will be useful, but
|
||||
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with this program; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
+ * USA
|
||||
+ */
|
||||
+
|
||||
+#include <linux/spinlock.h>
|
||||
+#include <linux/ioctl.h>
|
||||
+
|
||||
+/* platform driver name to register */
|
||||
+#define FINTEK_DRIVER_NAME "fintek-cir"
|
||||
+#define FINTEK_DESCRIPTION "Fintek LPC SuperIO Consumer IR Transceiver"
|
||||
+#define VENDOR_ID_FINTEK 0x1934
|
||||
+
|
||||
+
|
||||
+/* debugging module parameter */
|
||||
+static int debug;
|
||||
+
|
||||
+#define fit_pr(level, text, ...) \
|
||||
+ printk(level KBUILD_MODNAME ": " text, ## __VA_ARGS__)
|
||||
+
|
||||
+#define fit_dbg(text, ...) \
|
||||
+ if (debug) \
|
||||
+ printk(KERN_DEBUG \
|
||||
+ KBUILD_MODNAME ": " text "\n" , ## __VA_ARGS__)
|
||||
+
|
||||
+#define fit_dbg_verbose(text, ...) \
|
||||
+ if (debug > 1) \
|
||||
+ printk(KERN_DEBUG \
|
||||
+ KBUILD_MODNAME ": " text "\n" , ## __VA_ARGS__)
|
||||
+
|
||||
+#define fit_dbg_wake(text, ...) \
|
||||
+ if (debug > 2) \
|
||||
+ printk(KERN_DEBUG \
|
||||
+ KBUILD_MODNAME ": " text "\n" , ## __VA_ARGS__)
|
||||
+
|
||||
+
|
||||
+#define TX_BUF_LEN 256
|
||||
+#define RX_BUF_LEN 32
|
||||
+
|
||||
+struct fintek_dev {
|
||||
+ struct pnp_dev *pdev;
|
||||
+ struct rc_dev *rdev;
|
||||
+ struct ir_raw_event rawir;
|
||||
+
|
||||
+ spinlock_t fintek_lock;
|
||||
+ bool in_use;
|
||||
+
|
||||
+ /* for rx */
|
||||
+ u8 buf[RX_BUF_LEN];
|
||||
+ unsigned int pkts;
|
||||
+
|
||||
+ struct {
|
||||
+ spinlock_t lock;
|
||||
+ u8 buf[TX_BUF_LEN];
|
||||
+ unsigned int buf_count;
|
||||
+ unsigned int cur_buf_num;
|
||||
+ wait_queue_head_t queue;
|
||||
+ } tx;
|
||||
+
|
||||
+ /* Config register index/data port pair */
|
||||
+ u8 cr_ip;
|
||||
+ u8 cr_dp;
|
||||
+
|
||||
+ /* hardware I/O settings */
|
||||
+ unsigned long cir_addr;
|
||||
+ int cir_irq;
|
||||
+ int cir_port_len;
|
||||
+
|
||||
+ /* hardware id */
|
||||
+ u8 chip_major;
|
||||
+ u8 chip_minor;
|
||||
+ u16 chip_vendor;
|
||||
+
|
||||
+ /* hardware features */
|
||||
+ bool hw_learning_capable;
|
||||
+ bool hw_tx_capable;
|
||||
+
|
||||
+ /* rx settings */
|
||||
+ bool learning_enabled;
|
||||
+ bool carrier_detect_enabled;
|
||||
+
|
||||
+ /* carrier period = 1 / frequency */
|
||||
+ u32 carrier;
|
||||
+};
|
||||
+
|
||||
+/* buffer packet constants */
|
||||
+#define BUF_PULSE_BIT 0x80
|
||||
+#define BUF_LEN_MASK 0x7f
|
||||
+#define BUF_REPEAT_BYTE 0x70
|
||||
+#define BUF_REPEAT_MASK 0xf0
|
||||
+#define CIR_SAMPLE_PERIOD 50
|
||||
+
|
||||
+/*
|
||||
+ * Configuration Register:
|
||||
+ * Index Port
|
||||
+ * Data Port
|
||||
+ */
|
||||
+#define CR_INDEX_PORT 0x4e
|
||||
+#define CR_DATA_PORT 0x4f
|
||||
+
|
||||
+/* Possible alternate values, depends on how the chip is wired */
|
||||
+#define CR_INDEX_PORT2 0x2e
|
||||
+#define CR_DATA_PORT2 0x2f
|
||||
+
|
||||
+/*
|
||||
+ * GCR_CONFIG_PORT_SEL bit 4 specifies which Index Port value is
|
||||
+ * active. 1 = 0x4e, 0 = 0x2e
|
||||
+ */
|
||||
+#define PORT_SEL_PORT_4E_EN 0x10
|
||||
+
|
||||
+/* Extended Function Mode enable/disable magic values */
|
||||
+#define CONFIG_REG_ENABLE 0x87
|
||||
+#define CONFIG_REG_DISABLE 0xaa
|
||||
+
|
||||
+/* Chip IDs found in CR_CHIP_ID_{HI,LO} */
|
||||
+#define CHIP_ID_HIGH_F71809U 0x04
|
||||
+#define CHIP_ID_LOW_F71809U 0x08
|
||||
+
|
||||
+/*
|
||||
+ * Global control regs we need to care about:
|
||||
+ * Global Control def.
|
||||
+ * Register name addr val. */
|
||||
+#define GCR_SOFTWARE_RESET 0x02 /* 0x00 */
|
||||
+#define GCR_LOGICAL_DEV_NO 0x07 /* 0x00 */
|
||||
+#define GCR_CHIP_ID_HI 0x20 /* 0x04 */
|
||||
+#define GCR_CHIP_ID_LO 0x21 /* 0x08 */
|
||||
+#define GCR_VENDOR_ID_HI 0x23 /* 0x19 */
|
||||
+#define GCR_VENDOR_ID_LO 0x24 /* 0x34 */
|
||||
+#define GCR_CONFIG_PORT_SEL 0x25 /* 0x01 */
|
||||
+#define GCR_KBMOUSE_WAKEUP 0x27
|
||||
+
|
||||
+#define LOGICAL_DEV_DISABLE 0x00
|
||||
+#define LOGICAL_DEV_ENABLE 0x01
|
||||
+
|
||||
+/* Logical device number of the CIR function */
|
||||
+#define LOGICAL_DEV_CIR 0x05
|
||||
+
|
||||
+/* CIR Logical Device (LDN 0x08) config registers */
|
||||
+#define CIR_CR_COMMAND_INDEX 0x04
|
||||
+#define CIR_CR_IRCS 0x05 /* Before host writes command to IR, host
|
||||
+ must set to 1. When host finshes write
|
||||
+ command to IR, host must clear to 0. */
|
||||
+#define CIR_CR_COMMAND_DATA 0x06 /* Host read or write comand data */
|
||||
+#define CIR_CR_CLASS 0x07 /* 0xff = rx-only, 0x66 = rx + 2 tx,
|
||||
+ 0x33 = rx + 1 tx */
|
||||
+#define CIR_CR_DEV_EN 0x30 /* bit0 = 1 enables CIR */
|
||||
+#define CIR_CR_BASE_ADDR_HI 0x60 /* MSB of CIR IO base addr */
|
||||
+#define CIR_CR_BASE_ADDR_LO 0x61 /* LSB of CIR IO base addr */
|
||||
+#define CIR_CR_IRQ_SEL 0x70 /* bits3-0 store CIR IRQ */
|
||||
+#define CIR_CR_PSOUT_STATUS 0xf1
|
||||
+#define CIR_CR_WAKE_KEY3_ADDR 0xf8
|
||||
+#define CIR_CR_WAKE_KEY3_CODE 0xf9
|
||||
+#define CIR_CR_WAKE_KEY3_DC 0xfa
|
||||
+#define CIR_CR_WAKE_CONTROL 0xfb
|
||||
+#define CIR_CR_WAKE_KEY12_ADDR 0xfc
|
||||
+#define CIR_CR_WAKE_KEY4_ADDR 0xfd
|
||||
+#define CIR_CR_WAKE_KEY5_ADDR 0xfe
|
||||
+
|
||||
+#define CLASS_RX_ONLY 0xff
|
||||
+#define CLASS_RX_2TX 0x66
|
||||
+#define CLASS_RX_1TX 0x33
|
||||
+
|
||||
+/* CIR device registers */
|
||||
+#define CIR_STATUS 0x00
|
||||
+#define CIR_RX_DATA 0x01
|
||||
+#define CIR_TX_CONTROL 0x02
|
||||
+#define CIR_TX_DATA 0x03
|
||||
+#define CIR_CONTROL 0x04
|
||||
+
|
||||
+/* Bits to enable CIR wake */
|
||||
+#define LOGICAL_DEV_ACPI 0x01
|
||||
+#define LDEV_ACPI_WAKE_EN_REG 0xe8
|
||||
+#define ACPI_WAKE_EN_CIR_BIT 0x04
|
||||
+
|
||||
+#define LDEV_ACPI_PME_EN_REG 0xf0
|
||||
+#define LDEV_ACPI_PME_CLR_REG 0xf1
|
||||
+#define ACPI_PME_CIR_BIT 0x02
|
||||
+
|
||||
+#define LDEV_ACPI_STATE_REG 0xf4
|
||||
+#define ACPI_STATE_CIR_BIT 0x20
|
||||
+
|
||||
+/*
|
||||
+ * CIR status register (0x00):
|
||||
+ * 7 - CIR_IRQ_EN (1 = enable CIR IRQ, 0 = disable)
|
||||
+ * 3 - TX_FINISH (1 when TX finished, write 1 to clear)
|
||||
+ * 2 - TX_UNDERRUN (1 on TX underrun, write 1 to clear)
|
||||
+ * 1 - RX_TIMEOUT (1 on RX timeout, write 1 to clear)
|
||||
+ * 0 - RX_RECEIVE (1 on RX receive, write 1 to clear)
|
||||
+ */
|
||||
+#define CIR_STATUS_IRQ_EN 0x80
|
||||
+#define CIR_STATUS_TX_FINISH 0x08
|
||||
+#define CIR_STATUS_TX_UNDERRUN 0x04
|
||||
+#define CIR_STATUS_RX_TIMEOUT 0x02
|
||||
+#define CIR_STATUS_RX_RECEIVE 0x01
|
||||
+#define CIR_STATUS_IRQ_MASK 0x0f
|
||||
+
|
||||
+/*
|
||||
+ * CIR TX control register (0x02):
|
||||
+ * 7 - TX_START (1 to indicate TX start, auto-cleared when done)
|
||||
+ * 6 - TX_END (1 to indicate TX data written to TX fifo)
|
||||
+ */
|
||||
+#define CIR_TX_CONTROL_TX_START 0x80
|
||||
+#define CIR_TX_CONTROL_TX_END 0x40
|
||||
+
|
@ -37,7 +37,8 @@ sed -i -e "s|^HOSTCC[[:space:]]*=.*$|HOSTCC = $HOST_CC|" \
|
||||
$LINUX/Makefile
|
||||
|
||||
cp $KERNEL_CFG_FILE $LINUX/.config
|
||||
sed -i -e "s|^CONFIG_INITRAMFS_SOURCE=.*$|CONFIG_INITRAMFS_SOURCE=\"$ROOT/$PKG_DIR/config/initramfs\"|" \
|
||||
#sed -i -e "s|^CONFIG_INITRAMFS_SOURCE=.*$|CONFIG_INITRAMFS_SOURCE=\"$ROOT/$PKG_DIR/config/initramfs\"|" \
|
||||
sed -i -e "s|^CONFIG_INITRAMFS_SOURCE=.*$|CONFIG_INITRAMFS_SOURCE=\"$ROOT/$BUILD/image/initramfs.cpio\"|" \
|
||||
$LINUX/.config
|
||||
|
||||
# copy some extra firmware to linux tree
|
||||
|
32
packages/multimedia/xvba-video/install
Executable file
32
packages/multimedia/xvba-video/install
Executable file
@ -0,0 +1,32 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
if [ "$TARGET_ARCH" = i386 ]; then
|
||||
ARCH=x86
|
||||
elif [ "$TARGET_ARCH" = x86_64 ]; then
|
||||
ARCH=x86_64
|
||||
fi
|
||||
|
||||
mkdir -p $INSTALL/usr/lib/va
|
||||
cp -P $PKG_BUILD/$ARCH/*.so $INSTALL/usr/lib/va
|
36
packages/multimedia/xvba-video/meta
Normal file
36
packages/multimedia/xvba-video/meta
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xvba-video"
|
||||
PKG_VERSION="0.7.8.bin"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://www.splitted-desktop.com/~gbeauchesne/"
|
||||
PKG_URL="http://www.splitted-desktop.com/~gbeauchesne/xvba-video/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS="$MESA libX11 libXext"
|
||||
PKG_BUILD_DEPENDS="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="multimedia"
|
||||
PKG_SHORTDESC="xvba-video: XvBA backend for VA API"
|
||||
PKG_LONGDESC="XvBA backend for VA API"
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
160
packages/sysutils/busybox/patches/busybox-1.18.4-hush.patch
Normal file
160
packages/sysutils/busybox/patches/busybox-1.18.4-hush.patch
Normal file
@ -0,0 +1,160 @@
|
||||
--- busybox-1.18.4/shell/hush.c
|
||||
+++ busybox-1.18.4-hush/shell/hush.c
|
||||
@@ -427,6 +427,15 @@ enum {
|
||||
/* Used for initialization: o_string foo = NULL_O_STRING; */
|
||||
#define NULL_O_STRING { NULL }
|
||||
|
||||
+#ifndef debug_printf_parse
|
||||
+static const char *const assignment_flag[] = {
|
||||
+ "MAYBE_ASSIGNMENT",
|
||||
+ "DEFINITELY_ASSIGNMENT",
|
||||
+ "NOT_ASSIGNMENT",
|
||||
+ "WORD_IS_KEYWORD",
|
||||
+};
|
||||
+#endif
|
||||
+
|
||||
/* I can almost use ordinary FILE*. Is open_memstream() universally
|
||||
* available? Where is it documented? */
|
||||
typedef struct in_str {
|
||||
@@ -2885,24 +2894,24 @@ static const struct reserved_combo* matc
|
||||
*/
|
||||
static const struct reserved_combo reserved_list[] = {
|
||||
# if ENABLE_HUSH_IF
|
||||
- { "!", RES_NONE, NOT_ASSIGNMENT , 0 },
|
||||
- { "if", RES_IF, WORD_IS_KEYWORD, FLAG_THEN | FLAG_START },
|
||||
- { "then", RES_THEN, WORD_IS_KEYWORD, FLAG_ELIF | FLAG_ELSE | FLAG_FI },
|
||||
- { "elif", RES_ELIF, WORD_IS_KEYWORD, FLAG_THEN },
|
||||
- { "else", RES_ELSE, WORD_IS_KEYWORD, FLAG_FI },
|
||||
- { "fi", RES_FI, NOT_ASSIGNMENT , FLAG_END },
|
||||
+ { "!", RES_NONE, NOT_ASSIGNMENT , 0 },
|
||||
+ { "if", RES_IF, MAYBE_ASSIGNMENT, FLAG_THEN | FLAG_START },
|
||||
+ { "then", RES_THEN, MAYBE_ASSIGNMENT, FLAG_ELIF | FLAG_ELSE | FLAG_FI },
|
||||
+ { "elif", RES_ELIF, MAYBE_ASSIGNMENT, FLAG_THEN },
|
||||
+ { "else", RES_ELSE, MAYBE_ASSIGNMENT, FLAG_FI },
|
||||
+ { "fi", RES_FI, NOT_ASSIGNMENT , FLAG_END },
|
||||
# endif
|
||||
# if ENABLE_HUSH_LOOPS
|
||||
- { "for", RES_FOR, NOT_ASSIGNMENT , FLAG_IN | FLAG_DO | FLAG_START },
|
||||
- { "while", RES_WHILE, WORD_IS_KEYWORD, FLAG_DO | FLAG_START },
|
||||
- { "until", RES_UNTIL, WORD_IS_KEYWORD, FLAG_DO | FLAG_START },
|
||||
- { "in", RES_IN, NOT_ASSIGNMENT , FLAG_DO },
|
||||
- { "do", RES_DO, WORD_IS_KEYWORD, FLAG_DONE },
|
||||
- { "done", RES_DONE, NOT_ASSIGNMENT , FLAG_END },
|
||||
+ { "for", RES_FOR, NOT_ASSIGNMENT , FLAG_IN | FLAG_DO | FLAG_START },
|
||||
+ { "while", RES_WHILE, MAYBE_ASSIGNMENT, FLAG_DO | FLAG_START },
|
||||
+ { "until", RES_UNTIL, MAYBE_ASSIGNMENT, FLAG_DO | FLAG_START },
|
||||
+ { "in", RES_IN, NOT_ASSIGNMENT , FLAG_DO },
|
||||
+ { "do", RES_DO, MAYBE_ASSIGNMENT, FLAG_DONE },
|
||||
+ { "done", RES_DONE, NOT_ASSIGNMENT , FLAG_END },
|
||||
# endif
|
||||
# if ENABLE_HUSH_CASE
|
||||
- { "case", RES_CASE, NOT_ASSIGNMENT , FLAG_MATCH | FLAG_START },
|
||||
- { "esac", RES_ESAC, NOT_ASSIGNMENT , FLAG_END },
|
||||
+ { "case", RES_CASE, NOT_ASSIGNMENT , FLAG_MATCH | FLAG_START },
|
||||
+ { "esac", RES_ESAC, NOT_ASSIGNMENT , FLAG_END },
|
||||
# endif
|
||||
};
|
||||
const struct reserved_combo *r;
|
||||
@@ -2968,6 +2977,7 @@ static int reserved_word(o_string *word,
|
||||
ctx->ctx_res_w = r->res;
|
||||
ctx->old_flag = r->flag;
|
||||
word->o_assignment = r->assignment_flag;
|
||||
+ debug_printf_parse("word->o_assignment='%s'\n", assignment_flag[word->o_assignment]);
|
||||
|
||||
if (ctx->old_flag & FLAG_END) {
|
||||
struct parse_context *old;
|
||||
@@ -3034,18 +3044,6 @@ static int done_word(o_string *word, str
|
||||
debug_printf_parse("word stored in rd_filename: '%s'\n", word->data);
|
||||
ctx->pending_redirect = NULL;
|
||||
} else {
|
||||
- /* If this word wasn't an assignment, next ones definitely
|
||||
- * can't be assignments. Even if they look like ones. */
|
||||
- if (word->o_assignment != DEFINITELY_ASSIGNMENT
|
||||
- && word->o_assignment != WORD_IS_KEYWORD
|
||||
- ) {
|
||||
- word->o_assignment = NOT_ASSIGNMENT;
|
||||
- } else {
|
||||
- if (word->o_assignment == DEFINITELY_ASSIGNMENT)
|
||||
- command->assignment_cnt++;
|
||||
- word->o_assignment = MAYBE_ASSIGNMENT;
|
||||
- }
|
||||
-
|
||||
#if HAS_KEYWORDS
|
||||
# if ENABLE_HUSH_CASE
|
||||
if (ctx->ctx_dsemicolon
|
||||
@@ -3065,8 +3063,9 @@ static int done_word(o_string *word, str
|
||||
&& ctx->ctx_res_w != RES_CASE
|
||||
# endif
|
||||
) {
|
||||
- debug_printf_parse("checking '%s' for reserved-ness\n", word->data);
|
||||
- if (reserved_word(word, ctx)) {
|
||||
+ int reserved = reserved_word(word, ctx);
|
||||
+ debug_printf_parse("checking for reserved-ness: %d\n", reserved);
|
||||
+ if (reserved) {
|
||||
o_reset_to_empty_unquoted(word);
|
||||
debug_printf_parse("done_word return %d\n",
|
||||
(ctx->ctx_res_w == RES_SNTX));
|
||||
@@ -3087,6 +3086,23 @@ static int done_word(o_string *word, str
|
||||
"groups and arglists don't mix\n");
|
||||
return 1;
|
||||
}
|
||||
+
|
||||
+ /* If this word wasn't an assignment, next ones definitely
|
||||
+ * can't be assignments. Even if they look like ones. */
|
||||
+ if (word->o_assignment != DEFINITELY_ASSIGNMENT
|
||||
+ && word->o_assignment != WORD_IS_KEYWORD
|
||||
+ ) {
|
||||
+ word->o_assignment = NOT_ASSIGNMENT;
|
||||
+ } else {
|
||||
+ if (word->o_assignment == DEFINITELY_ASSIGNMENT) {
|
||||
+ command->assignment_cnt++;
|
||||
+ debug_printf_parse("++assignment_cnt=%d\n", command->assignment_cnt);
|
||||
+ }
|
||||
+ debug_printf_parse("word->o_assignment was:'%s'\n", assignment_flag[word->o_assignment]);
|
||||
+ word->o_assignment = MAYBE_ASSIGNMENT;
|
||||
+ }
|
||||
+ debug_printf_parse("word->o_assignment='%s'\n", assignment_flag[word->o_assignment]);
|
||||
+
|
||||
if (word->has_quoted_part
|
||||
/* optimization: and if it's ("" or '') or ($v... or `cmd`...): */
|
||||
&& (word->data[0] == '\0' || word->data[0] == SPECIAL_VAR_SYMBOL)
|
||||
@@ -4105,6 +4121,7 @@ static struct pipe *parse_stream(char **
|
||||
&& is_well_formed_var_name(dest.data, '=')
|
||||
) {
|
||||
dest.o_assignment = DEFINITELY_ASSIGNMENT;
|
||||
+ debug_printf_parse("dest.o_assignment='%s'\n", assignment_flag[dest.o_assignment]);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -4154,6 +4171,7 @@ static struct pipe *parse_stream(char **
|
||||
heredoc_cnt = 0;
|
||||
}
|
||||
dest.o_assignment = MAYBE_ASSIGNMENT;
|
||||
+ debug_printf_parse("dest.o_assignment='%s'\n", assignment_flag[dest.o_assignment]);
|
||||
ch = ';';
|
||||
/* note: if (is_blank) continue;
|
||||
* will still trigger for us */
|
||||
@@ -4203,6 +4221,7 @@ static struct pipe *parse_stream(char **
|
||||
}
|
||||
done_pipe(&ctx, PIPE_SEQ);
|
||||
dest.o_assignment = MAYBE_ASSIGNMENT;
|
||||
+ debug_printf_parse("dest.o_assignment='%s'\n", assignment_flag[dest.o_assignment]);
|
||||
/* Do we sit outside of any if's, loops or case's? */
|
||||
if (!HAS_KEYWORDS
|
||||
IF_HAS_KEYWORDS(|| (ctx.ctx_res_w == RES_NONE && ctx.old_flag == 0))
|
||||
@@ -4309,6 +4328,7 @@ static struct pipe *parse_stream(char **
|
||||
/* ch is a special char and thus this word
|
||||
* cannot be an assignment */
|
||||
dest.o_assignment = NOT_ASSIGNMENT;
|
||||
+ debug_printf_parse("dest.o_assignment='%s'\n", assignment_flag[dest.o_assignment]);
|
||||
}
|
||||
|
||||
/* Note: nommu_addchr(&ctx.as_string, ch) is already done */
|
||||
@@ -4406,6 +4426,7 @@ static struct pipe *parse_stream(char **
|
||||
/* We just finished a cmd. New one may start
|
||||
* with an assignment */
|
||||
dest.o_assignment = MAYBE_ASSIGNMENT;
|
||||
+ debug_printf_parse("dest.o_assignment='%s'\n", assignment_flag[dest.o_assignment]);
|
||||
break;
|
||||
case '&':
|
||||
if (done_word(&dest, &ctx)) {
|
@ -25,8 +25,8 @@ PKG_ARCH="any"
|
||||
PKG_LICENSE="APSL"
|
||||
PKG_SITE="http://src.gnu-darwin.org/DarwinSourceArchive/expanded/diskdev_cmds/"
|
||||
PKG_URL="http://src.gnu-darwin.org/DarwinSourceArchive/apsl/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="toolchain"
|
||||
PKG_DEPENDS="openssl"
|
||||
PKG_BUILD_DEPENDS="toolchain openssl"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="system"
|
||||
PKG_SHORTDESC="diskdev_cmds: hfs filesystem utilities"
|
||||
|
29
packages/sysutils/diskdev_cmds/udev.d/10-fsck-hfs.rules
Normal file
29
packages/sysutils/diskdev_cmds/udev.d/10-fsck-hfs.rules
Normal file
@ -0,0 +1,29 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
# Copyright (C) 2010-2011 Roman Weber (roman@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
SUBSYSTEM!="block", GOTO="end"
|
||||
ACTION!="add", GOTO="end"
|
||||
|
||||
ACTION=="add", IMPORT{program}="/sbin/blkid -o udev -p %N"
|
||||
ACTION=="add", ENV{ID_FS_TYPE}=="hfs|hfsplus", RUN+="/usr/sbin/fsck.hfsplus -r -y /dev/%k"
|
||||
|
||||
# exit
|
||||
LABEL="end"
|
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="grep"
|
||||
PKG_VERSION="2.7"
|
||||
PKG_VERSION="2.8"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -42,12 +42,19 @@ LDFLAGS="$LDFLAGS -I$SYSROOT_PREFIX/usr/include/glib-2.0" \
|
||||
--disable-gtk-doc-pdf \
|
||||
--disable-debug \
|
||||
--disable-logging \
|
||||
--enable-extras \
|
||||
--disable-rule_generator \
|
||||
--disable-hwdb \
|
||||
--disable-udev_acl \
|
||||
--enable-gudev \
|
||||
--disable-introspection \
|
||||
--disable-keymap \
|
||||
--disable-floppy \
|
||||
--disable-edd \
|
||||
--disable-action_modeswitch \
|
||||
--without-selinux \
|
||||
--without-systemdsystemunitdir \
|
||||
--with-firmware-path=/lib/firmware \
|
||||
--with-pci-ids-path=/usr/share/pci.ids \
|
||||
--disable-introspection \
|
||||
--with-gnu-ld \
|
||||
|
||||
make
|
||||
|
@ -42,45 +42,26 @@ mkdir -p $INSTALL/usr/lib
|
||||
rm -rf $INSTALL/usr/lib/libgudev*.*T
|
||||
|
||||
mkdir -p $INSTALL/lib/udev
|
||||
# cp $PKG_BUILD/extras/floppy/create_floppy_devices $INSTALL/lib/udev
|
||||
cp $PKG_BUILD/extras/firmware/firmware $INSTALL/lib/udev
|
||||
cp $PKG_BUILD/extras/rule_generator/rule_generator.functions $INSTALL/lib/udev
|
||||
cp $PKG_BUILD/extras/rule_generator/write_cd_rules $INSTALL/lib/udev
|
||||
cp $PKG_BUILD/extras/rule_generator/write_net_rules $INSTALL/lib/udev
|
||||
chmod +x $INSTALL/lib/udev/write_*_rules
|
||||
# cp $PKG_BUILD/extras/keymap/keymap $INSTALL/lib/udev
|
||||
# cp $PKG_BUILD/extras/keymap/keyboard-force-release.sh $INSTALL/lib/udev
|
||||
# chmod +x $INSTALL/lib/udev/keyboard-force-release.sh
|
||||
# cp -R $PKG_BUILD/extras/keymap/keymaps $INSTALL/lib/udev
|
||||
# cp -R $PKG_BUILD/extras/keymap/force-release-maps $INSTALL/lib/udev/keymaps/force-release
|
||||
|
||||
for i in ata_id cdrom_id collect edd_id path_id scsi_id usb_id v4l_id; do
|
||||
for i in ata_id cdrom_id collect firmware input_id mtd_probe path_id scsi_id usb_id v4l_id; do
|
||||
cp $PKG_BUILD/extras/$i/$i $INSTALL/lib/udev
|
||||
done
|
||||
cp $PKG_BUILD/extras/input_id/input_id $INSTALL/lib/udev
|
||||
cp $PKG_BUILD/extras/usb-db/usb-db $INSTALL/lib/udev
|
||||
cp $PKG_BUILD/extras/usb-db/pci-db $INSTALL/lib/udev
|
||||
|
||||
mkdir -p $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/extras/cdrom_id/*.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/extras/edd_id/*.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/extras/firmware/*.rules $INSTALL/lib/udev/rules.d
|
||||
# cp $PKG_BUILD/extras/keymap/*.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/extras/rule_generator/*.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/extras/v4l_id/*.rules $INSTALL/lib/udev/rules.d
|
||||
# cp $PKG_BUILD/rules/packages/40-alsa.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/extras/firmware/50-firmware.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/rules/rules.d/50-udev-default.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/extras/cdrom_id/60-cdrom_id.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/rules/rules.d/60-persistent-alsa.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/rules/rules.d/60-persistent-input.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/rules/rules.d/60-persistent-serial.rules $INSTALL/lib/udev/rules.d
|
||||
# cp $PKG_BUILD/rules/rules.d/60-persistent-storage-tape.rules $INSTALL/lib/udev/rules.d
|
||||
# cp $PKG_BUILD/rules/rules.d/75-net-description.rules $INSTALL/lib/udev/rules.d
|
||||
# cp $PKG_BUILD/rules/rules.d/75-tty-description.rules $INSTALL/lib/udev/rules.d
|
||||
# cp $PKG_BUILD/rules/rules.d/78-sound-card.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/rules/rules.d/60-persistent-storage-tape.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/rules/rules.d/60-persistent-storage.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/extras/v4l_id/60-persistent-v4l.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/extras/mtd_probe/75-probe_mtd.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/rules/rules.d/80-drivers.rules $INSTALL/lib/udev/rules.d
|
||||
cp $PKG_BUILD/rules/rules.d/95-udev-late.rules $INSTALL/lib/udev/rules.d
|
||||
|
||||
mkdir -p $INSTALL/lib/udev/devices
|
||||
|
||||
mkdir -p $INSTALL/etc/udev
|
||||
cp $PKG_BUILD/udev.conf $INSTALL/etc/udev
|
||||
ln -sf /dev/rules.d $INSTALL/etc/udev/rules.d
|
||||
|
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="udev"
|
||||
PKG_VERSION="168"
|
||||
PKG_VERSION="170"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -1,150 +0,0 @@
|
||||
diff -Naur udev-168/configure.ac udev-168.patch/configure.ac
|
||||
--- udev-168/configure.ac 2011-03-30 16:03:44.000000000 +0200
|
||||
+++ udev-168.patch/configure.ac 2011-04-27 13:24:35.164449392 +0200
|
||||
@@ -86,9 +86,6 @@
|
||||
AC_SUBST([GLIB_CFLAGS])
|
||||
AC_SUBST([GLIB_LIBS])
|
||||
|
||||
- AC_CHECK_LIB([acl], [acl_init], [:], AC_MSG_ERROR([libacl not found]))
|
||||
- AC_CHECK_HEADER([acl/libacl.h], [:], AC_MSG_ERROR([libacl header not found]))
|
||||
-
|
||||
PKG_CHECK_MODULES(LIBUSB, libusb >= 0.1.12)
|
||||
AC_SUBST(LIBUSB_CFLAGS)
|
||||
AC_SUBST(LIBUSB_LIBS)
|
||||
diff -Naur udev-168/Makefile.am udev-168.patch/Makefile.am
|
||||
--- udev-168/Makefile.am 2011-04-13 18:21:34.000000000 +0200
|
||||
+++ udev-168.patch/Makefile.am 2011-04-27 13:25:23.987426115 +0200
|
||||
@@ -473,21 +473,6 @@
|
||||
libexec_PROGRAMS += extras/hid2hci/hid2hci
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
-# udev_acl - apply ACLs for users with local forground sessions
|
||||
-# ------------------------------------------------------------------------------
|
||||
-extras_udev_acl_udev_acl_SOURCES = extras/udev-acl/udev-acl.c
|
||||
-extras_udev_acl_udev_acl_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
|
||||
-extras_udev_acl_udev_acl_LDADD = libudev/libudev-private.la -lacl $(GLIB_LIBS)
|
||||
-dist_udevrules_DATA += extras/udev-acl/70-acl.rules
|
||||
-libexec_PROGRAMS += extras/udev-acl/udev-acl
|
||||
-
|
||||
-udevacl-install-hook:
|
||||
- mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d
|
||||
- ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d/udev-acl.ck
|
||||
-
|
||||
-INSTALL_EXEC_HOOKS += udevacl-install-hook
|
||||
-
|
||||
-# ------------------------------------------------------------------------------
|
||||
# usb-db - read USB vendor/device string database
|
||||
# ------------------------------------------------------------------------------
|
||||
extras_usb_db_usb_db_SOURCES = extras/usb-db/usb-db.c
|
||||
@@ -534,111 +519,6 @@
|
||||
|
||||
libexec_PROGRAMS += extras/mtd_probe/mtd_probe
|
||||
|
||||
-
|
||||
-# ------------------------------------------------------------------------------
|
||||
-# keymap - map custom hardware's multimedia keys
|
||||
-# ------------------------------------------------------------------------------
|
||||
-extras_keymap_keymap_SOURCES = extras/keymap/keymap.c
|
||||
-extras_keymap_keymap_CPPFLAGS = $(AM_CPPFLAGS) -I extras/keymap
|
||||
-nodist_extras_keymap_keymap_SOURCES = \
|
||||
- extras/keymap/keys-from-name.h \
|
||||
- extras/keymap/keys-to-name.h
|
||||
-BUILT_SOURCES += $(nodist_extras_keymap_keymap_SOURCES)
|
||||
-
|
||||
-EXTRA_DIST += extras/keymap/check-keymaps.sh
|
||||
-dist_udevrules_DATA += extras/keymap/95-keymap.rules
|
||||
-dist_udevrules_DATA += extras/keymap/95-keyboard-force-release.rules
|
||||
-libexec_PROGRAMS += extras/keymap/keymap
|
||||
-dist_libexec_SCRIPTS += extras/keymap/findkeyboards
|
||||
-dist_libexec_SCRIPTS += extras/keymap/keyboard-force-release.sh
|
||||
-dist_doc_DATA = extras/keymap/README.keymap.txt
|
||||
-
|
||||
-CLEANFILES += \
|
||||
- extras/keymap/keys.txt \
|
||||
- extras/keymap/keys-from-name.gperf
|
||||
-
|
||||
-udevkeymapdir = $(libexecdir)/keymaps
|
||||
-dist_udevkeymap_DATA = \
|
||||
- extras/keymap/keymaps/acer \
|
||||
- extras/keymap/keymaps/acer-aspire_5720 \
|
||||
- extras/keymap/keymaps/acer-aspire_8930 \
|
||||
- extras/keymap/keymaps/acer-aspire_5920g \
|
||||
- extras/keymap/keymaps/acer-aspire_6920 \
|
||||
- extras/keymap/keymaps/acer-travelmate_c300 \
|
||||
- extras/keymap/keymaps/asus \
|
||||
- extras/keymap/keymaps/compaq-e_evo \
|
||||
- extras/keymap/keymaps/dell \
|
||||
- extras/keymap/keymaps/dell-latitude-xt2 \
|
||||
- extras/keymap/keymaps/everex-xt5000 \
|
||||
- extras/keymap/keymaps/fujitsu-amilo_pa_2548 \
|
||||
- extras/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 \
|
||||
- extras/keymap/keymaps/fujitsu-amilo_pro_v3205 \
|
||||
- extras/keymap/keymaps/fujitsu-amilo_si_1520 \
|
||||
- extras/keymap/keymaps/fujitsu-esprimo_mobile_v5 \
|
||||
- extras/keymap/keymaps/fujitsu-esprimo_mobile_v6 \
|
||||
- extras/keymap/keymaps/hewlett-packard \
|
||||
- extras/keymap/keymaps/hewlett-packard-2510p_2530p \
|
||||
- extras/keymap/keymaps/hewlett-packard-compaq_elitebook \
|
||||
- extras/keymap/keymaps/hewlett-packard-pavilion \
|
||||
- extras/keymap/keymaps/hewlett-packard-presario-2100 \
|
||||
- extras/keymap/keymaps/hewlett-packard-tablet \
|
||||
- extras/keymap/keymaps/hewlett-packard-tx2 \
|
||||
- extras/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint \
|
||||
- extras/keymap/keymaps/inventec-symphony_6.0_7.0 \
|
||||
- extras/keymap/keymaps/lenovo-3000 \
|
||||
- extras/keymap/keymaps/lenovo-ideapad \
|
||||
- extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint \
|
||||
- extras/keymap/keymaps/lenovo-thinkpad_x6_tablet \
|
||||
- extras/keymap/keymaps/lenovo-thinkpad_x200_tablet \
|
||||
- extras/keymap/keymaps/lg-x110 \
|
||||
- extras/keymap/keymaps/logitech-wave \
|
||||
- extras/keymap/keymaps/logitech-wave-cordless \
|
||||
- extras/keymap/keymaps/logitech-wave-pro-cordless \
|
||||
- extras/keymap/keymaps/maxdata-pro_7000 \
|
||||
- extras/keymap/keymaps/medion-fid2060 \
|
||||
- extras/keymap/keymaps/medionnb-a555 \
|
||||
- extras/keymap/keymaps/micro-star \
|
||||
- extras/keymap/keymaps/module-asus-w3j \
|
||||
- extras/keymap/keymaps/module-ibm \
|
||||
- extras/keymap/keymaps/module-lenovo \
|
||||
- extras/keymap/keymaps/module-sony \
|
||||
- extras/keymap/keymaps/module-sony-old \
|
||||
- extras/keymap/keymaps/module-sony-vgn \
|
||||
- extras/keymap/keymaps/olpc-xo \
|
||||
- extras/keymap/keymaps/onkyo \
|
||||
- extras/keymap/keymaps/oqo-model2 \
|
||||
- extras/keymap/keymaps/samsung-other \
|
||||
- extras/keymap/keymaps/samsung-sq1us \
|
||||
- extras/keymap/keymaps/samsung-sx20s \
|
||||
- extras/keymap/keymaps/toshiba-satellite_a100 \
|
||||
- extras/keymap/keymaps/toshiba-satellite_a110 \
|
||||
- extras/keymap/keymaps/toshiba-satellite_m30x \
|
||||
- extras/keymap/keymaps/zepto-znote
|
||||
-
|
||||
-udevkeymapforcereldir = $(libexecdir)/keymaps/force-release
|
||||
-dist_udevkeymapforcerel_DATA = \
|
||||
- extras/keymap/force-release-maps/dell-touchpad \
|
||||
- extras/keymap/force-release-maps/hp-other \
|
||||
- extras/keymap/force-release-maps/samsung-other \
|
||||
- extras/keymap/force-release-maps/common-volume-keys
|
||||
-
|
||||
-extras/keymap/keys.txt: $(INCLUDE_PREFIX)/linux/input.h
|
||||
- $(AM_V_at)mkdir -p extras/keymap
|
||||
- $(AM_V_GEN)$(AWK) '/^#define.*KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' < $< | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
|
||||
-
|
||||
-extras/keymap/keys-from-name.gperf: extras/keymap/keys.txt
|
||||
- $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@
|
||||
-
|
||||
-extras/keymap/keys-from-name.h: extras/keymap/keys-from-name.gperf Makefile
|
||||
- $(AM_V_GEN)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@
|
||||
-
|
||||
-extras/keymap/keys-to-name.h: extras/keymap/keys.txt Makefile
|
||||
- $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@
|
||||
-
|
||||
-keymaps-distcheck-hook: extras/keymap/keys.txt
|
||||
- $(top_srcdir)/extras/keymap/check-keymaps.sh $(top_srcdir) $^
|
||||
-DISTCHECK_HOOKS += keymaps-distcheck-hook
|
||||
-
|
||||
endif # ENABLE_EXTRAS
|
||||
|
||||
# ------------------------------------------------------------------------------
|
@ -22,11 +22,10 @@
|
||||
|
||||
. config/options $1
|
||||
|
||||
$SCRIPTS/unpack linux
|
||||
$SCRIPTS/install plymouth-lite
|
||||
setup_toolchain host
|
||||
|
||||
mkdir -p $INSTALL
|
||||
cp -PR $BUILD/busybox*/_install-initramfs/* $INSTALL
|
||||
chmod 4755 $INSTALL/bin/busybox
|
||||
cd $PKG_BUILD
|
||||
./configure --prefix=$ROOT/$TOOLCHAIN
|
||||
|
||||
cp $PKG_DIR/scripts/init $INSTALL
|
||||
make
|
||||
make install
|
36
packages/toolchain/archivers/cpio/meta
Normal file
36
packages/toolchain/archivers/cpio/meta
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="cpio"
|
||||
PKG_VERSION="2.11"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.gnu.org/software/cpio/cpio.html"
|
||||
PKG_URL="http://ftp.gnu.org/gnu/cpio/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="compress"
|
||||
PKG_SHORTDESC="cpio: A GNU archiving program"
|
||||
PKG_LONGDESC="This is GNU cpio, a program to manage archives of files. As of version 2.0, it supports the features of the System V release 4 cpio, including support for tar archives."
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="bison"
|
||||
PKG_VERSION="2.4.3"
|
||||
PKG_VERSION="2.5"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
@ -62,7 +62,9 @@ cat >option-groups.config <<EOF
|
||||
|
||||
OPTION_EGLIBC_BIG_MACROS = n
|
||||
OPTION_EGLIBC_BSD = n
|
||||
OPTION_EGLIBC_CATGETS = n
|
||||
|
||||
# needed for xf86-video-fglrx:
|
||||
OPTION_EGLIBC_CATGETS = y
|
||||
|
||||
# libiconv replacement:
|
||||
OPTION_EGLIBC_CHARSETS = n
|
||||
|
36
packages/toolchain/toolchains/darwin-cross/meta
Normal file
36
packages/toolchain/toolchains/darwin-cross/meta
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="darwin-cross"
|
||||
PKG_VERSION=""
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://gcc.gnu.org/"
|
||||
PKG_URL="http://atv-bootloader.googlecode.com/files/$PKG_NAME.tar.gz"
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS=""
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="toolchain/toolchains"
|
||||
PKG_SHORTDESC="darwin-cross: darwin gcc etc"
|
||||
PKG_LONGDESC="This package contains the GNU Compiler Collection to build for darwin systems"
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
39
packages/toolchain/toolchains/darwin-cross/unpack
Executable file
39
packages/toolchain/toolchains/darwin-cross/unpack
Executable file
@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
|
||||
. config/options $1
|
||||
|
||||
# extract toolchain
|
||||
tar -xzf $PKG_BUILD/darwin-cross.tar.gz -C $PKG_BUILD
|
||||
|
||||
# move toolchain to a proper location
|
||||
mv $PKG_BUILD/darwin-cross/* $PKG_BUILD
|
||||
|
||||
# cleanup
|
||||
rm -rf $PKG_BUILD/darwin-cross/
|
||||
rm -rf $PKG_BUILD/darwin-cross.tar.gz
|
||||
rm -rf $PKG_BUILD/install_darwin-cross.sh
|
||||
|
||||
# fix 'as'
|
||||
rm -rf $PKG_BUILD/i386-apple-darwin8/bin/as
|
||||
ln -sf $ROOT/$PKG_BUILD/libexec/10.4/as/i386/as $PKG_BUILD/i386-apple-darwin8/bin/as
|
33
packages/tools/atv-bootloader/build
Executable file
33
packages/tools/atv-bootloader/build
Executable file
@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
cd $PKG_BUILD
|
||||
|
||||
cp -PR $(kernel_path)/arch/x86/boot/bzImage vmlinuz
|
||||
|
||||
make clean
|
||||
make LDFLAGS="" KERN_OBJ="vmlinuz.obj" \
|
||||
CC="$ROOT/$BUILD/darwin-cross/bin/i386-apple-darwin8-gcc-4.0.1" \
|
||||
LD="$ROOT/$BUILD/darwin-cross/bin/i386-apple-darwin8-ld"
|
||||
|
36
packages/tools/atv-bootloader/meta
Normal file
36
packages/tools/atv-bootloader/meta
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="atv-bootloader"
|
||||
PKG_VERSION="r518"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="i386 x86_64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://code.google.com/p/atv-bootloader/"
|
||||
PKG_URL="http://travisghansen.openelec.tv/sources/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="toolchain darwin-cross linux"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="tools"
|
||||
PKG_SHORTDESC="atv-bootloader: Tool to create a mach_kernel compaitible kernel image"
|
||||
PKG_LONGDESC="atv-bootloader which uses principals from mach_linux_boot to boot a compiled-in Linux kernel"
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="no"
|
@ -0,0 +1,12 @@
|
||||
diff -Naur atv-bootloader-r518/Makefile atv-bootloader-r518.patch/Makefile
|
||||
--- atv-bootloader-r518/Makefile 2010-03-09 20:17:22.000000000 +0100
|
||||
+++ atv-bootloader-r518.patch/Makefile 2011-05-21 15:26:26.509551389 +0200
|
||||
@@ -22,7 +22,7 @@
|
||||
# start.o must be 1st in the link order (ld below)
|
||||
OBJ = start.o vsprintf.o console.o utils.o elilo_code.o darwin_code.o linux_code.o boot_loader.o
|
||||
|
||||
-KERN_OBJ= vmlinuz.obj initrd.obj
|
||||
+KERN_OBJ:= vmlinuz.obj initrd.obj
|
||||
|
||||
mach_kernel: $(KERN_OBJ) $(OBJ)
|
||||
$(LD) $(LDFLAGS) -arch $(ARCH) -o mach_kernel $(OBJ) $(KERN_OBJ) \
|
@ -0,0 +1,29 @@
|
||||
diff -Naur atv-bootloader-r518/Makefile atv-bootloader-r518.patch/Makefile
|
||||
--- atv-bootloader-r518/Makefile 2010-03-09 20:17:22.000000000 +0100
|
||||
+++ atv-bootloader-r518.patch/Makefile 2011-05-21 14:04:05.592144598 +0200
|
||||
@@ -11,12 +11,12 @@
|
||||
|
||||
# if Linxu, use the darwin-cross tools to compile/link
|
||||
ifeq ($(OSTYPE),Linux)
|
||||
- CC = /opt/darwin-cross/bin/i386-apple-darwin8-gcc-4.0
|
||||
- LD = /opt/darwin-cross/bin/i386-apple-darwin8-ld
|
||||
+ CC := /opt/darwin-cross/bin/i386-apple-darwin8-gcc-4.0
|
||||
+ LD := /opt/darwin-cross/bin/i386-apple-darwin8-ld
|
||||
else
|
||||
- CC = /usr/bin/gcc-4.0
|
||||
- LD = /usr/bin/ld
|
||||
- LDFLAGS = -classic_linker
|
||||
+ CC := /usr/bin/gcc-4.0
|
||||
+ LD := /usr/bin/ld
|
||||
+ LDFLAGS = -classic_linker
|
||||
endif
|
||||
|
||||
# start.o must be 1st in the link order (ld below)
|
||||
@@ -53,7 +53,4 @@
|
||||
clean:
|
||||
rm -f *.o $(KERN_OBJ) mach_kernel
|
||||
|
||||
-
|
||||
-
|
||||
#xxd mach_kernel | sed -e "s/ffff ffff 1000/0100 0000 1000/" | xxd -r - mach_kernel
|
||||
-
|
@ -0,0 +1,24 @@
|
||||
--- atv-bootloader-r518/console.c.orig 2011-05-19 22:48:42.582001582 -0600
|
||||
+++ atv-bootloader-r518/console.c 2011-05-19 22:49:31.014001622 -0600
|
||||
@@ -600,20 +600,7 @@
|
||||
}
|
||||
|
||||
int printk(const char *szFormat, ...) { // printk displays to video
|
||||
- char szBuffer[512*2];
|
||||
- u16 wLength=0;
|
||||
- va_list argList;
|
||||
-
|
||||
- va_start(argList, szFormat);
|
||||
- wLength=(u16) vsprintf(szBuffer, szFormat, argList);
|
||||
- va_end(argList);
|
||||
-
|
||||
- szBuffer[sizeof(szBuffer)-1]=0;
|
||||
- if (wLength>(sizeof(szBuffer)-1)) wLength = sizeof(szBuffer)-1;
|
||||
- szBuffer[wLength]='\0';
|
||||
-
|
||||
- BootVideoChunkedPrint(szBuffer);
|
||||
- return wLength;
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
int console_putchar(int c)
|
@ -53,7 +53,8 @@ mkdir -p $INSTALL/$XORG_PATH_MODULES/drivers
|
||||
cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/drivers/*_drv.so $INSTALL/$XORG_PATH_MODULES/drivers
|
||||
|
||||
mkdir -p $INSTALL/$XORG_PATH_MODULES/extensions/fglrx
|
||||
cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/extensions/fglrx/*.so $INSTALL/$XORG_PATH_MODULES/extensions/fglrx
|
||||
# rename to not conflicting with Mesa libGL.so
|
||||
cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/extensions/fglrx/fglrx-libglx.so $INSTALL/$XORG_PATH_MODULES/extensions/libglx_fglrx.so
|
||||
|
||||
mkdir -p $INSTALL/$XORG_PATH_MODULES/linux
|
||||
cp -P $PKG_BUILD/$BASEDIR/usr/X11R6/$LIBDIR/modules/linux/*.so $INSTALL/$XORG_PATH_MODULES/linux
|
||||
@ -61,27 +62,29 @@ mkdir -p $INSTALL/$XORG_PATH_MODULES/linux
|
||||
mkdir -p $INSTALL/etc/X11
|
||||
cp $PKG_DIR/config/*.conf $INSTALL/etc/X11
|
||||
|
||||
mkdir -p $INSTALL/etc/ati
|
||||
cp $PKG_BUILD/common/etc/ati/amdpcsdb.default $INSTALL/etc/ati
|
||||
|
||||
# DRI driver
|
||||
mkdir -p $INSTALL/usr/lib/dri
|
||||
cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/modules/dri/fglrx_dri.so* $INSTALL/usr/lib/dri
|
||||
|
||||
# Ati's libGL has an hardcoded location for DRI modules
|
||||
mkdir -p $INSTALL/usr/X11R6/$LIBDIR/modules/
|
||||
ln -sf /usr/lib/dri $INSTALL/usr/X11R6/$LIBDIR/modules/dri
|
||||
|
||||
# OpenGL libs
|
||||
mkdir -p $INSTALL/usr/lib/fglrx
|
||||
cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/fglrx/fglrx-libGL.so* $INSTALL/usr/lib/fglrx
|
||||
mkdir -p $INSTALL/usr/lib
|
||||
# rename to not conflicting with Mesa libGL.so
|
||||
cp -P $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/fglrx/fglrx-libGL.so* $INSTALL/usr/lib/libGL_fglrx.so.1
|
||||
|
||||
# System Libs
|
||||
mkdir -p $INSTALL/usr/lib
|
||||
cp $PKG_BUILD/arch/$ARCH/usr/$LIBDIR/libati*.so* $INSTALL/usr/lib
|
||||
cp $PKG_BUILD/arch/$ARCH/usr/$LIBDIR/libati*.so $INSTALL/usr/lib
|
||||
cp $PKG_BUILD/arch/$ARCH/usr/$LIBDIR/libatiuki.so* $INSTALL/usr/lib/libatiuki.so.1
|
||||
cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libati*.so* $INSTALL/usr/lib
|
||||
cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libfglrx*.so* $INSTALL/usr/lib
|
||||
|
||||
if [ "$VAAPI" = yes ]; then
|
||||
$SCRIPTS/install libva
|
||||
|
||||
cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/lib*XvBA*.so* $INSTALL/usr/lib
|
||||
cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libAMDXvBA.cap $INSTALL/usr/lib
|
||||
cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libAMDXvBA.so* $INSTALL/usr/lib/libAMDXvBA.so.1
|
||||
cp $PKG_BUILD/arch/$ARCH/usr/X11R6/$LIBDIR/libXvBAW.so* $INSTALL/usr/lib/libXvBAW.so.1
|
||||
fi
|
||||
|
@ -25,8 +25,8 @@ PKG_ARCH="i386 x86_64"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://www.ati.com/"
|
||||
PKG_URL="http://www2.ati.com/drivers/linux/ati-driver-installer-`echo $PKG_VERSION | sed 's/\./-/'`-x86.x86_64.run"
|
||||
PKG_DEPENDS="linux"
|
||||
PKG_BUILD_DEPENDS="toolchain util-macros libX11"
|
||||
PKG_DEPENDS="linux libX11 libXinerama libXcomposite"
|
||||
PKG_BUILD_DEPENDS="toolchain util-macros libX11 libXinerama libXcomposite"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="x11/driver"
|
||||
PKG_SHORTDESC="xf86-video-fglrx: ATI binary Xorg driver"
|
||||
|
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xf86-video-nvidia"
|
||||
PKG_VERSION="270.41.06"
|
||||
PKG_VERSION="270.41.19"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="i386 x86_64"
|
||||
PKG_LICENSE="nonfree"
|
||||
|
35
packages/x11/lib/libXcomposite/build
Executable file
35
packages/x11/lib/libXcomposite/build
Executable file
@ -0,0 +1,35 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
cd $PKG_BUILD
|
||||
./configure --host=$TARGET_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--disable-static \
|
||||
--enable-shared \
|
||||
|
||||
make
|
||||
$MAKEINSTALL
|
26
packages/x11/lib/libXcomposite/install
Executable file
26
packages/x11/lib/libXcomposite/install
Executable file
@ -0,0 +1,26 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
mkdir -p $INSTALL/usr/lib
|
||||
cp -P $PKG_BUILD/src/.libs/libXcomposite.so* $INSTALL/usr/lib
|
36
packages/x11/lib/libXcomposite/meta
Normal file
36
packages/x11/lib/libXcomposite/meta
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libXcomposite"
|
||||
PKG_VERSION="0.4.3"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.X.org"
|
||||
PKG_URL="http://xorg.freedesktop.org/archive/individual/lib/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS="libXfixes libXext libX11"
|
||||
PKG_BUILD_DEPENDS="toolchain util-macros compositeproto fixesproto libXfixes libXext libX11"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="x11/lib"
|
||||
PKG_SHORTDESC="libxcomposite: X Composite Library"
|
||||
PKG_LONGDESC="X Composite Library"
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="yes"
|
33
packages/x11/proto/compositeproto/build
Executable file
33
packages/x11/proto/compositeproto/build
Executable file
@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
. config/options $1
|
||||
|
||||
cd $PKG_BUILD
|
||||
./configure --host=$TARGET_NAME \
|
||||
--build=$HOST_NAME \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
|
||||
make
|
||||
$MAKEINSTALL
|
36
packages/x11/proto/compositeproto/meta
Normal file
36
packages/x11/proto/compositeproto/meta
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2011 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# This Program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This Program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC.tv; see the file COPYING. If not, write to
|
||||
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
# http://www.gnu.org/copyleft/gpl.html
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="compositeproto"
|
||||
PKG_VERSION="0.4.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.X.org"
|
||||
PKG_URL="http://xorg.freedesktop.org/archive/individual/proto/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS=""
|
||||
PKG_BUILD_DEPENDS="toolchain util-macros"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="x11/proto"
|
||||
PKG_SHORTDESC="compositeproto: Composite extension headers"
|
||||
PKG_LONGDESC="Composite extension headers"
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
PKG_AUTORECONF="yes"
|
@ -26,6 +26,12 @@ XORG_SRC="$PKG_BUILD/hw/xfree86"
|
||||
|
||||
get_graphicdrivers
|
||||
|
||||
if [ "$COMPOSITE_SUPPORT" = "yes" ]; then
|
||||
XORG_COMPOSITE="--enable-composite"
|
||||
else
|
||||
XORG_COMPOSITE="--disable-composite"
|
||||
fi
|
||||
|
||||
if [ "$XINERAMA_SUPPORT" = "yes" ]; then
|
||||
XORG_XINERAMA="--enable-xinerama"
|
||||
else
|
||||
@ -57,7 +63,7 @@ cd $PKG_BUILD
|
||||
--enable-aiglx \
|
||||
--enable-glx-tls \
|
||||
--enable-registry \
|
||||
--disable-composite \
|
||||
$XORG_COMPOSITE \
|
||||
$XORG_XINERAMA \
|
||||
--enable-mitshm \
|
||||
--disable-xres \
|
||||
@ -112,4 +118,4 @@ cd $PKG_BUILD
|
||||
--with-default-font-path="/usr/share/fonts/misc,built-ins" \
|
||||
|
||||
make
|
||||
$MAKEINSTALL
|
||||
$MAKEINSTALL
|
||||
|
@ -19,7 +19,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xorg-server"
|
||||
PKG_VERSION="1.10.1.901"
|
||||
PKG_VERSION="1.10.1.902"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
@ -36,6 +36,11 @@ PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
get_graphicdrivers
|
||||
if [ "$COMPOSITE_SUPPORT" = "yes" ]; then
|
||||
PKG_DEPENDS="$PKG_DEPENDS libXcomposite"
|
||||
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libXcomposite"
|
||||
fi
|
||||
|
||||
if [ "$XINERAMA_SUPPORT" = "yes" ]; then
|
||||
PKG_DEPENDS="$PKG_DEPENDS libXinerama"
|
||||
PKG_BUILD_DEPENDS="$PKG_BUILD_DEPENDS libXinerama"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user