summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Asplund <peter.azp@gmail.com>2015-03-29 19:56:29 +0200
committerPeter Asplund <peter.azp@gmail.com>2015-03-29 19:56:29 +0200
commit233c147b4fa1230cbb4a89a40f92750ced4b996d (patch)
treea864857e2e7d816470826e16a0a90c505190bcb4
parentAdd php-5.5.13 with patch for systemd (diff)
downloadAzP-233c147b4fa1230cbb4a89a40f92750ced4b996d.tar.gz
AzP-233c147b4fa1230cbb4a89a40f92750ced4b996d.tar.bz2
AzP-233c147b4fa1230cbb4a89a40f92750ced4b996d.zip
Update with latest packages
Remove Mediatomb. Add folks-0.11 to fix emerge issue with new eds Alchemy ebuild? (not sure) Add tuxguitar
-rw-r--r--dev-lang/php/Manifest2
-rw-r--r--net-misc/mediatomb/Manifest9
-rw-r--r--net-misc/mediatomb/files/mediatomb-0.12.0.confd28
-rw-r--r--net-misc/mediatomb/files/mediatomb-0.12.0.config144
-rw-r--r--net-misc/mediatomb/files/mediatomb-0.12.0.initd22
-rw-r--r--net-misc/mediatomb/files/mediatomb-0.12.1-gcc46.patch13
-rw-r--r--net-misc/mediatomb/files/mediatomb-0.12.1-libav7.patch64
-rw-r--r--net-misc/mediatomb/files/mediatomb-0.12.1-libmp4v2_191_p479.patch187
-rw-r--r--net-misc/mediatomb/files/mediatomb-0.12.1-mozjs185.patch605
-rw-r--r--net-misc/mediatomb/mediatomb-0.12.1-r2.ebuild125
10 files changed, 2 insertions, 1197 deletions
diff --git a/dev-lang/php/Manifest b/dev-lang/php/Manifest
index 27fa2c0..9b43465 100644
--- a/dev-lang/php/Manifest
+++ b/dev-lang/php/Manifest
@@ -18,6 +18,8 @@ AUX php-fpm_at.service 317 SHA256 6bbbbd7b6501305c17b7290bb2a83b0ebe492d421adaac
AUX php5-ldvs 22 SHA256 b79d0e52b1b3b4543b31ad45525ae1c2814a27ea8e676772ab10bf6fb12dfe79 SHA512 689a0a12b3527741d2e47870c125e93be73a127e5e798c4b685ccb11653be5a8615faf3178c71a6346fe264d3c4ec76601bc05878fef67b9dbd2e45be59a344d WHIRLPOOL b24f193a1067f699c8efb199ba4e3f1fdd22c13dff98655206b30072ce8c8035fb4ed9288f694856f9978bd9935d3a5589cd968316920e712779c45b44897634
AUX stricter-libc-client-symlink-check.patch 786 SHA256 bc80d286ce3b2805ce41e46580f24c5ba8f613b670757f81e6b2b638aecbf0df SHA512 db94207a3fd883f78b20fd9261720c39ad097566ae4dd913fe33a12adcedaab943ca0975a4f6a4917d40f6fde61e9b5928378ad91f3afe62d84aba3c9351db03 WHIRLPOOL 1ee44c69658d844614b31d09b8ce945075c9491703c04cb57aceec2469a97db65bf80871e4cf2ba6c9d9fe19a4305906e09d0cc474a635c9a1a6001a4d8c982a
DIST php-5.5.13.tar.bz2 13274145 SHA256 e58a4a754eb18d2d8b1a120cad5cce4ed24a7db5d49eca5830a40e4c8ca78b9c SHA512 0c82635d73b328c5798163dba2b293fc1ad976793a9fac21a36840594c4f26d5a6582ba437f54bfaacf1fde3df2d09366b106bb555cb42a29097e6ad33ac36d9 WHIRLPOOL 65c7e6e80f07e7738af78922103918b36eb65dcac06b8334911e82c2a3f1820dfb5e484804937a995c148b65568b3146081cfecd96efb669bfb9c1f36da72fa4
+DIST php-5.5.14.tar.bz2 13282773 SHA256 df5a057877f827549e0a60b43fb01e4bd440814bcf04fbd70bacbddf74482610 SHA512 344d65e2bb1dfb1e663782e6ee74818d8792790d7ebcde1ada84282430588c5649caa2d149fee93511e49446425500c91fcaafe046e0db722cb4f4fd52d74e7d WHIRLPOOL a462c334d98f621410989236aa348a25234770c3ee12a84a4e3128110c88e066e9eae773974b7a6e44670c7d05ce933a73863b6e39a89d352c0cf63ade36fcac
EBUILD php-5.5.13-r1.ebuild 22224 SHA256 d6c2c9669526a582fd1b9f80f6b98a5b8eabe48e620bf1f6b19ba36a2e3c7470 SHA512 a258d3c585b232e28be4a770e29ed36984a60a21fdd12c6b8c1be2f7ecf15e013cc9dcb75b9b692da2b527ab44ae0a64452747759ad99efc85901ef1cfa949da WHIRLPOOL dce12c1ab12bb5c770675045b3a2d7258ceb56bfb47335bc47788143fc66e849fbeb2c94fa22172a84a13f296b55f1ec73c24af057f8ad1ec1b310988846ed69
+EBUILD php-5.5.14.ebuild 22210 SHA256 f40c0eebb71a023f204ced6733f3835296d7c30dbf42c15aaf3110d9eb45f804 SHA512 11f04f65e28bdd107ba6b17a2fc4cd2dd63ea5d105c524413f91e48a197a48dd28d651750c47f870a9bc160becb5935c3ebd2536ed9677933af37cd9ffa3f525 WHIRLPOOL 6e13c8481ba304df046a8c6d3544363a8cf6ac39a18c0770b68bd87b4b74da47d842ed87493fdef93bf1eae27a59e37ba6fc004814c2936f7ca8b42e0623d321
MISC ChangeLog 26366 SHA256 0d3da22656da0738526f66817220ad9432c07a13d602a368fceb6be0ee48af52 SHA512 786ecab7de7234ac9b2313982ba85a17c157721506b073c8a1753267d995145c3668b485573602b387398b4b364554db3af7e4d3ee4ccfa4c4fa959f7d31e305 WHIRLPOOL 5f45e96dfa420f2adac03d24a08129bc06b3132b0e7a6278d778d586a4a836789a341fa5470780754c6640fd2c2542ee47eece2580b7a9cec7cb6374b42ceb33
MISC metadata.xml 1547 SHA256 2ce287830b8238e330c0585ef3023f86a9e5d46204619c92588244c5d7fa2f77 SHA512 a3a1c2dfddb4d0d92eafa33d74dc0bb90f1a9976e1d2fe0d3717a0d94149d3023dfdc9e68d42d440873561b2e6c34969ae86cec24ac0f0bddcf9ba14103ba450 WHIRLPOOL d9d877b3ae1b304ff89f7b0dd3a1f23d78062280ee935eaaa02c44e8e1dc2fd78bf2c6336cfebb2d9e8dddc03414a7744114ecebee6e364e962c49ff5e2bdf57
diff --git a/net-misc/mediatomb/Manifest b/net-misc/mediatomb/Manifest
deleted file mode 100644
index 63411be..0000000
--- a/net-misc/mediatomb/Manifest
+++ /dev/null
@@ -1,9 +0,0 @@
-AUX mediatomb-0.12.0.confd 805 RMD160 80b99ac5eb0a3cfdbe658084b6ba8a48c2b97dea SHA1 c3908aa800c4d6f3078760b5c32fbdf745f28239 SHA256 21b1b9d31a6db76c5c1ccfbf00e5cd553eecfeb0e2bb161ccc024eab2243293c
-AUX mediatomb-0.12.0.config 6180 RMD160 ee51ad90cd9c4107376b80af19dfe076f06df8e7 SHA1 41376b8a161d8523846c5adb5375af5bc0c1a0d1 SHA256 cb43e92639e5e53908567c050c9a2fc0e5c349fd11a149414590c2c6a402b4d2
-AUX mediatomb-0.12.0.initd 541 RMD160 cb4ccfebbe98d38a9e4fdedc6f0fa9aa7ab18453 SHA1 e3c8ed51e118cc72a164b908fe4d629a1ebbf14b SHA256 8dfe99d619a3384b2fb9105051daae1fc6c88402364d4203b21344f766a6b696
-AUX mediatomb-0.12.1-gcc46.patch 297 RMD160 b0de22743402e27bffd8a868026f0003f9960b24 SHA1 db58b48202b3e2d2dee42b13f761994ed4e67796 SHA256 58379e733518bc5ef61fee9156d430ef283278eb3a69f6bdad4cad794df75146
-AUX mediatomb-0.12.1-libav7.patch 1983 RMD160 1ff1421bef0ec2cc4a56b5f649a4888a6a48e663 SHA1 8f8811d3879f4b8d2e1132fe2016a54b4fdf5b87 SHA256 c6523e8bf5e2da89b7475d6777ef9bffe7d089752ef2f7b27b5e39a4130fb0ff
-AUX mediatomb-0.12.1-libmp4v2_191_p479.patch 5893 RMD160 712dab501782c241655a5290b784eef5444bcca0 SHA1 b570ab83c6f17bc6eae3288d7c66cced0933208a SHA256 d39c2f9aab051c5447461718fd0ec72cf5982f6c920a4a985a50831f34babe84
-AUX mediatomb-0.12.1-mozjs185.patch 22839 RMD160 6e47aff3a3d97d7d8a5359161b549699368a6bb8 SHA1 95d47ffd95b217100387844cbbbd854d0587f8dd SHA256 3960961f1fbe46baff3956ea2fa94b4dc193c0d278b8646cda1f4cee26812f59
-DIST mediatomb-0.12.1.tar.gz 1240612 RMD160 ecb61ca2483f76421beef1036ac442b8f805fa96 SHA1 86e880584cc9c8aaf3926d56048510d1d06e76b4 SHA256 31163c34a7b9d1c9735181737cb31306f29f1f2a0335fb4f53ecccf8f62f11cd
-EBUILD mediatomb-0.12.1-r2.ebuild 3863 RMD160 3b184c780c2aa4e9e89624f9011ec70ab6614491 SHA1 99b7e4cae55889440288bf3feb398604c8e521e9 SHA256 a360bdc5aa5b5a33629aa4e3443fdebe0b20cff85ce34118423f8963ed4a173e
diff --git a/net-misc/mediatomb/files/mediatomb-0.12.0.confd b/net-misc/mediatomb/files/mediatomb-0.12.0.confd
deleted file mode 100644
index 7f5c008..0000000
--- a/net-misc/mediatomb/files/mediatomb-0.12.0.confd
+++ /dev/null
@@ -1,28 +0,0 @@
-# /etc/conf.d/mediatomb: config file for /etc/init.d/mediatomb
-
-# See the mediatomb(1) manpage for more info.
-
-# MediaTomb Web UI port.
-# NOTE: The minimum value allowed is 49152
-MEDIATOMB_PORT=49152
-
-# Run MediaTomb as this user.
-# NOTE: For security reasons do not run MediaTomb as root.
-MEDIATOMB_USER="mediatomb"
-
-# Run MediaTomb as this group.
-# NOTE: For security reasons do not run MediaTomb as root.
-MEDIATOMB_GROUP="mediatomb"
-
-# Path to MediaTomb config file.
-MEDIATOMB_CONFIG="/etc/mediatomb/config.xml"
-
-# Path to MediaTomb log file.
-MEDIATOMB_LOGFILE="/var/log/mediatomb.log"
-
-# Path to MediaTomb pid file.
-MEDIATOMB_PIDFILE="/var/run/mediatomb.pid"
-
-# Other options you want to pass to MediaTomb.
-# Add "--interface ${MEDIATOMB_INTERFACE}" to bind to a named interface.
-MEDIATOMB_OPTIONS=""
diff --git a/net-misc/mediatomb/files/mediatomb-0.12.0.config b/net-misc/mediatomb/files/mediatomb-0.12.0.config
deleted file mode 100644
index 0cd03b1..0000000
--- a/net-misc/mediatomb/files/mediatomb-0.12.0.config
+++ /dev/null
@@ -1,144 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<config version="2" xmlns="http://mediatomb.cc/config/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mediatomb.cc/config/2 http://mediatomb.cc/config/2.xsd">
- <server>
- <ui enabled="yes" show-tooltips="yes">
- <accounts enabled="no" session-timeout="30">
- <account user="mediatomb" password="mediatomb"/>
- </accounts>
- </ui>
- <name>MediaTomb</name>
- <udn></udn>
- <home>/var/lib/mediatomb</home>
- <webroot>/usr/share/mediatomb/web</webroot>
- <storage>
- <sqlite3 enabled="yes">
- <database-file>mediatomb.db</database-file>
- </sqlite3>
- <mysql enabled="no">
- <host>host</host>
- <database>database</database>
- <username>username</username>
- <password>password</password>
- </mysql>
- </storage>
- <protocolInfo extend="yes"/>
- <pc-directory upnp-hide="no"/>
- <extended-runtime-options>
- <ffmpegthumbnailer enabled="no">
- <thumbnail-size>160</thumbnail-size>
- <seek-percentage>10</seek-percentage>
- <filmstrip-overlay>no</filmstrip-overlay>
- <workaround-bugs>no</workaround-bugs>
- <image-quality>8</image-quality>
- </ffmpegthumbnailer>
- <mark-played-items enabled="no" suppress-cds-updates="yes">
- <string mode="prepend">*</string>
- <mark>
- <content>video</content>
- </mark>
- </mark-played-items>
- <lastfm enabled="no">
- <username>username</username>
- <password>password</password>
- </lastfm>
- </extended-runtime-options>
- </server>
- <import hidden-files="no">
- <scripting script-charset="UTF-8">
- <common-script>/usr/share/mediatomb/js/common.js</common-script>
- <playlist-script>/usr/share/mediatomb/js/playlists.js</playlist-script>
- <virtual-layout type="builtin">
- <import-script>/usr/share/mediatomb/js/import.js</import-script>
- </virtual-layout>
- </scripting>
- <mappings>
- <extension-mimetype ignore-unknown="no">
- <map from="mp3" to="audio/mpeg"/>
- <map from="ogx" to="application/ogg"/>
- <map from="ogv" to="video/ogg"/>
- <map from="oga" to="audio/ogg"/>
- <map from="ogg" to="audio/ogg"/>
- <map from="ogm" to="video/ogg"/>
- <map from="asf" to="video/x-ms-asf"/>
- <map from="asx" to="video/x-ms-asf"/>
- <map from="wma" to="audio/x-ms-wma"/>
- <map from="wax" to="audio/x-ms-wax"/>
- <map from="wmv" to="video/x-ms-wmv"/>
- <map from="wvx" to="video/x-ms-wvx"/>
- <map from="wm" to="video/x-ms-wm"/>
- <map from="wmx" to="video/x-ms-wmx"/>
- <map from="m3u" to="audio/x-mpegurl"/>
- <map from="pls" to="audio/x-scpls"/>
- <map from="flv" to="video/x-flv"/>
- <map from="mkv" to="video/x-matroska"/>
- <map from="mka" to="audio/x-matroska"/>
- <map from="avi" to="video/divx"/>
- <map from="m2ts" to="video/avc"/>
- <map from="cr2" to="image/raw"/>
- <map from="nef" to="image/raw"/>
- </extension-mimetype>
- <mimetype-upnpclass>
- <map from="audio/*" to="object.item.audioItem.musicTrack"/>
- <map from="video/*" to="object.item.videoItem"/>
- <map from="image/*" to="object.item.imageItem"/>
- </mimetype-upnpclass>
- <mimetype-contenttype>
- <treat mimetype="audio/mpeg" as="mp3"/>
- <treat mimetype="application/ogg" as="ogg"/>
- <treat mimetype="video/ogg" as="ogg"/>
- <treat mimetype="audio/ogg" as="ogg"/>
- <treat mimetype="audio/x-flac" as="flac"/>
- <treat mimetype="image/jpeg" as="jpg"/>
- <treat mimetype="audio/x-mpegurl" as="playlist"/>
- <treat mimetype="audio/x-scpls" as="playlist"/>
- <treat mimetype="audio/x-wav" as="pcm"/>
- <treat mimetype="audio/L16" as="pcm"/>
- <treat mimetype="video/x-msvideo" as="avi"/>
- <treat mimetype="video/mp4" as="mp4"/>
- <treat mimetype="audio/mp4" as="mp4"/>
- <treat mimetype="video/divx" as="avi"/>
- </mimetype-contenttype>
- </mappings>
- <online-content>
- <YouTube enabled="no" refresh="28800" update-at-start="yes" purge-after="604800" racy-content="exclude" format="mp4" hd="no">
- <favorites user="NationalGeographic"/>
- <playlists user="PlayStation"/>
- <uploads user="Google"/>
- <standardfeed feed="most_viewed" time-range="today"/>
- <standardfeed feed="recently_featured" time-range="today"/>
- </YouTube>
- </online-content>
- </import>
- <transcoding enabled="no">
- <mimetype-profile-mappings>
- <transcode mimetype="audio/ogg" using="audio2pcm"/>
- <transcode mimetype="audio/x-flac" using="audio2pcm"/>
- <transcode mimetype="video/ogg" using="video2mpeg"/>
- <transcode mimetype="video/x-flv" using="video2mpeg"/>
- </mimetype-profile-mappings>
- <profiles>
- <profile name="audio2pcm" enabled="yes" type="external">
- <mimetype>audio/L16</mimetype>
- <accept-url>no</accept-url>
- <first-resource>yes</first-resource>
- <hide-original-resource>yes</hide-original-resource>
- <accept-ogg-theora>no</accept-ogg-theora>
- <sample-frequency>44100</sample-frequency>
- <audio-channels>2</audio-channels>
- <agent command="ffmpeg" arguments="-i %in -acodec pcm_s16be -ab 192k -ar 44100 -ac 2 -f s16be -y %out"/>
- <buffer size="1048576" chunk-size="131072" fill-size="262144"/>
- </profile>
- <profile name="video2mpeg" enabled="yes" type="external">
- <mimetype>video/mpeg</mimetype>
- <accept-url>no</accept-url>
- <first-resource>yes</first-resource>
- <hide-original-resource>yes</hide-original-resource>
- <accept-ogg-theora>yes</accept-ogg-theora>
- <sample-frequency>48000</sample-frequency>
- <audio-channels>2</audio-channels>
- <agent command="ffmpeg" arguments="-i %in -vcodec mpeg2video -b 4096k -r 25 -acodec mp2 -ab 192k -ar 48000 -ac 2 -async 1 -f dvd -threads 2 -y %out"/>
- <buffer size="10485760" chunk-size="262144" fill-size="524288"/>
- </profile>
- </profiles>
- </transcoding>
-</config>
diff --git a/net-misc/mediatomb/files/mediatomb-0.12.0.initd b/net-misc/mediatomb/files/mediatomb-0.12.0.initd
deleted file mode 100644
index 5f6112b..0000000
--- a/net-misc/mediatomb/files/mediatomb-0.12.0.initd
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/sbin/runscript
-
-depend() {
- need net #MYSQL#
-}
-
-start() {
- ebegin "Starting MediaTomb"
- start-stop-daemon --start --quiet --exec /usr/bin/mediatomb \
- --pidfile ${MEDIATOMB_PIDFILE} -- --daemon \
- --pidfile ${MEDIATOMB_PIDFILE} --user ${MEDIATOMB_USER} \
- --group ${MEDIATOMB_GROUP} --logfile ${MEDIATOMB_LOGFILE} \
- --config ${MEDIATOMB_CONFIG} --port ${MEDIATOMB_PORT} \
- ${MEDIATOMB_OPTIONS}
- eend $?
-}
-
-stop () {
- ebegin "Stopping MediaTomb"
- start-stop-daemon --stop --retry 10 --quiet --pidfile ${MEDIATOMB_PIDFILE}
- eend $?
-}
diff --git a/net-misc/mediatomb/files/mediatomb-0.12.1-gcc46.patch b/net-misc/mediatomb/files/mediatomb-0.12.1-gcc46.patch
deleted file mode 100644
index 40b8f51..0000000
--- a/net-misc/mediatomb/files/mediatomb-0.12.1-gcc46.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-https://sourceforge.net/tracker/?func=detail&aid=3173314&group_id=129766&atid=715782
-https://bugs.gentoo.org/353733
-
---- a/src/zmm/object.h
-+++ b/src/zmm/object.h
-@@ -33,6 +33,7 @@
- #define __ZMM_OBJECT_H__
-
- #include <new> // for size_t
-+#include <cstddef>
- #include "atomic.h"
-
- namespace zmm
diff --git a/net-misc/mediatomb/files/mediatomb-0.12.1-libav7.patch b/net-misc/mediatomb/files/mediatomb-0.12.1-libav7.patch
deleted file mode 100644
index e25697c..0000000
--- a/net-misc/mediatomb/files/mediatomb-0.12.1-libav7.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-=== modified file 'src/metadata/ffmpeg_handler.cc'
---- old/src/metadata/ffmpeg_handler.cc 2010-08-25 17:07:03 +0000
-+++ new/src/metadata/ffmpeg_handler.cc 2011-05-19 04:33:32 +0000
-@@ -89,6 +89,33 @@
-
- Ref<StringConverter> sc = StringConverter::m2i();
-
-+ /* Tabs are 4 characters here */
-+ typedef struct {const char *avname; metadata_fields_t field;} mapping_t;
-+ static const mapping_t mapping[] =
-+ {
-+ {"title", M_TITLE},
-+ {"artist", M_ARTIST},
-+ {"album", M_ALBUM},
-+ {"date", M_DATE},
-+ {"genre", M_GENRE},
-+ {"comment", M_DESCRIPTION},
-+ {"track", M_TRACKNUMBER},
-+ {NULL, M_MAX},
-+ };
-+
-+ if (!pFormatCtx->metadata)
-+ return;
-+ for (const mapping_t *m = mapping; m->avname != NULL; m++)
-+ {
-+ AVMetadataTag *tag = NULL;
-+ tag = av_metadata_get(pFormatCtx->metadata, m->avname, NULL, 0);
-+ if (tag && tag->value && tag->value[0])
-+ {
-+ log_debug("Added metadata %s: %s\n", m->avname, tag->value);
-+ item->setMetadata(MT_KEYS[m->field].upnp, sc->convert(tag->value));
-+ }
-+ }
-+ /* Old algorithm (doesn't work with libav >= 0.7)
- if (strlen(pFormatCtx->title) > 0)
- {
- log_debug("Added metadata title: %s\n", pFormatCtx->title);
-@@ -131,6 +158,7 @@
- item->setMetadata(MT_KEYS[M_TRACKNUMBER].upnp,
- sc->convert(String::from(pFormatCtx->track)));
- }
-+ */
- }
-
- // ffmpeg library calls
-@@ -178,7 +206,7 @@
- for(i=0; i<pFormatCtx->nb_streams; i++)
- {
- AVStream *st = pFormatCtx->streams[i];
-- if((st != NULL) && (videoset == false) && (st->codec->codec_type == CODEC_TYPE_VIDEO))
-+ if((st != NULL) && (videoset == false) && (st->codec->codec_type == AVMEDIA_TYPE_VIDEO))
- {
- if (st->codec->codec_tag > 0)
- {
-@@ -209,7 +237,7 @@
- *y = st->codec->height;
- }
- }
-- if(st->codec->codec_type == CODEC_TYPE_AUDIO)
-+ if(st->codec->codec_type == AVMEDIA_TYPE_AUDIO)
- {
- // Increase number of audiochannels
- audioch++;
-
diff --git a/net-misc/mediatomb/files/mediatomb-0.12.1-libmp4v2_191_p479.patch b/net-misc/mediatomb/files/mediatomb-0.12.1-libmp4v2_191_p479.patch
deleted file mode 100644
index 6a6b51e..0000000
--- a/net-misc/mediatomb/files/mediatomb-0.12.1-libmp4v2_191_p479.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-diff -urN old/src/metadata/libmp4v2_handler.cc new/src/metadata/libmp4v2_handler.cc
---- old/src/metadata/libmp4v2_handler.cc 2012-04-05 01:46:26.000000000 +0200
-+++ new/src/metadata/libmp4v2_handler.cc 2012-04-05 02:01:24.000000000 +0200
-@@ -65,29 +65,28 @@
- static void addMetaField(metadata_fields_t field, MP4FileHandle mp4, Ref<CdsItem> item)
- {
- String value;
-- char* mp4_retval = NULL;
-- u_int16_t track;
-- u_int16_t total_tracks;
--
- Ref<StringConverter> sc = StringConverter::i2i();
-
-+ const MP4Tags* new_tags = MP4TagsAlloc();
-+
-+ if (!MP4TagsFetch(new_tags, mp4))
-+ return;
-+
- switch (field)
- {
- case M_TITLE:
-- MP4GetMetadataName(mp4, &mp4_retval);
-+ value = new_tags->name;
- break;
- case M_ARTIST:
-- MP4GetMetadataArtist(mp4, &mp4_retval);
-+ value = new_tags->artist;
- break;
- case M_ALBUM:
-- MP4GetMetadataAlbum(mp4, &mp4_retval);
-+ value = new_tags->album;
- break;
- case M_DATE:
-- MP4GetMetadataYear(mp4, &mp4_retval);
-- if (mp4_retval)
-+ value = new_tags->releaseDate;
-+ if (value.length() > 0)
- {
-- value = mp4_retval;
-- free(mp4_retval);
- if (string_ok(value))
- value = value + "-01-01";
- else
-@@ -95,34 +94,31 @@
- }
- break;
- case M_GENRE:
-- MP4GetMetadataGenre(mp4, &mp4_retval);
-+ value = new_tags->genre;
- break;
- case M_DESCRIPTION:
-- MP4GetMetadataComment(mp4, &mp4_retval);
-+ value = new_tags->comments;
- break;
- case M_TRACKNUMBER:
-- MP4GetMetadataTrack(mp4, &track, &total_tracks);
-- if (track > 0)
-+ if (new_tags->track)
- {
-- value = String::from(track);
-- item->setTrackNumber((int)track);
-+ value = String::from(new_tags->track->index);
-+ item->setTrackNumber((int)new_tags->track->index);
- }
- else
-+ {
-+ MP4TagsFree( new_tags );
- return;
-+ }
- break;
- default:
-+ MP4TagsFree( new_tags );
- return;
- }
-
-- if ((field != M_DATE) && (field != M_TRACKNUMBER) &&
-- (mp4_retval))
-- {
-- value = mp4_retval;
-- free(mp4_retval);
-- }
--
-+ MP4TagsFree( new_tags );
- value = trim_string(value);
--
-+
- if (string_ok(value))
- {
- item->setMetadata(MT_KEYS[field].upnp, sc->convert(value));
-@@ -190,14 +186,19 @@
- }
-
- #if defined(HAVE_MAGIC)
-- u_int8_t *art_data;
-- u_int32_t art_data_len;
-+ void *art_data = 0;
-+ u_int32_t art_data_len = 0;
- String art_mimetype;
-+
-+ const MP4Tags* new_tags = MP4TagsAlloc();
-+ MP4TagsFetch(new_tags, mp4);
-+ if (new_tags->artworkCount)
-+ {
-+ art_data = new_tags->artwork->data;
-+ art_data_len = new_tags->artwork->size;
-+ }
- #ifdef HAVE_MP4_GET_METADATA_COVER_ART_COUNT
-- if (MP4GetMetadataCoverArtCount(mp4) &&
-- MP4GetMetadataCoverArt(mp4, &art_data, &art_data_len))
--#else
-- MP4GetMetadataCoverArt(mp4, &art_data, &art_data_len);
-+ if (new_tags->artworkCount && art_data_len > 0)
- #endif
- {
- if (art_data)
-@@ -211,11 +212,10 @@
- }
- catch (Exception ex)
- {
-- free(art_data);
-+ MP4TagsFree(new_tags);
- throw ex;
- }
-
-- free(art_data);
- if (art_mimetype != _(MIMETYPE_DEFAULT))
- {
- Ref<CdsResource> resource(new CdsResource(CH_MP4));
-@@ -225,6 +225,7 @@
- }
- }
- }
-+ MP4TagsFree(new_tags);
- #endif
- MP4Close(mp4);
- }
-@@ -249,26 +250,35 @@
-
- if (ctype != ID3_ALBUM_ART)
- throw _Exception(_("LibMP4V2Handler: got unknown content type: ") + ctype);
-+
-+ const MP4Tags* new_tags = MP4TagsAlloc();
-+ if (MP4TagsFetch(new_tags, mp4))
-+ {
- #ifdef HAVE_MP4_GET_METADATA_COVER_ART_COUNT
-- if (!MP4GetMetadataCoverArtCount(mp4))
-- throw _Exception(_("LibMP4V2Handler: resource has no album art information"));
-+ if (!new_tags->artworkCount)
-+ throw _Exception(_("LibMP4V2Handler: resource has no album art information"));
- #endif
-- u_int8_t *art_data;
-- u_int32_t art_data_len;
-- if (MP4GetMetadataCoverArt(mp4, &art_data, &art_data_len))
-- {
-- if (art_data)
-+ void *art_data = 0;
-+ u_int32_t art_data_len;
-+
-+ const MP4TagArtwork* art = new_tags->artwork;
-+ art_data = art->data;
-+ art_data_len = art->size;
-+ if (art)
- {
-- *data_size = (off_t)art_data_len;
-- Ref<IOHandler> h(new MemIOHandler((void *)art_data, art_data_len));
-- free(art_data);
-- return h;
-+ if (art_data)
-+ {
-+ *data_size = (off_t)art_data_len;
-+ Ref<IOHandler> h(new MemIOHandler(art_data, art_data_len));
-+ MP4TagsFree(new_tags);
-+ return h;
-+ }
- }
-+ MP4TagsFree(new_tags);
- }
--
- throw _Exception(_("LibMP4V2Handler: could not serve album art "
-- "for file") + item->getLocation() +
-- " - embedded image not found");
-+ "for file") + item->getLocation() +
-+ " - embedded image not found");
- }
-
- #endif // HAVE_LIBMP4V2
-De binära filerna old/src/metadata/.libmp4v2_handler.cc.swp och new/src/metadata/.libmp4v2_handler.cc.swp skiljer
diff --git a/net-misc/mediatomb/files/mediatomb-0.12.1-mozjs185.patch b/net-misc/mediatomb/files/mediatomb-0.12.1-mozjs185.patch
deleted file mode 100644
index eb67540..0000000
--- a/net-misc/mediatomb/files/mediatomb-0.12.1-mozjs185.patch
+++ /dev/null
@@ -1,605 +0,0 @@
---- mediatomb-0.12.1/configure.ac 2010-04-07 18:38:51.000000000 -0400
-+++ mediatomb-0.12.1/configure.ac 2011-11-16 21:56:46.000000000 -0500
-@@ -1006,14 +1006,23 @@
- MOZLIB=smjs
- ],
- [
-- LDFLAGS="-L$JS_SEARCH_LIBS $LDFLAGS_SAVE -lmozjs $ADD_PTHREAD_CFLAGS"
-- AC_CHECK_LIB(mozjs, JS_NewObject,
-+ LDFLAGS="-L$JS_SEARCH_LIBS $LDFLAGS_SAVE -lmozjs185 $ADD_PTHREAD_CFLAGS"
-+ AC_CHECK_LIB(mozjs185, JS_NewObject,
- [
-- JS_LIBS="-L$JS_SEARCH_LIBS -lmozjs"
-- MOZLIB=mozjs
-+ JS_LIBS="-L$JS_SEARCH_LIBS -lmozjs185"
-+ MOZLIB=mozjs185
- ],
- [
-- AC_MSG_ERROR([Spidermonkey not found in requested location $JS_SEARCH_LIBS])
-+ LDFLAGS="-L$JS_SEARCH_LIBS $LDFLAGS_SAVE -lmozjs $ADD_PTHREAD_CFLAGS"
-+ AC_CHECK_LIB(mozjs, JS_NewObject,
-+ [
-+ JS_LIBS="-L$JS_SEARCH_LIBS -lmozjs"
-+ MOZLIB=mozjs
-+ ],
-+ [
-+ AC_MSG_ERROR([Spidermonkey not found in requested location $JS_SEARCH_LIBS])
-+ ]
-+ )
- ]
- )
- ]
-@@ -1036,39 +1045,58 @@
- ],
- [
- unset ac_cv_lib_smjs_JS_NewObject
-- AC_CHECK_LIB(mozjs, JS_NewObject,
-+ AC_CHECK_LIB(mozjs185, JS_NewObject,
- [
-- MOZLIB=mozjs
-- JS_LIBS="-lmozjs"
-+ MOZLIB=mozjs185
-+ JS_LIBS="-lmozjs185"
- ],
- [
-- LDFLAGS="-L$SEARCH_DIR_LIBS $LDFLAGS_SAVE $ADD_PTHREAD_CFLAGS"
-- unset ac_cv_lib_js_JS_NewObject
-- AC_CHECK_LIB(js, JS_NewObject,
-- [
-- JS_LIBS="-L$SEARCH_DIR_LIBS -ljs"
-- MOZLIB=js
-- ],
-- [
-- unset ac_cv_lib_smjs_JS_NewObject
-- AC_CHECK_LIB(smjs, JS_NewObject,
-- [
-- JS_LIBS="-L$SEARCH_DIR_LIBS -lsmjs"
-- MOZLIB=smjs
-- ],
-- [
-- LDFLAGS="-L$SEARCH_DIR_LIBS $LDFLAGS_SAVE -lmozjs"
-- unset ac_cv_lib_mozjs_JS_NewObject
-- AC_CHECK_LIB(mozjs, JS_NewObject,
-- [
-- JS_LIBS="-L$SEARCH_DIR_LIBS -lmozjs"
-- MOZLIB=mozjs
-- ],
-- [
-- JS_OK=missing
-- AC_MSG_RESULT(libjs/libsmjs link failed, giving up)
-- ]
-- )
-+ unset ac_cv_lib_smjs_JS_NewObject
-+ AC_CHECK_LIB(mozjs, JS_NewObject,
-+ [
-+ MOZLIB=mozjs
-+ JS_LIBS="-lmozjs"
-+ ],
-+ [
-+ LDFLAGS="-L$SEARCH_DIR_LIBS $LDFLAGS_SAVE $ADD_PTHREAD_CFLAGS"
-+ unset ac_cv_lib_js_JS_NewObject
-+ AC_CHECK_LIB(js, JS_NewObject,
-+ [
-+ JS_LIBS="-L$SEARCH_DIR_LIBS -ljs"
-+ MOZLIB=js
-+ ],
-+ [
-+ unset ac_cv_lib_smjs_JS_NewObject
-+ AC_CHECK_LIB(smjs, JS_NewObject,
-+ [
-+ JS_LIBS="-L$SEARCH_DIR_LIBS -lsmjs"
-+ MOZLIB=smjs
-+ ],
-+ [
-+ LDFLAGS="-L$SEARCH_DIR_LIBS $LDFLAGS_SAVE -lmozjs185"
-+ unset ac_cv_lib_mozjs_JS_NewObject
-+ AC_CHECK_LIB(mozjs185, JS_NewObject,
-+ [
-+ JS_LIBS="-L$SEARCH_DIR_LIBS -lmozjs185"
-+ MOZLIB=mozjs185
-+ ],
-+ [
-+ LDFLAGS="-L$SEARCH_DIR_LIBS $LDFLAGS_SAVE -lmozjs"
-+ unset ac_cv_lib_mozjs_JS_NewObject
-+ AC_CHECK_LIB(mozjs, JS_NewObject,
-+ [
-+ JS_LIBS="-L$SEARCH_DIR_LIBS -lmozjs"
-+ MOZLIB=mozjs
-+ ],
-+ [
-+ JS_OK=missing
-+ AC_MSG_RESULT(libjs/libsmjs link failed, giving up)
-+ ]
-+ )
-+ ]
-+ )
-+ ]
-+ )
- ]
- )
- ]
-diff -ur mediatomb-0.12.1.orig/build/Makefile.in mediatomb-0.12.1/build/Makefile.in
---- mediatomb-0.12.1.orig/build/Makefile.in 2010-04-07 18:40:15.000000000 -0400
-+++ mediatomb-0.12.1/build/Makefile.in 2011-11-16 22:28:06.000000000 -0500
-@@ -257,7 +257,7 @@
- CXX = @CXX@
- CXXCPP = @CXXCPP@
- CXXDEPMODE = @CXXDEPMODE@
--CXXFLAGS = @CXXFLAGS@
-+CXXFLAGS = -fpermissive @CXXFLAGS@
- CYGPATH_W = @CYGPATH_W@
- DB_AUTOCREATE_OPTION_ENABLED = @DB_AUTOCREATE_OPTION_ENABLED@
- DB_AUTOCREATE_OPTION_REQUESTED = @DB_AUTOCREATE_OPTION_REQUESTED@
-diff -ur mediatomb-0.12.1.orig/src/scripting/import_script.cc mediatomb-0.12.1/src/scripting/import_script.cc
---- mediatomb-0.12.1.orig/src/scripting/import_script.cc 2010-03-25 10:58:05.000000000 -0400
-+++ mediatomb-0.12.1/src/scripting/import_script.cc 2011-11-16 22:28:06.000000000 -0500
-@@ -53,8 +53,8 @@
- try
- {
- load(scriptPath);
-- root = JS_NewScriptObject(cx, script);
-- JS_AddNamedRoot(cx, &root, "ImportScript");
-+ root = JS_NewObject(cx, NULL, script, NULL);
-+ JS_AddNamedObjectRoot(cx, &root, "ImportScript");
- }
- catch (Exception ex)
- {
-@@ -117,7 +117,7 @@
- #endif
-
- if (root)
-- JS_RemoveRoot(cx, &root);
-+ JS_RemoveObjectRoot(cx, &root);
-
- #ifdef JS_THREADSAFE
- JS_EndRequest(cx);
-diff -ur mediatomb-0.12.1.orig/src/scripting/js_functions.cc mediatomb-0.12.1/src/scripting/js_functions.cc
---- mediatomb-0.12.1.orig/src/scripting/js_functions.cc 2010-03-25 10:58:05.000000000 -0400
-+++ mediatomb-0.12.1/src/scripting/js_functions.cc 2011-11-16 22:28:21.000000000 -0500
-@@ -49,30 +49,45 @@
- extern "C" {
-
- JSBool
--js_print(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+js_print(JSContext *cx, uintN argc, jsval *argv)
- {
-- uintN i;
-+ uintN i, j;
- JSString *str;
-
- for (i = 0; i < argc; i++)
- {
-- str = JS_ValueToString(cx, argv[i]);
-+ String fmtStr;
-+ for (j = 0; j < argc; j++)
-+ {
-+ if (j == i)
-+ fmtStr = fmtStr + "S";
-+ else
-+ fmtStr = fmtStr + "*";
-+ }
-+ if(!JS_ConvertArguments(cx, 1, JS_ARGV(cx, argv), fmtStr.c_str(), &str))
-+ {
-+ log_debug("Could not parse input arguments\n");
-+ return JS_TRUE;
-+ }
-+
- if (!str)
- return JS_TRUE;
-- argv[i] = STRING_TO_JSVAL(str);
-- log_js("%s\n", JS_GetStringBytes(str));
-+
-+ char * log_str = JS_EncodeString(cx, str);
-+ log_js("%s\n", log_str);
-+ JS_free(cx, log_str);
- }
- return JS_TRUE;
- }
-
- JSBool
--js_copyObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+js_copyObject(JSContext *cx, uintN argc, jsval *argv)
- {
- jsval arg;
- JSObject *js_cds_obj;
- JSObject *js_cds_clone_obj;
-
-- Script *self = (Script *)JS_GetPrivate(cx, obj);
-+ Script *self = (Script *)JS_GetPrivate(cx, JS_THIS_OBJECT(cx, argv));
-
- try
- {
-@@ -91,7 +106,7 @@
-
- self->cdsObject2jsObject(cds_obj, js_cds_clone_obj);
-
-- *rval = OBJECT_TO_JSVAL(js_cds_clone_obj);
-+ JS_SET_RVAL(cx, argv, OBJECT_TO_JSVAL(js_cds_clone_obj));
-
- return JS_TRUE;
-
-@@ -110,28 +125,58 @@
- }
-
- JSBool
--js_addCdsObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+js_addCdsObject(JSContext *cx, uintN argc, jsval *argv)
- {
- try
- {
-- jsval arg;
-- JSString *str;
-- String path;
-- String containerclass;
-+ // Inputs from native code
-+ JSObject *js_cds_obj = NULL;
-+ JSString *str = NULL;
-+ JSString *cont = NULL;
-
-- JSObject *js_cds_obj;
-+ String path = nil;
-+ String containerclass = nil;
-+
-+ JSObject *obj = JS_THIS_OBJECT(cx, argv);
- JSObject *js_orig_obj = NULL;
- Ref<CdsObject> orig_object;
-
- Ref<StringConverter> p2i;
- Ref<StringConverter> i2i;
-+ switch (argc)
-+ {
-+ case 0:
-+ log_debug("No input arguments given\n");
-+ return JS_FALSE;
-+ case 1:
-+ if(!JS_ConvertArguments(cx, 1, JS_ARGV(cx, argv), "o", &js_cds_obj))
-+ {
-+ log_debug("Could not parse input arguments\n");
-+ return JS_TRUE;
-+ }
-+ break;
-+ case 2:
-+ if(!JS_ConvertArguments(cx, 2, JS_ARGV(cx, argv), "oS", &js_cds_obj, &str))
-+ {
-+ log_debug("Could not parse input arguments\n");
-+ return JS_TRUE;
-+ }
-+ break;
-+ default:
-+ if(!JS_ConvertArguments(cx, 3, JS_ARGV(cx, argv), "oSS", &js_cds_obj, &str, &cont))
-+ {
-+ log_debug("Could not parse input arguments\n");
-+ return JS_TRUE;
-+ }
-+ break;
-+ }
-
- Script *self = (Script *)JS_GetPrivate(cx, obj);
-
- if (self == NULL)
- {
- log_debug("Could not retrieve class instance from global object\n");
-- return JS_FALSE;
-+ return JS_TRUE;
- }
-
- if (self->whoami() == S_PLAYLIST)
-@@ -142,26 +187,17 @@
- {
- i2i = StringConverter::i2i();
- }
--
-- arg = argv[0];
-- if (!JSVAL_IS_OBJECT(arg))
-- return JS_TRUE;
-- if (!JS_ValueToObject(cx, arg, &js_cds_obj))
-- return JS_TRUE;
-
-- // root it
-- argv[0] = OBJECT_TO_JSVAL(js_cds_obj);
-
-- str = JS_ValueToString(cx, argv[1]);
- if (!str)
- path = _("/");
- else
-- path = JS_GetStringBytes(str);
-+ path = JS_EncodeString(cx, str);
-+
-
-- JSString *cont = JS_ValueToString(cx, argv[2]);
- if (cont)
- {
-- containerclass = JS_GetStringBytes(cont);
-+ containerclass = JS_EncodeString(cx, cont);
- if (!string_ok(containerclass) || containerclass == "undefined")
- containerclass = nil;
- }
-@@ -177,9 +213,6 @@
- return JS_TRUE;
- }
-
-- // root it
-- argv[1] = OBJECT_TO_JSVAL(js_orig_obj);
--
- orig_object = self->jsObject2cdsObject(js_orig_obj, self->getProcessedObject());
- if (orig_object == nil)
- return JS_TRUE;
-@@ -285,8 +318,7 @@
- JSString *str2 = JS_NewStringCopyN(cx, tmp.c_str(), tmp.length());
- if (!str2)
- return JS_TRUE;
-- *rval = STRING_TO_JSVAL(str2);
--
-+ JS_SET_RVAL(cx, argv, STRING_TO_JSVAL(str2));
- return JS_TRUE;
- }
- catch (ServerShutdownException se)
-@@ -302,7 +334,7 @@
- return JS_TRUE;
- }
-
--static JSBool convert_charset_generic(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval, charset_convert_t chr)
-+static JSBool convert_charset_generic(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, charset_convert_t chr)
- {
- try
- {
-@@ -321,7 +353,7 @@
- {
- str = JS_ValueToString(cx, argv[0]);
- if (str)
-- result = JS_GetStringBytes(str);
-+ result = JS_EncodeString(cx, str);
- }
-
- if (result != nil)
-@@ -330,7 +362,7 @@
- JSString *str2 = JS_NewStringCopyN(cx, result.c_str(), result.length());
- if (!str2)
- return JS_TRUE;
-- *rval = STRING_TO_JSVAL(str2);
-+ JS_SET_RVAL(cx, argv, STRING_TO_JSVAL(str2));
- }
- }
- catch (ServerShutdownException se)
-@@ -347,24 +379,23 @@
- }
-
-
--JSBool js_f2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+JSBool js_f2i(JSContext *cx, uintN argc, jsval *argv)
- {
-- return convert_charset_generic(cx, obj, argc, argv, rval, F2I);
-+ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, F2I);
- }
-
--JSBool js_m2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+JSBool js_m2i(JSContext *cx, uintN argc, jsval *argv)
- {
-- return convert_charset_generic(cx, obj, argc, argv, rval, M2I);
--}
-+ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, M2I); }
-
--JSBool js_p2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+JSBool js_p2i(JSContext *cx, uintN argc, jsval *argv)
- {
-- return convert_charset_generic(cx, obj, argc, argv, rval, P2I);
-+ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, P2I);
- }
-
--JSBool js_j2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+JSBool js_j2i(JSContext *cx, uintN argc, jsval *argv)
- {
-- return convert_charset_generic(cx, obj, argc, argv, rval, J2I);
-+ return convert_charset_generic(cx, JS_THIS_OBJECT(cx, argv), argc, argv, J2I);
- }
-
- } // extern "C"
-diff -ur mediatomb-0.12.1.orig/src/scripting/js_functions.h mediatomb-0.12.1/src/scripting/js_functions.h
---- mediatomb-0.12.1.orig/src/scripting/js_functions.h 2010-03-25 10:58:05.000000000 -0400
-+++ mediatomb-0.12.1/src/scripting/js_functions.h 2011-11-16 22:28:06.000000000 -0500
-@@ -40,18 +40,18 @@
- extern "C" {
-
- /// \brief Log output.
--JSBool js_print(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
-+JSBool js_print(JSContext *cx, uintN argc, jsval *argv);
-
- /// \brief Adds an object to the database.
--JSBool js_addCdsObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
-+JSBool js_addCdsObject(JSContext *cx, uintN argc, jsval *argv);
-
- /// \brief Makes a copy of an CDS object.
--JSBool js_copyObject(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
-+JSBool js_copyObject(JSContext *cx, uintN argc, jsval *argv);
-
--JSBool js_f2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
--JSBool js_m2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
--JSBool js_p2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
--JSBool js_j2i(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
-+JSBool js_f2i(JSContext *cx, uintN argc, jsval *argv);
-+JSBool js_m2i(JSContext *cx, uintN argc, jsval *argv);
-+JSBool js_p2i(JSContext *cx, uintN argc, jsval *argv);
-+JSBool js_j2i(JSContext *cx, uintN argc, jsval *argv);
-
- } // extern "C"
-
-diff -ur mediatomb-0.12.1.orig/src/scripting/playlist_parser_script.cc mediatomb-0.12.1/src/scripting/playlist_parser_script.cc
---- mediatomb-0.12.1.orig/src/scripting/playlist_parser_script.cc 2010-03-25 10:58:05.000000000 -0400
-+++ mediatomb-0.12.1/src/scripting/playlist_parser_script.cc 2011-11-16 22:28:06.000000000 -0500
-@@ -46,9 +46,9 @@
- extern "C" {
-
- static JSBool
--js_readln(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
-+js_readln(JSContext *cx, uintN argc, jsval *argv)
- {
-- PlaylistParserScript *self = (PlaylistParserScript *)JS_GetPrivate(cx, obj);
-+ PlaylistParserScript *self = (PlaylistParserScript *)JS_GetPrivate(cx, JS_THIS_OBJECT(cx, argv));
-
- String line;
-
-@@ -69,7 +69,7 @@
-
- JSString *jsline = JS_NewStringCopyZ(cx, line.c_str());
-
-- *rval = STRING_TO_JSVAL(jsline);
-+ JS_SET_RVAL(cx, argv, STRING_TO_JSVAL(jsline));
-
- return JS_TRUE;
- }
-@@ -93,8 +93,8 @@
-
- String scriptPath = ConfigManager::getInstance()->getOption(CFG_IMPORT_SCRIPTING_PLAYLIST_SCRIPT);
- load(scriptPath);
-- root = JS_NewScriptObject(cx, script);
-- JS_AddNamedRoot(cx, &root, "PlaylistScript");
-+ root = JS_NewObject(cx, NULL, script, NULL);
-+ JS_AddNamedObjectRoot(cx, &root, "PlaylistScript");
- }
- catch (Exception ex)
- {
-@@ -245,7 +245,7 @@
- #endif
-
- if (root)
-- JS_RemoveRoot(cx, &root);
-+ JS_RemoveObjectRoot(cx, &root);
-
- #ifdef JS_THREADSAFE
- JS_EndRequest(cx);
-diff -ur mediatomb-0.12.1.orig/src/scripting/script.cc mediatomb-0.12.1/src/scripting/script.cc
---- mediatomb-0.12.1.orig/src/scripting/script.cc 2010-03-25 10:58:05.000000000 -0400
-+++ mediatomb-0.12.1/src/scripting/script.cc 2011-11-16 22:28:06.000000000 -0500
-@@ -87,7 +87,7 @@
- str = JS_ValueToString(cx, val);
- if (! str)
- return nil;
-- return JS_GetStringBytes(str);
-+ return JS_EncodeString(cx, str);
- }
-
- int Script::getBoolProperty(JSObject *obj, String name)
-@@ -427,14 +427,14 @@
- try
- {
- common_script = _load(common_scr_path);
-- common_root = JS_NewScriptObject(cx, common_script);
-- JS_AddNamedRoot(cx, &common_root, "common-script");
-+ common_root = JS_NewObject(cx, NULL, common_script, NULL);
-+ JS_AddNamedObjectRoot(cx, &common_root, "common-script");
- _execute(common_script);
- }
- catch (Exception e)
- {
- if (common_root)
-- JS_RemoveRoot(cx, &common_root);
-+ JS_RemoveObjectRoot(cx, &common_root);
-
- log_js("Unable to load %s: %s\n", common_scr_path.c_str(),
- e.getMessage().c_str());
-@@ -460,7 +460,7 @@
- JS_BeginRequest(cx);
- #endif
- if (common_root)
-- JS_RemoveRoot(cx, &common_root);
-+ JS_RemoveObjectRoot(cx, &common_root);
-
- /*
- * scripts are unrooted and will be cleaned up by GC
-@@ -504,11 +504,11 @@
- static JSClass global_class =
- {
- "global", /* name */
-- JSCLASS_HAS_PRIVATE, /* flags */
-+ JSCLASS_HAS_PRIVATE | JSCLASS_GLOBAL_FLAGS,/* flags */
- JS_PropertyStub, /* add property */
- JS_PropertyStub, /* del property */
- JS_PropertyStub, /* get property */
-- JS_PropertyStub, /* set property */
-+ JS_StrictPropertyStub, /* set property */
- JS_EnumerateStandardClasses, /* enumerate */
- JS_ResolveStub, /* resolve */
- JS_ConvertStub, /* convert */
-@@ -517,7 +517,7 @@
- };
-
- /* create the global object here */
-- glob = JS_NewObject(cx, &global_class, NULL, NULL);
-+ glob = JS_NewCompartmentAndGlobalObject(cx, &global_class, NULL);
- if (! glob)
- throw _Exception(_("Scripting: could not initialize glboal class"));
-
-@@ -539,12 +539,12 @@
- throw _Exception(_("Scripting: JS_DefineFunctions failed"));
- }
-
--JSScript *Script::_load(zmm::String scriptPath)
-+JSObject *Script::_load(zmm::String scriptPath)
- {
- if (glob == NULL)
- initGlobalObject();
-
-- JSScript *scr;
-+ JSObject *scr;
-
- String scriptText = read_text_file(scriptPath);
-
-@@ -571,14 +571,11 @@
-
- void Script::load(zmm::String scriptPath)
- {
-- if (script)
-- JS_DestroyScript(cx, script);
--
- script = _load((scriptPath));
- }
-
-
--void Script::_execute(JSScript *scr)
-+void Script::_execute(JSObject *scr)
- {
- jsval ret_val;
-
-@@ -662,7 +659,7 @@
- JSObject *js_meta = getObjectProperty(js, _("meta"));
- if (js_meta)
- {
-- JS_AddNamedRoot(cx, &js_meta, "meta");
-+ JS_AddNamedObjectRoot(cx, &js_meta, "meta");
- /// \todo: only metadata enumerated in MT_KEYS is taken
- for (int i = 0; i < M_MAX; i++)
- {
-@@ -687,7 +684,7 @@
- }
- }
- }
-- JS_RemoveRoot(cx, &js_meta);
-+ JS_RemoveObjectRoot(cx, &js_meta);
- }
-
- // stuff that has not been exported to js
-diff -ur mediatomb-0.12.1.orig/src/scripting/script.h mediatomb-0.12.1/src/scripting/script.h
---- mediatomb-0.12.1.orig/src/scripting/script.h 2010-03-25 10:58:05.000000000 -0400
-+++ mediatomb-0.12.1/src/scripting/script.h 2011-11-16 22:28:06.000000000 -0500
-@@ -66,8 +66,8 @@
- JSRuntime *rt;
- JSContext *cx;
- JSObject *glob;
-- JSScript *script;
-- JSScript *common_script;
-+ JSObject *script;
-+ JSObject *common_script;
-
- public:
- Script(zmm::Ref<Runtime> runtime);
-@@ -115,8 +115,8 @@
- JSObject *common_root;
-
- void initGlobalObject();
-- JSScript *_load(zmm::String scriptPath);
-- void _execute(JSScript *scr);
-+ JSObject *_load(zmm::String scriptPath);
-+ void _execute(JSObject *scr);
- zmm::Ref<StringConverter> _p2i;
- zmm::Ref<StringConverter> _j2i;
- zmm::Ref<StringConverter> _f2i;
diff --git a/net-misc/mediatomb/mediatomb-0.12.1-r2.ebuild b/net-misc/mediatomb/mediatomb-0.12.1-r2.ebuild
deleted file mode 100644
index 1d289db..0000000
--- a/net-misc/mediatomb/mediatomb-0.12.1-r2.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/mediatomb/mediatomb-0.12.1-r1.ebuild,v 1.2 2012/03/11 04:36:12 darkside Exp $
-
-EAPI=2
-inherit autotools eutils linux-info
-
-DESCRIPTION="MediaTomb is an open source UPnP MediaServer"
-HOMEPAGE="http://www.mediatomb.cc/"
-SRC_URI="mirror://sourceforge/mediatomb/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~ppc x86"
-IUSE="debug +exif +ffmpeg inotify +javascript lastfm libextractor +mp4 mysql +taglib thumbnail"
-
-DEPEND="
- mysql? ( virtual/mysql )
- !mysql? ( >=dev-db/sqlite-3 )
- javascript? ( dev-lang/spidermonkey )
- dev-libs/expat
- taglib? ( media-libs/taglib )
- !taglib? ( media-libs/id3lib )
- lastfm? ( >=media-libs/lastfmlib-0.4 )
- exif? ( media-libs/libexif )
- libextractor? ( media-libs/libextractor )
- mp4? ( media-libs/libmp4v2 )
- ffmpeg? ( virtual/ffmpeg )
- thumbnail? ( media-video/ffmpegthumbnailer[jpeg] )
- net-misc/curl
- sys-apps/file
- sys-libs/zlib
- virtual/libiconv"
-RDEPEND="${DEPEND}"
-
-pkg_setup() {
- if use inotify; then
- if ! linux_config_exists \
- || ! linux_chkconfig_present INOTIFY_USER; then
- ewarn "Please enable Inotify support in your kernel:"
- ewarn
- ewarn " File systems --->"
- ewarn " [*] Inotify support for userspace"
- ewarn
- fi
- fi
- enewgroup mediatomb
- enewuser mediatomb -1 -1 /dev/null mediatomb
-}
-
-src_prepare() {
- epatch "${FILESDIR}/${P}-gcc46.patch"
- epatch "${FILESDIR}/${P}-libav7.patch"
- if use mp4 ; then
- epatch "${FILESDIR}/${P}-libmp4v2_191_p479.patch"
- fi
- if use javascript && has_version ">=dev-lang/spidermonkey-1.8.5" ; then
- epatch "${FILESDIR}"/${P}-mozjs185.patch
- eautoreconf
- fi
-}
-
-src_configure() {
- if use thumbnail; then
- elog "libextrator does not work with thumbnail, disabling libextrator"
- myconf="${myconf} --enable-ffmpegthumbnailer --enable-ffmpeg --disable-libextractor"
- elif ! use thumbnail && use ffmpeg && use libextractor; then
- elog "libextrator does not work with ffmpeg, disabling libextrator"
- myconf="${myconf} --disable-ffmpegthumbnailer --enable-ffmpeg --disable-libextractor"
- else
- myconf="${myconf} $(use_enable thumbnail ffmpegthumbnailer) $(use_enable ffmpeg) $(use_enable libextractor)"
- fi
-
- econf \
- $(use_enable debug tombdebug) \
- $(use_enable exif libexif) \
- $(use_enable inotify) \
- $(use_enable javascript libjs) \
- $(use_enable lastfm lastfmlib) \
- $(use_enable mp4 libmp4v2) \
- $(use_enable mysql) $(use_enable !mysql sqlite3) \
- $(use_enable taglib) $(use_enable !taglib id3lib) \
- --enable-curl \
- --enable-external-transcoding \
- --enable-libmagic \
- --enable-protocolinfo-extension \
- --enable-youtube \
- --enable-zlib \
- ${myconf}
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "Install failed!"
-
- dodoc AUTHORS ChangeLog NEWS README TODO
-
- sed -e "s:#MYSQL#:$(use mysql && has_version dev-db/mysql[-minimal] && echo "mysql"):" \
- "${FILESDIR}/${PN}-0.12.0.initd" > "${T}/mediatomb.initd" || die
- newinitd "${T}/mediatomb.initd" mediatomb || die
- newconfd "${FILESDIR}/${PN}-0.12.0.confd" mediatomb || die
-
- insinto /etc/mediatomb
- newins "${FILESDIR}/${PN}-0.12.0.config" config.xml || die
- fperms 0600 /etc/mediatomb/config.xml
- fowners mediatomb:mediatomb /etc/mediatomb/config.xml
-
- keepdir /var/lib/mediatomb
- fowners mediatomb:mediatomb /var/lib/mediatomb
-}
-
-pkg_postinst() {
- if use mysql; then
- elog "MediaTomb has been built with MySQL support and needs"
- elog "to be configured before being started."
- elog "For more information, please consult the MediaTomb"
- elog "documentation: http://mediatomb.cc/pages/documentation"
- elog
- fi
-
- elog "To configure MediaTomb edit:"
- elog "/etc/mediatomb/config.xml"
- elog
- elog "The MediaTomb web interface can be reached at (after the service is started):"
- elog "http://localhost:49152/"
-}