Next attached is my proposed new ebuild for media-libs/mlt package with USE flags revisited.
Created attachment 178831 [details] mlt-0.3.4-r1.ebuild MAIN CHANGES FROM OFFICIAL EBUILD: EAPI=2 with new functions src_prepare and src_configure. KEYWORDS="~amd64". Before to readd others keywords, new depending package media-plugins/frei0r (bug #255319) should be tested. Removed version on packages dependencies because every version in portage tree is OK. Following is a list of packages with required version as per official ebuild and the minimum version available in portage tree (snapshot 20090114) between parenthesis: - >=media-video/ffmpeg-0.4.9_p20080326 (0.4.9_p20081014) - >=media-libs/libdv-0.104 (1.0.0-r2) - >=dev-libs/libxml2-2.5 (2.6.30-r1) - >=media-libs/libvorbis-1.1.2 (1.2.1_rc1) - >=media-libs/libsdl-1.2.10 (1.2.11-r2) - >=media-libs/sdl-image-1.2.4 (1.2.6-r1) - >=media-libs/libsamplerate-0.1.2 (0.1.2) - >=media-libs/xine-lib-1.1.2_pre20060328-r7 (1.1.15-r1) Removed dependencies to packages media-libs/libogg, media-sound/lame and media-libs/libtheora because media-libs/mlt seems to not depend on them directly. If mp3, theora or vorbis use flags are enabled, media-video/ffmpeg is required to be built with them enabled (used mp3 instead of lame because ffmpeg ebuild uses it). ogg use flag is removed. Removed --enable-shared, --enable-pp and --enable-shared-pp options because I cannot find them in the configure script. Removed pkg_setup function; added USE dependendency to check if media-sound/sox should be compiled with libsamplerate enabled or not. Added USE=frei0r to depend on new package media-plugins/frei0r (bug #255319) Added USE=qt4 to build qimage module with qt4. If either qt3 and qt4 are enabled, qt3 is preferred. Added USE=png to produce compressed (png) lumas. media-gfx/imagemagick is required to convert them. Added USE=kde. Its behaviour depend on qt3: - if qt3 is enabled, it compile extra image formats using kde on qimage module. - if qt3 is disabled, it compile kdenlive module (note: media-video/kdenlive package is not required on compile time). Used PDEPEND="!qt3? ( kde? ( media-video/kdenlive ) )" to require media-video/kdenlive package avoiding circular dependencies.
Created attachment 178833 [details, diff] mlt-0.3.4-qimage.patch Patch needed to build qimage module with extra image formats using kde
Thanks for submitting and documenting your work on this ebuild. Assigning to maintainers.
(In reply to comment #1) > EAPI=2 with new functions src_prepare and src_configure. if there is no other reason than renaming phases to use eapi-2, please dont. > KEYWORDS="~amd64". > Before to readd others keywords, new depending package media-plugins/frei0r > (bug #255319) should be tested. first you'd need to find a maintainer for frei0r but since there are other interesting changes, here we go > Removed version on packages dependencies because every version in portage tree > is OK. Following is a list of packages with required version as per official > ebuild and the minimum version available in portage tree (snapshot 20090114) > between parenthesis: > - >=media-video/ffmpeg-0.4.9_p20080326 (0.4.9_p20081014) > - >=media-libs/libdv-0.104 (1.0.0-r2) > - >=dev-libs/libxml2-2.5 (2.6.30-r1) > - >=media-libs/libvorbis-1.1.2 (1.2.1_rc1) > - >=media-libs/libsdl-1.2.10 (1.2.11-r2) > - >=media-libs/sdl-image-1.2.4 (1.2.6-r1) > - >=media-libs/libsamplerate-0.1.2 (0.1.2) > - >=media-libs/xine-lib-1.1.2_pre20060328-r7 (1.1.15-r1) Those are here and have to stay in case someone has a very old system. Deps are not for what is currently in the tree but what may have been at some point in the tree. > Removed dependencies to packages media-libs/libogg, media-sound/lame and > media-libs/libtheora because media-libs/mlt seems to not depend on them > directly. good point > If mp3, theora or vorbis use flags are enabled, media-video/ffmpeg is required > to be built with them enabled (used mp3 instead of lame because ffmpeg ebuild > uses it). ogg use flag is removed. why do you want to force them enabled on ffmpeg? would it crash if they're not available? if that just disables mp3/theora/vorbis support then it's fine as that's what the user requested on ffmpeg. > Removed --enable-shared, --enable-pp and --enable-shared-pp options because I > cannot find them in the configure script. good point too > Removed pkg_setup function; added USE dependendency to check if media-sound/sox > should be compiled with libsamplerate enabled or not. You got this wrong; the check in the ebuild means you need to enable libsamplerate useflag on *mlt* if you enable use sox on *mlt* > Added USE=qt4 to build qimage module with qt4. If either qt3 and qt4 are > enabled, qt3 is preferred. Hmm not sure there but I'd say prefer qt4 as it's newer; and maybe building the qt4 qimage module won't make kdenlive crash badly at startup unlike the qt3 one does. > Added USE=png to produce compressed (png) lumas. media-gfx/imagemagick is > required to convert them. I think naming this png is a bad idea, maybe we could find a better name (eg compressed-lumas) and give it a nice description as this does not enable png support at all. > Added USE=kde. Its behaviour depend on qt3: > - if qt3 is enabled, it compile extra image formats using kde on qimage module. > - if qt3 is disabled, it compile kdenlive module (note: media-video/kdenlive > package is not required on compile time). > Used PDEPEND="!qt3? ( kde? ( media-video/kdenlive ) )" to require > media-video/kdenlive package avoiding circular dependencies. seems a good idea; could you please attach a new diff/ebuild with the above comments integrated/discussed? preferable a diff as that's way much easier to see what changed.
*** Bug 258044 has been marked as a duplicate of this bug. ***
I will upload a new version in next few days. By now I add few comments. (In reply to comment #4) > (In reply to comment #1) > > EAPI=2 with new functions src_prepare and src_configure. > > if there is no other reason than renaming phases to use eapi-2, please dont. I used eapi-2 because I wanted to use "USE dependency"; I will check if I still need it. > > If mp3, theora or vorbis use flags are enabled, media-video/ffmpeg is required > > to be built with them enabled (used mp3 instead of lame because ffmpeg ebuild > > uses it). ogg use flag is removed. > > why do you want to force them enabled on ffmpeg? would it crash if they're not > available? if that just disables mp3/theora/vorbis support then it's fine as > that's what the user requested on ffmpeg. In this case, I suppose I can remove mp3 and theora use flags since they don't enable anything in mlt package. > > Removed pkg_setup function; added USE dependendency to check if media-sound/sox > > should be compiled with libsamplerate enabled or not. > > You got this wrong; the check in the ebuild means you need to enable > libsamplerate useflag on *mlt* if you enable use sox on *mlt* Not sure, but it seems to me that media-libs/mlt can be build with USE='sox -libsamplerate' if media-sound/sox is build with USE='-libsamplerate'. I will check it again. > > Added USE=qt4 to build qimage module with qt4. If either qt3 and qt4 are > > enabled, qt3 is preferred. > > Hmm not sure there but I'd say prefer qt4 as it's newer; and maybe building the > qt4 qimage module won't make kdenlive crash badly at startup unlike the qt3 one > does. I preferred qt3 simply because qt3/kde3 is more mature than qt4/kde4 and IMHO an ebuild should use the more stable solution as default. kdenlive ebuild already check if media-libs/mlt is built without qt3 use flag. > could you please attach a new diff/ebuild with the above comments > integrated/discussed? preferable a diff as that's way much easier to see what > changed. To avoid any misunderstanding, are you requesting a diff file between a new ebuild and my previous post, or a diff between a new ebuild and the one in portage tree?
Created attachment 183517 [details, diff] Patch for official ebuild It doesn't include all my previous changes (Comment #1) but only approved ones (Comment #4). About my preference for qt3 vs qt4, please see Comment #6. It seems to me that kdenlive cannot work with compressed (png) lumas yet, it crashed when I tried it; thus its ebuild should check if media-libs/mlt was built without new compressed-lumas useflag.
Applied, thanks a lot Except the --no-as-needed one, if this has to be fixed this isn't by appending that flag, better fix the linking order. I also dropped the kdenlive PDEP because I don't see why we would need it but be welcome to correct me there. If you have other improvements, either reopen this bug or file a new one (a new one may be cleaner), setting as fixed for now. Also please dont forget to send the qimage patch upstream.
(In reply to comment #8) > Also please dont forget to send the qimage patch upstream. Already done :) but not yet applied by upstream :( http://sourceforge.net/tracker/index.php?func=detail&aid=2151852&group_id=96039&atid=613416 Regards, Roberto