Re: [Slackbuilds-users] Missing and incorrect libreoffice dependencies.
On 13/08/18 12:08, or...@fredslev.dk wrote: >> The README goes on to mention a few environment variables that may be >> set in order to change the default build, some of which (VLC, AVAHI) >> have been at your suggestion. There is also a JAVA variable which may >> be set, including JAVA=no for those who know they don't need its >> functionality. I won't go on - I'm sure you've read the README and so >> already know these things. >> >> BTW, you will also know from the libreoffice email list that work is >> in progress to remove the current java dependency. When this is >> complete, I will remove the requirement for any java (and related >> apache-ant). >> >> The requirement for python3 relates to a personal use case that is not >> satisfied by the "internal" python3. I'll continue to exercise my >> prerogative as maintainer to keep python3 as a requirement. It >> certainly doesn't reduce functionality and is so common that many >> (most?) users will already have it installed.> > I do not agree, I think such choices should be left up to the user > especially with arguably undesirable dependencies like java. > > As for python3 its easy to prefer the system python3 and fallback to > the internal one if its missing. > > if pkg-config --exists python3; then > > Python3 usage is a slightly special case compared with the optional packages you've listed below, where configuring with --with-system-pkgnam prefers a locally preinstalled version of pkgnam to an internal fallback version. These are build time flags. The --enable-python configuration option refers to Python support at run time, not build time (although there can be a build time implication). Hence --enable-python=system means that the system installed python should be used when running python related LibreOffice features - PyUno in particular (which requires python3). In this case the system python3 is also required at build time in order to build those features. Other --enable-python= possibilities are no, auto, internal and fully-internal which can use the internal fallback python3. However all of these constrain how PyUno can be used i.e. the resulting LibreOffice is not "fully functional" (as is my stated goal). > That said would you mind elaborating on your use case that requires the > system python3? This is the first I recall hearing about it and would > be interested in knowing more. > LibreOffice components are externally controllable with python scripting via PyUno - a python binding of UNO (see: http://www.openoffice.org/udk/) which provides the capability of remote interaction with LibreOffice. I believe there's also a java binding (which I haven't used). A "hello world" example is at: http://lucasmanual.com/mywiki/OpenOffice (however I suggest to invoke the initial empty document with "swriter" not "soffice" as described there). Using system python3 in both LibreOffice build and the runtime example, all works OK. However internal LibreOffice python3 will fail when using the system python3 at runtime for the hello world example and, more importantly, all other real world apps using this feature. An even simpler failure can be seen just by running the system python3 and trying to "import uno". It fails with a ModuleNotFoundError: No module named 'uno' - understandable because it was made for a different python3 installation (the LibreOffice internal installation). You could perhaps work around that by not using the system python, but instead use LibreOffice's built in python3 by starting your script(s) with something like: #!/usr/lib64/libreoffice/programs/python which actually works for the example above but which, if you think about it, is clearly impracticable for anything beyond this type of single file application. So, although it's possible to use the internal python3 supplied by LibreOffice, it's a considerably constrained usage requiring lots of hoop jumping for real world applications. It's much smarter to just use the system python3. What's more, if a system version of either of liborcus or qt5 is used (encouragement of which I believe is the purpose of the list below) then python3 will be required anyway. chris >>> Here is a list of dependencies available at SBo which libreoffice >>> can use and are not currently listed. >>> >>> CoinMP, cppunit, glm, libabw, libcdr, libcmis, libe-book, >>> libeot, libepubgen, libetonyek, libexttextcat, libfreehand, >>> liblangtag, libmspub, libmwaw, liborcus, libpagemaker, libqxp, >>> libstaroffice, libtommath, libwps, libzmf, lpsolve, mdds, >>> mysql-connector-c++, mythes, postgresql, qt5, valgrind, ucpp >>> ___ SlackBuilds-users mailing list SlackBuilds-users@slackbuilds.org https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/ FAQ - https://slackbuilds.org/faq/
Re: [Slackbuilds-users] Missing and incorrect libreoffice dependencies.
On Mon, 13 Aug 2018 11:27:22 +1000 Christoph Willing wrote: > On 12/08/18 00:20, or...@fredslev.dk wrote: > > Hi, > > > > Its been bugging me for a long time that the LibreOffice from source > > SlackBuild has both incorrect and many missing optional > > dependencies. > Hi Hunter, > > Yes it has been a long time; you've been complaining at LQ for about > two years now despite my various attempts to explain the current > arrangement. I'll try again, after which could we just agree to > disagree? > > > The only required dependency is: > > > > perl-Archive-Zip > > > > The following dependencies are erroneously marked as required and > > libreoffice will either work fine without them or can provide their > > own internal versions. > > > > python3, apache-ant, openjdk > > > In general, most software is able to be built with or without a number > of options. Some people seem to believe that building software (hence > SlackBuilds) with the fewest possible options enabled is better (by > some metric). I don't agree with this philosophy and usually build > with all practicable options to ensure maximum feature availability. > In the case of LibreOffice, this is alluded to in the README which > states: "In seeking a fully functional LibreOffice, most optional > features are included by default." > > Please note the use of "fully functional". While it is, of course, > possible to restrict the functionality to suit your personally use > case, I don't believe that is an appropriate approach for a general > purpose "release". As an advanced user, you are more than capable of > modifying the SlackBuild to suit yourself or, as you already have, > create and publish your own SlackBuild which includes/excludes > whatever you like. > > The README goes on to mention a few environment variables that may be > set in order to change the default build, some of which (VLC, AVAHI) > have been at your suggestion. There is also a JAVA variable which may > be set, including JAVA=no for those who know they don't need its > functionality. I won't go on - I'm sure you've read the README and so > already know these things. > > BTW, you will also know from the libreoffice email list that work is > in progress to remove the current java dependency. When this is > complete, I will remove the requirement for any java (and related > apache-ant). > > The requirement for python3 relates to a personal use case that is not > satisfied by the "internal" python3. I'll continue to exercise my > prerogative as maintainer to keep python3 as a requirement. It > certainly doesn't reduce functionality and is so common that many > (most?) users will already have it installed. I do not agree, I think such choices should be left up to the user especially with arguably undesirable dependencies like java. As for python3 its easy to prefer the system python3 and fallback to the internal one if its missing. if pkg-config --exists python3; then That said would you mind elaborating on your use case that requires the system python3? This is the first I recall hearing about it and would be interested in knowing more. > > Here is a list of dependencies available at SBo which libreoffice > > can use and are not currently listed. > > > > CoinMP, cppunit, glm, libabw, libcdr, libcmis, libe-book, > > libeot, libepubgen, libetonyek, libexttextcat, libfreehand, > > liblangtag, libmspub, libmwaw, liborcus, libpagemaker, libqxp, > > libstaroffice, libtommath, libwps, libzmf, lpsolve, mdds, > > mysql-connector-c++, mythes, postgresql, qt5, valgrind, ucpp > > > I'm not sure what you mean with this list. I guess that you mean that > are SBo packages for each of them which could be used instead of the > internal LO versions? Adding them all as requirements would make a > pretty onerous build queue. Making them all selectable via environment > variables would make for an equally onerous command line for the > average builder. The majority are already included (using internal > versions) in the default build as I don't believe the average > builder/user should have to decide whether they want to include each > individual item. > > If a user has a particular problem with a particular supporting > software package that can be fixed by a change to the SlackBuild > (without detriment to everyone else), I'm happy to include it. There are two very good reasons to support these. 1. When a dependency of a dependency is updated instead of rebuilding all of libreoffice the user only needs to rebuild a few system dependencies. 2. It can shave off a significant amount of build time when using the system dependencies. There is also the argument that I spent a lot of effort supporting these for libreoffice before and after your script was added where they have gone unused. Its pretty easy to determine if they are installed with pkg-config , checking the existence of include directories and/or binaries requiring no environment variables an
Re: [Slackbuilds-users] Missing and incorrect libreoffice dependencies.
On 12/08/18 00:20, or...@fredslev.dk wrote: > Hi, > > Its been bugging me for a long time that the LibreOffice from source > SlackBuild has both incorrect and many missing optional dependencies. > Hi Hunter, Yes it has been a long time; you've been complaining at LQ for about two years now despite my various attempts to explain the current arrangement. I'll try again, after which could we just agree to disagree? > The only required dependency is: > > perl-Archive-Zip > > The following dependencies are erroneously marked as required and > libreoffice will either work fine without them or can provide their own > internal versions. > > python3, apache-ant, openjdk > In general, most software is able to be built with or without a number of options. Some people seem to believe that building software (hence SlackBuilds) with the fewest possible options enabled is better (by some metric). I don't agree with this philosophy and usually build with all practicable options to ensure maximum feature availability. In the case of LibreOffice, this is alluded to in the README which states: "In seeking a fully functional LibreOffice, most optional features are included by default." Please note the use of "fully functional". While it is, of course, possible to restrict the functionality to suit your personally use case, I don't believe that is an appropriate approach for a general purpose "release". As an advanced user, you are more than capable of modifying the SlackBuild to suit yourself or, as you already have, create and publish your own SlackBuild which includes/excludes whatever you like. The README goes on to mention a few environment variables that may be set in order to change the default build, some of which (VLC, AVAHI) have been at your suggestion. There is also a JAVA variable which may be set, including JAVA=no for those who know they don't need its functionality. I won't go on - I'm sure you've read the README and so already know these things. BTW, you will also know from the libreoffice email list that work is in progress to remove the current java dependency. When this is complete, I will remove the requirement for any java (and related apache-ant). The requirement for python3 relates to a personal use case that is not satisfied by the "internal" python3. I'll continue to exercise my prerogative as maintainer to keep python3 as a requirement. It certainly doesn't reduce functionality and is so common that many (most?) users will already have it installed. > Here is a list of dependencies available at SBo which libreoffice can > use and are not currently listed. > > CoinMP, cppunit, glm, libabw, libcdr, libcmis, libe-book, > libeot, libepubgen, libetonyek, libexttextcat, libfreehand, > liblangtag, libmspub, libmwaw, liborcus, libpagemaker, libqxp, > libstaroffice, libtommath, libwps, libzmf, lpsolve, mdds, > mysql-connector-c++, mythes, postgresql, qt5, valgrind, ucpp > I'm not sure what you mean with this list. I guess that you mean that are SBo packages for each of them which could be used instead of the internal LO versions? Adding them all as requirements would make a pretty onerous build queue. Making them all selectable via environment variables would make for an equally onerous command line for the average builder. The majority are already included (using internal versions) in the default build as I don't believe the average builder/user should have to decide whether they want to include each individual item. If a user has a particular problem with a particular supporting software package that can be fixed by a change to the SlackBuild (without detriment to everyone else), I'm happy to include it. > Also an optional dependency which can not currently be used is: > > graphite2 > > It would require harfbuzz in the main tree to be rebuilt with graphite2. > I'm not sure what to do with that statement. Are you suggesting anything in particular for the SlackBuild? > Additionally here is a list of optional dependencies in the main tree > that libreoffice is not currently using: > > apr, bluez, bzip2, clucene, libepoxy, libodfgen, openldap-client > > Can this please be fixed? > You mean e.g. --with-system-apr etc.? Yes, I'll fix those. Thanks for mentioning them. chris ___ SlackBuilds-users mailing list SlackBuilds-users@slackbuilds.org https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/ FAQ - https://slackbuilds.org/faq/
Re: [Slackbuilds-users] Missing and incorrect libreoffice dependencies.
I looked at the 6.1.0.3 source and found two small corrections. 1. LibreOffice can also use lxml and will apparently build it internally if missing, I am not sure if it needs to be a python3 lxml or not. 2. With 6.1.0.3 libnumbertext is a new optional dependency which is missing from SBo, I have submitted a script for it just now which I was able use when building 6.1.0.3 without issue. If --with-system-libnumbertext is not used then libreoffice will use an internal version. ___ SlackBuilds-users mailing list SlackBuilds-users@slackbuilds.org https://lists.slackbuilds.org/mailman/listinfo/slackbuilds-users Archives - https://lists.slackbuilds.org/pipermail/slackbuilds-users/ FAQ - https://slackbuilds.org/faq/