diff options
author | Larry Hajali <larryhaja@gmail.com> | 2013-12-29 22:55:57 +0100 |
---|---|---|
committer | Erik Hanson <erik@slackbuilds.org> | 2014-01-07 11:13:06 -0600 |
commit | e6e50645a63256f8c3c39796bc4886584872a9d7 (patch) | |
tree | b5fd66bae8af574043fa2f8fb55b170d0bf6da10 /multimedia | |
parent | c6b6a9d1f4e7347bdf52cffde5c62ddb3c44da3c (diff) |
multimedia/xvst: Updated for version 2.5.
Now built with qt5
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
Diffstat (limited to 'multimedia')
-rw-r--r-- | multimedia/xvst/README | 6 | ||||
-rw-r--r-- | multimedia/xvst/gcc-4.7.patch | 11 | ||||
-rw-r--r-- | multimedia/xvst/patches/chilloutzone.patch | 100 | ||||
-rw-r--r-- | multimedia/xvst/patches/disable_update.patch | 17 | ||||
-rw-r--r-- | multimedia/xvst/patches/myvideo.patch | 364 | ||||
-rw-r--r-- | multimedia/xvst/patches/screen_yahoo.patch | 86 | ||||
-rw-r--r-- | multimedia/xvst/patches/wat.tv.patch | 97 | ||||
-rw-r--r-- | multimedia/xvst/xvst.SlackBuild | 70 | ||||
-rw-r--r-- | multimedia/xvst/xvst.info | 8 |
9 files changed, 709 insertions, 50 deletions
diff --git a/multimedia/xvst/README b/multimedia/xvst/README index 82253a29f511c..38355325d01bb 100644 --- a/multimedia/xvst/README +++ b/multimedia/xvst/README @@ -3,7 +3,5 @@ clips from a lot of video websites. xVideoServiceThief also provide you the ability to convert each video in most popular formats: AVI, MPEG1, MPEG2, WMV, MP4, 3GP, MP3 file formats. -xvst can also use flvstreamer as an optional dependency. - -If you'd like to check out the latest plugins from SVN, then pass -"PLUGINS=yes" to the slackbuild. +xvst can also use flvstreamer (not available on SBo) as an optional +dependency. diff --git a/multimedia/xvst/gcc-4.7.patch b/multimedia/xvst/gcc-4.7.patch deleted file mode 100644 index 735a2d4e50328..0000000000000 --- a/multimedia/xvst/gcc-4.7.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Naur xvst.orig/src/qtsingleapplication/src/qtlocalpeer.cpp xvst/src/qtsingleapplication/src/qtlocalpeer.cpp ---- xvst.orig/src/qtsingleapplication/src/qtlocalpeer.cpp 2009-10-12 03:43:46.000000000 +0000 -+++ xvst/src/qtsingleapplication/src/qtlocalpeer.cpp 2012-07-02 04:24:37.152806791 +0000 -@@ -57,6 +57,7 @@ - #endif
- #if defined(Q_OS_UNIX)
- #include <time.h>
-+#include <unistd.h>
- #endif
-
- namespace QtLP_Private {
diff --git a/multimedia/xvst/patches/chilloutzone.patch b/multimedia/xvst/patches/chilloutzone.patch new file mode 100644 index 0000000000000..142df550f578d --- /dev/null +++ b/multimedia/xvst/patches/chilloutzone.patch @@ -0,0 +1,100 @@ +New plugin. +Index: xvst-2.4.1/resources/services/chilloutzone/chilloutzone.js +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ xvst-2.4.1/resources/services/chilloutzone/chilloutzone.js 2011-10-15 22:40:55.982365314 +0200 +@@ -0,0 +1,93 @@ ++/*
++*
++* This file is part of xVideoServiceThief,
++* an open-source cross-platform Video service download
++*
++* Copyright (C) 2007 - 2009 Xesc & Technology
++*
++* This program is free software: you can redistribute it and/or modify
++* it under the terms of the GNU General Public License as published by
++* the Free Software Foundation, either version 3 of the License, or
++* (at your option) any later version.
++*
++* This program is distributed in the hope that it will be useful,
++* but WITHOUT ANY WARRANTY; without even the implied warranty of
++* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++* GNU General Public License for more details.
++*
++* You should have received a copy of the GNU General Public License
++* along with xVideoServiceThief. If not, see <http://www.gnu.org/licenses/>.
++*
++* Contact e-mail: Xesc <xeskuu.xvst@gmail.com>
++* Program URL : http://xviservicethief.sourceforge.net/
++*
++*/
++
++function RegistVideoService()
++{
++ this.version = "1.0.0";
++ this.minVersion = "2.0.0a";
++ this.author = "crapmaster & Xesc & Technology 2009";
++ this.website = "http://www.chilloutzone.net";
++ this.ID = "chilloutzone.net";
++ this.caption = "chilloutzone";
++ this.adultContent = false;
++ this.musicSite = false;
++}
++
++function getVideoInformation(url)
++{
++ // video information
++ var result = new VideoDefinition();
++ // download webpage
++ var http = new Http();
++ var html = http.downloadWebpage(url);
++ // get video title
++ result.title = copyBetween(html, '<h3 id="content-player-head">', '</h3>');
++ // get the xml url
++ var xmlUrl = copyBetween(html, 'var MOVIE_LOC_PLAIN = "', '";');
++ // get url
++ result.URL=cleanUrl(xmlUrl);
++ // return the video information
++ return result;
++}
++
++function getVideoServiceIcon()
++{
++ return new Array(
++ 0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,
++ 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x08,0x06,0x00,0x00,0x00,0x1f,0xf3,0xff,
++ 0x61,0x00,0x00,0x00,0x01,0x73,0x52,0x47,0x42,0x00,0xae,0xce,0x1c,0xe9,0x00,0x00,
++ 0x00,0x06,0x62,0x4b,0x47,0x44,0x00,0xff,0x00,0xff,0x00,0xff,0xa0,0xbd,0xa7,0x93,
++ 0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x0b,0x13,0x00,0x00,0x0b,0x13,
++ 0x01,0x00,0x9a,0x9c,0x18,0x00,0x00,0x00,0x07,0x74,0x49,0x4d,0x45,0x07,0xdb,0x0a,
++ 0x08,0x15,0x29,0x04,0x62,0xef,0x4c,0x6b,0x00,0x00,0x01,0xa6,0x49,0x44,0x41,0x54,
++ 0x38,0xcb,0xa5,0x93,0xbf,0x8a,0x14,0x41,0x10,0xc6,0x7f,0x5d,0xbd,0x3b,0x7f,0xd6,
++ 0xd3,0xf8,0xde,0x40,0x0d,0x14,0x0d,0x2e,0x31,0xd0,0xc8,0xc4,0xc0,0xc4,0x40,0x0f,
++ 0x8c,0x7d,0x81,0x0b,0x04,0xdf,0x41,0xd4,0xa7,0x38,0xd0,0xc8,0xc0,0x03,0x23,0x65,
++ 0x40,0xbd,0xbd,0x45,0x91,0x3d,0xc4,0x54,0x10,0xc5,0xc4,0x3d,0x0e,0x95,0xfd,0x33,
++ 0xdd,0x53,0x06,0xd5,0xbb,0x3b,0x2b,0x87,0x9c,0x58,0xd0,0x74,0x4d,0x57,0xd7,0x57,
++ 0x5f,0x7d,0x3d,0x05,0xff,0x69,0x0e,0x40,0x0f,0x6f,0x29,0x1a,0x20,0x44,0x08,0x0d,
++ 0xc4,0xe4,0xd7,0x11,0xea,0x90,0xd6,0x1f,0xfe,0xd7,0x12,0x77,0x7b,0xd7,0x75,0x00,
++ 0x88,0x23,0xb8,0xf3,0x02,0xbc,0x40,0x57,0x20,0x13,0xe8,0x38,0xc8,0x05,0xba,0x1e,
++ 0x72,0x67,0x67,0x65,0xfa,0x2e,0x84,0x77,0xcf,0xc7,0x54,0x55,0xa5,0x06,0x50,0x87,
++ 0x94,0xec,0xe0,0xdc,0x15,0xf0,0x0e,0x3e,0xbd,0xb2,0xa4,0xdc,0x41,0xee,0x0d,0x2c,
++ 0xb7,0x64,0x0a,0x4f,0x18,0x47,0x00,0xc4,0x00,0x62,0xba,0xec,0x6d,0xdf,0xda,0x81,
++ 0xeb,0xf7,0xe0,0xec,0x65,0x28,0x3b,0x50,0x7a,0x28,0x3c,0xf4,0x24,0xf9,0x42,0xfd,
++ 0xab,0x01,0x20,0x31,0x68,0xac,0x42,0x96,0x58,0x00,0x5c,0xbd,0x6b,0xfb,0xeb,0xfb,
++ 0xf0,0x6d,0x17,0x46,0x7d,0xbb,0x53,0x18,0x9b,0x30,0x6d,0x90,0x25,0x40,0x58,0xd2,
++ 0xec,0xca,0xaa,0xcc,0x97,0xb6,0x6c,0xdf,0x7f,0x04,0x07,0x7b,0xf0,0x63,0x60,0x00,
++ 0x13,0x25,0x5b,0x00,0xcc,0xa2,0xf5,0x36,0xaf,0xd0,0xb6,0xf7,0x0f,0xe1,0x7b,0x1f,
++ 0x0e,0x07,0x8b,0xfe,0xc9,0x85,0x38,0x6d,0xb7,0x30,0x0b,0x16,0x28,0x92,0x06,0x00,
++ 0x6f,0x1f,0x58,0xe2,0x68,0xcf,0xce,0xe7,0x3a,0x24,0x51,0xeb,0x89,0x52,0xae,0x30,
++ 0xe8,0x79,0xc8,0x12,0xc0,0xb3,0x9b,0x70,0xd0,0xb7,0xb6,0x7a,0x7e,0xa9,0xfe,0xfc,
++ 0x25,0x72,0x21,0xcc,0x56,0x18,0xd4,0x89,0x81,0x58,0x9f,0x99,0x98,0xfa,0x99,0x4b,
++ 0x6f,0x3f,0x4f,0x4e,0x2b,0x83,0x66,0xa6,0x2d,0x80,0x2f,0x27,0x18,0xbe,0xf9,0x4c,
++ 0x3d,0x6e,0x88,0x13,0x08,0x53,0x65,0x6d,0xdd,0x73,0xfe,0xc6,0x19,0x38,0xf5,0x73,
++ 0x51,0xfd,0xe9,0xb5,0x8f,0xc4,0x5a,0x69,0x6a,0x45,0x9b,0xd6,0xaf,0xfc,0x37,0xd3,
++ 0xed,0x0d,0xe5,0xf4,0x14,0x4e,0x0a,0x4f,0x2e,0x0e,0x59,0xdf,0x79,0xf9,0xef,0x03,
++ 0xa3,0xdb,0x1b,0xaa,0x1f,0x2e,0xe8,0xe3,0x35,0xd1,0xaa,0xaa,0xb4,0x1d,0x93,0x63,
++ 0x4d,0xdc,0xe6,0xc0,0x31,0xec,0x1e,0x19,0x93,0x63,0x8f,0xed,0xe6,0xc0,0x1d,0x45,
++ 0xff,0x37,0x2f,0x00,0x9b,0x4b,0xdd,0xfa,0x20,0xe7,0x00,0x00,0x00,0x00,0x49,0x45,
++ 0x4e,0x44,0xae,0x42,0x60,0x82);
++} +\ No newline at end of file diff --git a/multimedia/xvst/patches/disable_update.patch b/multimedia/xvst/patches/disable_update.patch new file mode 100644 index 0000000000000..2ae5ed743df74 --- /dev/null +++ b/multimedia/xvst/patches/disable_update.patch @@ -0,0 +1,17 @@ +The update will not work anyway. +Index: xvst-2.5/src/options.cpp +=================================================================== +--- xvst-2.5.orig/src/options.cpp 2013-05-26 23:50:04.203059123 +0200 ++++ xvst-2.5/src/options.cpp 2013-05-26 23:50:04.199059123 +0200 +@@ -349,9 +349,9 @@ + + languageFile = LanguageManager::getDefaultUserLanguage(getLanguagesPath()); // "english_uk.language"; + +- installAutomaticallyUpdates = true; ++ installAutomaticallyUpdates = false; + lastUpdate = QDate(2007, 01, 01); +- checkForUpdatesOnStartup = true; ++ checkForUpdatesOnStartup = false; + checkForUpdatesEvery = 1; + + displayBugReport = true; diff --git a/multimedia/xvst/patches/myvideo.patch b/multimedia/xvst/patches/myvideo.patch new file mode 100644 index 0000000000000..adab701d0eda9 --- /dev/null +++ b/multimedia/xvst/patches/myvideo.patch @@ -0,0 +1,364 @@ +Update myvideo plugin. +Index: xvst-2.4.1/resources/services/myvideo/myvideo.js +=================================================================== +--- xvst-2.4.1.orig/resources/services/myvideo/myvideo.js 2011-10-15 22:31:29.502370150 +0200 ++++ xvst-2.4.1/resources/services/myvideo/myvideo.js 2011-10-15 22:31:42.338370040 +0200 +@@ -1,179 +1,179 @@ +-/* +-* +-* This file is part of xVideoServiceThief, +-* an open-source cross-platform Video service download +-* +-* Copyright (C) 2007 - 2009 Xesc & Technology +-* +-* This program is free software: you can redistribute it and/or modify +-* it under the terms of the GNU General Public License as published by +-* the Free Software Foundation, either version 3 of the License, or +-* (at your option) any later version. +-* +-* This program is distributed in the hope that it will be useful, +-* but WITHOUT ANY WARRANTY; without even the implied warranty of +-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-* GNU General Public License for more details. +-* +-* You should have received a copy of the GNU General Public License +-* along with xVideoServiceThief. If not, see <http://www.gnu.org/licenses/>. +-* +-* Contact e-mail: Xesc <xeskuu.xvst@gmail.com> +-* Program URL : http://xviservicethief.sourceforge.net/ +-* +-*/ +- +-function RegistVideoService() +-{ +- this.version = "2.0.0"; +- this.minVersion = "2.0.0a"; +- this.author = "Xesc & Technology 2009"; +- this.website = "http://www.myvideo.de/"; +- this.ID = "myvideo.de"; +- this.caption = "MyVideo"; +- this.adultContent = false; +- this.musicSite = false; +-} +- +-function getVideoInformation(url) +-{ +- const URL_FLV = "%1/%2.flv"; +- // video information +- var result = new VideoDefinition(); +- // download webpage +- var http = new Http(); +- var html = http.downloadWebpage(url); +- // get the flv url and params +- var path = copyBetween(html, "<link rel='image_src' href='", "/thumbs"); +- var vidId = copyBetween(html, path + "/thumbs/", "_"); +- // get the video title +- result.title = copyBetween(html, "entry-title'>", "</a>"); +- // build final url +- result.URL = strFormat(URL_FLV, path, vidId); +- // get cookies +- result.cookies = http.getCookies("|"); +- // return the video information +- return result; +-} +- +-function searchVideos(keyWord, pageIndex) +-{ +- const URL_SEARCH = "http://www.myvideo.de/Videos_A-Z?lpage=%2&searchWord=%1&searchOrder=0"; +- const HTML_SEARCH_START = "<table class='body sCenter vl_newMargin'>"; //'<div class="lBox lLeftBox globalBxBorder globalBx video_list">'; +- const HTML_SEARCH_FINISH = '</table>'; //"</body>"; +- const HTML_SEARCH_SEPARATOR = "<td class='body sTLeft hslice entry-content vCont' id='slice_"; +- // replace all spaces for "+" +- keyWord = strReplace(keyWord, " ", "+"); +- // init search results object +- var searchResults = new SearchResults(); +- // init http object +- var http = new Http(); +- var html = http.downloadWebpage(strFormat(URL_SEARCH, keyWord, pageIndex, searchResults.getUserLanguage())); +- // get the search summary +- var tmp = copyBetween(html, '<td> Dein Ergebnis', '</td>'); +- var summary = "Dein Ergebnis" + copyBetween(tmp, "<span class='sWord'>", "'"); +- var tmp = copyBetween(html, "<span class='pView pnPages'>", "</span>"); +- var summary = summary + " " + tmp +- var tmp = copyBetween(html, "<span class='pView pnResults'>", "</span>"); +- var summary = summary + " " + tmp +- searchResults.setSummary(summary); +- // get results html block +- var htmlResults = copyBetween(html, HTML_SEARCH_START, HTML_SEARCH_FINISH); +- // if we found some results then... +- if (htmlResults != "") +- { +- var block = ""; +- // iterate over results +- while ((block = copyBetween(htmlResults, HTML_SEARCH_SEPARATOR, HTML_SEARCH_SEPARATOR)) != "") +- { +- parseResultItem(searchResults, block); +- htmlResults = strRemove(htmlResults, 0, block.toString().length); +- } +- // get last result +- parseResultItem(searchResults, htmlResults); +- } +- // return search results +- return searchResults; +-} +- +-function parseResultItem(searchResults, html) +-{ +- const VIDEO_URL = "http://www.myvideo.de"; +- // vars +- var tmp, videoUrl, imageUrl, title, description, duration, rating; +- // get title and image url +- tmp = copyBetween(html, "<div class='vThumb'>", '</div>') ; +- title = copyBetween(tmp, "title='", "'"); +- imageUrl = copyBetween(tmp, "src='", "'"); +- // get video url +- videoUrl = VIDEO_URL + copyBetween(tmp, "href='", "'"); +- //if (strIndexOf(imageUrl, "default.jpg") == -1) // if is not a "default.jpg"... +- // imageUrl = copyBetween(tmp, 'thumb="', '"'); +- // get video description +- tmp = copyBetween(html, "<div class='sCenter vTitle'>", '</div>') ; +- description = copyBetween(tmp, "<span class='hidden'>", '</span>'); +- // get video duration +- tmp = copyBetween(html, ' Lnge ', '/span>'); +- duration = convertToSeconds(copyBetween(tmp, "> ", '<')); +- // get rating +- rating = getrating(copyBetween(html, 'ratingBox', '</div>')); +- // add to results list +- searchResults.addSearchResult(videoUrl, imageUrl, title, description, duration, rating); +-} +- +-function getrating(text) +-{ +- var rating = 0 +- var i = 1 +- while (i < 6) +- { +- var part = getToken(text, '<img',i); +- if (strIndexOf(part,"m_star_red_0.gif") != -1) +- { +- rating = rating + 1 +- } +- if (strIndexOf(part,"m_star_half_0.gif") != -1) +- { +- rating = rating + 0.5 +- } +- i++ +- } +- return rating; +-} +- +-function convertToSeconds(text) +-{ +- // how many ":" exists? +- var count = getTokenCount(text, ":"); +- // get mins and seconds +- var h = new Number(h = count == 3 ? getToken(text, ":", 0) * 3600 : 0); +- var m = new Number(getToken(text, ":", count - 2) * 60); +- var s = new Number(getToken(text, ":", count - 1)); +- // convert h:m:s to seconds +- return h + m + s; +-} +- +-function getVideoServiceIcon() +-{ +- return new Array( +- 0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52, +- 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x08,0x03,0x00,0x00,0x00,0x28,0x2d,0x0f, +- 0x53,0x00,0x00,0x00,0x66,0x50,0x4c,0x54,0x45,0x3d,0x88,0xe5,0x49,0x8f,0xe7,0x55, +- 0x97,0xe8,0x61,0x9e,0xea,0x62,0x9e,0xea,0x6e,0xa6,0xec,0x7a,0xad,0xed,0x85,0xb5, +- 0xee,0x86,0xb5,0xef,0x92,0xbc,0xf0,0x9e,0xc3,0xf2,0x9e,0xc4,0xf2,0xaa,0xcb,0xf4, +- 0xb6,0xd2,0xf5,0xc2,0xda,0xf7,0xce,0xe1,0xf8,0xda,0xe9,0xfa,0xdb,0xe9,0xfa,0xe7, +- 0xf0,0xfc,0xf3,0xf8,0xfd,0xff,0x66,0x00,0xff,0x70,0x10,0xff,0x79,0x20,0xff,0x8c, +- 0x40,0xff,0x96,0x50,0xff,0x9f,0x60,0xff,0xb3,0x80,0xff,0xbc,0x8f,0xff,0xc6,0x9f, +- 0xff,0xcf,0xaf,0xff,0xd9,0xbf,0xff,0xec,0xe0,0xff,0xf5,0xef,0xff,0xff,0xff,0x48, +- 0xd7,0xaa,0x42,0x00,0x00,0x00,0x8c,0x49,0x44,0x41,0x54,0x18,0x19,0x05,0xc1,0x09, +- 0x42,0xc2,0x30,0x14,0x05,0xc0,0x17,0x4a,0x2b,0x01,0x0a,0x4a,0x3e,0x54,0x71,0x9d, +- 0xfb,0x5f,0xd2,0x99,0x60,0xf4,0x96,0x76,0x1c,0x40,0x18,0xfb,0xec,0xfa,0x69,0xda, +- 0x0f,0x10,0x96,0x2c,0xe3,0x36,0xac,0x0b,0x88,0xd7,0xec,0xc6,0x5b,0x47,0xbf,0x42, +- 0xf4,0x9c,0x2d,0xc3,0xb7,0x71,0x80,0x98,0x73,0x33,0xb3,0x3d,0x7e,0x4e,0x10,0x2d, +- 0xec,0xd8,0xaa,0xde,0x7f,0x11,0x09,0xad,0xdb,0xaa,0xea,0xfe,0x49,0x24,0xf4,0xd8, +- 0xaa,0xaa,0xea,0x43,0xcc,0xb9,0x19,0x93,0xad,0xaa,0x1e,0x5f,0xc4,0x21,0x2b,0x6c, +- 0x75,0x7f,0x42,0xac,0x99,0x61,0x7b,0xfe,0xbd,0x40,0x8c,0x96,0x0b,0x38,0x1f,0x21, +- 0x9c,0xd3,0x2e,0x58,0xdb,0x80,0xe0,0x90,0x4c,0xf3,0x94,0x0b,0x08,0x1c,0x5b,0xb2, +- 0xbf,0x02,0xff,0xae,0x67,0x16,0x49,0x16,0x8a,0x4e,0x0f,0x00,0x00,0x00,0x00,0x49, +- 0x45,0x4e,0x44,0xae,0x42,0x60,0x82); +-} ++/*
++*
++* This file is part of xVideoServiceThief,
++* an open-source cross-platform Video service download
++*
++* Copyright (C) 2007 - 2009 Xesc & Technology
++*
++* This program is free software: you can redistribute it and/or modify
++* it under the terms of the GNU General Public License as published by
++* the Free Software Foundation, either version 3 of the License, or
++* (at your option) any later version.
++*
++* This program is distributed in the hope that it will be useful,
++* but WITHOUT ANY WARRANTY; without even the implied warranty of
++* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++* GNU General Public License for more details.
++*
++* You should have received a copy of the GNU General Public License
++* along with xVideoServiceThief. If not, see <http://www.gnu.org/licenses/>.
++*
++* Contact e-mail: Xesc <xeskuu.xvst@gmail.com>
++* Program URL : http://xviservicethief.sourceforge.net/
++*
++*/
++
++function RegistVideoService()
++{
++ this.version = "2.0.1";
++ this.minVersion = "2.0.0a";
++ this.author = "Xesc & Technology 2009";
++ this.website = "http://www.myvideo.de/";
++ this.ID = "myvideo.de";
++ this.caption = "MyVideo";
++ this.adultContent = false;
++ this.musicSite = false;
++}
++
++function getVideoInformation(url)
++{
++ const URL_FLV = "%1/%2.flv";
++ // video information
++ var result = new VideoDefinition();
++ // download webpage
++ var http = new Http();
++ var html = http.downloadWebpage(url);
++ // get the flv url and params
++ var path = copyBetween(html, "<link rel='image_src' href='", "/thumbs");
++ var vidId = copyBetween(html, path + "/thumbs/", "_");
++ // get the video title
++ result.title = copyBetween(html, "<h1 class='globalHd'>", "</h1>");
++ // build final url
++ result.URL = strFormat(URL_FLV, path, vidId);
++ // get cookies
++ result.cookies = http.getCookies("|");
++ // return the video information
++ return result;
++}
++
++function searchVideos(keyWord, pageIndex)
++{
++ const URL_SEARCH = "http://www.myvideo.de/Videos_A-Z?lpage=%2&searchWord=%1&searchOrder=0";
++ const HTML_SEARCH_START = "<table class='body sCenter vl_newMargin'>"; //'<div class="lBox lLeftBox globalBxBorder globalBx video_list">';
++ const HTML_SEARCH_FINISH = '</table>'; //"</body>";
++ const HTML_SEARCH_SEPARATOR = "<td class='body sTLeft hslice entry-content vCont' id='slice_";
++ // replace all spaces for "+"
++ keyWord = strReplace(keyWord, " ", "+");
++ // init search results object
++ var searchResults = new SearchResults();
++ // init http object
++ var http = new Http();
++ var html = http.downloadWebpage(strFormat(URL_SEARCH, keyWord, pageIndex, searchResults.getUserLanguage()));
++ // get the search summary
++ var tmp = copyBetween(html, '<td> Dein Ergebnis', '</td>');
++ var summary = "Dein Ergebnis" + copyBetween(tmp, "<span class='sWord'>", "'");
++ var tmp = copyBetween(html, "<span class='pView pnPages'>", "</span>");
++ var summary = summary + " " + tmp
++ var tmp = copyBetween(html, "<span class='pView pnResults'>", "</span>");
++ var summary = summary + " " + tmp
++ searchResults.setSummary(summary);
++ // get results html block
++ var htmlResults = copyBetween(html, HTML_SEARCH_START, HTML_SEARCH_FINISH);
++ // if we found some results then...
++ if (htmlResults != "")
++ {
++ var block = "";
++ // iterate over results
++ while ((block = copyBetween(htmlResults, HTML_SEARCH_SEPARATOR, HTML_SEARCH_SEPARATOR)) != "")
++ {
++ parseResultItem(searchResults, block);
++ htmlResults = strRemove(htmlResults, 0, block.toString().length);
++ }
++ // get last result
++ parseResultItem(searchResults, htmlResults);
++ }
++ // return search results
++ return searchResults;
++}
++
++function parseResultItem(searchResults, html)
++{
++ const VIDEO_URL = "http://www.myvideo.de";
++ // vars
++ var tmp, videoUrl, imageUrl, title, description, duration, rating;
++ // get title and image url
++ tmp = copyBetween(html, "<div class='vThumb'>", '</div>') ;
++ title = copyBetween(tmp, "title='", "'");
++ imageUrl = copyBetween(tmp, "src='", "'");
++ // get video url
++ videoUrl = VIDEO_URL + copyBetween(tmp, "href='", "'");
++ //if (strIndexOf(imageUrl, "default.jpg") == -1) // if is not a "default.jpg"...
++ // imageUrl = copyBetween(tmp, 'thumb="', '"');
++ // get video description
++ tmp = copyBetween(html, "<div class='sCenter vTitle'>", '</div>') ;
++ description = copyBetween(tmp, "<span class='hidden'>", '</span>');
++ // get video duration
++ tmp = copyBetween(html, ' Lnge ', '/span>');
++ duration = convertToSeconds(copyBetween(tmp, "> ", '<'));
++ // get rating
++ rating = getrating(copyBetween(html, 'ratingBox', '</div>'));
++ // add to results list
++ searchResults.addSearchResult(videoUrl, imageUrl, title, description, duration, rating);
++}
++
++function getrating(text)
++{
++ var rating = 0
++ var i = 1
++ while (i < 6)
++ {
++ var part = getToken(text, '<img',i);
++ if (strIndexOf(part,"m_star_red_0.gif") != -1)
++ {
++ rating = rating + 1
++ }
++ if (strIndexOf(part,"m_star_half_0.gif") != -1)
++ {
++ rating = rating + 0.5
++ }
++ i++
++ }
++ return rating;
++}
++
++function convertToSeconds(text)
++{
++ // how many ":" exists?
++ var count = getTokenCount(text, ":");
++ // get mins and seconds
++ var h = new Number(h = count == 3 ? getToken(text, ":", 0) * 3600 : 0);
++ var m = new Number(getToken(text, ":", count - 2) * 60);
++ var s = new Number(getToken(text, ":", count - 1));
++ // convert h:m:s to seconds
++ return h + m + s;
++}
++
++function getVideoServiceIcon()
++{
++ return new Array(
++ 0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,
++ 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x08,0x03,0x00,0x00,0x00,0x28,0x2d,0x0f,
++ 0x53,0x00,0x00,0x00,0x66,0x50,0x4c,0x54,0x45,0x3d,0x88,0xe5,0x49,0x8f,0xe7,0x55,
++ 0x97,0xe8,0x61,0x9e,0xea,0x62,0x9e,0xea,0x6e,0xa6,0xec,0x7a,0xad,0xed,0x85,0xb5,
++ 0xee,0x86,0xb5,0xef,0x92,0xbc,0xf0,0x9e,0xc3,0xf2,0x9e,0xc4,0xf2,0xaa,0xcb,0xf4,
++ 0xb6,0xd2,0xf5,0xc2,0xda,0xf7,0xce,0xe1,0xf8,0xda,0xe9,0xfa,0xdb,0xe9,0xfa,0xe7,
++ 0xf0,0xfc,0xf3,0xf8,0xfd,0xff,0x66,0x00,0xff,0x70,0x10,0xff,0x79,0x20,0xff,0x8c,
++ 0x40,0xff,0x96,0x50,0xff,0x9f,0x60,0xff,0xb3,0x80,0xff,0xbc,0x8f,0xff,0xc6,0x9f,
++ 0xff,0xcf,0xaf,0xff,0xd9,0xbf,0xff,0xec,0xe0,0xff,0xf5,0xef,0xff,0xff,0xff,0x48,
++ 0xd7,0xaa,0x42,0x00,0x00,0x00,0x8c,0x49,0x44,0x41,0x54,0x18,0x19,0x05,0xc1,0x09,
++ 0x42,0xc2,0x30,0x14,0x05,0xc0,0x17,0x4a,0x2b,0x01,0x0a,0x4a,0x3e,0x54,0x71,0x9d,
++ 0xfb,0x5f,0xd2,0x99,0x60,0xf4,0x96,0x76,0x1c,0x40,0x18,0xfb,0xec,0xfa,0x69,0xda,
++ 0x0f,0x10,0x96,0x2c,0xe3,0x36,0xac,0x0b,0x88,0xd7,0xec,0xc6,0x5b,0x47,0xbf,0x42,
++ 0xf4,0x9c,0x2d,0xc3,0xb7,0x71,0x80,0x98,0x73,0x33,0xb3,0x3d,0x7e,0x4e,0x10,0x2d,
++ 0xec,0xd8,0xaa,0xde,0x7f,0x11,0x09,0xad,0xdb,0xaa,0xea,0xfe,0x49,0x24,0xf4,0xd8,
++ 0xaa,0xaa,0xea,0x43,0xcc,0xb9,0x19,0x93,0xad,0xaa,0x1e,0x5f,0xc4,0x21,0x2b,0x6c,
++ 0x75,0x7f,0x42,0xac,0x99,0x61,0x7b,0xfe,0xbd,0x40,0x8c,0x96,0x0b,0x38,0x1f,0x21,
++ 0x9c,0xd3,0x2e,0x58,0xdb,0x80,0xe0,0x90,0x4c,0xf3,0x94,0x0b,0x08,0x1c,0x5b,0xb2,
++ 0xbf,0x02,0xff,0xae,0x67,0x16,0x49,0x16,0x8a,0x4e,0x0f,0x00,0x00,0x00,0x00,0x49,
++ 0x45,0x4e,0x44,0xae,0x42,0x60,0x82);
++}
diff --git a/multimedia/xvst/patches/screen_yahoo.patch b/multimedia/xvst/patches/screen_yahoo.patch new file mode 100644 index 0000000000000..2db869e200354 --- /dev/null +++ b/multimedia/xvst/patches/screen_yahoo.patch @@ -0,0 +1,86 @@ +# new version +Index: xvst-2.5/resources/services/yahoovideo/yahoovideo.js +=================================================================== +--- xvst-2.5.orig/resources/services/yahoovideo/yahoovideo.js 2013-02-25 19:37:11.000000000 +0100 ++++ xvst-2.5/resources/services/yahoovideo/yahoovideo.js 2013-09-09 18:48:45.076024563 +0200 +@@ -25,11 +25,11 @@ + + function RegistVideoService() + { +- this.version = "1.0.0"; ++ this.version = "1.1.0"; + this.minVersion = "2.0.0a"; +- this.author = "Xesc & Technology 2009"; +- this.website = "http://video.yahoo.com/"; +- this.ID = "video.yahoo.com"; ++ this.author = "anon"; ++ this.website = "http://screen.yahoo.com/"; ++ this.ID = "screen.yahoo.com"; + this.caption = "Yahoo Video"; + this.adultContent = false; + this.musicSite = false; +@@ -37,30 +37,46 @@ + + function getVideoInformation(url) + { +- const URL_GET_XML = "http://cosmos.bcst.yahoo.com/up/yep/process/getPlaylistFOP.php?node_id=%1&tech=flash&mode=playlist&bitrate=300&null&rd=video.yahoo.com&tk=null"; ++ var url_get_json ="http://video.query.yahoo.com/v1/public/yql?q=SELECT streams FROM yahoo.media.video.streams WHERE id=\"%1\" AND plrs=\"\" AND protocol=\"http\" AND region=\"%2\";&env=prod&format=json"; + // init result + var result = new VideoDefinition(); + // download webpage + var http = new Http(); + var html = http.downloadWebpage(url); + // get video title +- result.title = copyBetween(html, "<meta name=\"title\" content=\"", "\""); +- // if we didn't get a title, try to get the channel video title +- if (result.title == "") +- result.title = copyBetween(html, "<h2 id=\"nvi_title\">", "</h2>"); ++ var title = copyBetween(html, "<title>", "</title>"); ++ //if we have the ?format=embed parameter added, the | is missing ++ if (title.toString().indexOf(" |") != -1) ++ title = copyBetween(title, "", " |"); ++ result.title = title; + // get the node_id +- var node_id = copyBetween(html, "so.addVariable(\"id\", \"", "\""); +- // download xml +- var xml = http.downloadWebpage(strFormat(URL_GET_XML, node_id)); ++ var node_id = copyBetween(html, "\"id\":\"", "\""); ++ // get the region ++ var region = copyBetween(html, "region: \'", "\'"); ++ // download json ++ var jsonstr = http.downloadWebpage(strFormat(url_get_json, node_id, region)); ++ var json = JSON.parse(jsonstr); ++ var streams = json.query.results.mediaObj[0].streams; ++ var streamindex = streams.length - 1; //the streams are sorted by quality. highest is last. + // get video host and path +- var host = copyBetween(xml, "<STREAM APP=\"", "\""); +- var path = copyBetween(xml, "FULLPATH=\"", "\""); ++ var host = streams[streamindex].host; //copyBetween(json, "\"host\":\"", "\""); ++ var path = streams[streamindex].path; //copyBetween(json, "\"path\":\"", "\"") + // set video URL +- result.URL = strReplace(host + path, "&", "&"); ++ result.URL = host + path; //take the video with highest quality ++ result.extension = extensionFromVideoType(streams[streamindex].mime_type); + // return the video information + return result; + } + ++function extensionFromVideoType(vtype) ++{ ++ if (vtype == "video/x-flv") return ".flv"; ++ if (vtype == "video/mp4") return ".mp4"; ++ if (vtype == "video/webm") return ".webm"; ++ // default extension ++ return ".flv"; ++} ++ + function getVideoServiceIcon() + { + return new Array( +@@ -72,4 +88,4 @@ + 0x30,0xec,0x01,0xc4,0xcb,0x70,0x47,0x10,0x2e,0x33,0x20,0x5b,0xb2,0xbd,0x58,0x9c, + 0xfa,0x5b,0x0d,0x9a,0xe5,0x10,0xb3,0x3f,0x33,0x07,0xa6,0xb3,0x7e,0x82,0xcd,0x2f, + 0x11,0x53,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82); +-} ++} +\ No newline at end of file diff --git a/multimedia/xvst/patches/wat.tv.patch b/multimedia/xvst/patches/wat.tv.patch new file mode 100644 index 0000000000000..67eca10b9fbab --- /dev/null +++ b/multimedia/xvst/patches/wat.tv.patch @@ -0,0 +1,97 @@ +# New plugin version +Index: xvst-2.5/resources/services/wat/wat.js +=================================================================== +--- xvst-2.5.orig/resources/services/wat/wat.js 2013-02-25 19:37:11.758387000 +0100 ++++ xvst-2.5/resources/services/wat/wat.js 2013-05-27 01:03:49.342927487 +0200 +@@ -3,7 +3,7 @@ + * This file is part of xVideoServiceThief, + * an open-source cross-platform Video service download + * +-* Copyright (C) 2007 - 2011 Xesc & Technology ++* Copyright (C) 2007 - 2009 Xesc & Technology + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +@@ -25,9 +25,9 @@ + + function RegistVideoService() + { +- this.version = "1.0.4"; ++ this.version = "1.0.2"; + this.minVersion = "2.0.0a"; +- this.author = "Xesc & Technology 2011"; ++ this.author = "Xesc & Technology 2009"; + this.website = "http://www.wat.tv/"; + this.ID = "wat.tv"; + this.caption = "Wat.tv"; +@@ -45,7 +45,7 @@ + var http = new Http(); + var html = http.downloadWebpage(url); + // get video title +- result.title = copyBetween(html, "'title" content="', '"'); ++ result.title = copyBetween(html, "<h2 class=\"title\">", "</h2>"); + // get video id + var vidId = copyBetween(html, 'id="media" value="', '"'); + // download video info +@@ -61,17 +61,48 @@ + { + return new Array( + 0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52, +- 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x08,0x03,0x00,0x00,0x00,0x28,0x2d,0x0f, +- 0x53,0x00,0x00,0x00,0x2a,0x50,0x4c,0x54,0x45,0xff,0xff,0xfd,0xff,0xc4,0xf6,0xff, +- 0x66,0xe2,0xff,0x86,0xea,0xff,0xec,0xfc,0xff,0x57,0xe2,0xff,0x00,0xcf,0xff,0xad, +- 0xef,0xff,0xfd,0xff,0xff,0x2c,0xd5,0xff,0x98,0xec,0xff,0x42,0xdb,0xff,0x76,0xe6, +- 0xff,0xd8,0xf6,0x42,0x91,0xbf,0xbc,0x00,0x00,0x00,0x69,0x49,0x44,0x41,0x54,0x78, +- 0xda,0x9d,0x8d,0xdb,0x0e,0xc0,0x20,0x08,0x43,0x51,0x2e,0x82,0xba,0xff,0xff,0xdd, +- 0x15,0xe2,0xb2,0x3d,0xaf,0x90,0xa6,0x1c,0x9b,0x48,0x3f,0xd4,0x3a,0xcb,0x93,0x85, +- 0x7b,0x23,0x35,0x1b,0xc8,0xee,0xb0,0x61,0xa6,0x00,0x01,0x20,0xbd,0x4b,0x81,0x38, +- 0x8d,0x69,0xc6,0x07,0xac,0x04,0xbe,0x0f,0x88,0x95,0x8d,0x4d,0x0e,0x57,0x27,0x86, +- 0x67,0xcd,0x26,0x12,0x2a,0x33,0x23,0x49,0xd8,0x57,0x42,0xd4,0x8a,0x84,0x96,0x8f, +- 0xfc,0xfd,0xda,0xb1,0x58,0x84,0x35,0x76,0xc3,0xe9,0x98,0xaf,0xde,0xf3,0x25,0x10, +- 0xd5,0xd6,0xdb,0x0d,0x8b,0x51,0x03,0x7a,0x88,0x11,0x0f,0x52,0x00,0x00,0x00,0x00, +- 0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82); ++ 0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x10,0x08,0x02,0x00,0x00,0x00,0x90,0x91,0x68, ++ 0x36,0x00,0x00,0x01,0x2f,0x69,0x43,0x43,0x50,0x49,0x43,0x43,0x20,0x50,0x72,0x6f, ++ 0x66,0x69,0x6c,0x65,0x00,0x00,0x78,0x01,0x63,0x60,0x60,0x32,0x70,0x74,0x71,0x72, ++ 0x65,0x12,0x60,0x60,0xc8,0xcd,0x2b,0x29,0x0a,0x72,0x77,0x52,0x88,0x88,0x8c,0x52, ++ 0x60,0xbf,0xc0,0xc0,0xc1,0xc0,0xcd,0x20,0xcc,0x60,0xcc,0x60,0x9d,0x98,0x5c,0x5c, ++ 0xe0,0x18,0x10,0xe0,0xc3,0x00,0x04,0x79,0xf9,0x79,0xa9,0x20,0x1a,0x15,0x7c,0xbb, ++ 0xc6,0xc0,0x08,0x12,0xb9,0xac,0x0b,0x32,0x0b,0x55,0x8e,0x20,0x8f,0x2b,0xb9,0xa0, ++ 0xa8,0x04,0xa8,0xea,0x0f,0x10,0x1b,0xa5,0xa4,0x16,0x27,0x33,0x30,0x30,0x1a,0x00, ++ 0xd9,0xd9,0xe5,0x25,0x05,0x40,0x71,0xc6,0x39,0x40,0xb6,0x48,0x52,0x36,0x98,0xbd, ++ 0x01,0xc4,0x2e,0x0a,0x09,0x72,0x06,0x8a,0x1f,0x01,0xb2,0xf9,0xd2,0x21,0xec,0x2b, ++ 0x20,0x76,0x12,0x84,0xfd,0x04,0xc4,0x2e,0x02,0x7a,0x02,0xa8,0xe6,0x0b,0x48,0x7d, ++ 0x3a,0x98,0xcd,0xc4,0x01,0x62,0x27,0x41,0xd8,0x32,0x20,0x76,0x49,0x6a,0x05,0xc8, ++ 0x5e,0x06,0xe7,0xfc,0x82,0xca,0xa2,0xcc,0xf4,0x8c,0x12,0x05,0x23,0x03,0x03,0x03, ++ 0x05,0xc7,0x94,0xfc,0xa4,0x54,0x85,0xe0,0xca,0xe2,0x92,0xd4,0xdc,0x62,0x05,0xcf, ++ 0xbc,0xe4,0xfc,0xa2,0x82,0xfc,0xa2,0xc4,0x92,0xd4,0x14,0xa0,0x5a,0x88,0xfb,0x40, ++ 0xba,0x18,0x04,0x21,0x0a,0x41,0x21,0xa6,0x61,0x68,0x69,0x69,0xa1,0x09,0x16,0xa5, ++ 0x22,0x01,0x8a,0x07,0x88,0x71,0x9f,0x03,0xc1,0xe1,0xcb,0x28,0x76,0x06,0x21,0x86, ++ 0xb0,0x28,0xb9,0xb4,0xa8,0x0c,0xca,0x63,0x64,0x32,0x66,0x60,0x20,0xc4,0x47,0x98, ++ 0x31,0x47,0x82,0x81,0xc1,0x7f,0x29,0x03,0x03,0xcb,0x1f,0x84,0x98,0x49,0x2f,0x03, ++ 0xc3,0x02,0x1d,0x06,0x06,0xfe,0xa9,0x08,0x31,0x35,0x43,0x06,0x06,0x01,0x7d,0x06, ++ 0x86,0x7d,0x73,0x00,0xc3,0xaf,0x50,0x6f,0xe6,0xb3,0xe5,0xe9,0x00,0x00,0x00,0x09, ++ 0x70,0x48,0x59,0x73,0x00,0x00,0x0b,0x13,0x00,0x00,0x0b,0x13,0x01,0x00,0x9a,0x9c, ++ 0x18,0x00,0x00,0x01,0x3c,0x49,0x44,0x41,0x54,0x28,0x15,0x63,0xfc,0xff,0xff,0x2f, ++ 0x03,0x29,0x80,0x89,0x14,0xc5,0x20,0xb5,0x24,0x6b,0x60,0x61,0x38,0xfa,0x93,0x61, ++ 0xd1,0x1b,0x06,0x05,0x0e,0x86,0x34,0x21,0x06,0x61,0x46,0xec,0x16,0xbe,0xfd,0xcf, ++ 0x30,0xeb,0x1d,0xc3,0x83,0x1f,0x0c,0x71,0x22,0x2c,0x0c,0x93,0xdf,0x30,0xac,0x7c, ++ 0x0b,0x52,0xa7,0xce,0xca,0x10,0xc4,0x07,0xd5,0xf0,0x0f,0x6c,0x33,0xd3,0x3f,0x28, ++ 0xf7,0xe0,0x67,0x86,0xaa,0xa7,0x20,0xf6,0x47,0xb8,0x93,0x74,0xd8,0xa0,0x72,0x40, ++ 0x0a,0x68,0x5e,0xe6,0x63,0x10,0x02,0x32,0xd0,0xc0,0xd5,0xcf,0x2c,0x50,0x91,0x2b, ++ 0xbf,0x10,0x52,0x6b,0x3e,0x30,0xcc,0x02,0xdb,0x09,0x74,0x67,0xa5,0x30,0x42,0x1c, ++ 0xcc,0x62,0x62,0x78,0xfd,0x13,0x45,0x08,0xe8,0x98,0x7b,0x48,0x9a,0x91,0xe5,0x80, ++ 0xae,0x10,0x63,0x63,0x62,0x10,0x65,0x87,0x0a,0x9e,0xfc,0x0e,0x65,0x3c,0xfc,0x03, ++ 0x65,0x5c,0xfc,0xc1,0x00,0xf1,0xcc,0xcd,0xdf,0x20,0x11,0xa0,0x2b,0x44,0xd9,0x59, ++ 0x18,0xc2,0x78,0xa1,0x9e,0xee,0x7a,0xc9,0xa0,0xc4,0xc6,0xf0,0xee,0x1f,0x94,0x0b, ++ 0x54,0x01,0x0c,0x0c,0x7d,0x0e,0x06,0x21,0x26,0xa8,0x8f,0x81,0x22,0x8e,0x5c,0x8c, ++ 0xff,0xdf,0xfc,0x61,0x70,0xb8,0x09,0xd2,0x4d,0x0c,0x78,0xa3,0xcb,0x04,0x0a,0xfb, ++ 0x19,0x8a,0x0c,0xc8,0xa1,0x04,0xd4,0x09,0xe4,0x86,0xa3,0x7a,0x17,0x28,0xb2,0x56, ++ 0x81,0x41,0x90,0x99,0x11,0x9a,0x96,0x6e,0xfe,0x64,0x98,0xf7,0x81,0x61,0xdb,0x7b, ++ 0xa0,0xb7,0x18,0x5c,0xf8,0x41,0x91,0x08,0x04,0xc0,0xc8,0x02,0x7a,0xe3,0xea,0x67, ++ 0x06,0x2f,0x41,0x06,0x3f,0x01,0x06,0x6b,0x90,0x6f,0x19,0xff,0xff,0xfd,0xcf,0x00, ++ 0x8c,0x20,0xa0,0xe7,0xe0,0xd1,0x04,0x52,0x8b,0x13,0xc0,0xd2,0x12,0x71,0xaa,0x81, ++ 0xc6,0xb0,0x40,0x8d,0x87,0x9b,0x08,0xb1,0x0d,0xc8,0x85,0x33,0x20,0x6c,0x98,0x02, ++ 0x00,0xf8,0xc9,0x65,0x0a,0x86,0x6f,0x02,0x27,0x00,0x00,0x00,0x00,0x49,0x45,0x4e, ++ 0x44,0xae,0x42,0x60,0x82); + } diff --git a/multimedia/xvst/xvst.SlackBuild b/multimedia/xvst/xvst.SlackBuild index 8b6a7e0470a09..033ca69467060 100644 --- a/multimedia/xvst/xvst.SlackBuild +++ b/multimedia/xvst/xvst.SlackBuild @@ -2,11 +2,30 @@ # Slackware build script for xvst -# Written by Larry Hajali <larryhaja[at]gmail[dot]com> +# Copyright 2010-2013 Larry Hajali <larryhaja[at]gmail[dot]com> +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=xvst -VERSION=${VERSION:-2.4.1} -BUILD=${BUILD:-2} +SRCNAM=xVideoServiceThief +VERSION=${VERSION:-2.5} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -37,42 +56,31 @@ set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP -rm -rf $PRGNAM-$VERSION -mkdir $PRGNAM-$VERSION -cd $PRGNAM-$VERSION -unzip $CWD/xVST_${VERSION//\./_}_src.zip -# Xvst hasn't had a stable release in a couple years. -# However, the developer(s) have updated the plugins in svn. -# Add PLUGINS=yes to the slackbuild to download the updated -# plugins/translations. -if [ "${PLUGINS:-no}" == "yes" ]; then - svn export --force https://xviservicethief.svn.sourceforge.net/svnroot/xviservicethief/trunk/resources/services \ - resources/services - svn export --force https://xviservicethief.svn.sourceforge.net/svnroot/xviservicethief/trunk/resources/translations/definitions \ - resources/translations/definitions -fi +rm -rf $SRCNAM-$VERSION +tar -xvf $CWD/$SRCNAM-2.5.tar.gz || tar -xvf $CWD/$VERSION.tar.gz +cd $SRCNAM-$VERSION chown -R root:root . find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; - + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Patches from getdeb.net. +for i in $CWD/patches/*;do patch -p1 < $i;done +# remove exeutable bit from *.js files. +find . -name "*\.js" -exec chmod -x '{}' \; # Change file from DOS to Unix, change path for plugins and language files # and make translations. sed -i 's/\r//g' "how to compile.txt" sed -i "s|getApplicationPath()\ +\ \"|\"/usr/share/$PRGNAM|g" src/options.cpp -lrelease resources/translations/*.ts +lrelease-qt5 resources/translations/*.ts rm -f resources/translations/template_for_new_translations.qm -# Fix to compile against gcc 4.7.x. -patch -p1 < $CWD/gcc-4.7.patch - -qmake -set build_mode dynamic_build -qmake PREFIX=/usr -o Makefile xVideoServiceThief.pro -make \ - CFLAGS="-pipe $SLKCFLAGS -Wall -W -D_REENTRANT \$(DEFINES)" \ - CXXFLAGS="-pipe $SLKCFLAGS -Wall -W -D_REENTRANT \$(DEFINES)" +qmake-qt5 -set build_mode dynamic_build +qmake-qt5 PREFIX=/usr QMAKE_CFLAGS+="$SLKCFLAGS" QMAKE_CXXFLAGS+="$SLKCLAGS" \ + -o Makefile xVideoServiceThief.pro +make # Install program and corresponding files. install -D -m 0755 bin/$PRGNAM $PKG/usr/bin/$PRGNAM diff --git a/multimedia/xvst/xvst.info b/multimedia/xvst/xvst.info index ebe80c5e73736..b93f2c9445952 100644 --- a/multimedia/xvst/xvst.info +++ b/multimedia/xvst/xvst.info @@ -1,10 +1,10 @@ PRGNAM="xvst" -VERSION="2.4.1" +VERSION="2.5" HOMEPAGE="http://xviservicethief.sourceforge.net/" -DOWNLOAD="http://downloads.sourceforge.net/xviservicethief/xVST_2_4_1_src.zip" -MD5SUM="7f8c2e79c3431cc46da306419abc16eb" +DOWNLOAD="https://github.com/xVST/xVideoServiceThief/archive/2.5.tar.gz" +MD5SUM="a878b0fd26f3a0254ac34efe62a5bbdc" DOWNLOAD_x86_64="" MD5SUM_x86_64="" -REQUIRES="ffmpeg" +REQUIRES="%README% ffmpeg qt5" MAINTAINER="Larry Hajali" EMAIL="larryhaja[at]gmail[dot]com" |