Hello Dima,
I agree with you, Dima, about the usefulness of pkg-config and I am
not surprised the SAGE Team uses it; they incorporate tons of external
libraries.
<digression>
In fact I discovered this utility some time ago, at the beginning of
Gnome 2 development. I thought this utility was developed by this team
since from my point of view at that time this is the team who really
popularised this utility. I used it because I needed a quick image
visualisator, 'eog' was becoming too library dependent, too large and
too long to start to just see a pic. I have been doing photography for
many years and to visualise pics I do not need a lot of functionality.
The Evas library from DR16 (Enlightenment window manager) started to
use this utility and was useful to me to have linker arguments,
cflags, say -DSOMETHING=1, and eventually the include path.
</digression>
But I see this application as an utility to know
*settings/configuration* about a library, and now some applications,
more than to know the version or (quick) help of an application. For
example on my computer I have in /usr/share/pkg-config/ 'fontutil.pc'
which contains:
prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}/lib/x86_64-linux-gnu
datarootdir=${prefix}/share
datadir=${datarootdir}
fontrootdir=${datadir}/fonts/X11
mapdir=${prefix}/share/fonts/X11/util
Name: FontUtil
Description: Font utilities dirs
Version: 1.3.1
I agree that the Name, Description and Version information could be
useful, particularly for my needs, but its primary purpose is to
display informations above in this file for me. To add to this, I do
not even have the pkg-config or pkgconf package installed. I do not
need them as of now. I totally agree with the package description:
===========================================================
Description: manage compile and link flags for libraries (transitional package)
pkgconf is an implementation of the pkg-config system, which helps to configure
compiler and linker flags for development frameworks.
.
pkgconf is a replacement for pkg-config, providing additional functionality
while also maintaining compatibility.
.
This package only provides a dependency link to the pkgconf package to help
with package upgrades. It can be safely removed.
Description-md5: df0bd7e16369ac7330df23f92a214b3a
Multi-Arch: same
Homepage:
http://pkgconf.org/
Tag: admin::configuring, devel::buildtools, interface::commandline,
role::program, scope::utility
Section: devel
============================================================
So, yes, why not use this utility to display some information about
FriCAS, even if I do not see a lot of information to write in it, I
would prefer to keep version information available from the 'fricas'
executable as you suggest I guess (but add a pkg-config file).
Personally I would also prefer to add to the fricas script the ability
to execute code and return to the shell. As of now 'fricas -eval'
executes code at startup but does not leave the fricas REPL. What
could also be useful is something like:
└─$ perl -e 'print 2+2'
4
┌──(greg㉿ellipse)-[~]
└─$ python3 -c 'print(2+2)'
4
┌──(greg㉿ellipse)-[~]
└─$ julia -e 'print(2+2)'
4
etc. (read a file also, why not)
That way I could use, say, 'fricas -c ')lisp
(lisp-implementation-type)' or other things. This information is
already in the fricas startup script though, it is just an example.
By the way I attached the primary patch, as an illustration, that just
moves the code related to HyperDoc and Graphics availability.
__
Greg
> To view this discussion on the web visit
https://groups.google.com/d/msgid/fricas-devel/CAAWYfq07TtLc4%3DPB0orTjZT3eRiU0e_Fvqw8ziWyN9PpfVP0rg%40mail.gmail.com.