diff options
author | Robby Workman <rworkman@slackbuilds.org> | 2016-10-28 14:06:30 -0500 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2016-10-29 06:58:07 +0700 |
commit | a8a8b8e198d9f8fd94c7483af1b6a96b351dccf4 (patch) | |
tree | 5f3409a5b907911797c57315072a69f7ed9753ef /libraries/libdvdcss | |
parent | 3fb19477bc39a259f6236b8defae9515fc98a578 (diff) |
libraries/libdvdcss: Included some patches from upstream git repo
Maybe these fix the bug reported here:
https://mailman.videolan.org/pipermail/libdvdcss-devel/2016-April/001641.html
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
Diffstat (limited to 'libraries/libdvdcss')
6 files changed, 152 insertions, 4 deletions
diff --git a/libraries/libdvdcss/libdvdcss.SlackBuild b/libraries/libdvdcss/libdvdcss.SlackBuild index d64cb80c9c91..a217969ae9e9 100644 --- a/libraries/libdvdcss/libdvdcss.SlackBuild +++ b/libraries/libdvdcss/libdvdcss.SlackBuild @@ -24,12 +24,12 @@ PRGNAM=libdvdcss VERSION=${VERSION:-1.4.0} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -40,8 +40,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -69,6 +69,12 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +patch -p1 < $CWD/patches/0001-Fix-using-DVDCSS_CACHE-environment-variable.patch +patch -p1 < $CWD/patches/0002-Improve-error-reporting-when-cache-directory-creatio.patch +patch -p1 < $CWD/patches/0003-Check-for-empty-strings.patch +patch -p1 < $CWD/patches/0004-Fix-check-for-empty-home-dir.patch +patch -p1 < $CWD/patches/0005-Don-t-close-any-handle-if-callback-functions-are-use.patch + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ diff --git a/libraries/libdvdcss/patches/0001-Fix-using-DVDCSS_CACHE-environment-variable.patch b/libraries/libdvdcss/patches/0001-Fix-using-DVDCSS_CACHE-environment-variable.patch new file mode 100644 index 000000000000..3e9f13e65ed9 --- /dev/null +++ b/libraries/libdvdcss/patches/0001-Fix-using-DVDCSS_CACHE-environment-variable.patch @@ -0,0 +1,28 @@ +From 98c66a5b51db1e7a3a056deaafcb9a76d09afbeb Mon Sep 17 00:00:00 2001 +From: Petri Hintukainen <phintuka@gmail.com> +Date: Fri, 11 Mar 2016 12:00:05 +0200 +Subject: [PATCH 1/5] Fix using DVDCSS_CACHE environment variable + +--- + src/libdvdcss.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/libdvdcss.c b/src/libdvdcss.c +index 2f78b78..7d86a08 100644 +--- a/src/libdvdcss.c ++++ b/src/libdvdcss.c +@@ -274,6 +274,11 @@ static int set_cache_directory( dvdcss_t dvdcss ) + } + #endif /* ! defined( _WIN32 ) */ + } ++ else ++ { ++ strncpy( dvdcss->psz_cachefile, psz_cache, PATH_MAX ); ++ dvdcss->psz_cachefile[PATH_MAX - 1] = '\0'; ++ } + + /* Check that there is enough space for the cache directory path and the + * block filename. The +1s are path separators. */ +-- +2.10.0 + diff --git a/libraries/libdvdcss/patches/0002-Improve-error-reporting-when-cache-directory-creatio.patch b/libraries/libdvdcss/patches/0002-Improve-error-reporting-when-cache-directory-creatio.patch new file mode 100644 index 000000000000..3621d7dfec95 --- /dev/null +++ b/libraries/libdvdcss/patches/0002-Improve-error-reporting-when-cache-directory-creatio.patch @@ -0,0 +1,26 @@ +From 22cb2d442fecf4dd8122347309dbf27ad79e5559 Mon Sep 17 00:00:00 2001 +From: Petri Hintukainen <phintuka@gmail.com> +Date: Fri, 11 Mar 2016 12:04:34 +0200 +Subject: [PATCH 2/5] Improve error reporting when cache directory creation + fails + +--- + src/libdvdcss.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libdvdcss.c b/src/libdvdcss.c +index 7d86a08..408ec2f 100644 +--- a/src/libdvdcss.c ++++ b/src/libdvdcss.c +@@ -305,7 +305,7 @@ static int init_cache_dir( dvdcss_t dvdcss ) + i_ret = mkdir( dvdcss->psz_cachefile, 0755 ); + if( i_ret < 0 && errno != EEXIST ) + { +- print_error( dvdcss, "failed creating cache directory" ); ++ print_error( dvdcss, "failed creating cache directory '%s'", dvdcss->psz_cachefile ); + dvdcss->psz_cachefile[0] = '\0'; + return -1; + } +-- +2.10.0 + diff --git a/libraries/libdvdcss/patches/0003-Check-for-empty-strings.patch b/libraries/libdvdcss/patches/0003-Check-for-empty-strings.patch new file mode 100644 index 000000000000..2f21bf370e48 --- /dev/null +++ b/libraries/libdvdcss/patches/0003-Check-for-empty-strings.patch @@ -0,0 +1,34 @@ +From 100ac1a3762915042ee65b1bf370399966f61be5 Mon Sep 17 00:00:00 2001 +From: Petri Hintukainen <phintuka@gmail.com> +Date: Fri, 11 Mar 2016 12:07:03 +0200 +Subject: [PATCH 3/5] Check for empty strings + +--- + src/libdvdcss.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/libdvdcss.c b/src/libdvdcss.c +index 408ec2f..ac90030 100644 +--- a/src/libdvdcss.c ++++ b/src/libdvdcss.c +@@ -234,7 +234,7 @@ static int set_cache_directory( dvdcss_t dvdcss ) + + /* Try looking in password file for home dir. */ + p_pwd = getpwuid(getuid()); +- if( p_pwd ) ++ if( p_pwd && p_pwd[ 0 ] ) + { + psz_home = p_pwd->pw_dir; + } +@@ -248,7 +248,7 @@ static int set_cache_directory( dvdcss_t dvdcss ) + } + + /* Cache our keys in ${HOME}/.dvdcss/ */ +- if( psz_home ) ++ if( psz_home && psz_home[ 0 ] ) + { + int home_pos = 0; + +-- +2.10.0 + diff --git a/libraries/libdvdcss/patches/0004-Fix-check-for-empty-home-dir.patch b/libraries/libdvdcss/patches/0004-Fix-check-for-empty-home-dir.patch new file mode 100644 index 000000000000..ccb112fc60fb --- /dev/null +++ b/libraries/libdvdcss/patches/0004-Fix-check-for-empty-home-dir.patch @@ -0,0 +1,25 @@ +From 5fd2b38c343a94407863d9fa0820aa251c3d354c Mon Sep 17 00:00:00 2001 +From: Petri Hintukainen <phintuka@gmail.com> +Date: Sun, 13 Mar 2016 12:27:02 +0200 +Subject: [PATCH 4/5] Fix check for empty home dir + +--- + src/libdvdcss.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libdvdcss.c b/src/libdvdcss.c +index ac90030..6e5d6e1 100644 +--- a/src/libdvdcss.c ++++ b/src/libdvdcss.c +@@ -234,7 +234,7 @@ static int set_cache_directory( dvdcss_t dvdcss ) + + /* Try looking in password file for home dir. */ + p_pwd = getpwuid(getuid()); +- if( p_pwd && p_pwd[ 0 ] ) ++ if( p_pwd && p_pwd->pw_dir && p_pwd->pw_dir[ 0 ] ) + { + psz_home = p_pwd->pw_dir; + } +-- +2.10.0 + diff --git a/libraries/libdvdcss/patches/0005-Don-t-close-any-handle-if-callback-functions-are-use.patch b/libraries/libdvdcss/patches/0005-Don-t-close-any-handle-if-callback-functions-are-use.patch new file mode 100644 index 000000000000..ab67c0e0babc --- /dev/null +++ b/libraries/libdvdcss/patches/0005-Don-t-close-any-handle-if-callback-functions-are-use.patch @@ -0,0 +1,29 @@ +From 5bec036cfee3950d002f3c46c17bbd4e375d5bd6 Mon Sep 17 00:00:00 2001 +From: Hannes Domani <ssbssa@yahoo.de> +Date: Thu, 25 Feb 2016 21:03:29 +0100 +Subject: [PATCH 5/5] Don't close any handle if callback functions are used + +Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org> +--- + src/device.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/device.c b/src/device.c +index af735e0..baa4bc5 100644 +--- a/src/device.c ++++ b/src/device.c +@@ -406,6 +406,11 @@ int dvdcss_open_device ( dvdcss_t dvdcss ) + + int dvdcss_close_device ( dvdcss_t dvdcss ) + { ++ if( dvdcss->p_stream ) ++ { ++ return 0; ++ } ++ + #if defined( _WIN32 ) + /* Free readv temporary buffer */ + free( dvdcss->p_readv_buffer ); +-- +2.10.0 + |