Summary: | New Blender Ebuild propose | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Michael Färber <01mf02> |
Component: | New packages | Assignee: | Luca Barbato <lu_zero> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | CC: | basic, follettoonip, malverian, mmokrejs |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
New Blender 2.41 Ebuild
New Blender 2.42 Ebuild Modded ebuild Now including flag "verse" for support for Verse |
Description
Michael Färber
2006-02-02 09:43:42 UTC
Created attachment 78733 [details]
New Blender 2.41 Ebuild
I'm working with upstream about having a better/proper filestructure so, no. the feature split looks probably ok about the yafray dep I'm undecided. give me a week to think, thank you for your hard work in any case =) Erm ... what does that mean, you are working about having a better/proper filestructure with the upstream? Who is the upstream? The Gentoo developers? Blender is a program designed to run on many platforms, and tends to want to have all its data in one directory. Forcing Blender to use different directories like /usr/bin, /usr/share/blender is always a hack, because you need patches for the code. There already exists a patch for Blender in Gentoo Portage, but it is broken, and I fear that even if we fix it, it will break again. The best way would probably be to tell the Blender devs to use a better file structure. I've already made an attempt to propose this to the Blender devs, but they didn't agree with this. But even if you should decide against /opt/blender, the other parts of the Ebuild are quite valuable. Thanks you look into it! Upstream => Blender developers If the patch is again incomplete, please open a bug about this issue and hopefully it will be fixed soon, isn't that hard fix the behaviour and isn't any different than what they are doing for macosx or win32... there's another issue with the portage ebuild: localization files are put in /usr/lib/blender/locale/xx/LC_MESSAGES/blender.mo (xx is language code) but this path should be /usr/share/locale/xx/LC_MESSAGES/blender.mo. You can test just by trying to localize the interface (inside blender) before and after doin a: ln -s /usr/lib/blender/locale/it/LC_MESSAGES/blender.mo /usr/share/locale/it/LC_MESSAGES/blender.mo (change it with the language you want) Another note: using this ebuild all my issues with scripts are gone (I just pointed my blender config paths to /usr/lib/blender, but that wasn't enough to use sculpting mesh script or some other python ones, I was getting errors). Many thanks for this ebuild, at least blender is working now. Matteo I hopefully fixed the issue you reporte, could you please give me a detailed report about nonworking scripts? This ebuild worked perfectly for me on AMD64; the official ebuild can't find any scripts, etc. Hey, Michael - Could you put up an updated one for 2.42? :-) (BTW, I don't think it's worth fighting the upstream devs regarding directory structure; they've got it how they like it, and I'd say it's probably better just to use /opt/blender.) I'm working with upstream towards a compliant directory structure, sadly I hadn't much time to develop it lately. Created attachment 92154 [details]
New Blender 2.42 Ebuild
As the new official Ebuild for Blender 2.42 still has some problems, I've decided to make a new unofficial Ebuild for it. Enjoy!
Regarding the statement that the upstream developers would try to improve the file structure: I think as long as they are making new features like mad, they won't care about such a "minor" thing like file structures. I've already asked them about it some time ago, but they didn't want to - although I have looked at the source code and have seen that it wouldn't have been much work.
I'm posting a modification of the 2.42 ebuild posted here. Changes: -Installs using the same directory layout as the standard ebuild. (i.e. nothing put in /opt) Added features: -Adds support for the fmod USE flag -Builds with the users CXXFLAGS -Installs files needed to compile 3rd party plugins Created attachment 92462 [details]
Modded ebuild
Created attachment 96034 [details]
Now including flag "verse" for support for Verse
Just an additional use flag "verse" making it possible to compile Verse into blender.
Well, now 2.43 is released and so I thought I'd bump this one instead of opening a new one, because I guess the directory structure problem still exists. I had the directory structure problem with blender-2.42a-r1 and the official ebuild. It took me a day to figure out how the oblique blender structure works and to find a somewhat unsatisfactory solution for it. Blender has a concept of a blender home dir, called homedir. Its default place is compiled into the executable, presumably. For gentoo it should be /usr/share/blender because that is where scripts and other config data are installed but it is not. In fact, homedir is empty when looked up with the python function Blender.Get('homedir'). Apparently it cannot be overridden by an environmental variable such as $BLENDERHOME, perhaps for cross-platform reasons. However, if ~/.blender exists, blender makes that the homedir. So a simple workaround is to say cp -r /usr/share/blender ~/.blender Indeed, this then makes scripts (plugins) work as expected since the default scriptsdir and datadir (for configuration data) are constructed from the homedir by appending "scripts" and "scripts/bpydata". This is somewhat unsatisfactory because the default installation should be accessible to all users on a machine without configuration, eg. without copying things. On the other hand, the datadir is expected by some scripts to be writeable. This requires anyways that the whole scripts tree is in the users home because of the way the default paths are constructed. Now, blender has also the concept of user maintained scripts. The configuration panel in the gui actually sets the location of those scripts, called uscriptsdir and udatadir, not the system (default) scripts. So I made a ~/.blender/uscripts/bpydata directory for this purpose and set the configuraton python path accordingly. This should make it possible to maintain user scripts independently from system scripts. Perhaps a worthwile addition to the ebuild script is to add the copy step above, to all user home dirs. Or maybe not. Perhaps an elog with a message to an additional manual step is required ? So the sysadmin can decide if he wants to do something to user home dirs ? Andreas (In reply to comment #0) > Since December I've been busy writing a new Ebuild for Blender. Its advantages: > > - 3 USE flags (blenderplayer, openal, nls) instead of only one in the official > Ebuild (nls) > - Different location for the program; instead of installing it in /usr/bin, > /usr/share etc. it is installed to /opt/blender, which makes plugins accessible > without further installation and probably better matches the file structure > proposed by the Blender developers. > - Yafray is not a dependancy anymore, but there is some explaining text to > notify users of Yafray (similar to the behaviour of e.g. media-gfx/hugin). > - More comments in the code which should make updating the Ebuild easier > > There has already been a long discussion/development thread in the Gentoo > Forums: http://forums.gentoo.org/viewtopic-t-412648.html > Since I released the first version of my Ebuild, some people have tested it and > found it better than the official one. > > > So I hope you integrate it in Gentoo Portage, maybe as blender-2.41-r1? > I would suggest to include yafray in IUSE as dependency, for users to choose. Regards, hoyanf some of the request got already there, I'm not sure if is enough for you. Should be fixed since long time |