#54683 closed update (fixed)
Qalculate version update to 2.1.0
Reported by: | kencu (Ken) | Owned by: | jjstickel (Jonathan Stickel) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | libqalculate qalculate-gtk |
Description
This has jumped right up to 2.0.0 now.
I have actually updated my local copy, but there are some changes in how it is built and the patches, so I thought I'd best leave it to you to see how you'd like to manage these.
I quite like this port, by the way -- thanks!
Attachments (3)
Change History (21)
comment:1 Changed 7 years ago by mf2k (Frank Schima)
Cc: | jjstickel removed |
---|---|
Owner: | set to jjstickel |
Status: | new → assigned |
comment:2 Changed 7 years ago by jjstickel (Jonathan Stickel)
comment:4 Changed 7 years ago by jjstickel (Jonathan Stickel)
I've made good progress on portfiles for qalculate. There have been some dependency changes, including gettext. This resulted in problems with autoreconf, which is still necessary because of intltool and perl. The upstream developer has recommended using the source-code's autogen.sh, which I am able to use OK outside of the macport's build process. When I configure with macports, via
configure.cmd ./autogen.sh
in the Portfile, libtoolize is not detected because it is in /opt/local/libexec/gnubin/. What is the suggested way to add that to the path when running the configure command (autogen.sh here)?
comment:5 follow-up: 6 Changed 7 years ago by mf2k (Frank Schima)
Can you attach your current Portfile diff?
comment:6 Changed 7 years ago by jjstickel (Jonathan Stickel)
Replying to mf2k:
Can you attach your current Portfile diff?
I attached the diff for libqalculate. The configure approach for libqalculate should also work for qalculate-gtk, which I will fix after we get libqalculate figured out.
comment:7 follow-up: 11 Changed 7 years ago by raimue (Rainer Müller)
For the autoreconf stuff, you could use the following snippet (based on hexchat). Dependencies need to be added in any case.
# reconfigure for intltool 0.51 compatibility use_autoreconf yes autoreconf.cmd ./autogen.sh autoreconf.env NOCONFIGURE=1 # add these dependencies late as changing autoreconf.cmd removes them depends_build-append \ port:autoconf \ port:automake \ port:libtool
comment:8 follow-up: 9 Changed 7 years ago by kencu (Ken)
I disable autoreconf and it builds through for me. Is it needed for foreign language support or something?
$ port -v installed | grep qal libqalculate @0.9.10_1 platform='darwin 10' archs='x86_64' date='2017-06-09T11:30:22-0700' libqalculate @0.9.12_0 platform='darwin 10' archs='x86_64' date='2017-06-21T11:00:50-0700' libqalculate @2.0.0_0 platform='darwin 10' archs='x86_64' date='2017-08-28T13:59:59-0700' libqalculate @2.1.0_0 (active) platform='darwin 10' archs='x86_64' date='2017-10-18T09:52:39-0700' qalculate-gtk @0.9.9_0 platform='darwin 10' archs='x86_64' date='2017-06-09T11:31:59-0700' qalculate-gtk @0.9.12_0 platform='darwin 10' archs='x86_64' date='2017-06-21T11:16:20-0700' qalculate-gtk @2.0.0_0+gnuplot platform='darwin 10' archs='x86_64' date='2017-08-28T14:15:26-0700' qalculate-gtk @2.1.0_0+gnuplot (active) platform='darwin 10' archs='x86_64' date='2017-10-18T09:55:20-0700'
comment:9 Changed 7 years ago by jjstickel (Jonathan Stickel)
Replying to kencu:
I disable autoreconf and it builds through for me. Is it needed for foreign language support or something?
Ken, I did that too as a way to get it installed on my computer for the time being, but I think it is only a temporary fix. I am not a programming expert (not even my field), and so I do not understand all the details, but the problem arises when the preferred perl version increments in macports, so that a user ends up with multiple perls installed. As described in #44066, the configure error is:
error: XML::Parser perl module is required for intltool
As far as I can tell, all the components that cause the problem (intltool, perl, xml), are still in qalculate, despite the new gettext dependency. Hence the need for autoreconf/autogen.
comment:10 Changed 7 years ago by kencu (Ken)
Thanks! I guess I just haven't stumbled across that so far. Appreciate your fixing this properly - it's a great tool.
comment:11 Changed 7 years ago by jjstickel (Jonathan Stickel)
Replying to raimue:
For the autoreconf stuff, you could use the following snippet (based on hexchat). Dependencies need to be added in any case.
I still get the same error. The autogen.sh script supplied in libqalculate use "libtoolize" to check for libtool can can't find it, triggering the error.
Executing: cd "/opt/local/var/macports/build/_Users_Shared_install_macports_ports_math_libqalculate/libqalculate/work/libqalculate-2.1.0" && ./autogen.sh --copy **Error**: You must have `libtool' installed. You can get it from: ftp://ftp.gnu.org/pub/gnu/
comment:12 Changed 7 years ago by kencu (Ken)
I think I have seen a few ports (mostly by Dave Evans) that copy in an included copy of libtool from the 'files' directory. [ Edit - no, it's an included copy of autogen.sh ; I remembered it incorrectly ]
MacPorts libtool and libtoolize are prefixed with "g", I note.
comment:13 Changed 7 years ago by kencu (Ken)
I see this, in libofa
use_autoreconf yes autoreconf.args -fvi autoreconf.env LIBTOOLIZE=${prefix}/bin/glibtoolize
and this, in libmaa
configure.env LIBTOOL=${prefix}/bin/glibtool
Here's another approach, from ode
patch { reinplace "s|libtoolize|glibtoolize|g" ${worksrcpath}/bootstrap }
comment:14 Changed 7 years ago by raimue (Rainer Müller)
Background: libtool
is also a native tool on macOS, therefore GNU libtool is shipped as glibtool
. The corresponding glibtoolize
uses the same prefix.
Build systems should call glibtoolize
and glibtool
. The configure script itself uses the macro from automake, so it should already be correct. I recommend to patch autogen.sh to use glibtoolize
. Usually scripts would first try glibtoolize
, then libtoolize
, or match on uname or $OSTYPE
. Could even submit such a patch upstream as it affects all users on macOS.
Changed 7 years ago by jjstickel (Jonathan Stickel)
Attachment: | libqalculate_Portfile.diff added |
---|
Changed 7 years ago by jjstickel (Jonathan Stickel)
Attachment: | qalculate-gtk_Portfile.diff added |
---|
comment:15 Changed 7 years ago by jjstickel (Jonathan Stickel)
Please review and test the attached patches to the two portfiles for libqalculate and qalculate-gtk. It turned out that direct use of autoreconf was still OK for qalculate-gtk. I replaced the gnuplot variant with a note because nothing changes at the build time whether gnuplot is installed or not. BTW, I have never tested gnuplot use with qalculate, so I don't know whether it actually works.
comment:16 Changed 7 years ago by mf2k (Frank Schima)
Summary: | Qalculate version update to 2.0.0 → Qalculate version update to 2.1.0 |
---|
comment:17 Changed 7 years ago by mf2k (Frank Schima)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:18 Changed 7 years ago by mf2k (Frank Schima)
For the record, I prefer keeping the variant because it installs gnuplot for the user automatically.
Yes, I see some dependencies and perhaps the build process has changed upstream. It might take me awhile to find time to sort it out. Please share your working Portfile (or patch); that would help me get started.