Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d08f30d9ef |
No files matched your search
@@ -2,6 +2,8 @@
|
||||
|
||||
Lakka is a lightweight Linux distribution that transforms a small computer into a full blown emulation console.
|
||||
|
||||
## Features
|
||||
|
||||
* **Powerful** - Built on top of the famous RetroArch emulator, Lakka is able to emulate a large range of hardware and has some usefull features such as Braid-like rewinding, joypad hotplug and video streaming.
|
||||
* **User friendly** - Lakka is easy to setup and use. Once installed to your SD card, you just have to put your rom on the card, plug your joypad and enjoy your favorite old games.
|
||||
* **Low cost** - The hardware required to run Lakka cost only $35. We also support PS3 and XBox360 controllers so you don't have to buy new ones. The power can be supplied by any micro USB adapter like the one of your smartphone.
|
||||
@@ -15,5 +17,4 @@ Please refer to our website http://www.lakka.tv/get on how to setup Lakka.
|
||||
|
||||
* [FAQ](https://github.com/lakkatv/Lakka/wiki/FAQ)
|
||||
* #lakkatv on irc.freenode.org
|
||||
* [Forums](http://libretro.com/forums/forumdisplay.php?f=26)
|
||||
* contact@lakka.tv
|
||||
@@ -1,32 +0,0 @@
|
||||
# determines TARGET_CPU, if not forced by user
|
||||
if [ -z "$TARGET_CPU" ]; then
|
||||
TARGET_CPU=generic
|
||||
fi
|
||||
|
||||
# TARGET_CPU:
|
||||
# cortex-a35 cortex-a53 cortex-a57 cortex-a72 exynos-m1
|
||||
# qdf24xx thunderx xgene1
|
||||
|
||||
# TARGET_FPU:
|
||||
# This specifies what floating point hardware (or hardware emulation) is
|
||||
# available on the target. Permissible names are:
|
||||
# fpa fpe2 fpe3 maverick vfp vfpv3 vfpv3-fp16 vfpv3-d16 vfpv3-d16-fp16
|
||||
# vfpv3xd vfpv3xd-fp16 neon neon-fp16 vfpv4 vfpv4-d16 fpv4-sp-d16
|
||||
# neon-vfpv4.
|
||||
|
||||
# determine architecture's family
|
||||
case $TARGET_CPU in
|
||||
*)
|
||||
TARGET_SUBARCH=aarch64
|
||||
TARGET_VARIANT=armv8-a
|
||||
TARGET_CPU_FLAGS="+crc+crypto"
|
||||
TARGET_EXTRA_FLAGS="-mcpu=$TARGET_CPU$TARGET_CPU_FLAGS"
|
||||
TARGET_FPU=neon
|
||||
SIMD_SUPPORT="yes"
|
||||
;;
|
||||
esac
|
||||
|
||||
# setup ARCH specific *FLAGS
|
||||
TARGET_CFLAGS="-march=$TARGET_VARIANT $TARGET_EXTRA_FLAGS"
|
||||
[ -n "$TARGET_FPU" ] && TARGET_CFLAGS="$TARGET_CFLAGS $TARGET_FPU_FLAGS"
|
||||
TARGET_LDFLAGS="-march=$TARGET_VARIANT -mcpu=$TARGET_CPU$TARGET_CPU_FLAGS"
|
||||
@@ -31,10 +31,13 @@
|
||||
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
|
||||
SIMD_SUPPORT="no"
|
||||
;;
|
||||
cortex-a7|cortex-a15|cortex-a15.cortex-a7)
|
||||
TARGET_SUBARCH=armv7ve
|
||||
cortex-a7|cortex-a15)
|
||||
TARGET_SUBARCH=armv7-a
|
||||
TARGET_ABI=eabi
|
||||
TARGET_EXTRA_FLAGS="-mcpu=$TARGET_CPU"
|
||||
# It's not currently possible to specify the exact architecture variant (-mcpu)
|
||||
# that A7/A15 supports in the command line so use -mtune here.
|
||||
# see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57907
|
||||
TARGET_EXTRA_FLAGS="-mtune=$TARGET_CPU"
|
||||
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
|
||||
SIMD_SUPPORT="yes"
|
||||
;;
|
||||
|
||||
@@ -307,14 +307,12 @@ show_config() {
|
||||
config_message="$config_message\n\n Graphic configuration:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
if [ "$DISPLAYSERVER" = "x11" ] ; then
|
||||
config_message="$config_message\n - Xorg Graphic Drivers:\t\t $GRAPHIC_DRIVERS"
|
||||
config_message="$config_message\n - XORG Composite support:\t\t $COMPOSITE_SUPPORT"
|
||||
config_message="$config_message\n - WindowManager:\t\t\t $WINDOWMANAGER"
|
||||
fi
|
||||
config_message="$config_message\n - XORG Composite support:\t\t $COMPOSITE_SUPPORT"
|
||||
config_message="$config_message\n - SDL support:\t\t\t\t $SDL_SUPPORT"
|
||||
config_message="$config_message\n - OpenGL (GLX) support (provider):\t $OPENGL_SUPPORT ($OPENGL)"
|
||||
config_message="$config_message\n - OpenGLES support (provider):\t\t $OPENGLES_SUPPORT ($OPENGLES)"
|
||||
config_message="$config_message\n - WindowManager:\t\t\t $WINDOWMANAGER"
|
||||
config_message="$config_message\n - Xorg Graphic Drivers:\t\t $GRAPHIC_DRIVERS"
|
||||
config_message="$config_message\n - uvesafb support:\t\t\t $UVESAFB_SUPPORT"
|
||||
|
||||
# Hardware decoder support
|
||||
@@ -412,6 +410,7 @@ show_config() {
|
||||
config_message="$config_message\n - Kodi DVDCSS support:\t\t\t $KODI_DVDCSS_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Airplay support:\t\t $KODI_AIRPLAY_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Airtunes support:\t\t $KODI_AIRTUNES_SUPPORT"
|
||||
config_message="$config_message\n - Kodi AFP support:\t\t\t $KODI_AFP_SUPPORT"
|
||||
config_message="$config_message\n - Kodi NFS support:\t\t\t $KODI_NFS_SUPPORT"
|
||||
config_message="$config_message\n - Kodi MySQL support:\t\t\t $KODI_MYSQL_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Optical Drive support:\t\t $KODI_OPTICAL_SUPPORT"
|
||||
|
||||
@@ -32,6 +32,10 @@ get_graphicdrivers() {
|
||||
fi
|
||||
|
||||
for drv in $GRAPHIC_DRIVERS; do
|
||||
if [ "$drv" = "dove" ]; then
|
||||
XORG_DRIVERS="$XORG_DRIVERS dove"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "i915" ]; then
|
||||
DRI_DRIVERS="$DRI_DRIVERS,i915"
|
||||
XORG_DRIVERS="$XORG_DRIVERS intel"
|
||||
|
||||
@@ -1 +1 @@
|
||||
Lakka - The DIY retro emulation console
|
||||
Welcome to OpenELEC - the powerful Mediacenter4you
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -1,10 +1,7 @@
|
||||
{
|
||||
"name": "@DISTRONAME@_@PROJECT@",
|
||||
"name": "@DISTRONAME@",
|
||||
"version": "@OPENELEC_VERSION@",
|
||||
"release_date": "@RELEASE_DATE@",
|
||||
"kernel": "@KERNEL_VERSION@",
|
||||
"description": "@DESCRIPTION@",
|
||||
"username": "root",
|
||||
"password": "@ROOT_PASSWORD@",
|
||||
"supported_hex_revisions": "@NOOBS_HEX@"
|
||||
"description": "@DESCRIPTION@"
|
||||
}
|
||||
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"partitions": [
|
||||
{
|
||||
"label": "@DISTRONAME@_@PROJECT@_System",
|
||||
"label": "@DISTRONAME@System",
|
||||
"filesystem_type": "FAT",
|
||||
"partition_size_nominal": 200,
|
||||
"partition_size_nominal": 160,
|
||||
"want_maximised": false,
|
||||
"uncompressed_tarball_size": 170,
|
||||
"uncompressed_tarball_size": 120,
|
||||
"mkfs_options": ""
|
||||
},
|
||||
{
|
||||
"label": "@DISTRONAME@_@PROJECT@_Storage",
|
||||
"label": "@DISTRONAME@Storage",
|
||||
"filesystem_type": "ext4",
|
||||
"partition_size_nominal": 864,
|
||||
"want_maximised": true,
|
||||
|
||||
@@ -452,7 +452,7 @@ hCHKXQk7K9saByvnHQxUtj4O8Ofzv0U52nazcrnNJuVSm43KDXcblPPv1+MnrFMm7h/xA77Hd8qS
|
||||
sodipodi:role="line"
|
||||
x="512"
|
||||
y="958.36218"
|
||||
id="tspan3140">Lakka will appear in your home network</tspan><tspan
|
||||
id="tspan3140">Lakka will appear in you home network</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="512"
|
||||
y="1008.3622"
|
||||
|
||||
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
@@ -76,7 +76,7 @@
|
||||
# for a list of additinoal drivers see packages/linux-drivers
|
||||
# Space separated list is supported,
|
||||
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
||||
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8188EU RTL8812AU"
|
||||
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8188EU RTL8812AU dvbhdhomerun"
|
||||
|
||||
# build and install bluetooth support (yes / no)
|
||||
BLUETOOTH_SUPPORT="yes"
|
||||
@@ -239,5 +239,3 @@
|
||||
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
|
||||
|
||||
LAKKA_MIRROR="http://sources.lakka.tv"
|
||||
RA_PLAYLIST_NAMES="Atari - 2600.lpl;Atari - 5200.lpl;Atari - 7800.lpl;Atari - Jaguar.lpl;Atari - Lynx.lpl;Atari - ST.lpl;Bandai - WonderSwan Color.lpl;Bandai - WonderSwan.lpl;Coleco - ColecoVision.lpl;DOOM.lpl;FB Alpha - Arcade Games.lpl;GCE - Vectrex.lpl;Magnavox - Odyssey2.lpl;MAME.lpl;Microsoft - MSX2.lpl;Microsoft - MSX.lpl;NEC - PC Engine SuperGrafx.lpl;NEC - PC Engine - TurboGrafx 16.lpl;Nintendo - Famicom Disk System.lpl;Nintendo - Game Boy Advance (e-Cards).lpl;Nintendo - Game Boy Advance.lpl;Nintendo - Game Boy Color.lpl;Nintendo - Game Boy.lpl;Nintendo - Nintendo 64.lpl;Nintendo - Nintendo DS Decrypted.lpl;Nintendo - Nintendo DS (Download Play) (BETA).lpl;Nintendo - Nintendo DSi Decrypted.lpl;Nintendo - Nintendo DSi (DLC).lpl;Nintendo - Nintendo Entertainment System.lpl;Nintendo - Satellaview.lpl;Nintendo - Super Nintendo Entertainment System.lpl;Nintendo - Virtual Boy.lpl;Quake1.lpl;ScummVM.lpl;Sega - 32X.lpl;Sega - Game Gear.lpl;Sega - Master System - Mark III.lpl;Sega - Mega Drive - Genesis.lpl;Sega - PICO.lpl;Sega - SG-1000.lpl;Sinclair - ZX Spectrum +3.lpl;SNK - Neo Geo Pocket Color.lpl;SNK - Neo Geo Pocket.lpl;Sony - PlayStation Portable.lpl;Sony - PlayStation.lpl"
|
||||
RA_PLAYLIST_CORES="/tmp/cores/stella_libretro.so;DETECT;/tmp/cores/prosystem_libretro.so;/tmp/cores/virtualjaguar_libretro.so;/tmp/cores/handy_libretro.so;/tmp/cores/hatari_libretro.so;/tmp/cores/mednafen_wswan_libretro.so;/tmp/cores/mednafen_wswan_libretro.so;/tmp/cores/bluemsx_libretro.so;/tmp/cores/prboom_libretro.so;/tmp/cores/fba_libretro.so;/tmp/cores/vecx_libretro.so;/tmp/cores/o2em_libretro.so;/tmp/cores/mame_libretro.so;/tmp/cores/bluemsx_libretro.so;/tmp/cores/bluemsx_libretro.so;/tmp/cores/mednafen_supergrafx_libretro.so;/tmp/cores/mednafen_pce_fast_libretro.so;/tmp/cores/nestopia_libretro.so;/tmp/cores/gpsp_libretro.so;/tmp/cores/gpsp_libretro.so;/tmp/cores/gambatte_libretro.so;/tmp/cores/gambatte_libretro.so;/tmp/cores/mupen64plus_libretro.so;/tmp/cores/desmume_libretro.so;/tmp/cores/desmume_libretro.so;/tmp/cores/desmume_libretro.so;/tmp/cores/desmume_libretro.so;/tmp/cores/nestopia_libretro.so;/tmp/cores/snes9x_next_libretro.so;/tmp/cores/snes9x_next_libretro.so;/tmp/cores/mednafen_vb_libretro.so;/tmp/cores/tyrquake_libretro.so;/tmp/cores/scummvm_libretro.so;/tmp/cores/picodrive_libretro.so;/tmp/cores/genesis_plus_gx_libretro.so;/tmp/cores/genesis_plus_gx_libretro.so;/tmp/cores/genesis_plus_gx_libretro.so;/tmp/cores/picodrive_libretro.so;/tmp/cores/genesis_plus_gx_libretro.so;/tmp/cores/fuse_libretro.so;/tmp/cores/mednafen_ngp_libretro.so;/tmp/cores/mednafen_ngp_libretro.so;/tmp/cores/ppsspp_libretro.so;/tmp/cores/pcsx_rearmed_libretro.so"
|
||||
|
Before Width: | Height: | Size: 2.5 KiB |
@@ -110,6 +110,9 @@
|
||||
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
|
||||
KODI_NFS_SUPPORT="yes"
|
||||
|
||||
# build with afpfs-ng support (mounting AFP shares with KODI) (yes / no)
|
||||
KODI_AFP_SUPPORT="no"
|
||||
|
||||
# build with Samba Client support (mounting SAMBA shares with KODI) (yes / no)
|
||||
KODI_SAMBA_SUPPORT="yes"
|
||||
|
||||
@@ -212,6 +215,9 @@
|
||||
# cron support (yes / no)
|
||||
CRON_SUPPORT="yes"
|
||||
|
||||
# Perf support in development builds (yes / no)
|
||||
PERF_SUPPORT="yes"
|
||||
|
||||
# Distribution Specific source location
|
||||
DISTRO_MIRROR="http://sources.openelec.tv/mirror"
|
||||
DISTRO_SRC="http://sources.openelec.tv/$OPENELEC_VERSION"
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
rm -rf target/
|
||||
|
||||
DISTRO=Lakka PROJECT=Generic ARCH=x86_64 make image -j9
|
||||
DISTRO=Lakka PROJECT=Generic ARCH=i386 make image -j9
|
||||
DISTRO=Lakka PROJECT=RPi ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=RPi ARCH=arm make noobs -j9
|
||||
DISTRO=Lakka PROJECT=RPi2 ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=RPi2 ARCH=arm make noobs -j9
|
||||
DISTRO=Lakka PROJECT=imx6 SYSTEM=cuboxi ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=imx6 SYSTEM=udoo ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=a20 ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=a10 ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=Bananapi ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=OdroidC1 ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=OdroidXU3 ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=WeTek_Play ARCH=arm make image -j9
|
||||
DISTRO=Lakka PROJECT=WeTek_Core ARCH=arm make image -j9
|
||||
|
||||
for f in target/*; do
|
||||
md5sum $f > $f.md5
|
||||
sha256sum $f > $f.sha256
|
||||
done
|
||||
|
||||
for f in target/*; do
|
||||
dir=`echo $f | sed -e 's/target\/Lakka-\(.*\)-devel-\(.*\)/\1/'`
|
||||
mkdir -p target/$dir
|
||||
mv $f target/$dir/
|
||||
done
|
||||
|
||||
#scp -r target/* [email protected]:sources/nightly/
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="tntnet"
|
||||
PKG_VERSION="2.2.1"
|
||||
PKG_VERSION="2.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL-2"
|
||||
|
||||
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
@@ -39,7 +39,7 @@ if [ "$DISPLAYSERVER" = "x11" ] ; then
|
||||
fi
|
||||
|
||||
if [ "$OPENGL_SUPPORT" = "yes" ] ; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET mesa glu"
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET Mesa glu"
|
||||
fi
|
||||
|
||||
if [ "$OPENGL" = "no" ]; then
|
||||
|
||||
@@ -0,0 +1,182 @@
|
||||
4.3.6
|
||||
- fix tv_grab_file with --quiet (again!)
|
||||
- fix crash on imx6
|
||||
|
||||
4.3.5
|
||||
- fix crash on imx6
|
||||
|
||||
4.3.4
|
||||
- update to tvheadend-3.9.2182
|
||||
- fix xmltv grab issue
|
||||
|
||||
4.3.3
|
||||
- update to tvheadend-3.9.2168
|
||||
|
||||
4.3.2
|
||||
- update to kodi
|
||||
|
||||
4.3.1
|
||||
- update to tvheadend-3.9.1847
|
||||
- tvheadend now has native support for hdhomerun devices
|
||||
|
||||
4.3.0
|
||||
- rebuild for addon api bump
|
||||
- update to tvheadend-3.9.1083
|
||||
|
||||
4.1.2
|
||||
- fix issues with "wait for frontend init". thanks @sraue
|
||||
|
||||
4.1.1
|
||||
- rebuild to fix curl/gnutls/ssl
|
||||
|
||||
4.1.0
|
||||
- convert to systemd service
|
||||
- rebuild for addon api bump
|
||||
|
||||
4.0.1
|
||||
- rebuild
|
||||
|
||||
4.0.0
|
||||
- rebuild for OpenELEC-4.0
|
||||
|
||||
3.1.4
|
||||
- rebuild
|
||||
|
||||
3.1.3
|
||||
- update to TVHeadend 3.4.27
|
||||
|
||||
3.1.2
|
||||
- fix unloading multiple modules on suspend
|
||||
|
||||
3.1.1
|
||||
- rebuild for OpenELEC-3.2
|
||||
|
||||
3.0.11
|
||||
- improve suspend/resume
|
||||
|
||||
3.0.10
|
||||
- fix preloading capmt.so with sundtek
|
||||
- added the ability to use a script's stdout as the xmltv source instead of a fixed file or URL
|
||||
|
||||
3.0.9
|
||||
- update to TVHeadend 3.4
|
||||
|
||||
3.0.8
|
||||
- update to TVHeadend 3.3.521
|
||||
|
||||
3.0.7
|
||||
- update to TVHeadend 3.3.511
|
||||
|
||||
3.0.6
|
||||
- update to TVHeadend 3.3.491
|
||||
- disable avahi support
|
||||
|
||||
3.0.5
|
||||
- update to TVHeadend 3.3.485
|
||||
|
||||
3.0.4
|
||||
- update to TVHeadend 3.3.403
|
||||
|
||||
3.0.3
|
||||
- update to TVHeadend 3.3.328
|
||||
- add an option to preload capmt_ca.so library
|
||||
|
||||
3.0.2
|
||||
- update to TVHeadend 3.2.18
|
||||
|
||||
3.0.1
|
||||
- bump addon version
|
||||
- add support to install as system addon
|
||||
- update to TVHeadend 3.2, rename addon
|
||||
- add version string to addon summary
|
||||
|
||||
2.1.5
|
||||
- add an option to wait for more than 1 adapters to appear
|
||||
|
||||
2.1.3
|
||||
- update to hts-tvheadend-78213a0
|
||||
|
||||
2.1.2
|
||||
- add suspend/resume fixes
|
||||
- use KILL signal to stop tvheadend
|
||||
- add an option to wait for fe initialization
|
||||
|
||||
2.1.1
|
||||
- update to addon version 2.1
|
||||
- update to hts-tvheadend-85e23bb
|
||||
|
||||
2.0.8
|
||||
- define default recordings folder to /storage/recordings
|
||||
- update to hts-tvheadend-a76f365
|
||||
- add patch for support IPTV radio streams
|
||||
|
||||
2.0.7
|
||||
- enable unloading/loading dvb modules on suspend/resume
|
||||
- add while loop for restarting tvheadend if it crashes
|
||||
|
||||
2.0.6
|
||||
- add possibilty to start / stop addon from addon manager with enable / disable
|
||||
- add possibility to browse filesystem for xmltv source file
|
||||
- start tvheadend in video user group
|
||||
- update to hts-tvheadend-b877800
|
||||
|
||||
2.0.5
|
||||
- start userspace DVB drivers before Tvheadend
|
||||
|
||||
2.0.4
|
||||
- update to hts-tvheadend-fdf89b2
|
||||
|
||||
2.0.3
|
||||
- rebuild for libiconv changes
|
||||
|
||||
2.0.2
|
||||
- update to hts-tvheadend-d66746c
|
||||
|
||||
2.0.1
|
||||
- fix patches
|
||||
|
||||
2.0.0
|
||||
- prepare for OpenELEC-2.0 release
|
||||
|
||||
1.90.2
|
||||
- depends on xbmc.python API 2.0
|
||||
|
||||
1.90.1
|
||||
- update to hts-tvheadend-fdc743f
|
||||
|
||||
1.90.0
|
||||
- add (CH) GA Weissenstein default muxes
|
||||
- prepare for OpenELEC-1.90 release
|
||||
|
||||
1.0.1
|
||||
- add XMLTV tv_file_grab support
|
||||
- add XMLTV configuration support
|
||||
- add teletext support patch
|
||||
- add fix memory leak patch
|
||||
|
||||
1.0.0
|
||||
- prepare for OpenELEC-1.0 release
|
||||
|
||||
0.99.8
|
||||
- add suspend/wakeup script
|
||||
|
||||
0.99.7
|
||||
- update to hts-tvheadend-c88a646
|
||||
|
||||
0.99.6
|
||||
- update to hts-tvheadend-9d775da
|
||||
|
||||
0.99.5
|
||||
- update to hts-tvheadend-ca68ed4
|
||||
|
||||
0.99.4
|
||||
- change icon
|
||||
|
||||
0.99.3
|
||||
- rebuild for openssl downgrade
|
||||
|
||||
0.99.2
|
||||
- rework start scripts
|
||||
|
||||
0.99.1
|
||||
- initial version hts-tvheadend-90e3570
|
||||
|
After Width: | Height: | Size: 51 KiB |
@@ -0,0 +1,75 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC 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.
|
||||
#
|
||||
# OpenELEC 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. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="tvheadend"
|
||||
PKG_VERSION="3.9.2182"
|
||||
PKG_REV="6"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.tvheadend.org"
|
||||
PKG_URL="$DISTRO_SRC/${PKG_NAME}-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain libressl curl"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="service/multimedia"
|
||||
PKG_SHORTDESC="tvheadend (Version: $PKG_VERSION): a TV streaming server for Linux supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as input sources."
|
||||
PKG_LONGDESC="Tvheadend (Version: $PKG_VERSION) is a TV streaming server for Linux supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as input sources. It also comes with a powerful and easy to use web interface both used for configuration and day-to-day operations, such as searching the EPG and scheduling recordings. Even so, the most notable feature of Tvheadend is how easy it is to set up: Install it, navigate to the web user interface, drill into the TV adapters tab, select your current location and Tvheadend will start scanning channels and present them to you in just a few minutes. If installing as an Addon a reboot is needed"
|
||||
PKG_IS_ADDON="yes"
|
||||
PKG_ADDON_TYPE="xbmc.service"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
pre_build_target() {
|
||||
mkdir -p $PKG_BUILD/.$TARGET_NAME
|
||||
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME
|
||||
export CROSS_COMPILE=$TARGET_PREFIX
|
||||
# meh imx6..
|
||||
if [ "$TARGET_ARCH" == "arm" ] ; then
|
||||
export CFLAGS="$CFLAGS -mno-unaligned-access"
|
||||
fi
|
||||
}
|
||||
|
||||
configure_target() {
|
||||
./configure --prefix=/usr \
|
||||
--arch=$TARGET_ARCH \
|
||||
--cpu=$TARGET_CPU \
|
||||
--cc=$TARGET_CC \
|
||||
--enable-hdhomerun_client \
|
||||
--enable-hdhomerun_static \
|
||||
--disable-avahi \
|
||||
--disable-libav \
|
||||
--enable-inotify \
|
||||
--enable-epoll \
|
||||
--disable-uriparser \
|
||||
--enable-tvhcsa \
|
||||
--enable-bundle \
|
||||
--disable-dbus_1 \
|
||||
--python=$ROOT/$TOOLCHAIN/bin/python
|
||||
}
|
||||
|
||||
post_make_target() {
|
||||
$CC -O -fbuiltin -fomit-frame-pointer -fPIC -shared -o capmt_ca.so src/extra/capmt_ca.c -ldl
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
: # nothing to do here
|
||||
}
|
||||
|
||||
addon() {
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
cp -P $PKG_BUILD/.$TARGET_NAME/build.linux/tvheadend $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
cp -P $PKG_BUILD/.$TARGET_NAME/capmt_ca.so $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
diff --git a/Makefile.hdhomerun b/Makefile.hdhomerun
|
||||
index 094a375..7916c14 100644
|
||||
--- a/Makefile.hdhomerun
|
||||
+++ b/Makefile.hdhomerun
|
||||
@@ -45,10 +45,10 @@ LIBHDHRDIR = $(ROOTDIR)/libhdhomerun_static
|
||||
|
||||
export PATH := $(LIBHDHRDIR)/build/bin:$(PATH)
|
||||
|
||||
-LIBHDHR = libhdhomerun_20140604
|
||||
+LIBHDHR = libhdhomerun_20141210
|
||||
LIBHDHR_TB = $(LIBHDHR).tgz
|
||||
LIBHDHR_URL = http://download.silicondust.com/hdhomerun/$(LIBHDHR_TB)
|
||||
-LIBHDHR_SHA1 = b8d910a5721c484a30b81662fd6991e3546ed67c
|
||||
+LIBHDHR_SHA1 = 4f6827e17f8f79401f272f62089352fe01eae740
|
||||
|
||||
.PHONY: build
|
||||
build: $(LIBHDHRDIR)/$(LIBHDHR)/.tvh_build
|
||||
@@ -0,0 +1,25 @@
|
||||
From 67e38551bc3acadf27b3ed4922e897348a612fdb Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <[email protected]>
|
||||
Date: Wed, 15 Oct 2014 13:35:09 +0300
|
||||
Subject: [PATCH] remove werror
|
||||
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index ddcc47e..0087a6c 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -28,7 +28,7 @@ PROG := $(BUILDDIR)/tvheadend
|
||||
#
|
||||
|
||||
CFLAGS += -g -O2 -Wunused-result
|
||||
-CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations
|
||||
+CFLAGS += -Wall -Wwrite-strings -Wno-deprecated-declarations
|
||||
CFLAGS += -Wmissing-prototypes
|
||||
CFLAGS += -fms-extensions -funsigned-char -fno-strict-aliasing
|
||||
CFLAGS += -D_FILE_OFFSET_BITS=64
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
@@ -17,21 +18,23 @@
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
# Attempts to generate a unique machine ID based on one local MAC address
|
||||
# MACHINEID SHOULD be the same between upgrades/reinstalls
|
||||
# MAC is hashed so that it cant be reversed making it anonymous
|
||||
# Used to help with global usage statistics, also used for dbus and systemd
|
||||
. /etc/profile
|
||||
|
||||
# creating machine-id, systemd otherwise does this automatically if not present.
|
||||
# this we want to avoid to have the same machine-id over reboot, fallback
|
||||
# to systemd's solution if this dont work here
|
||||
ADDON_HOME="$HOME/.kodi/userdata/addon_data/service.multimedia.tvheadend"
|
||||
ADDON_SETTINGS="$ADDON_HOME/settings.xml"
|
||||
XMLTV_TYPE=`grep XMLTV_TYPE $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
|
||||
XMLTV_LOCATION_FILE=`grep XMLTV_LOCATION_FILE $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
|
||||
XMLTV_LOCATION_WEB=`grep XMLTV_LOCATION_WEB $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
|
||||
XMLTV_LOCATION_SCRIPT=`grep XMLTV_LOCATION_SCRIPT $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
|
||||
|
||||
if [ -e "/sys/class/net/eth0/address" ]; then
|
||||
MAC_ADRESS=`cat /sys/class/net/eth0/address`
|
||||
elif [ -e "/sys/class/net/wlan0/address" ]; then
|
||||
MAC_ADRESS=`cat /sys/class/net/wlan0/address`
|
||||
if [ "$XMLTV_TYPE" = "FILE" ]; then
|
||||
cat "$XMLTV_LOCATION_FILE"
|
||||
exit 0
|
||||
elif [ "$XMLTV_TYPE" = "SCRIPT" ]; then
|
||||
if [ -e "$XMLTV_LOCATION_SCRIPT" ] ; then
|
||||
exec "$XMLTV_LOCATION_SCRIPT"
|
||||
fi
|
||||
elif [ "$XMLTV_TYPE" = "WEB" ]; then
|
||||
wget -qO - "$XMLTV_LOCATION_WEB"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
MACHINEID=`echo $MAC_ADRESS | md5sum | cut -f1 -d" "`
|
||||
|
||||
echo "$MACHINEID" > /run/machine-id
|
||||
@@ -0,0 +1,89 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC 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.
|
||||
#
|
||||
# OpenELEC 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. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
. /etc/profile
|
||||
|
||||
oe_setup_addon service.multimedia.tvheadend
|
||||
|
||||
ADDON_SETTINGS="$ADDON_HOME/settings.xml"
|
||||
XMLTV_FILE="$ADDON_DIR/bin/tv_grab_file"
|
||||
XMLTV_SETTINGS_DIR="$ADDON_HOME/xmltv"
|
||||
XMLTV_SETTINGS_FILE="$XMLTV_SETTINGS_DIR/config"
|
||||
DVR_SETTINGS_DIR="$ADDON_HOME/dvr"
|
||||
DVR_SETTINGS_FILE="$DVR_SETTINGS_DIR/config"
|
||||
DVR_DIR="$HOME/recordings"
|
||||
TIMESHIFT_SETTINGS_DIR="$ADDON_HOME/timeshift"
|
||||
TIMESHIFT_SETTINGS_FILE="$TIMESHIFT_SETTINGS_DIR/config"
|
||||
TIMESHIFT_DIR="$ADDON_HOME/cache/timeshift"
|
||||
|
||||
chmod a+x $ADDON_DIR/bin/*
|
||||
|
||||
if [ ! -f "$XMLTV_SETTINGS_FILE" ]; then
|
||||
mkdir -p $XMLTV_SETTINGS_DIR
|
||||
if [ -f $ADDON_DIR/xmltv-config ]; then
|
||||
cp $ADDON_DIR/xmltv-config $XMLTV_SETTINGS_FILE
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -f "$DVR_SETTINGS_FILE" ]; then
|
||||
mkdir -p $DVR_DIR
|
||||
mkdir -p $DVR_SETTINGS_DIR
|
||||
if [ -f $ADDON_DIR/dvr-config ]; then
|
||||
cp $ADDON_DIR/dvr-config $DVR_SETTINGS_FILE
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -f "$TIMESHIFT_SETTINGS_FILE" ]; then
|
||||
mkdir -p $TIMESHIFT_DIR
|
||||
mkdir -p $TIMESHIFT_SETTINGS_DIR
|
||||
if [ -f $ADDON_DIR/timeshift-config ]; then
|
||||
cp $ADDON_DIR/timeshift-config $TIMESHIFT_SETTINGS_FILE
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$DEBUG" = "yes" ]; then
|
||||
TVHEADEND_ARG="-B -C -s -u root -g video -c $ADDON_HOME"
|
||||
else
|
||||
TVHEADEND_ARG="-B -C -u root -g video -c $ADDON_HOME"
|
||||
fi
|
||||
|
||||
# start userspace DVB driver/addon
|
||||
for driver_dvb in $(find /storage/.kodi/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do
|
||||
driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}')
|
||||
logger -t Tvheadend "### Loading userspace DVB driver: $driver_dvb_name ###"
|
||||
# use ". " because of variable export
|
||||
. $driver_dvb
|
||||
done
|
||||
|
||||
if [ "$WAIT_FOR_FEINIT" == "true" ] ; then
|
||||
while [ true ] ; do
|
||||
if [ -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend0 ] ; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "$PRELOAD_CAPMT_CA" == "true" ] ; then
|
||||
logger -t Tvheadend "### Preloading capmt_ca.so library ###"
|
||||
LD_PRELOAD="$ADDON_DIR/bin/capmt_ca.so $LD_PRELOAD" exec tvheadend $TVHEADEND_ARG &>$ADDON_LOG_FILE
|
||||
else
|
||||
exec tvheadend $TVHEADEND_ARG &>$ADDON_LOG_FILE
|
||||
fi
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"storage": "/storage/recordings",
|
||||
"retention-days": 31,
|
||||
"pre-extra-time": 0,
|
||||
"post-extra-time": 0,
|
||||
"day-dir": 0,
|
||||
"channel-dir": 0,
|
||||
"channel-in-title": 0,
|
||||
"date-in-title": 0,
|
||||
"time-in-title": 0,
|
||||
"whitespace-in-title": 0,
|
||||
"title-dir": 0,
|
||||
"episode-in-title": 0,
|
||||
"tag-files": 1
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<strings>
|
||||
|
||||
<!-- HTS TVHEADEND -->
|
||||
<string id="1000">XMLTV</string>
|
||||
<string id="1001">DVB</string>
|
||||
<string id="1011">XMLTV configuration</string>
|
||||
<string id="1011">XMLTV source type</string>
|
||||
<string id="1012">XMLTV File location</string>
|
||||
<string id="1013">XMLTV Web location</string>
|
||||
<string id="1014">XMLTV Script location</string>
|
||||
<string id="1020">DVB Configuration</string>
|
||||
<string id="1021">Unload DVB mudules before suspend</string>
|
||||
<string id="1022">Wait for frontend initialization</string>
|
||||
<string id="1023">Number of adapters to wait for</string>
|
||||
<string id="1024">Preload capmt_ca.so library</string>
|
||||
|
||||
</strings>
|
||||
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<settings>
|
||||
|
||||
<!-- HTS TVHEADEND -->
|
||||
<category label="1000">
|
||||
<setting label="1010" type="lsep"/>
|
||||
<setting type="sep" />
|
||||
<setting id="XMLTV_TYPE" type="labelenum" label="1011" values="NONE|FILE|SCRIPT|WEB" sort="yes" default="NONE"/>
|
||||
<setting id="XMLTV_LOCATION_FILE" type="file" label="1012" default="" enable="eq(-1,0)"/>
|
||||
<setting id="XMLTV_LOCATION_WEB" type="text" label="1013" default="http://" enable="eq(-2,3)"/>
|
||||
<setting id="XMLTV_LOCATION_SCRIPT" type="file" label="1014" default="" enable="eq(-3,2)"/>
|
||||
</category>
|
||||
<category label="1001">
|
||||
<setting label="1020" type="lsep"/>
|
||||
<setting type="sep" />
|
||||
<setting id="WAIT_FOR_FEINIT" type="bool" label="1022" default="false" />
|
||||
<setting id="NUM_ADAPTERS" type="slider" range="1,16" option="int" label="1023" default="1" enable="eq(-1,true)" />
|
||||
<setting id="REMOVE_MODULES" type="text" label="1021" values="" default=""/>
|
||||
<setting id="PRELOAD_CAPMT_CA" type="bool" label="1024" default="false" />
|
||||
</category>
|
||||
</settings>
|
||||
@@ -0,0 +1,8 @@
|
||||
<settings>
|
||||
<setting id="WAIT_FOR_FEINIT" value="false" />
|
||||
<setting id="NUM_ADAPTERS" value="1" />
|
||||
<setting id="XMLTV_LOCATION_FILE" value="" />
|
||||
<setting id="XMLTV_LOCATION_WEB" value="http://" />
|
||||
<setting id="XMLTV_TYPE" value="NONE" />
|
||||
<setting id="PRELOAD_CAPMT_CA" value="false" />
|
||||
</settings>
|
||||
@@ -1,3 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
@@ -16,19 +18,27 @@
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="dtc"
|
||||
PKG_VERSION="1.4.1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.devicetree.org/Device_Tree_Compiler"
|
||||
PKG_URL="https://www.kernel.org/pub/software/utils/dtc/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_HOST="ccache:host"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="tools"
|
||||
PKG_SHORTDESC="Device Tree Compiler"
|
||||
PKG_LONGDESC="dtc: Device Tree Compiler"
|
||||
. /etc/profile
|
||||
|
||||
makeinstall_host() {
|
||||
make install PREFIX=$ROOT/$TOOLCHAIN
|
||||
}
|
||||
oe_setup_addon service.multimedia.tvheadend
|
||||
|
||||
SERVICE="service.multimedia.tvheadend"
|
||||
|
||||
case "$1" in
|
||||
pre)
|
||||
if systemctl is-active "$SERVICE" &>/dev/null ; then
|
||||
systemctl stop "$SERVICE"
|
||||
for module in $REMOVE_MODULES ; do
|
||||
rmmod $module
|
||||
done
|
||||
fi
|
||||
;;
|
||||
post)
|
||||
if systemctl is-enabled "$SERVICE" &>/dev/null ; then
|
||||
for module in $REMOVE_MODULES ; do
|
||||
modprobe $module
|
||||
done
|
||||
systemctl start "$SERVICE"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=TVHeadend Service
|
||||
After=graphical.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.multimedia.tvheadend/bin/tvheadend.start"
|
||||
TimeoutStopSec=2
|
||||
Restart=always
|
||||
RestartSec=2
|
||||
StartLimitInterval=0
|
||||
|
||||
[Install]
|
||||
WantedBy=kodi.target
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"enabled": 0,
|
||||
"ondemand": 0,
|
||||
"path": "/storage/.kodi/userdata/addon_data/service.multimedia.tvheadend/cache/timeshift",
|
||||
"unlimited_period": 0,
|
||||
"max_period": 3600,
|
||||
"unlimited_size": 0,
|
||||
"max_size": 1024
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"grabbers": [
|
||||
{
|
||||
"path": "/storage/.kodi/addons/service.multimedia.tvheadend/bin/tv_grab_file",
|
||||
"description": "tv_grag_file is a simple grabber that just read the ~/.xmltv/tv_grab_file.xmltv file",
|
||||
"version": "0.1\n",
|
||||
"mtime": 1318774706,
|
||||
"capabilities": 1
|
||||
}
|
||||
],
|
||||
"grab-interval": 12,
|
||||
"grab-enabled": 1,
|
||||
"current-grabber": "/storage/.kodi/addons/service.multimedia.tvheadend/bin/tv_grab_file"
|
||||
}
|
||||
@@ -1,32 +1,3 @@
|
||||
4.3.11
|
||||
- update to vdr-plugin-restfulapi-0.2.1.4
|
||||
|
||||
4.3.10
|
||||
- disable dvbapi network mode
|
||||
|
||||
4.3.9
|
||||
- update to vdr-2.2.0
|
||||
- update to vdr-iptv-2.2.0
|
||||
- update to vdr-satip-2.2.0
|
||||
- update to vdr-plugin-dvbapi-c0c7fa2
|
||||
- update to vdr-plugin-eepg-9cd9a75
|
||||
- update to vdr-plugin-vnsiserver-9529e6d
|
||||
- update to vdr-plugin-streamdev-84c6f6b
|
||||
|
||||
4.3.8
|
||||
- update to vdr-2.1.10
|
||||
- update to vdr-plugin-restfulapi-0.2.1.1
|
||||
- update to vdr-plugin-vnsiserver-f2175ba
|
||||
|
||||
4.3.7
|
||||
- update to vdr-2.1.8
|
||||
- update to vdr-plugin-vnsiserver-b887bc8
|
||||
- update to vdr-wirbelscan-0.0.9
|
||||
|
||||
4.3.6
|
||||
- update to vdr-satip-1.0.2
|
||||
- update to vdr-2.1.7
|
||||
|
||||
4.3.5
|
||||
- add plugin 'vdr-plugin-restfulapi'
|
||||
- update to vdr-plugin-xvdr-b300fc3
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
PKG_NAME="vdr-addon"
|
||||
PKG_VERSION="4.3"
|
||||
PKG_REV="11"
|
||||
PKG_REV="5"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.openelec.tv"
|
||||
@@ -103,7 +103,7 @@ addon() {
|
||||
cp -P $VDR_PLUGIN_XMLTV2VDR/dist/epgdata2xmltv/epgdata2xmltv $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib
|
||||
cp -PL $(get_build_dir tntnet)/.install_pkg/usr/lib/libtntnet.so.12 $ADDON_BUILD/$PKG_ADDON_ID/lib
|
||||
cp -PL $(get_build_dir tntnet)/.install_pkg/usr/lib/libtntnet.so.11 $ADDON_BUILD/$PKG_ADDON_ID/lib
|
||||
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/streamdev-server
|
||||
cp -PR $VDR_PLUGIN_STREAMVEV_DIR/streamdev-server/streamdevhosts.conf $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/streamdev-server
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<string id="1001">Plugins</string>
|
||||
<string id="1002">VDR</string>
|
||||
<string id="1020">DVB Configuration</string>
|
||||
<string id="1021">Unload DVB modules before suspend</string>
|
||||
<string id="1021">Unload DVB mudules before suspend</string>
|
||||
<string id="1022">Wait for frontend initialization</string>
|
||||
<string id="1023">Number of adapters to wait for</string>
|
||||
<string id="1024">Enable charset override</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="alsa-lib"
|
||||
PKG_VERSION="1.1.0"
|
||||
PKG_VERSION="1.0.28"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
From 982c628f484266c8db4f70dc1e856bc7844c1873 Mon Sep 17 00:00:00 2001
|
||||
From: Patrick Rasmussen <[email protected]>
|
||||
Date: Fri, 13 Mar 2015 14:52:56 +0100
|
||||
Subject: [PATCH] Add USB Sound Blaster HD
|
||||
|
||||
---
|
||||
src/conf/cards/USB-Audio.conf | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/conf/cards/USB-Audio.conf b/src/conf/cards/USB-Audio.conf
|
||||
index 4cbf85e..2591d00 100644
|
||||
--- a/src/conf/cards/USB-Audio.conf
|
||||
+++ b/src/conf/cards/USB-Audio.conf
|
||||
@@ -62,6 +62,7 @@ USB-Audio.pcm.iec958_device {
|
||||
# Second iec958 device number, if any.
|
||||
USB-Audio.pcm.iec958_2_device {
|
||||
"PHIREE U2" 1 # 0 = PCM S/PDIF, 1 = non-PCM S/PDIF
|
||||
+ "USB Sound Blaster HD" 1
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.1.4
|
||||
@@ -0,0 +1,69 @@
|
||||
From 01b686cf032d523642c5ab33f455d814ef468925 Mon Sep 17 00:00:00 2001
|
||||
From: fritsch <[email protected]>
|
||||
Date: Sat, 10 Jan 2015 23:47:58 +0100
|
||||
Subject: [PATCH] Support PHIREE U2 and Sound blaster F-Xi HD (done by Anssih)
|
||||
|
||||
---
|
||||
src/conf/cards/USB-Audio.conf | 41 ++++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 40 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/conf/cards/USB-Audio.conf b/src/conf/cards/USB-Audio.conf
|
||||
index ce3ae01..107d6fa 100644
|
||||
--- a/src/conf/cards/USB-Audio.conf
|
||||
+++ b/src/conf/cards/USB-Audio.conf
|
||||
@@ -52,6 +52,10 @@ USB-Audio.pcm.iec958_device {
|
||||
"USB Device 0x46d:0x992" 999
|
||||
}
|
||||
|
||||
+USB-Audio.pcm.iec958_2_device {
|
||||
+ "PHIREE U2" 1
|
||||
+ "USB Sound Blaster HD" 1
|
||||
+}
|
||||
|
||||
# If a device requires non-standard definitions for front, surround40,
|
||||
# surround51, surround71 or iec958, they can be defined here.
|
||||
@@ -422,4 +426,39 @@ USB-Audio.pcm.iec958.0 {
|
||||
}
|
||||
}
|
||||
|
||||
-# vim: ft=alsaconf
|
||||
+USB-Audio.pcm.iec958.1 {
|
||||
+ @args [ CARD AES0 AES1 AES2 AES3 ]
|
||||
+ @args.CARD { type string }
|
||||
+ @args.AES0 { type integer }
|
||||
+ @args.AES1 { type integer }
|
||||
+ @args.AES2 { type integer }
|
||||
+ @args.AES3 { type integer }
|
||||
+ @func refer
|
||||
+ name {
|
||||
+ @func concat
|
||||
+ strings [
|
||||
+ "cards.USB-Audio."
|
||||
+ { @func card_name card $CARD }
|
||||
+ ".pcm.iec958_2:CARD=" $CARD
|
||||
+ ",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3
|
||||
+ ]
|
||||
+ }
|
||||
+ default {
|
||||
+ # FIXME: we cannot set the AES parameters
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ device {
|
||||
+ @func refer
|
||||
+ name {
|
||||
+ @func concat
|
||||
+ strings [
|
||||
+ "cards.USB-Audio.pcm.iec958_2_device."
|
||||
+ { @func card_name card $CARD }
|
||||
+ ]
|
||||
+ }
|
||||
+ default 999
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+# vim: ft=alsaconf
|
||||
\ No newline at end of file
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="alsa-utils"
|
||||
PKG_VERSION="1.1.0"
|
||||
PKG_VERSION="1.0.28"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
@@ -39,7 +39,6 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-dependency-tracking \
|
||||
--disable-alsaconf \
|
||||
--disable-alsaloop \
|
||||
--enable-alsatest \
|
||||
--disable-bat \
|
||||
--disable-nls"
|
||||
|
||||
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC 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.
|
||||
#
|
||||
# OpenELEC 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. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="asplib"
|
||||
PKG_VERSION="2fac1bf"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/AchimTuran/asplib"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
PKG_SHORTDESC="asplib: Achim's Signal Processing LIBrary"
|
||||
PKG_LONGDESC="asplib is a small and lightweight C++ library for digital signal processing."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
configure_target() {
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr -DBUILD_SHARED_LIBS=0 \
|
||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS -DTARGET_LINUX" \
|
||||
..
|
||||
}
|
||||
@@ -1,137 +0,0 @@
|
||||
diff -Naur a/CMakeLists.txt b/CMakeLists.txt
|
||||
--- a/CMakeLists.txt 2016-01-12 22:24:43.000000000 +0100
|
||||
+++ b/CMakeLists.txt 2016-01-12 22:47:16.624139358 +0100
|
||||
@@ -1,64 +1,17 @@
|
||||
project(asplib)
|
||||
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
-enable_language(CXX)
|
||||
-
|
||||
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR})
|
||||
-
|
||||
-include(UseMultiArch.cmake)
|
||||
|
||||
set(asplib_NAME asplib)
|
||||
set(asplib_DESCRIPTION "asplib (Achim's Signal Processing LIBrary), is a small and lightweight C++ library for digital signal processing.")
|
||||
-set(asplib_VERSION_MAJOR ${APP_VERSION_MAJOR})
|
||||
-set(asplib_VERSION_MINOR ${APP_VERSION_MINOR})
|
||||
-set(asplib_VERSION_PATCH 0)
|
||||
-
|
||||
-if(NOT WIN32)
|
||||
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
||||
-endif()
|
||||
-
|
||||
-if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
- set(CMAKE_CXX_FLAGS "-DTARGET_LINUX")
|
||||
-endif()
|
||||
-
|
||||
-if(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
- set(CMAKE_CXX_FLAGS "-DTARGET_WINDOWS")
|
||||
-endif()
|
||||
-
|
||||
-#set(asplib_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR} "${CMAKE_INSTALL_PREFIX}/include/kodi")
|
||||
-#set(asplib_LIBRARIES ${CMAKE_THREAD_LIBS_INIT} ${TINYXML_LIBRARIES})
|
||||
-
|
||||
-if (NOT WIN32)
|
||||
- add_definitions(-fPIC -g -O2)
|
||||
-endif()
|
||||
-
|
||||
-include_directories(${PROJECT_SOURCE_DIR}
|
||||
- ${PROJECT_SOURCE_DIR}/Biquads)
|
||||
|
||||
-set(SOURCES asplib_utils/computeDeviceInfo/cpuInfo.cpp
|
||||
- Biquads/Biquad_Native/asplib_Biquad_Native.cpp
|
||||
+set(SOURCES Biquads/Biquad_Native/asplib_Biquad_Native.cpp
|
||||
Biquads/apslib_BiquadFactory.cpp)
|
||||
|
||||
-set(HEADERS interfaces/asplib_IBaseBiquad.h
|
||||
- asplib_utils/constants_typedefs/asplib_constants.h
|
||||
- asplib_utils/constants_typedefs/asplib_typedefs.h
|
||||
- asplib_utils/os/asplib_base_os.h
|
||||
- asplib_utils/os/windows/windows_definitions.h
|
||||
- asplib_utils/os/linux/linux_definitions.h
|
||||
- asplib_utils/computeDeviceInfo/cpuInfo_types.h
|
||||
- asplib_utils/computeDeviceInfo/cpuInfo.h
|
||||
- Biquads/apslib_BiquadFactory.h
|
||||
- Biquads/Biquad_Native/asplib_Biquad_Native.h)
|
||||
-
|
||||
-
|
||||
-#include_directories(${TINYXML_INCLUDE_DIR} ${KODI_INCLUDE_DIR})
|
||||
-
|
||||
-add_library(asplib ${SOURCES} ${PLAT_SOURCES})
|
||||
-target_link_libraries(asplib ${asplib_LIBRARIES})
|
||||
-#set_target_properties(asplib PROPERTIES VERSION ${asplib_VERSION_MAJOR}.${asplib_VERSION_MINOR}.${asplib_VERSION_PATCH}
|
||||
-# SOVERSION ${asplib_VERSION_MAJOR}.0)
|
||||
+add_library(asplib STATIC ${SOURCES})
|
||||
|
||||
-install(TARGETS asplib DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
+include_directories(${PROJECT_SOURCE_DIR}
|
||||
+ ${PROJECT_SOURCE_DIR}/Biquads)
|
||||
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/interfaces/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/interfaces
|
||||
FILES_MATCHING PATTERN "*.h")
|
||||
@@ -66,8 +19,6 @@
|
||||
FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/asplib_utils/os/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/asplib_utils/os/
|
||||
FILES_MATCHING PATTERN "*.h")
|
||||
-install(DIRECTORY ${PROJECT_SOURCE_DIR}/asplib_utils/os/windows/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/asplib_utils/os/windows/
|
||||
- FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/asplib_utils/os/linux/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/asplib_utils/os/linux/
|
||||
FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/asplib_utils/computeDeviceInfo/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/asplib_utils/computeDeviceInfo/
|
||||
@@ -77,54 +28,4 @@
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/Biquads/Biquad_Native/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/Biquads/Biquad_Native/
|
||||
FILES_MATCHING PATTERN "*.h")
|
||||
|
||||
-
|
||||
-# install(FILES interfaces/asplib_IBaseBiquad.h
|
||||
- # asplib_utils/constants_typedefs/asplib_constants.h
|
||||
- # asplib_utils/constants_typedefs/asplib_typedefs.h
|
||||
-
|
||||
- # DESTINATION include/asplib/asplib_utils/constants_typedefs/)
|
||||
-
|
||||
- # asplib_utils/os/asplib_base_os.h
|
||||
- # asplib_utils/os/windows/windows_definitions.h
|
||||
- # asplib_utils/os/linux/linux_definitions.h
|
||||
- # utils/computeDeviceInfo/cpuInfo_types.h
|
||||
- # utils/computeDeviceInfo/cpuInfo.h
|
||||
- # Biquads/apslib_BiquadFactory.h
|
||||
- # Biquads/Biquad_Native/asplib_Biquad_Native.h
|
||||
- # )
|
||||
-
|
||||
-# install(FILES interfaces/asplib_IBaseBiquad.h
|
||||
- # DESTINATION include/asplib/interfaces)
|
||||
-# install(FILES constants_typedefs/asplib_constants.h
|
||||
- # constants_typedefs/asplib_typedefs.h
|
||||
- # DESTINATION include/asplib/constants_typedefs)
|
||||
-# install(FILES utils/computeDeviceInfo/cpuInfo_types.h
|
||||
- # utils/computeDeviceInfo/cpuInfo.h
|
||||
- # DESTINATION include/asplib/utils)
|
||||
-# install(FILES Biquads/apslib_BiquadFactory.h
|
||||
- # Biquads/Biquad_Native/asplib_Biquad_Native.h
|
||||
- # DESTINATION include/asplib/Biquads)
|
||||
-
|
||||
-#install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib)
|
||||
-
|
||||
-#IF(NOT WIN32)
|
||||
- # Pkgconfig
|
||||
- #include(PkgConfigHandler.cmake)
|
||||
- #configure_pc_file(kodiutilities kodiutilities.pc.in
|
||||
- # kodiutilities.pc
|
||||
- # ${CMAKE_INSTALL_PREFIX}
|
||||
- # ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
- # ${CMAKE_INSTALL_PREFIX}/include)
|
||||
-
|
||||
-# install(FILES ${CMAKE_BINARY_DIR}/kodiutilities.pc
|
||||
-# DESTINATION ${CMAKE_INSTALL_LIBDIR_NOARCH}/pkgconfig)
|
||||
-#ENDIF(NOT WIN32)
|
||||
-
|
||||
-# config mode
|
||||
-#configure_file (kodiutilities-config.cmake.in
|
||||
-# kodiutilities-config.cmake @ONLY)
|
||||
-#install(FILES ${CMAKE_BINARY_DIR}/kodiutilities-config.cmake
|
||||
-# DESTINATION ${CMAKE_INSTALL_LIBDIR_NOARCH}/kodiutilities)
|
||||
-
|
||||
-# Quell warnings with in-tree builds
|
||||
-#set(KODI_BUILD_DIR ${KODI_BUILD_DIR})
|
||||
+install(TARGETS asplib DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
@@ -1,48 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC 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.
|
||||
#
|
||||
# OpenELEC 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. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="dcadec"
|
||||
PKG_VERSION="37d8e68"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/foo86/dcadec"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
PKG_SHORTDESC="DTS Coherent Acoustics decoder with support for HD extensions"
|
||||
PKG_LONGDESC="DTS Coherent Acoustics decoder with support for HD extensions"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
# todo: we need to build as shared library, otherwise sond dont work
|
||||
# in kodi with enabled dcadec support and we have 100% CPU usage
|
||||
# (to test disable passtrough and use a DTS-HD sample)
|
||||
PKG_MAKE_OPTS_TARGET="PREFIX=/usr BINDIR=/usr/bin LIBDIR=/usr/lib INCLUDEDIR=/usr/include PKG_CONFIG_PATH=/usr/lib/pkgconfig CONFIG_SHARED=1"
|
||||
PKG_MAKEINSTALL_OPTS_TARGET="$PKG_MAKE_OPTS_TARGET"
|
||||
|
||||
pre_configure_target() {
|
||||
export CFLAGS="$CFLAGS -fPIC -DPIC"
|
||||
export LDFLAGS="$LDFLAGS -fPIC -DPIC"
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -22,7 +22,8 @@ PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://espeak.sourceforge.net/"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.zip"
|
||||
PKG_URL="http://downloads.sourceforge.net/$PKG_NAME/$PKG_NAME-$PKG_VERSION.zip"
|
||||
PKG_SOURCE_DIR="$PKG_NAME/$PKG_NAME-$PKG_VERSION"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -20,8 +20,8 @@ PKG_NAME="flac"
|
||||
PKG_VERSION="1.3.1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://xiph.org/flac/"
|
||||
PKG_LICENSE="LGPL"
|
||||
PKG_SITE="http://flac.sourceforge.net/"
|
||||
PKG_URL="http://downloads.xiph.org/releases/flac/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain libogg"
|
||||
PKG_PRIORITY="optional"
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
diff -Naur flac-1.3.1/configure.ac flac-1.3.1.patch/configure.ac
|
||||
--- flac-1.3.1/configure.ac 2014-11-27 03:45:33.000000000 +0100
|
||||
+++ flac-1.3.1.patch/configure.ac 2015-01-24 20:19:19.119178172 +0100
|
||||
@@ -348,11 +348,10 @@
|
||||
|
||||
if test "x$debug" = xtrue; then
|
||||
CPPFLAGS="-DDEBUG $CPPFLAGS"
|
||||
- CFLAGS=$(echo "$CFLAGS" | sed 's/-g//')
|
||||
CFLAGS="-g $CFLAGS"
|
||||
else
|
||||
CPPFLAGS="-DNDEBUG $CPPFLAGS"
|
||||
- CFLAGS=$(echo "$CFLAGS" | sed 's/-O2//;s/-g//')
|
||||
+ CFLAGS=$(echo "$CFLAGS" | sed 's/-O2//')
|
||||
CFLAGS="-O3 -funroll-loops $CFLAGS"
|
||||
fi
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC 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.
|
||||
#
|
||||
# OpenELEC 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. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="fluidsynth"
|
||||
PKG_VERSION="1.1.6"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://fluidsynth.org/"
|
||||
PKG_URL="$SOURCEFORGE_SRC/project/fluidsynth/fluidsynth-$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
PKG_SHORTDESC="FluidSynth: A SoundFont Synthesizer."
|
||||
PKG_LONGDESC="FluidSynth renders midi music files as raw audio data, for playing or conversion. "
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
configure_target() {
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DBUILD_SHARED_LIBS=0 \
|
||||
-Denable-readline=0 \
|
||||
-Denable-pulseaudio=0 \
|
||||
-Denable-libsndfile=0 \
|
||||
..
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
--- fluidsynth-1.1.6/CMakeLists.txt.orig 2015-04-06 13:12:55.151874342 +0200
|
||||
+++ fluidsynth-1.1.6/CMakeLists.txt 2015-04-06 13:14:32.931876573 +0200
|
||||
@@ -85,11 +85,11 @@
|
||||
endif ( ${CMAKE_SYSTEM} MATCHES "OS2" )
|
||||
|
||||
# Initialize the library directory name suffix.
|
||||
-if ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||
- set ( _init_lib_suffix "64" )
|
||||
-else ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||
+#if ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||
+# set ( _init_lib_suffix "64" )
|
||||
+#else ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||
set ( _init_lib_suffix "" )
|
||||
-endif ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||
+#endif ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||
set ( LIB_SUFFIX ${_init_lib_suffix} CACHE STRING
|
||||
"library directory name suffix (32/64/nothing)" )
|
||||
mark_as_advanced ( LIB_SUFFIX )
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -17,12 +17,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libcdio"
|
||||
PKG_VERSION="0.93"
|
||||
PKG_VERSION="0.92"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv3"
|
||||
PKG_SITE="https://www.gnu.org/software/libcdio/"
|
||||
PKG_URL="https://ftp.gnu.org/gnu/libcdio/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.gnu.org/software/libcdio/"
|
||||
PKG_URL="http://ftp.gnu.org/gnu/libcdio/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -16,29 +16,41 @@
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libsamplerate"
|
||||
PKG_VERSION="0.1.8"
|
||||
PKG_NAME="libmad"
|
||||
PKG_VERSION="0.15.1b"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.mega-nerd.com/SRC/"
|
||||
PKG_URL="http://www.mega-nerd.com/SRC/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_SITE="http://www.mars.org/home/rob/proj/mpeg/"
|
||||
PKG_URL="$SOURCEFORGE_SRC/mad/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
PKG_SHORTDESC="libsamplerate: A Sample Rate Converter library for audio"
|
||||
PKG_LONGDESC="Libsamplerate is a Sample Rate Converter for audio. One example of where such a thing would be useful is converting audio from the CD sample rate of 44.1kHz to the 48kHz sample rate used by DAT players."
|
||||
PKG_SHORTDESC="libmad: MPEG Audio Decoder"
|
||||
PKG_LONGDESC="MAD is a high-quality MPEG audio decoder. It currently supports MPEG-1 and the MPEG-2 extension to Lower Sampling Frequencies, as well as the so-called MPEG 2.5 format. All three audio layers (Layer I, Layer II, and Layer III a.k.a. MP3) are fully implemented."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no" # ToDo
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
# package specific configure options
|
||||
PKG_CONFIGURE_OPTS_TARGET="--disable-shared \
|
||||
--enable-static \
|
||||
--datadir=/usr/share \
|
||||
--disable-fftw \
|
||||
--disable-sndfile"
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared"
|
||||
if [ $TARGET_ARCH == "x86_64" ] ; then
|
||||
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --enable-accuracy --enable-fpm=64bit"
|
||||
fi
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin
|
||||
mkdir -p $SYSROOT_PREFIX/usr/lib/pkgconfig
|
||||
cat > $SYSROOT_PREFIX/usr/lib/pkgconfig/mad.pc << "EOF"
|
||||
prefix=/usr
|
||||
exec_prefix=${prefix}
|
||||
libdir=${exec_prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: mad
|
||||
Description: MPEG audio decoder
|
||||
Requires:
|
||||
Version: 0.15.1b
|
||||
Libs: -L${libdir} -lmad
|
||||
Cflags: -I${includedir}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -Naur libmad-0.15.1b-old/configure.ac libmad-0.15.1b-new/configure.ac
|
||||
--- libmad-0.15.1b-old/configure.ac 2004-01-23 01:41:32.000000000 -0800
|
||||
+++ libmad-0.15.1b-new/configure.ac 2012-12-30 15:14:37.000000000 -0800
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
AM_INIT_AUTOMAKE
|
||||
|
||||
-AM_CONFIG_HEADER([config.h])
|
||||
+AC_CONFIG_HEADERS([config.h])
|
||||
|
||||
dnl System type.
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -Naur libmad-0.15.1b-orig/configure.ac libmad-0.15.1b/configure.ac
|
||||
--- libmad-0.15.1b-orig/configure.ac 2007-07-01 12:58:13.000000000 -0600
|
||||
+++ libmad-0.15.1b/configure.ac 2007-07-01 12:59:13.000000000 -0600
|
||||
@@ -105,7 +105,7 @@
|
||||
shift
|
||||
;;
|
||||
-O2)
|
||||
- optimize="-O"
|
||||
+ optimize="-O2"
|
||||
shift
|
||||
;;
|
||||
-fomit-frame-pointer)
|
||||
@@ -0,0 +1,146 @@
|
||||
diff -Naur libmad-0.15.1b-orig/configure.ac libmad-0.15.1b/configure.ac
|
||||
--- libmad-0.15.1b-orig/configure.ac 2007-06-30 20:22:31.000000000 -0600
|
||||
+++ libmad-0.15.1b/configure.ac 2007-06-30 20:25:31.000000000 -0600
|
||||
@@ -122,74 +122,74 @@
|
||||
esac
|
||||
done
|
||||
|
||||
-if test "$GCC" = yes
|
||||
-then
|
||||
- if test -z "$arch"
|
||||
- then
|
||||
- case "$host" in
|
||||
- i386-*) ;;
|
||||
- i?86-*) arch="-march=i486" ;;
|
||||
- arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;;
|
||||
- armv4*-*) arch="-march=armv4 -mtune=strongarm" ;;
|
||||
- powerpc-*) ;;
|
||||
- mips*-agenda-*) arch="-mcpu=vr4100" ;;
|
||||
- mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
|
||||
- esac
|
||||
- fi
|
||||
-
|
||||
- case "$optimize" in
|
||||
- -O|"-O "*)
|
||||
- optimize="-O"
|
||||
- optimize="$optimize -fforce-mem"
|
||||
- optimize="$optimize -fforce-addr"
|
||||
- : #x optimize="$optimize -finline-functions"
|
||||
- : #- optimize="$optimize -fstrength-reduce"
|
||||
- optimize="$optimize -fthread-jumps"
|
||||
- optimize="$optimize -fcse-follow-jumps"
|
||||
- optimize="$optimize -fcse-skip-blocks"
|
||||
- : #x optimize="$optimize -frerun-cse-after-loop"
|
||||
- : #x optimize="$optimize -frerun-loop-opt"
|
||||
- : #x optimize="$optimize -fgcse"
|
||||
- optimize="$optimize -fexpensive-optimizations"
|
||||
- optimize="$optimize -fregmove"
|
||||
- : #* optimize="$optimize -fdelayed-branch"
|
||||
- : #x optimize="$optimize -fschedule-insns"
|
||||
- optimize="$optimize -fschedule-insns2"
|
||||
- : #? optimize="$optimize -ffunction-sections"
|
||||
- : #? optimize="$optimize -fcaller-saves"
|
||||
- : #> optimize="$optimize -funroll-loops"
|
||||
- : #> optimize="$optimize -funroll-all-loops"
|
||||
- : #x optimize="$optimize -fmove-all-movables"
|
||||
- : #x optimize="$optimize -freduce-all-givs"
|
||||
- : #? optimize="$optimize -fstrict-aliasing"
|
||||
- : #* optimize="$optimize -fstructure-noalias"
|
||||
-
|
||||
- case "$host" in
|
||||
- arm*-*)
|
||||
- optimize="$optimize -fstrength-reduce"
|
||||
- ;;
|
||||
- mips*-*)
|
||||
- optimize="$optimize -fstrength-reduce"
|
||||
- optimize="$optimize -finline-functions"
|
||||
- ;;
|
||||
- i?86-*)
|
||||
- optimize="$optimize -fstrength-reduce"
|
||||
- ;;
|
||||
- powerpc-apple-*)
|
||||
- # this triggers an internal compiler error with gcc2
|
||||
- : #optimize="$optimize -fstrength-reduce"
|
||||
-
|
||||
- # this is really only beneficial with gcc3
|
||||
- : #optimize="$optimize -finline-functions"
|
||||
- ;;
|
||||
- *)
|
||||
- # this sometimes provokes bugs in gcc 2.95.2
|
||||
- : #optimize="$optimize -fstrength-reduce"
|
||||
- ;;
|
||||
- esac
|
||||
- ;;
|
||||
- esac
|
||||
-fi
|
||||
+#if test "$GCC" = yes
|
||||
+#then
|
||||
+# if test -z "$arch"
|
||||
+# then
|
||||
+# case "$host" in
|
||||
+# i386-*) ;;
|
||||
+# i?86-*) arch="-march=i486" ;;
|
||||
+# arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;;
|
||||
+# armv4*-*) arch="-march=armv4 -mtune=strongarm" ;;
|
||||
+# powerpc-*) ;;
|
||||
+# mips*-agenda-*) arch="-mcpu=vr4100" ;;
|
||||
+# mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
|
||||
+# esac
|
||||
+# fi
|
||||
+#
|
||||
+# case "$optimize" in
|
||||
+# -O|"-O "*)
|
||||
+# optimize="-O"
|
||||
+# optimize="$optimize -fforce-mem"
|
||||
+# optimize="$optimize -fforce-addr"
|
||||
+# : #x optimize="$optimize -finline-functions"
|
||||
+# : #- optimize="$optimize -fstrength-reduce"
|
||||
+# optimize="$optimize -fthread-jumps"
|
||||
+# optimize="$optimize -fcse-follow-jumps"
|
||||
+# optimize="$optimize -fcse-skip-blocks"
|
||||
+# : #x optimize="$optimize -frerun-cse-after-loop"
|
||||
+# : #x optimize="$optimize -frerun-loop-opt"
|
||||
+# : #x optimize="$optimize -fgcse"
|
||||
+# optimize="$optimize -fexpensive-optimizations"
|
||||
+# optimize="$optimize -fregmove"
|
||||
+# : #* optimize="$optimize -fdelayed-branch"
|
||||
+# : #x optimize="$optimize -fschedule-insns"
|
||||
+# optimize="$optimize -fschedule-insns2"
|
||||
+# : #? optimize="$optimize -ffunction-sections"
|
||||
+# : #? optimize="$optimize -fcaller-saves"
|
||||
+# : #> optimize="$optimize -funroll-loops"
|
||||
+# : #> optimize="$optimize -funroll-all-loops"
|
||||
+# : #x optimize="$optimize -fmove-all-movables"
|
||||
+# : #x optimize="$optimize -freduce-all-givs"
|
||||
+# : #? optimize="$optimize -fstrict-aliasing"
|
||||
+# : #* optimize="$optimize -fstructure-noalias"
|
||||
+#
|
||||
+# case "$host" in
|
||||
+# arm*-*)
|
||||
+# optimize="$optimize -fstrength-reduce"
|
||||
+# ;;
|
||||
+# mips*-*)
|
||||
+# optimize="$optimize -fstrength-reduce"
|
||||
+# optimize="$optimize -finline-functions"
|
||||
+# ;;
|
||||
+# i?86-*)
|
||||
+# optimize="$optimize -fstrength-reduce"
|
||||
+# ;;
|
||||
+# powerpc-apple-*)
|
||||
+# # this triggers an internal compiler error with gcc2
|
||||
+# : #optimize="$optimize -fstrength-reduce"
|
||||
+#
|
||||
+# # this is really only beneficial with gcc3
|
||||
+# : #optimize="$optimize -finline-functions"
|
||||
+# ;;
|
||||
+# *)
|
||||
+# # this sometimes provokes bugs in gcc 2.95.2
|
||||
+# : #optimize="$optimize -fstrength-reduce"
|
||||
+# ;;
|
||||
+# esac
|
||||
+# ;;
|
||||
+# esac
|
||||
+#fi
|
||||
|
||||
case "$host" in
|
||||
mips*-agenda-*)
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -31,5 +31,3 @@ PKG_LONGDESC="libmodplug renders mod music files as raw audio data, for playing
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared"
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -17,11 +17,11 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libogg"
|
||||
PKG_VERSION="1.3.2"
|
||||
PKG_VERSION="1.3.1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="BSD"
|
||||
PKG_SITE="https://www.xiph.org/ogg/"
|
||||
PKG_SITE="http://www.xiph.org/ogg/"
|
||||
PKG_URL="http://downloads.xiph.org/releases/ogg/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC 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.
|
||||
#
|
||||
# OpenELEC 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. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libopenmpt"
|
||||
PKG_VERSION="0.2.5787-beta16"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="BSD"
|
||||
PKG_SITE="http://lib.openmpt.org/libopenmpt/"
|
||||
PKG_URL="http://lib.openmpt.org/files/libopenmpt/src/${PKG_NAME}-${PKG_VERSION}-autotools.tar.gz"
|
||||
PKG_SOURCE_DIR="${PKG_NAME}-${PKG_VERSION//-beta*/}-autotools"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
PKG_SHORTDESC="libopenmpt: renders mod music files as raw audio data, for playing or conversion."
|
||||
PKG_LONGDESC="libopenmpt renders mod music files as raw audio data, for playing or conversion."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-static \
|
||||
--disable-shared \
|
||||
--without-portaudio \
|
||||
--without-portaudiocpp"
|
||||
@@ -1,48 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC 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.
|
||||
#
|
||||
# OpenELEC 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. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libsndfile"
|
||||
PKG_VERSION="1.0.25"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPL"
|
||||
PKG_SITE="http://www.mega-nerd.com/libsndfile/"
|
||||
PKG_URL="http://www.mega-nerd.com/$PKG_NAME/files/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain alsa-lib flac libvorbis libogg"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
PKG_SHORTDESC="libsndfile: A library for accessing various audio file formats"
|
||||
PKG_LONGDESC="libsndfile is a C library for reading and writing sound files such as AIFF, AU, WAV, and others through one standard interface. It can currently read/write 8, 16, 24 and 32-bit PCM files as well as 32 and 64-bit floating point WAV files and a number of compressed formats. It compiles and runs on *nix, MacOS, and Win32."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
# package specific configure options
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared \
|
||||
--disable-silent-rules \
|
||||
--disable-sqlite \
|
||||
--enable-alsa \
|
||||
--enable-external-libs \
|
||||
--disable-experimental \
|
||||
--disable-test-coverage \
|
||||
--enable-largefile \
|
||||
--with-gnu-ld"
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
diff -Naur libsndfile-1.0.25-old/configure.ac libsndfile-1.0.25-new/configure.ac
|
||||
--- libsndfile-1.0.25-old/configure.ac 2011-07-13 01:59:57.000000000 -0700
|
||||
+++ libsndfile-1.0.25-new/configure.ac 2011-07-13 17:04:14.000000000 -0700
|
||||
@@ -18,9 +18,6 @@
|
||||
AM_INIT_AUTOMAKE($PACKAGE_NAME,$PACKAGE_VERSION)
|
||||
AM_SILENT_RULES([yes])
|
||||
|
||||
-dnl Add parameters for aclocal
|
||||
-AC_SUBST(ACLOCAL_AMFLAGS, "-I M4")
|
||||
-
|
||||
AC_LANG([C])
|
||||
|
||||
AC_PROG_CC
|
||||
diff -Naur libsndfile-1.0.25-old/Makefile.am libsndfile-1.0.25-new/Makefile.am
|
||||
--- libsndfile-1.0.25-old/Makefile.am 2011-07-07 02:47:24.000000000 -0700
|
||||
+++ libsndfile-1.0.25-new/Makefile.am 2011-07-13 17:04:14.000000000 -0700
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
DISTCHECK_CONFIGURE_FLAGS = --enable-gcc-werror
|
||||
|
||||
+ACLOCAL_AMFLAGS = -I M4
|
||||
+
|
||||
if BUILD_OCTAVE_MOD
|
||||
octave_dir = Octave
|
||||
endif
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libvorbis"
|
||||
PKG_VERSION="1.3.5"
|
||||
PKG_VERSION="1.3.4"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="BSD"
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
Files have to have the .conf file name extension, but otherwise the file names can be
|
||||
chosen freely. The files under pulse-daemon.conf.d are processed in alphabetical order.
|
||||
In case the same option is set in multiple files, the last file to set an option
|
||||
overrides earlier files. The main daemon.conf file is processed first, so
|
||||
options set in files under pulse-daemon.conf.d override the main file.
|
||||
@@ -1,33 +0,0 @@
|
||||
<?xml version="1.0"?><!--*-nxml-*-->
|
||||
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
|
||||
|
||||
<!--
|
||||
This file is part of PulseAudio.
|
||||
|
||||
PulseAudio is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
PulseAudio 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 Lesser General
|
||||
Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<busconfig>
|
||||
|
||||
<!-- System-wide PulseAudio runs as 'root' user. This fragment is
|
||||
not necessary for user PulseAudio instances. -->
|
||||
|
||||
<policy user="root">
|
||||
<allow own="org.pulseaudio.Server"/>
|
||||
<allow send_destination="org.pulseaudio.Server"/>
|
||||
<allow receive_sender="org.pulseaudio.Server"/>
|
||||
</policy>
|
||||
|
||||
</busconfig>
|
||||
@@ -1,69 +0,0 @@
|
||||
#!/usr/bin/pulseaudio -nF
|
||||
#
|
||||
# This file is part of PulseAudio.
|
||||
#
|
||||
# PulseAudio is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# PulseAudio 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 Lesser General Public License
|
||||
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# This startup script is used only if PulseAudio is started in system
|
||||
# mode.
|
||||
|
||||
### Load several protocols
|
||||
.ifexists module-esound-protocol-unix.so
|
||||
load-module module-esound-protocol-unix
|
||||
.endif
|
||||
load-module module-native-protocol-unix
|
||||
|
||||
### Automatically restore the volume of streams and devices
|
||||
load-module module-stream-restore
|
||||
load-module module-device-restore
|
||||
|
||||
### Automatically restore the default sink/source when changed by the user
|
||||
### during runtime
|
||||
### NOTE: This should be loaded as early as possible so that subsequent modules
|
||||
### that look up the default sink/source get the right value
|
||||
load-module module-default-device-restore
|
||||
|
||||
### Automatically move streams to the default sink if the sink they are
|
||||
### connected to dies, similar for sources
|
||||
load-module module-rescue-streams
|
||||
|
||||
### Make sure we always have a sink around, even if it is a null sink.
|
||||
load-module module-always-sink
|
||||
|
||||
### Automatically suspend sinks/sources that become idle for too long
|
||||
load-module module-suspend-on-idle
|
||||
|
||||
### Enable positioned event sounds
|
||||
load-module module-position-event-sounds
|
||||
|
||||
### Automatically load modules for dbus
|
||||
.ifexists module-dbus-protocol.so
|
||||
load-module module-dbus-protocol
|
||||
.endif
|
||||
|
||||
### Automatically load modules for bluetooth
|
||||
.ifexists module-bluetooth-policy.so
|
||||
load-module module-bluetooth-policy
|
||||
.endif
|
||||
|
||||
.ifexists module-bluetooth-discover.so
|
||||
load-module module-bluetooth-discover
|
||||
.endif
|
||||
|
||||
.ifexists module-zeroconf-publish.so
|
||||
load-module module-zeroconf-publish
|
||||
.endif
|
||||
|
||||
load-module module-native-protocol-tcp auth-anonymous=1
|
||||
load-module module-switch-on-connect
|
||||
@@ -1,120 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC 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.
|
||||
#
|
||||
# OpenELEC 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. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="pulseaudio"
|
||||
PKG_VERSION="8.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://pulseaudio.org/"
|
||||
PKG_URL="http://www.freedesktop.org/software/pulseaudio/releases/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain libtool json-c alsa-lib libsndfile soxr dbus systemd libressl libcap"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
PKG_SHORTDESC="pulseaudio: Yet another sound server for Unix"
|
||||
PKG_LONGDESC="PulseAudio is a sound server for Linux and other Unix-like operating systems. It is intended to be an improved drop-in replacement for the Enlightened Sound Daemon (esound or esd). In addition to the features esound provides, PulseAudio has an extensible plugin architecture, support for more than one sink per source, better low-latency behavior, the ability to be embedded into other software, a completely asynchronous C API, a simple command line interface for reconfiguring the daemon while running, flexible and implicit sample type conversion and resampling, and a "Zero-Copy" architecture."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
|
||||
# broken
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
if [ "$BLUETOOTH_SUPPORT" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET sbc"
|
||||
PULSEAUDIO_BLUETOOTH="--enable-bluez5"
|
||||
else
|
||||
PULSEAUDIO_BLUETOOTH="--disable-bluez5"
|
||||
fi
|
||||
|
||||
if [ "$AVAHI_DAEMON" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET avahi"
|
||||
PULSEAUDIO_AVAHI="--enable-avahi"
|
||||
else
|
||||
PULSEAUDIO_AVAHI="--disable-avahi"
|
||||
fi
|
||||
|
||||
# package specific configure options
|
||||
PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules \
|
||||
--disable-nls \
|
||||
--enable-largefile \
|
||||
--disable-rpath \
|
||||
--disable-x11 \
|
||||
--disable-tests \
|
||||
--disable-samplerate \
|
||||
--disable-oss-output \
|
||||
--disable-oss-wrapper \
|
||||
--disable-coreaudio-output \
|
||||
--enable-alsa \
|
||||
--disable-esound \
|
||||
--disable-solaris \
|
||||
--disable-waveout \
|
||||
--disable-glib2 \
|
||||
--disable-gtk3 \
|
||||
--disable-gconf \
|
||||
$PULSEAUDIO_AVAHI \
|
||||
--disable-jack \
|
||||
--disable-asyncns \
|
||||
--disable-tcpwrap \
|
||||
--disable-lirc \
|
||||
--enable-dbus \
|
||||
--disable-bluez4 \
|
||||
$PULSEAUDIO_BLUETOOTH \
|
||||
--disable-bluez5-ofono-headset \
|
||||
--disable-bluez5-native-headset \
|
||||
--enable-udev \
|
||||
--with-udev-rules-dir=/usr/lib/udev/rules.d
|
||||
--disable-hal-compat \
|
||||
--enable-ipv6 \
|
||||
--enable-openssl \
|
||||
--disable-xen \
|
||||
--disable-orc \
|
||||
--disable-manpages \
|
||||
--disable-per-user-esound-socket \
|
||||
--disable-default-build-tests \
|
||||
--disable-legacy-database-entry-format \
|
||||
--with-system-user=root \
|
||||
--with-system-group=root \
|
||||
--with-access-group=root \
|
||||
--without-caps \
|
||||
--without-fftw \
|
||||
--without-speex \
|
||||
--with-soxr \
|
||||
--with-module-dir=/usr/lib/pulse"
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin/esdcompat
|
||||
rm -rf $INSTALL/usr/include
|
||||
rm -rf $INSTALL/usr/lib/cmake
|
||||
rm -rf $INSTALL/usr/lib/pkgconfig
|
||||
rm -rf $INSTALL/usr/lib/systemd
|
||||
rm -rf $INSTALL/usr/share/vala
|
||||
rm -rf $INSTALL/usr/share/zsh
|
||||
rm -rf $INSTALL/usr/share/bash-completion
|
||||
|
||||
cp $PKG_DIR/config/system.pa $INSTALL/etc/pulse/
|
||||
cp $PKG_DIR/config/pulseaudio-system.conf $INSTALL/etc/dbus-1/system.d/
|
||||
|
||||
mkdir -p $INSTALL/usr/config
|
||||
cp -PR $PKG_DIR/config/pulse-daemon.conf.d $INSTALL/usr/config
|
||||
|
||||
ln -sf /storage/.config/pulse-daemon.conf.d $INSTALL/etc/pulse/daemon.conf.d
|
||||
}
|
||||
|
||||
post_install() {
|
||||
enable_service pulseaudio.service
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
From c9d7dcaa87f9ada49d75483a7c604dba27a0d71a Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <[email protected]>
|
||||
Date: Tue, 7 Jan 2014 13:22:48 +0200
|
||||
Subject: [PATCH] never append -dirty to server/module version
|
||||
|
||||
---
|
||||
git-version-gen | 1 +
|
||||
1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/git-version-gen b/git-version-gen
|
||||
index 9d65b80..fcf11fd 100755
|
||||
--- a/git-version-gen
|
||||
+++ b/git-version-gen
|
||||
@@ -152,6 +152,7 @@ v=`echo "$v" |sed 's/^v//'`
|
||||
git status > /dev/null 2>&1
|
||||
|
||||
dirty=`sh -c 'git diff-index --name-only HEAD' 2>/dev/null` || dirty=
|
||||
+dirty=
|
||||
case "$dirty" in
|
||||
'') ;;
|
||||
*) # Append the suffix only if there isn't one already.
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
--- pulseaudio-4.0.orig/src/pulsecore/core-util.c 2014-01-12 23:31:26.281525000 -0800
|
||||
+++ pulseaudio-4.0/src/pulsecore/core-util.c 2014-01-12 23:32:32.977118803 -0800
|
||||
@@ -1524,10 +1524,6 @@
|
||||
if (stat(p, &st) < 0)
|
||||
return -errno;
|
||||
|
||||
-#ifdef HAVE_GETUID
|
||||
- if (st.st_uid != getuid())
|
||||
- return -EACCES;
|
||||
-#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/build-aux/ltmain.sh b/build-aux/ltmain.sh
|
||||
index 63ae69d..cfde522 100644
|
||||
--- a/build-aux/ltmain.sh
|
||||
+++ b/build-aux/ltmain.sh
|
||||
@@ -6918,7 +6918,7 @@ func_mode_link ()
|
||||
fi
|
||||
else
|
||||
# We cannot seem to hardcode it, guess we'll fake it.
|
||||
- add_dir="-L$libdir"
|
||||
+ #add_dir="-L$libdir"
|
||||
# Try looking first in the location we're being installed to.
|
||||
if test -n "$inst_prefix_dir"; then
|
||||
case $libdir in
|
||||
@@ -1,19 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC 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.
|
||||
#
|
||||
# OpenELEC 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. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/pulseaudio"
|
||||
@@ -1,14 +0,0 @@
|
||||
[Unit]
|
||||
Description=PulseAudio Sound System
|
||||
After=syslog.target local-fs.target
|
||||
|
||||
[Service]
|
||||
Restart=on-failure
|
||||
ExecStart=/usr/bin/pulseaudio --system
|
||||
TimeoutStopSec=1s
|
||||
RestartSec=2
|
||||
StartLimitInterval=60
|
||||
StartLimitBurst=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -1,36 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC 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.
|
||||
#
|
||||
# OpenELEC 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. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="sbc"
|
||||
PKG_VERSION="1.3"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.bluez.org/"
|
||||
PKG_URL="http://www.kernel.org/pub/linux/bluetooth/sbc-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="network"
|
||||
PKG_SHORTDESC="sbc: standalone SBC library"
|
||||
PKG_LONGDESC="standalone SBC library"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared \
|
||||
--disable-tools --disable-tester"
|
||||
@@ -1,41 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC 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.
|
||||
#
|
||||
# OpenELEC 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. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="sidplay-libs"
|
||||
PKG_VERSION="2.1.1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://sidplay2.sourceforge.net/"
|
||||
PKG_URL="http://mirrors.xbmc.org/build-deps/sources/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
PKG_SHORTDESC="sidplay-libs"
|
||||
PKG_LONGDESC="sidplay-libs"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--disable-shared --enable-static"
|
||||
|
||||
pre_configure_target() {
|
||||
# fails to build in subdirs
|
||||
cd $ROOT/$PKG_BUILD
|
||||
rm -rf .$TARGET_NAME
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
--- sidplay-libs-2.1.1/libsidplay/unix/my_macros.m4.orig 2004-06-14 22:08:04.000000000 +0200
|
||||
+++ sidplay-libs-2.1.1/libsidplay/unix/my_macros.m4 2013-11-18 01:23:32.195297135 +0100
|
||||
@@ -80,8 +80,8 @@
|
||||
AC_CACHE_VAL(test_cv_have_ios_binary,
|
||||
[
|
||||
AC_TRY_COMPILE(
|
||||
- [#include <fstream.h>],
|
||||
- [ifstream myTest(ios::in|ios::binary);],
|
||||
+ [#include <fstream>],
|
||||
+ [std::ifstream myTest(std::ios::in|std::ios::binary);],
|
||||
[test_cv_have_ios_binary=yes],
|
||||
[test_cv_have_ios_binary=no]
|
||||
)
|
||||
@@ -105,9 +105,9 @@
|
||||
AC_CACHE_VAL(test_cv_have_ios_openmode,
|
||||
[
|
||||
AC_TRY_COMPILE(
|
||||
- [#include <fstream.h>
|
||||
- #include <iomanip.h>],
|
||||
- [ios::openmode myTest = ios::in;],
|
||||
+ [#include <fstream>
|
||||
+ #include <iomanip>],
|
||||
+ [std::ios_base::openmode myTest = std::ios::in;],
|
||||
[test_cv_have_ios_openmode=yes],
|
||||
[test_cv_have_ios_openmode=no]
|
||||
)
|
||||
@@ -1,26 +0,0 @@
|
||||
--- sidplay-libs-2.1.1/libsidplay/include/sidplay/SmartPtr.h.old 2013-11-18 00:40:16.679173012 +0100
|
||||
+++ sidplay-libs-2.1.1/libsidplay/include/sidplay/SmartPtr.h 2013-11-18 00:41:22.451176157 +0100
|
||||
@@ -211,16 +211,16 @@
|
||||
{
|
||||
if ( bufferLen >= 1 )
|
||||
{
|
||||
- pBufCurrent = ( bufBegin = buffer );
|
||||
- bufEnd = bufBegin + bufferLen;
|
||||
- bufLen = bufferLen;
|
||||
- status = true;
|
||||
+ this->pBufCurrent = ( this->bufBegin = buffer );
|
||||
+ this->bufEnd = this->bufBegin + bufferLen;
|
||||
+ this->bufLen = bufferLen;
|
||||
+ this->status = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
- pBufCurrent = bufBegin = bufEnd = 0;
|
||||
- bufLen = 0;
|
||||
- status = false;
|
||||
+ this->pBufCurrent = this->bufBegin = this->bufEnd = 0;
|
||||
+ this->bufLen = 0;
|
||||
+ this->status = false;
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -1,11 +0,0 @@
|
||||
--- sidplay-libs-2.1.1/libsidutils/include/sidplay/utils/SidUsage.h.orig 2013-11-18 00:58:06.111224154 +0100
|
||||
+++ sidplay-libs-2.1.1/libsidutils/include/sidplay/utils/SidUsage.h 2013-11-18 00:58:28.219225212 +0100
|
||||
@@ -33,7 +33,7 @@
|
||||
uint_least16_t length; // usage scan length
|
||||
|
||||
// Copy common parts of basic usage to extended usage.
|
||||
- sid2_usage_t &sid2_usage_t::operator= (const sid_usage_t &usage)
|
||||
+ sid2_usage_t &operator= (const sid_usage_t &usage)
|
||||
{
|
||||
*((sid_usage_t *) this) = usage;
|
||||
return *this;
|
||||
@@ -1,30 +0,0 @@
|
||||
--- sidplay-libs-2.1.1/builders/hardsid-builder/src/hardsid-builder.cpp.orig 2004-06-14 22:07:57.000000000 +0200
|
||||
+++ sidplay-libs-2.1.1/builders/hardsid-builder/src/hardsid-builder.cpp 2013-11-18 01:01:50.399234880 +0100
|
||||
@@ -55,6 +55,7 @@
|
||||
|
||||
#include "hardsid.h"
|
||||
#include "hardsid-emu.h"
|
||||
+#include <string.h>
|
||||
|
||||
|
||||
#ifdef HAVE_MSWINDOWS
|
||||
--- sidplay-libs-2.1.1/builders/resid-builder/src/resid.cpp.orig 2013-11-18 01:00:07.827229975 +0100
|
||||
+++ sidplay-libs-2.1.1/builders/resid-builder/src/resid.cpp 2013-11-18 01:00:21.563230632 +0100
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
#include "resid.h"
|
||||
#include "resid-emu.h"
|
||||
+#include <string.h>
|
||||
|
||||
|
||||
char ReSID::m_credit[];
|
||||
--- sidplay-libs-2.1.1/builders/resid-builder/src/resid-builder.cpp.orig 2013-11-18 01:00:39.727231501 +0100
|
||||
+++ sidplay-libs-2.1.1/builders/resid-builder/src/resid-builder.cpp 2013-11-18 01:00:57.415232346 +0100
|
||||
@@ -45,6 +45,7 @@
|
||||
|
||||
#include "resid.h"
|
||||
#include "resid-emu.h"
|
||||
+#include <string.h>
|
||||
|
||||
// Error String(s)
|
||||
const char *ReSIDBuilder::ERR_FILTER_DEFINITION = "RESID ERROR: Filter definition is not valid (see docs).";
|
||||
@@ -1,54 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC 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.
|
||||
#
|
||||
# OpenELEC 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. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="soxr"
|
||||
PKG_VERSION="0.1.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPL"
|
||||
PKG_SITE="http://sourceforge.net/p/soxr/wiki/Home/"
|
||||
PKG_URL="$SOURCEFORGE_SRC/soxr/$PKG_NAME-$PKG_VERSION-Source.tar.xz"
|
||||
PKG_SOURCE_DIR="$PKG_NAME-$PKG_VERSION-Source"
|
||||
PKG_DEPENDS_TARGET="toolchain cmake:host"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
PKG_SHORTDESC="soxr: a library which performs one-dimensional sample-rate conversion."
|
||||
PKG_LONGDESC="The SoX Resampler library performs one-dimensional sample-rate conversion. it may be used, for example, to resample PCM-encoded audio."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
# package specific configure options
|
||||
configure_target() {
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DHAVE_WORDS_BIGENDIAN_EXITCODE=1 \
|
||||
-DBUILD_TESTS=0 \
|
||||
-DBUILD_EXAMPLES=1 \
|
||||
-DBUILD_SHARED_LIBS=OFF ..
|
||||
}
|
||||
|
||||
#post_makeinstall_target() {
|
||||
# rm -rf $INSTALL/usr/bin
|
||||
# # pkgconf hack
|
||||
# $SED "s:\(['=\" ]\)/usr:\\1$SYSROOT_PREFIX/usr:g" $SYSROOT_PREFIX/usr/bin/taglib-config
|
||||
# $SED "s:\([':\" ]\)-I/usr:\\1-I$SYSROOT_PREFIX/usr:g" $SYSROOT_PREFIX/usr/lib/pkgconfig/taglib.pc
|
||||
# $SED "s:\([':\" ]\)-L/usr:\\1-L$SYSROOT_PREFIX/usr:g" $SYSROOT_PREFIX/usr/lib/pkgconfig/taglib.pc
|
||||
# $SED "s:\([':\" ]\)-I/usr:\\1-I$SYSROOT_PREFIX/usr:g" $SYSROOT_PREFIX/usr/lib/pkgconfig/taglib_c.pc
|
||||
# $SED "s:\([':\" ]\)-L/usr:\\1-L$SYSROOT_PREFIX/usr:g" $SYSROOT_PREFIX/usr/lib/pkgconfig/taglib_c.pc
|
||||
#}
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="taglib"
|
||||
PKG_VERSION="1.9.1"
|
||||
PKG_VERSION="1.8"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPL"
|
||||
|
||||
@@ -1,128 +0,0 @@
|
||||
From 4a7d31c87bf41c1de21cb725176d5b34c2a95720 Mon Sep 17 00:00:00 2001
|
||||
From: Tsuda Kageyu <[email protected]>
|
||||
Date: Thu, 14 Nov 2013 14:05:32 +0900
|
||||
Subject: [PATCH] Rewrote ByteVector::replace() simpler
|
||||
|
||||
---
|
||||
taglib/toolkit/tbytevector.cpp | 77 +++++++++++++++---------------------------
|
||||
tests/test_bytevector.cpp | 5 +++
|
||||
2 files changed, 33 insertions(+), 49 deletions(-)
|
||||
|
||||
diff --git a/taglib/toolkit/tbytevector.cpp b/taglib/toolkit/tbytevector.cpp
|
||||
index b658246..566a20f 100644
|
||||
--- a/taglib/toolkit/tbytevector.cpp
|
||||
+++ b/taglib/toolkit/tbytevector.cpp
|
||||
@@ -31,6 +31,7 @@
|
||||
#include <iostream>
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
+#include <cstddef>
|
||||
|
||||
#include <tstring.h>
|
||||
#include <tdebug.h>
|
||||
@@ -508,62 +509,40 @@ ByteVector &ByteVector::replace(const ByteVector &pattern, const ByteVector &wit
|
||||
if(pattern.size() == 0 || pattern.size() > size())
|
||||
return *this;
|
||||
|
||||
- const uint withSize = with.size();
|
||||
- const uint patternSize = pattern.size();
|
||||
- int offset = 0;
|
||||
+ const size_t withSize = with.size();
|
||||
+ const size_t patternSize = pattern.size();
|
||||
+ const ptrdiff_t diff = withSize - patternSize;
|
||||
+
|
||||
+ size_t offset = 0;
|
||||
+ while (true)
|
||||
+ {
|
||||
+ offset = find(pattern, offset);
|
||||
+ if(offset == static_cast<size_t>(-1)) // Use npos in taglib2.
|
||||
+ break;
|
||||
|
||||
- if(withSize == patternSize) {
|
||||
- // I think this case might be common enough to optimize it
|
||||
detach();
|
||||
- offset = find(pattern);
|
||||
- while(offset >= 0) {
|
||||
- ::memcpy(data() + offset, with.data(), withSize);
|
||||
- offset = find(pattern, offset + withSize);
|
||||
- }
|
||||
- return *this;
|
||||
- }
|
||||
|
||||
- // calculate new size:
|
||||
- uint newSize = 0;
|
||||
- for(;;) {
|
||||
- int next = find(pattern, offset);
|
||||
- if(next < 0) {
|
||||
- if(offset == 0)
|
||||
- // pattern not found, do nothing:
|
||||
- return *this;
|
||||
- newSize += size() - offset;
|
||||
- break;
|
||||
+ if(diff < 0) {
|
||||
+ ::memmove(
|
||||
+ data() + offset + withSize,
|
||||
+ data() + offset + patternSize,
|
||||
+ size() - offset - patternSize);
|
||||
+ resize(size() + diff);
|
||||
}
|
||||
- newSize += (next - offset) + withSize;
|
||||
- offset = next + patternSize;
|
||||
- }
|
||||
-
|
||||
- // new private data of appropriate size:
|
||||
- ByteVectorPrivate *newData = new ByteVectorPrivate(newSize, 0);
|
||||
- char *target = DATA(newData);
|
||||
- const char *source = data();
|
||||
-
|
||||
- // copy modified data into new private data:
|
||||
- offset = 0;
|
||||
- for(;;) {
|
||||
- int next = find(pattern, offset);
|
||||
- if(next < 0) {
|
||||
- ::memcpy(target, source + offset, size() - offset);
|
||||
- break;
|
||||
+ else if(diff > 0) {
|
||||
+ resize(size() + diff);
|
||||
+ ::memmove(
|
||||
+ data() + offset + withSize,
|
||||
+ data() + offset + patternSize,
|
||||
+ size() - diff - offset - patternSize);
|
||||
}
|
||||
- int chunkSize = next - offset;
|
||||
- ::memcpy(target, source + offset, chunkSize);
|
||||
- target += chunkSize;
|
||||
- ::memcpy(target, with.data(), withSize);
|
||||
- target += withSize;
|
||||
- offset += chunkSize + patternSize;
|
||||
- }
|
||||
|
||||
- // replace private data:
|
||||
- if(d->deref())
|
||||
- delete d;
|
||||
+ ::memcpy(data() + offset, with.data(), with.size());
|
||||
|
||||
- d = newData;
|
||||
+ offset += withSize;
|
||||
+ if(offset > size() - patternSize)
|
||||
+ break;
|
||||
+ }
|
||||
|
||||
return *this;
|
||||
}
|
||||
diff --git a/tests/test_bytevector.cpp b/tests/test_bytevector.cpp
|
||||
index 9efd23a..eca74f8 100644
|
||||
--- a/tests/test_bytevector.cpp
|
||||
+++ b/tests/test_bytevector.cpp
|
||||
@@ -239,6 +239,11 @@ class TestByteVector : public CppUnit::TestFixture
|
||||
a.replace(ByteVector("ab"), ByteVector());
|
||||
CPPUNIT_ASSERT_EQUAL(ByteVector("cdf"), a);
|
||||
}
|
||||
+ {
|
||||
+ ByteVector a("abcdabf");
|
||||
+ a.replace(ByteVector("bf"), ByteVector("x"));
|
||||
+ CPPUNIT_ASSERT_EQUAL(ByteVector("abcdax"), a);
|
||||
+ }
|
||||
}
|
||||
|
||||
};
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="xz"
|
||||
PKG_VERSION="5.2.1"
|
||||
PKG_VERSION="5.2.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="sqlite"
|
||||
PKG_VERSION="autoconf-3080803"
|
||||
PKG_VERSION="autoconf-3080800"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="PublicDomain"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="vdpauinfo"
|
||||
PKG_VERSION="1.0"
|
||||
PKG_VERSION="0.9"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="bison"
|
||||
PKG_VERSION="3.0.4"
|
||||
PKG_VERSION="3.0.3"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -34,7 +34,7 @@ PKG_AUTORECONF="no"
|
||||
|
||||
configure_host() {
|
||||
../configure --prefix=$ROOT/$TOOLCHAIN \
|
||||
--no-qt-gui --no-system-libs \
|
||||
--no-qt-gui \
|
||||
-- \
|
||||
-DBUILD_CursesDialog=0
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="dbus-glib"
|
||||
PKG_VERSION="0.104"
|
||||
PKG_VERSION="0.102"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -17,12 +17,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="glib"
|
||||
PKG_VERSION="2.42.2"
|
||||
PKG_VERSION="2.40.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPL"
|
||||
PKG_SITE="http://www.gtk.org/"
|
||||
PKG_URL="http://ftp.gnome.org/pub/gnome/sources/glib/2.42/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_URL="http://ftp.gnome.org/pub/gnome/sources/glib/2.40/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain zlib libffi pcre Python:host"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
#
|
||||
# For sites which prefer IPv4 connections change the last line to
|
||||
#
|
||||
#precedence ::ffff:0:0/96 100
|
||||
precedence ::ffff:0:0/96 100
|
||||
|
||||
#
|
||||
# scopev4 <mask> <value>
|
||||
@@ -60,6 +60,6 @@
|
||||
# used. Changing these defaults should hardly ever be necessary.
|
||||
# The defaults are equivalent to:
|
||||
#
|
||||
#scopev4 ::ffff:169.254.0.0/112 2
|
||||
#scopev4 ::ffff:127.0.0.0/104 2
|
||||
#scopev4 ::ffff:0.0.0.0/96 14
|
||||
scopev4 ::ffff:169.254.0.0/112 2
|
||||
scopev4 ::ffff:127.0.0.0/104 2
|
||||
scopev4 ::ffff:0.0.0.0/96 14
|
||||
@@ -17,12 +17,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="glibc"
|
||||
PKG_VERSION="2.22"
|
||||
PKG_VERSION="2.20"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.gnu.org/software/libc/"
|
||||
PKG_URL="http://ftp.gnu.org/pub/gnu/glibc/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_URL="ftp://ftp.gnu.org/pub/gnu/glibc/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="ccache:host autotools:host autoconf:host linux:host gcc:bootstrap"
|
||||
PKG_DEPENDS_INIT="glibc"
|
||||
PKG_PRIORITY="optional"
|
||||
@@ -85,10 +85,6 @@ pre_configure_target() {
|
||||
export CFLAGS=`echo $CFLAGS | sed -e "s|-Ofast|-O2|g"`
|
||||
export CFLAGS=`echo $CFLAGS | sed -e "s|-O.|-O2|g"`
|
||||
|
||||
if [ -n "$PROJECT_CFLAGS" ]; then
|
||||
export CFLAGS=`echo $CFLAGS | sed -e "s|$PROJECT_CFLAGS||g"`
|
||||
fi
|
||||
|
||||
export LDFLAGS=`echo $LDFLAGS | sed -e "s|-ffast-math||g"`
|
||||
export LDFLAGS=`echo $LDFLAGS | sed -e "s|-Ofast|-O2|g"`
|
||||
export LDFLAGS=`echo $LDFLAGS | sed -e "s|-O.|-O2|g"`
|
||||
@@ -139,13 +135,10 @@ post_makeinstall_target() {
|
||||
|
||||
# remove locales and charmaps
|
||||
rm -rf $INSTALL/usr/share/i18n/charmaps
|
||||
rm -rf $INSTALL/usr/share/i18n/locales
|
||||
|
||||
if [ ! "$GLIBC_LOCALES" = yes ]; then
|
||||
rm -rf $INSTALL/usr/share/i18n/locales
|
||||
|
||||
mkdir -p $INSTALL/usr/share/i18n/locales
|
||||
cp -PR $ROOT/$PKG_BUILD/localedata/locales/POSIX $INSTALL/usr/share/i18n/locales
|
||||
fi
|
||||
mkdir -p $INSTALL/usr/share/i18n/locales
|
||||
cp -PR $ROOT/$PKG_BUILD/localedata/locales/POSIX $INSTALL/usr/share/i18n/locales
|
||||
|
||||
# create default configs
|
||||
mkdir -p $INSTALL/etc
|
||||
@@ -172,7 +165,6 @@ makeinstall_init() {
|
||||
cp -PR $ROOT/$PKG_BUILD/.$TARGET_NAME/elf/ld*.so* $INSTALL/lib
|
||||
cp $ROOT/$PKG_BUILD/.$TARGET_NAME/libc.so.6 $INSTALL/lib
|
||||
cp $ROOT/$PKG_BUILD/.$TARGET_NAME/nptl/libpthread.so.0 $INSTALL/lib
|
||||
cp -PR $ROOT/$PKG_BUILD/.$TARGET_NAME/rt/librt.so* $INSTALL/lib
|
||||
|
||||
if [ "$TARGET_ARCH" = "arm" -a "$TARGET_FLOAT" = "hard" ]; then
|
||||
ln -sf ld.so $INSTALL/lib/ld-linux.so.3
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
From 5c8c3123652045191474a4ca85fbb6e8d9e7d2bc Mon Sep 17 00:00:00 2001
|
||||
From: Roland McGrath <[email protected]>
|
||||
Date: Fri, 4 Sep 2015 14:37:56 -0700
|
||||
Subject: [PATCH] BZ#18921: Fix opendir inverted o_directory_works test.
|
||||
|
||||
(cherry picked from commit bd9e69abb887d78d0d6708fc089cc9f3eabf106d)
|
||||
---
|
||||
ChangeLog | 8 ++++++++
|
||||
sysdeps/posix/opendir.c | 2 +-
|
||||
2 files changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sysdeps/posix/opendir.c b/sysdeps/posix/opendir.c
|
||||
index 6509f5c..9edf056 100644
|
||||
--- a/sysdeps/posix/opendir.c
|
||||
+++ b/sysdeps/posix/opendir.c
|
||||
@@ -105,7 +105,7 @@ need_isdir_precheck (void)
|
||||
tryopen_o_directory ();
|
||||
|
||||
/* We can skip the expensive `stat' call if O_DIRECTORY works. */
|
||||
- return o_directory_works > 0;
|
||||
+ return o_directory_works < 0;
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
--
|
||||
1.9.4
|
||||
|
||||
@@ -1,206 +0,0 @@
|
||||
From 3007f797a1a596e954f44879a5a7267966186ba4 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Frysinger <[email protected]>
|
||||
Date: Fri, 28 Aug 2015 17:08:49 -0400
|
||||
Subject: [PATCH] getmntent: fix memory corruption w/blank lines [BZ #18887]
|
||||
|
||||
The fix for BZ #17273 introduced a single byte of memory corruption when
|
||||
the line is entirely blank. It would walk back past the start of the
|
||||
buffer if the heap happened to be 0x20 or 0x09 and then write a NUL byte.
|
||||
buffer = '\n';
|
||||
end_ptr = buffer;
|
||||
while (end_ptr[-1] == ' ' || end_ptr[-1] == '\t')
|
||||
end_ptr--;
|
||||
*end_ptr = '\0';
|
||||
|
||||
Fix that and rework the tests. Adding the testcase for BZ #17273 to the
|
||||
existing \040 parser does not really make sense as it's unrelated, and
|
||||
leads to confusing behavior: it implicitly relies on the new entry being
|
||||
longer than the previous entry (since it just rewinds the FILE*). Split
|
||||
it out into its own dedicated testcase instead.
|
||||
|
||||
(cherry picked from commit b0e805fa0d6fea33745952df7b7f5442ca4c374f)
|
||||
---
|
||||
ChangeLog | 10 ++++++++
|
||||
NEWS | 2 +-
|
||||
misc/Makefile | 3 ++-
|
||||
misc/mntent_r.c | 4 +++-
|
||||
misc/tst-mntent-blank-corrupt.c | 45 ++++++++++++++++++++++++++++++++++
|
||||
misc/tst-mntent-blank-passno.c | 53 +++++++++++++++++++++++++++++++++++++++++
|
||||
misc/tst-mntent.c | 20 ----------------
|
||||
7 files changed, 114 insertions(+), 23 deletions(-)
|
||||
create mode 100644 misc/tst-mntent-blank-corrupt.c
|
||||
create mode 100644 misc/tst-mntent-blank-passno.c
|
||||
|
||||
diff --git a/misc/Makefile b/misc/Makefile
|
||||
index aecb0da..2f5edf6 100644
|
||||
--- a/misc/Makefile
|
||||
+++ b/misc/Makefile
|
||||
@@ -76,7 +76,8 @@ install-lib := libg.a
|
||||
gpl2lgpl := error.c error.h
|
||||
|
||||
tests := tst-dirname tst-tsearch tst-fdset tst-efgcvt tst-mntent tst-hsearch \
|
||||
- tst-error1 tst-pselect tst-insremque tst-mntent2 bug-hsearch1
|
||||
+ tst-error1 tst-pselect tst-insremque tst-mntent2 bug-hsearch1 \
|
||||
+ tst-mntent-blank-corrupt tst-mntent-blank-passno
|
||||
ifeq ($(run-built-tests),yes)
|
||||
tests-special += $(objpfx)tst-error1-mem.out
|
||||
endif
|
||||
diff --git a/misc/mntent_r.c b/misc/mntent_r.c
|
||||
index 6159873..4f26998 100644
|
||||
--- a/misc/mntent_r.c
|
||||
+++ b/misc/mntent_r.c
|
||||
@@ -136,7 +136,9 @@ __getmntent_r (FILE *stream, struct mntent *mp, char *buffer, int bufsiz)
|
||||
end_ptr = strchr (buffer, '\n');
|
||||
if (end_ptr != NULL) /* chop newline */
|
||||
{
|
||||
- while (end_ptr[-1] == ' ' || end_ptr[-1] == '\t')
|
||||
+ /* Do not walk past the start of buffer if it's all whitespace. */
|
||||
+ while (end_ptr != buffer
|
||||
+ && (end_ptr[-1] == ' ' || end_ptr[-1] == '\t'))
|
||||
end_ptr--;
|
||||
*end_ptr = '\0';
|
||||
}
|
||||
diff --git a/misc/tst-mntent-blank-corrupt.c b/misc/tst-mntent-blank-corrupt.c
|
||||
new file mode 100644
|
||||
index 0000000..92266a3
|
||||
--- /dev/null
|
||||
+++ b/misc/tst-mntent-blank-corrupt.c
|
||||
@@ -0,0 +1,45 @@
|
||||
+/* Make sure blank lines does not cause memory corruption BZ #18887.
|
||||
+
|
||||
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
|
||||
+ This file is part of the GNU C Library.
|
||||
+
|
||||
+ The GNU C Library is free software; you can redistribute it and/or
|
||||
+ modify it under the terms of the GNU Lesser General Public
|
||||
+ License as published by the Free Software Foundation; either
|
||||
+ version 2.1 of the License, or (at your option) any later version.
|
||||
+
|
||||
+ The GNU C Library 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
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public
|
||||
+ License along with the GNU C Library; if not, see
|
||||
+ <http://www.gnu.org/licenses/>. */
|
||||
+
|
||||
+#include <mntent.h>
|
||||
+#include <stdio.h>
|
||||
+#include <string.h>
|
||||
+
|
||||
+/* Make sure blank lines don't trigger memory corruption. This doesn't happen
|
||||
+ for all targets though, so it's a best effort test BZ #18887. */
|
||||
+static int
|
||||
+do_test (void)
|
||||
+{
|
||||
+ FILE *fp;
|
||||
+
|
||||
+ fp = tmpfile ();
|
||||
+ fputs ("\n \n/foo\\040dir /bar\\040dir auto bind \t \n", fp);
|
||||
+ rewind (fp);
|
||||
+
|
||||
+ /* The corruption happens here ... */
|
||||
+ getmntent (fp);
|
||||
+ /* ... but trigers here. */
|
||||
+ endmntent (fp);
|
||||
+
|
||||
+ /* If the test failed, we would crash, and not hit this point. */
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#define TEST_FUNCTION do_test ()
|
||||
+#include "../test-skeleton.c"
|
||||
diff --git a/misc/tst-mntent-blank-passno.c b/misc/tst-mntent-blank-passno.c
|
||||
new file mode 100644
|
||||
index 0000000..fc04291
|
||||
--- /dev/null
|
||||
+++ b/misc/tst-mntent-blank-passno.c
|
||||
@@ -0,0 +1,53 @@
|
||||
+/* Make sure trailing whitespace is handled properly BZ #17273.
|
||||
+
|
||||
+ Copyright (C) 2009-2015 Free Software Foundation, Inc.
|
||||
+ This file is part of the GNU C Library.
|
||||
+
|
||||
+ The GNU C Library is free software; you can redistribute it and/or
|
||||
+ modify it under the terms of the GNU Lesser General Public
|
||||
+ License as published by the Free Software Foundation; either
|
||||
+ version 2.1 of the License, or (at your option) any later version.
|
||||
+
|
||||
+ The GNU C Library 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
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public
|
||||
+ License along with the GNU C Library; if not, see
|
||||
+ <http://www.gnu.org/licenses/>. */
|
||||
+
|
||||
+#include <mntent.h>
|
||||
+#include <stdio.h>
|
||||
+#include <string.h>
|
||||
+
|
||||
+/* Check entries to make sure trailing whitespace is ignored and we return the
|
||||
+ correct passno value BZ #17273. */
|
||||
+static int
|
||||
+do_test (void)
|
||||
+{
|
||||
+ int result = 0;
|
||||
+ FILE *fp;
|
||||
+ struct mntent *mnt;
|
||||
+
|
||||
+ fp = tmpfile ();
|
||||
+ fputs ("/foo\\040dir /bar\\040dir auto bind \t \n", fp);
|
||||
+ rewind (fp);
|
||||
+
|
||||
+ mnt = getmntent (fp);
|
||||
+ if (strcmp (mnt->mnt_fsname, "/foo dir") != 0
|
||||
+ || strcmp (mnt->mnt_dir, "/bar dir") != 0
|
||||
+ || strcmp (mnt->mnt_type, "auto") != 0
|
||||
+ || strcmp (mnt->mnt_opts, "bind") != 0
|
||||
+ || mnt->mnt_freq != 0
|
||||
+ || mnt->mnt_passno != 0)
|
||||
+ {
|
||||
+ puts ("Error while reading entry with trailing whitespaces");
|
||||
+ result = 1;
|
||||
+ }
|
||||
+
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
+#define TEST_FUNCTION do_test ()
|
||||
+#include "../test-skeleton.c"
|
||||
diff --git a/misc/tst-mntent.c b/misc/tst-mntent.c
|
||||
index 876c89f..820b354 100644
|
||||
--- a/misc/tst-mntent.c
|
||||
+++ b/misc/tst-mntent.c
|
||||
@@ -73,26 +73,6 @@ main (int argc, char *argv[])
|
||||
puts ("Error while reading written entry back in");
|
||||
result = 1;
|
||||
}
|
||||
-
|
||||
- /* Part III: Entry with whitespaces at the end of a line. */
|
||||
- rewind (fp);
|
||||
-
|
||||
- fputs ("/foo\\040dir /bar\\040dir auto bind \t \n", fp);
|
||||
-
|
||||
- rewind (fp);
|
||||
-
|
||||
- mnt = getmntent (fp);
|
||||
-
|
||||
- if (strcmp (mnt->mnt_fsname, "/foo dir") != 0
|
||||
- || strcmp (mnt->mnt_dir, "/bar dir") != 0
|
||||
- || strcmp (mnt->mnt_type, "auto") != 0
|
||||
- || strcmp (mnt->mnt_opts, "bind") != 0
|
||||
- || mnt->mnt_freq != 0
|
||||
- || mnt->mnt_passno != 0)
|
||||
- {
|
||||
- puts ("Error while reading entry with trailing whitespaces");
|
||||
- result = 1;
|
||||
- }
|
||||
}
|
||||
|
||||
return result;
|
||||
--
|
||||
1.9.4
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
From 561a9f11a974a447acb3dd03550a05df701a900e Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Schwab <[email protected]>
|
||||
Date: Mon, 10 Aug 2015 14:12:47 +0200
|
||||
Subject: [PATCH] Readd O_LARGEFILE flag for openat64 (bug 18781)
|
||||
|
||||
(cherry picked from commit eb32b0d40308166c4d8f6330cc2958cb1e545075)
|
||||
---
|
||||
ChangeLog | 7 +++++++
|
||||
NEWS | 2 +-
|
||||
io/test-lfs.c | 21 ++++++++++++++++++++-
|
||||
sysdeps/unix/sysv/linux/openat.c | 5 +++++
|
||||
4 files changed, 33 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/io/test-lfs.c b/io/test-lfs.c
|
||||
index 539c2a2..b6ebae4 100644
|
||||
--- a/io/test-lfs.c
|
||||
+++ b/io/test-lfs.c
|
||||
@@ -144,7 +144,7 @@ test_ftello (void)
|
||||
int
|
||||
do_test (int argc, char *argv[])
|
||||
{
|
||||
- int ret;
|
||||
+ int ret, fd2;
|
||||
struct stat64 statbuf;
|
||||
|
||||
ret = lseek64 (fd, TWO_GB+100, SEEK_SET);
|
||||
@@ -195,6 +195,25 @@ do_test (int argc, char *argv[])
|
||||
error (EXIT_FAILURE, 0, "stat reported size %lld instead of %lld.",
|
||||
(long long int) statbuf.st_size, (TWO_GB + 100 + 5));
|
||||
|
||||
+ fd2 = openat64 (AT_FDCWD, name, O_RDWR);
|
||||
+ if (fd2 == -1)
|
||||
+ {
|
||||
+ if (errno == ENOSYS)
|
||||
+ {
|
||||
+ /* Silently ignore this test. */
|
||||
+ error (0, 0, "openat64 is not supported");
|
||||
+ }
|
||||
+ else
|
||||
+ error (EXIT_FAILURE, errno, "openat64 failed to open big file");
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ ret = close (fd2);
|
||||
+
|
||||
+ if (ret == -1)
|
||||
+ error (EXIT_FAILURE, errno, "error closing file");
|
||||
+ }
|
||||
+
|
||||
test_ftello ();
|
||||
|
||||
return 0;
|
||||
diff --git a/sysdeps/unix/sysv/linux/openat.c b/sysdeps/unix/sysv/linux/openat.c
|
||||
index 6777123..ad8e31d 100644
|
||||
--- a/sysdeps/unix/sysv/linux/openat.c
|
||||
+++ b/sysdeps/unix/sysv/linux/openat.c
|
||||
@@ -68,6 +68,11 @@ __OPENAT (int fd, const char *file, int oflag, ...)
|
||||
va_end (arg);
|
||||
}
|
||||
|
||||
+ /* We have to add the O_LARGEFILE flag for openat64. */
|
||||
+#ifdef MORE_OFLAGS
|
||||
+ oflag |= MORE_OFLAGS;
|
||||
+#endif
|
||||
+
|
||||
return SYSCALL_CANCEL (openat, fd, file, oflag, mode);
|
||||
}
|
||||
libc_hidden_def (__OPENAT)
|
||||
--
|
||||
1.9.4
|
||||
|
||||
@@ -1,177 +0,0 @@
|
||||
From a34d1c6afc86521d6ad17662a3b5362d8481514c Mon Sep 17 00:00:00 2001
|
||||
From: Maxim Ostapenko <[email protected]>
|
||||
Date: Mon, 10 Aug 2015 10:47:54 +0300
|
||||
Subject: [PATCH] Clear DF_1_NODELETE flag only for failed to load library.
|
||||
|
||||
https://sourceware.org/bugzilla/show_bug.cgi?id=18778
|
||||
|
||||
If dlopen fails to load an object that has triggered loading libpthread it
|
||||
causes ld.so to unload libpthread because its DF_1_NODELETE flags has been
|
||||
forcefully cleared. The next call to __rtdl_unlock_lock_recursive will crash
|
||||
since pthread_mutex_unlock no longer exists.
|
||||
|
||||
This patch moves l->l_flags_1 &= ~DF_1_NODELETE out of loop through all loaded
|
||||
libraries and performs the action only on inconsistent one.
|
||||
|
||||
[BZ #18778]
|
||||
* elf/Makefile (tests): Add Add tst-nodelete2.
|
||||
(modules-names): Add tst-nodelete2mod.
|
||||
(tst-nodelete2mod.so-no-z-defs): New.
|
||||
($(objpfx)tst-nodelete2): Likewise.
|
||||
($(objpfx)tst-nodelete2.out): Likewise.
|
||||
(LDFLAGS-tst-nodelete2): Likewise.
|
||||
* elf/dl-close.c (_dl_close_worker): Move DF_1_NODELETE clearing
|
||||
out of loop through all loaded libraries.
|
||||
* elf/tst-nodelete2.c: New file.
|
||||
* elf/tst-nodelete2mod.c: Likewise.
|
||||
|
||||
(cherry picked from commit f25238ffe0455013174438376b3ee88df496f9d1)
|
||||
---
|
||||
ChangeLog | 14 +++++++++
|
||||
NEWS | 2 +-
|
||||
elf/Makefile | 11 +++++--
|
||||
elf/dl-close.c | 15 ++++-----
|
||||
elf/tst-nodelete2.c | 37 +++++++++++++++++++++++
|
||||
elf/{tst-znodelete-zlib.cc => tst-nodelete2mod.c} | 3 +-
|
||||
6 files changed, 71 insertions(+), 11 deletions(-)
|
||||
create mode 100644 elf/tst-nodelete2.c
|
||||
rename elf/{tst-znodelete-zlib.cc => tst-nodelete2mod.c} (50%)
|
||||
|
||||
diff --git a/elf/Makefile b/elf/Makefile
|
||||
index 4ceeaf8..71a18a1 100644
|
||||
--- a/elf/Makefile
|
||||
+++ b/elf/Makefile
|
||||
@@ -148,7 +148,8 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \
|
||||
tst-unique1 tst-unique2 $(if $(CXX),tst-unique3 tst-unique4 \
|
||||
tst-nodelete) \
|
||||
tst-initorder tst-initorder2 tst-relsort1 tst-null-argv \
|
||||
- tst-ptrguard1 tst-tlsalign tst-tlsalign-extern tst-nodelete-opened
|
||||
+ tst-ptrguard1 tst-tlsalign tst-tlsalign-extern tst-nodelete-opened \
|
||||
+ tst-nodelete2
|
||||
# reldep9
|
||||
ifeq ($(build-hardcoded-path-in-tests),yes)
|
||||
tests += tst-dlopen-aout
|
||||
@@ -218,7 +219,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \
|
||||
tst-initorder2d \
|
||||
tst-relsort1mod1 tst-relsort1mod2 tst-array2dep \
|
||||
tst-array5dep tst-null-argv-lib \
|
||||
- tst-tlsalign-lib tst-nodelete-opened-lib
|
||||
+ tst-tlsalign-lib tst-nodelete-opened-lib tst-nodelete2mod
|
||||
ifeq (yes,$(have-protected-data))
|
||||
modules-names += tst-protected1moda tst-protected1modb
|
||||
tests += tst-protected1a tst-protected1b
|
||||
@@ -594,6 +595,7 @@ tst-auditmod9b.so-no-z-defs = yes
|
||||
tst-nodelete-uniquemod.so-no-z-defs = yes
|
||||
tst-nodelete-rtldmod.so-no-z-defs = yes
|
||||
tst-nodelete-zmod.so-no-z-defs = yes
|
||||
+tst-nodelete2mod.so-no-z-defs = yes
|
||||
|
||||
ifeq ($(build-shared),yes)
|
||||
# Build all the modules even when not actually running test programs.
|
||||
@@ -1164,6 +1166,11 @@ $(objpfx)tst-nodelete.out: $(objpfx)tst-nodelete-uniquemod.so \
|
||||
LDFLAGS-tst-nodelete = -rdynamic
|
||||
LDFLAGS-tst-nodelete-zmod.so = -Wl,--enable-new-dtags,-z,nodelete
|
||||
|
||||
+$(objpfx)tst-nodelete2: $(libdl)
|
||||
+$(objpfx)tst-nodelete2.out: $(objpfx)tst-nodelete2mod.so
|
||||
+
|
||||
+LDFLAGS-tst-nodelete2 = -rdynamic
|
||||
+
|
||||
$(objpfx)tst-initorder-cmp.out: tst-initorder.exp $(objpfx)tst-initorder.out
|
||||
cmp $^ > $@; \
|
||||
$(evaluate-test)
|
||||
diff --git a/elf/dl-close.c b/elf/dl-close.c
|
||||
index 9105277..c897247 100644
|
||||
--- a/elf/dl-close.c
|
||||
+++ b/elf/dl-close.c
|
||||
@@ -144,6 +144,14 @@ _dl_close_worker (struct link_map *map, bool force)
|
||||
char done[nloaded];
|
||||
struct link_map *maps[nloaded];
|
||||
|
||||
+ /* Clear DF_1_NODELETE to force object deletion. We don't need to touch
|
||||
+ l_tls_dtor_count because forced object deletion only happens when an
|
||||
+ error occurs during object load. Destructor registration for TLS
|
||||
+ non-POD objects should not have happened till then for this
|
||||
+ object. */
|
||||
+ if (force)
|
||||
+ map->l_flags_1 &= ~DF_1_NODELETE;
|
||||
+
|
||||
/* Run over the list and assign indexes to the link maps and enter
|
||||
them into the MAPS array. */
|
||||
int idx = 0;
|
||||
@@ -153,13 +161,6 @@ _dl_close_worker (struct link_map *map, bool force)
|
||||
maps[idx] = l;
|
||||
++idx;
|
||||
|
||||
- /* Clear DF_1_NODELETE to force object deletion. We don't need to touch
|
||||
- l_tls_dtor_count because forced object deletion only happens when an
|
||||
- error occurs during object load. Destructor registration for TLS
|
||||
- non-POD objects should not have happened till then for this
|
||||
- object. */
|
||||
- if (force)
|
||||
- l->l_flags_1 &= ~DF_1_NODELETE;
|
||||
}
|
||||
assert (idx == nloaded);
|
||||
|
||||
diff --git a/elf/tst-nodelete2.c b/elf/tst-nodelete2.c
|
||||
new file mode 100644
|
||||
index 0000000..388e8af
|
||||
--- /dev/null
|
||||
+++ b/elf/tst-nodelete2.c
|
||||
@@ -0,0 +1,37 @@
|
||||
+#include "../dlfcn/dlfcn.h"
|
||||
+#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <gnu/lib-names.h>
|
||||
+
|
||||
+static int
|
||||
+do_test (void)
|
||||
+{
|
||||
+ int result = 0;
|
||||
+
|
||||
+ printf ("\nOpening pthread library.\n");
|
||||
+ void *pthread = dlopen (LIBPTHREAD_SO, RTLD_LAZY);
|
||||
+
|
||||
+ /* This is a test for correct DF_1_NODELETE clearing when dlopen failure
|
||||
+ happens. We should clear DF_1_NODELETE for failed library only, because
|
||||
+ doing this for others (e.g. libpthread) might cause them to be unloaded,
|
||||
+ that may lead to some global references (e.g. __rtld_lock_unlock) to be
|
||||
+ broken. The dlopen should fail because of undefined symbols in shared
|
||||
+ library, that cause DF_1_NODELETE to be cleared. For libpthread, this
|
||||
+ flag should be set, because if not, SIGSEGV will happen in dlclose. */
|
||||
+ if (dlopen ("tst-nodelete2mod.so", RTLD_NOW) != NULL)
|
||||
+ {
|
||||
+ printf ("Unique symbols test failed\n");
|
||||
+ result = 1;
|
||||
+ }
|
||||
+
|
||||
+ if (pthread)
|
||||
+ dlclose (pthread);
|
||||
+
|
||||
+ if (result == 0)
|
||||
+ printf ("SUCCESS\n");
|
||||
+
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
+#define TEST_FUNCTION do_test ()
|
||||
+#include "../test-skeleton.c"
|
||||
diff --git a/elf/tst-znodelete-zlib.cc b/elf/tst-nodelete2mod.c
|
||||
similarity index 50%
|
||||
rename from elf/tst-znodelete-zlib.cc
|
||||
rename to elf/tst-nodelete2mod.c
|
||||
index 1e8f368..e88c756 100644
|
||||
--- a/elf/tst-znodelete-zlib.cc
|
||||
+++ b/elf/tst-nodelete2mod.c
|
||||
@@ -1,6 +1,7 @@
|
||||
+/* Undefined symbol. */
|
||||
extern int not_exist (void);
|
||||
|
||||
int foo (void)
|
||||
{
|
||||
- return not_exist ();
|
||||
+ return not_exist ();
|
||||
}
|
||||
--
|
||||
1.9.4
|
||||
|
||||
@@ -1,319 +0,0 @@
|
||||
From 6c84109cfa26f35c3dfed3acb97d347361bd5849 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos O'Donell <[email protected]>
|
||||
Date: Thu, 8 Oct 2015 16:34:53 -0400
|
||||
Subject: [PATCH] strcoll: Remove incorrect STRDIFF-based optimization (Bug
|
||||
18589).
|
||||
|
||||
The optimization introduced in commit
|
||||
f13c2a8dff2329c6692a80176262ceaaf8a6f74e, causes regressions in
|
||||
sorting for languages that have digraphs that change sort order, like
|
||||
cs_CZ which sorts ch between h and i.
|
||||
|
||||
My analysis shows the fast-forwarding optimization in STRCOLL advances
|
||||
through a digraph while possibly stopping in the middle which results
|
||||
in a subsequent skipping of the digraph and incorrect sorting. The
|
||||
optimization is incorrect as implemented and because of that I'm
|
||||
removing it for 2.23, and I will also commit this fix for 2.22 where
|
||||
it was originally introduced.
|
||||
|
||||
This patch reverts the optimization, introduces a new bug-strcoll2.c
|
||||
regression test that tests both cs_CZ.UTF-8 and da_DK.ISO-8859-1 and
|
||||
ensures they sort one digraph each correctly. The optimization can't be
|
||||
applied without regressing this test.
|
||||
|
||||
Checked on x86_64, bug-strcoll2.c fails without this patch and passes
|
||||
after. This will also get a fix on 2.22 which has the same bug.
|
||||
|
||||
(cherry picked from commit 87701a58e291bd7ac3b407d10a829dac52c9c16e)
|
||||
---
|
||||
ChangeLog | 14 +++++++
|
||||
NEWS | 2 +-
|
||||
locale/C-collate.c | 4 +-
|
||||
locale/categories.def | 1 -
|
||||
locale/langinfo.h | 1 -
|
||||
locale/localeinfo.h | 8 ----
|
||||
locale/programs/ld-collate.c | 9 -----
|
||||
string/bug-strcoll2.c | 93 ++++++++++++++++++++++++++++++++++++++++++++
|
||||
string/strcoll_l.c | 38 +-----------------
|
||||
wcsmbs/wcscoll_l.c | 1 -
|
||||
10 files changed, 110 insertions(+), 61 deletions(-)
|
||||
create mode 100644 string/bug-strcoll2.c
|
||||
|
||||
diff --git a/locale/C-collate.c b/locale/C-collate.c
|
||||
index d7f3c55..06dfdfa 100644
|
||||
--- a/locale/C-collate.c
|
||||
+++ b/locale/C-collate.c
|
||||
@@ -144,8 +144,6 @@ const struct __locale_data _nl_C_LC_COLLATE attribute_hidden =
|
||||
/* _NL_COLLATE_COLLSEQWC */
|
||||
{ .string = (const char *) collseqwc },
|
||||
/* _NL_COLLATE_CODESET */
|
||||
- { .string = _nl_C_codeset },
|
||||
- /* _NL_COLLATE_ENCODING_TYPE */
|
||||
- { .word = __cet_8bit }
|
||||
+ { .string = _nl_C_codeset }
|
||||
}
|
||||
};
|
||||
diff --git a/locale/categories.def b/locale/categories.def
|
||||
index 045489d..a8dda53 100644
|
||||
--- a/locale/categories.def
|
||||
+++ b/locale/categories.def
|
||||
@@ -58,7 +58,6 @@ DEFINE_CATEGORY
|
||||
DEFINE_ELEMENT (_NL_COLLATE_COLLSEQMB, "collate-collseqmb", std, wstring)
|
||||
DEFINE_ELEMENT (_NL_COLLATE_COLLSEQWC, "collate-collseqwc", std, wstring)
|
||||
DEFINE_ELEMENT (_NL_COLLATE_CODESET, "collate-codeset", std, string)
|
||||
- DEFINE_ELEMENT (_NL_COLLATE_ENCODING_TYPE, "collate-encoding-type", std, word)
|
||||
), NO_POSTLOAD)
|
||||
|
||||
|
||||
diff --git a/locale/langinfo.h b/locale/langinfo.h
|
||||
index ffc5c7f..a565d9d 100644
|
||||
--- a/locale/langinfo.h
|
||||
+++ b/locale/langinfo.h
|
||||
@@ -255,7 +255,6 @@ enum
|
||||
_NL_COLLATE_COLLSEQMB,
|
||||
_NL_COLLATE_COLLSEQWC,
|
||||
_NL_COLLATE_CODESET,
|
||||
- _NL_COLLATE_ENCODING_TYPE,
|
||||
_NL_NUM_LC_COLLATE,
|
||||
|
||||
/* LC_CTYPE category: character classification.
|
||||
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
|
||||
index bdab9fe..1d2ee00 100644
|
||||
--- a/locale/localeinfo.h
|
||||
+++ b/locale/localeinfo.h
|
||||
@@ -110,14 +110,6 @@ enum coll_sort_rule
|
||||
sort_mask
|
||||
};
|
||||
|
||||
-/* Collation encoding type. */
|
||||
-enum collation_encoding_type
|
||||
-{
|
||||
- __cet_other,
|
||||
- __cet_8bit,
|
||||
- __cet_utf8
|
||||
-};
|
||||
-
|
||||
/* We can map the types of the entries into a few categories. */
|
||||
enum value_type
|
||||
{
|
||||
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
|
||||
index a39a94f..dc0fe30 100644
|
||||
--- a/locale/programs/ld-collate.c
|
||||
+++ b/locale/programs/ld-collate.c
|
||||
@@ -32,7 +32,6 @@
|
||||
#include "linereader.h"
|
||||
#include "locfile.h"
|
||||
#include "elem-hash.h"
|
||||
-#include "../localeinfo.h"
|
||||
|
||||
/* Uncomment the following line in the production version. */
|
||||
/* #define NDEBUG 1 */
|
||||
@@ -2131,8 +2130,6 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap,
|
||||
/* The words have to be handled specially. */
|
||||
if (idx == _NL_ITEM_INDEX (_NL_COLLATE_SYMB_HASH_SIZEMB))
|
||||
add_locale_uint32 (&file, 0);
|
||||
- else if (idx == _NL_ITEM_INDEX (_NL_COLLATE_ENCODING_TYPE))
|
||||
- add_locale_uint32 (&file, __cet_other);
|
||||
else
|
||||
add_locale_empty (&file);
|
||||
}
|
||||
@@ -2496,12 +2493,6 @@ collate_output (struct localedef_t *locale, const struct charmap_t *charmap,
|
||||
add_locale_raw_data (&file, collate->mbseqorder, 256);
|
||||
add_locale_collseq_table (&file, &collate->wcseqorder);
|
||||
add_locale_string (&file, charmap->code_set_name);
|
||||
- if (strcmp (charmap->code_set_name, "UTF-8") == 0)
|
||||
- add_locale_uint32 (&file, __cet_utf8);
|
||||
- else if (charmap->mb_cur_max == 1)
|
||||
- add_locale_uint32 (&file, __cet_8bit);
|
||||
- else
|
||||
- add_locale_uint32 (&file, __cet_other);
|
||||
write_locale_data (output_path, LC_COLLATE, "LC_COLLATE", &file);
|
||||
|
||||
obstack_free (&weightpool, NULL);
|
||||
diff --git a/string/bug-strcoll2.c b/string/bug-strcoll2.c
|
||||
new file mode 100644
|
||||
index 0000000..5ce2f94
|
||||
--- /dev/null
|
||||
+++ b/string/bug-strcoll2.c
|
||||
@@ -0,0 +1,93 @@
|
||||
+/* Bug 18589: sort-test.sh fails at random.
|
||||
+ Copyright (C) 1998-2015 Free Software Foundation, Inc.
|
||||
+ This file is part of the GNU C Library.
|
||||
+ Contributed by Ulrich Drepper <[email protected]>, 1998.
|
||||
+
|
||||
+ The GNU C Library is free software; you can redistribute it and/or
|
||||
+ modify it under the terms of the GNU Lesser General Public
|
||||
+ License as published by the Free Software Foundation; either
|
||||
+ version 2.1 of the License, or (at your option) any later version.
|
||||
+
|
||||
+ The GNU C Library 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
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public
|
||||
+ License along with the GNU C Library; if not, see
|
||||
+ <http://www.gnu.org/licenses/>. */
|
||||
+
|
||||
+#include <stdio.h>
|
||||
+#include <string.h>
|
||||
+#include <locale.h>
|
||||
+
|
||||
+/* An incorrect strcoll optimization resulted in incorrect
|
||||
+ results from strcoll for cs_CZ and da_DK. */
|
||||
+
|
||||
+int
|
||||
+test_cs_CZ (void)
|
||||
+{
|
||||
+ const char t1[] = "config";
|
||||
+ const char t2[] = "choose";
|
||||
+ if (setlocale (LC_ALL, "cs_CZ.UTF-8") == NULL)
|
||||
+ {
|
||||
+ perror ("setlocale");
|
||||
+ return 1;
|
||||
+ }
|
||||
+ /* In Czech the digraph ch sorts after c, therefore we expect
|
||||
+ config to sort before choose. */
|
||||
+ int a = strcoll (t1, t2);
|
||||
+ int b = strcoll (t2, t1);
|
||||
+ printf ("strcoll (\"%s\", \"%s\") = %d\n", t1, t2, a);
|
||||
+ printf ("strcoll (\"%s\", \"%s\") = %d\n", t2, t1, b);
|
||||
+ if (a < 0 && b > 0)
|
||||
+ {
|
||||
+ puts ("PASS: config < choose");
|
||||
+ return 0;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ puts ("FAIL: Wrong sorting in cz_CZ.UTF-8.");
|
||||
+ return 1;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+int
|
||||
+test_da_DK (void)
|
||||
+{
|
||||
+ const char t1[] = "AS";
|
||||
+ const char t2[] = "AA";
|
||||
+ if (setlocale (LC_ALL, "da_DK.ISO-8859-1") == NULL)
|
||||
+ {
|
||||
+ perror ("setlocale");
|
||||
+ return 1;
|
||||
+ }
|
||||
+ /* AA should be treated as the last letter of the Danish alphabet,
|
||||
+ hence sorting after AS. */
|
||||
+ int a = strcoll (t1, t2);
|
||||
+ int b = strcoll (t2, t1);
|
||||
+ printf ("strcoll (\"%s\", \"%s\") = %d\n", t1, t2, a);
|
||||
+ printf ("strcoll (\"%s\", \"%s\") = %d\n", t2, t1, b);
|
||||
+ if (a < 0 && b > 0)
|
||||
+ {
|
||||
+ puts ("PASS: AS < AA");
|
||||
+ return 0;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ puts ("FAIL: Wrong sorting in da_DK.ISO-8859-1");
|
||||
+ return 1;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static int
|
||||
+do_test (void)
|
||||
+{
|
||||
+ int err = 0;
|
||||
+ err |= test_cs_CZ ();
|
||||
+ err |= test_da_DK ();
|
||||
+ return err;
|
||||
+}
|
||||
+
|
||||
+#define TEST_FUNCTION do_test ()
|
||||
+#include "../test-skeleton.c"
|
||||
diff --git a/string/strcoll_l.c b/string/strcoll_l.c
|
||||
index 8f1225f..35bc0e4 100644
|
||||
--- a/string/strcoll_l.c
|
||||
+++ b/string/strcoll_l.c
|
||||
@@ -29,7 +29,6 @@
|
||||
# define STRING_TYPE char
|
||||
# define USTRING_TYPE unsigned char
|
||||
# define STRCOLL __strcoll_l
|
||||
-# define STRDIFF __strdiff
|
||||
# define STRCMP strcmp
|
||||
# define WEIGHT_H "../locale/weight.h"
|
||||
# define SUFFIX MB
|
||||
@@ -42,20 +41,6 @@
|
||||
#include "../locale/localeinfo.h"
|
||||
#include WEIGHT_H
|
||||
|
||||
-#define MASK_UTF8_7BIT (1 << 7)
|
||||
-#define MASK_UTF8_START (3 << 6)
|
||||
-
|
||||
-size_t
|
||||
-STRDIFF (const STRING_TYPE *s, const STRING_TYPE *t)
|
||||
-{
|
||||
- size_t n;
|
||||
-
|
||||
- for (n = 0; *s != '\0' && *s++ == *t++; ++n)
|
||||
- continue;
|
||||
-
|
||||
- return n;
|
||||
-}
|
||||
-
|
||||
/* Track status while looking for sequences in a string. */
|
||||
typedef struct
|
||||
{
|
||||
@@ -269,29 +254,9 @@ STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l)
|
||||
const USTRING_TYPE *extra;
|
||||
const int32_t *indirect;
|
||||
|
||||
- /* In case there is no locale specific sort order (C / POSIX). */
|
||||
if (nrules == 0)
|
||||
return STRCMP (s1, s2);
|
||||
|
||||
- /* Fast forward to the position of the first difference. Needs to be
|
||||
- encoding aware as the byte-by-byte comparison can stop in the middle
|
||||
- of a char sequence for multibyte encodings like UTF-8. */
|
||||
- uint_fast32_t encoding =
|
||||
- current->values[_NL_ITEM_INDEX (_NL_COLLATE_ENCODING_TYPE)].word;
|
||||
- if (encoding != __cet_other)
|
||||
- {
|
||||
- size_t diff = STRDIFF (s1, s2);
|
||||
- if (diff > 0)
|
||||
- {
|
||||
- if (encoding == __cet_utf8 && (*(s1 + diff) & MASK_UTF8_7BIT) != 0)
|
||||
- do
|
||||
- diff--;
|
||||
- while (diff > 0 && (*(s1 + diff) & MASK_UTF8_START) != MASK_UTF8_START);
|
||||
- s1 += diff;
|
||||
- s2 += diff;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
/* Catch empty strings. */
|
||||
if (__glibc_unlikely (*s1 == '\0') || __glibc_unlikely (*s2 == '\0'))
|
||||
return (*s1 != '\0') - (*s2 != '\0');
|
||||
@@ -358,8 +323,7 @@ STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l)
|
||||
byte-level comparison to ensure that we don't waste time
|
||||
going through multiple passes for totally equal strings
|
||||
before proceeding to subsequent passes. */
|
||||
- if (pass == 0 && encoding == __cet_other &&
|
||||
- STRCMP (s1, s2) == 0)
|
||||
+ if (pass == 0 && STRCMP (s1, s2) == 0)
|
||||
return result;
|
||||
else
|
||||
break;
|
||||
diff --git a/wcsmbs/wcscoll_l.c b/wcsmbs/wcscoll_l.c
|
||||
index 6d9384a..87f240d 100644
|
||||
--- a/wcsmbs/wcscoll_l.c
|
||||
+++ b/wcsmbs/wcscoll_l.c
|
||||
@@ -23,7 +23,6 @@
|
||||
#define STRING_TYPE wchar_t
|
||||
#define USTRING_TYPE wint_t
|
||||
#define STRCOLL __wcscoll_l
|
||||
-#define STRDIFF __wcsdiff
|
||||
#define STRCMP __wcscmp
|
||||
#define WEIGHT_H "../locale/weightwc.h"
|
||||
#define SUFFIX WC
|
||||
--
|
||||
1.9.4
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From b702bd4fdb4aaebb6aadb3ce773bcc9eea8d2dc8 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <[email protected]>
|
||||
Date: Thu, 24 Apr 2014 22:05:37 +0300
|
||||
Subject: [PATCH] allow newer autoconf
|
||||
|
||||
---
|
||||
aclocal.m4 | 5 -----
|
||||
1 files changed, 0 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/aclocal.m4 b/aclocal.m4
|
||||
index bc48586..0e3c7f4 100644
|
||||
--- a/aclocal.m4
|
||||
+++ b/aclocal.m4
|
||||
@@ -2,11 +2,6 @@ dnl We require that everyone use exactly the same Autoconf version so that
|
||||
dnl the internal functions defined and used by the main configure script
|
||||
dnl match those expected by the fragments.
|
||||
m4_define([GLIBC_AUTOCONF_VERSION], [2.68])
|
||||
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), GLIBC_AUTOCONF_VERSION, [],
|
||||
- [m4_fatal(m4_flatten(
|
||||
-Exactly version GLIBC_AUTOCONF_VERSION of Autoconf is required but you have
|
||||
-m4_defn([AC_AUTOCONF_VERSION])
|
||||
-), [63])])dnl
|
||||
dnl
|
||||
dnl We define the macro GLIBC_PROVIDES to do an AC_PROVIDE for each macro
|
||||
dnl which appears in configure.ac before the sysdep configure scripts are run.
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -16,44 +16,35 @@
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libftdi1"
|
||||
PKG_VERSION="1.2"
|
||||
PKG_NAME="libftdi"
|
||||
PKG_VERSION="0.20"
|
||||
PKG_REV=1""
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPL"
|
||||
PKG_SITE="http://www.intra2net.com/en/developer/libftdi/"
|
||||
PKG_URL="http://www.intra2net.com/en/developer/libftdi/download/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
|
||||
PKG_DEPENDS_TARGET="toolchain libusb"
|
||||
PKG_URL="http://www.intra2net.com/en/developer/libftdi/download/libftdi-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain libusb-compat"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
PKG_SECTION="driver"
|
||||
PKG_SHORTDESC="libFTDI is an open source library to talk to FTDI chips"
|
||||
PKG_LONGDESC="libFTDI is an open source library to talk to FTDI chips"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
configure_target() {
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DSTATICLIBS=ON \
|
||||
-DDOCUMENTATION=FALSE \
|
||||
-DEXAMPLES=FALSE \
|
||||
-DFTDIPP=FALSE \
|
||||
-DPYTHON_BINDINGS=FALSE \
|
||||
..
|
||||
}
|
||||
PKG_CONFIGURE_OPTS_TARGET="ac_cv_path_HAVELIBUSB=$ROOT/$TOOLCHAIN/bin/libusb-config \
|
||||
LIBS=-lusb \
|
||||
--disable-shared \
|
||||
--enable-static \
|
||||
--disable-libftdipp \
|
||||
--disable-python-binding \
|
||||
--without-examples \
|
||||
--without-docs"
|
||||
|
||||
pre_configure_target() {
|
||||
CFLAGS="$CFLAGS -fPIC -DPIC"
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $SYSROOT_PREFIX/usr/include/libftdi1
|
||||
cp ../src/ftdi.h $SYSROOT_PREFIX/usr/include/libftdi1
|
||||
|
||||
mkdir -p $SYSROOT_PREFIX/usr/lib
|
||||
cp src/libftdi1.a $SYSROOT_PREFIX/usr/lib
|
||||
|
||||
mkdir -p $SYSROOT_PREFIX/usr/lib/pkgconfig
|
||||
cp libftdi1.pc $SYSROOT_PREFIX/usr/lib/pkgconfig
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
diff -Naur libftdi-0.20-old/configure.in libftdi-0.20-new/configure.in
|
||||
--- libftdi-0.20-old/configure.in 2012-03-19 04:20:56.000000000 -0700
|
||||
+++ libftdi-0.20-new/configure.in 2012-12-31 04:49:04.000000000 -0800
|
||||
@@ -1,6 +1,6 @@
|
||||
AC_INIT(libftdi, 0.20)
|
||||
AM_INIT_AUTOMAKE
|
||||
-AM_CONFIG_HEADER(config.h)
|
||||
+AC_CONFIG_HEADERS(config.h)
|
||||
|
||||
AC_LANG_C
|
||||
AC_PROG_CC
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libtool"
|
||||
PKG_VERSION="2.4.6"
|
||||
PKG_VERSION="2.4.4"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="mpc"
|
||||
PKG_VERSION="1.0.3"
|
||||
PKG_VERSION="1.0.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPL"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -17,12 +17,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="pcre"
|
||||
PKG_VERSION="8.38"
|
||||
PKG_VERSION="8.36"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.pcre.org/"
|
||||
PKG_URL="http://ftp.csx.cam.ac.uk/pub/software/programming/pcre/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_URL="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS_HOST=""
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
@@ -52,5 +52,4 @@ pre_configure_target() {
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin
|
||||
sed -e "s:\(['= ]\)/usr:\\1$SYSROOT_PREFIX/usr:g" -i $SYSROOT_PREFIX/usr/bin/$PKG_NAME-config
|
||||
}
|
||||