Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#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)

qualculate-2.0.0.diff (2.4 KB) - added by kencu (Ken) 7 years ago.
diffs for 2.0
libqalculate_Portfile.diff (1.9 KB) - added by jjstickel (Jonathan Stickel) 7 years ago.
qalculate-gtk_Portfile.diff (1.4 KB) - added by jjstickel (Jonathan Stickel) 7 years ago.

Download all attachments as: .zip

Change History (21)

comment:1 Changed 7 years ago by mf2k (Frank Schima)

Cc: jjstickel removed
Owner: set to jjstickel
Status: newassigned

comment:2 Changed 7 years ago by jjstickel (Jonathan Stickel)

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.

comment:3 Changed 7 years ago by kencu (Ken)

Here's what I did quick-n-dirty; not polished tho.

Changed 7 years ago by kencu (Ken)

Attachment: qualculate-2.0.0.diff added

diffs for 2.0

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 Changed 7 years ago by mf2k (Frank Schima)

Can you attach your current Portfile diff?

comment:6 in reply to:  5 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 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 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 in reply to:  8 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 in reply to:  7 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/
Last edited 7 years ago by jjstickel (Jonathan Stickel) (previous) (diff)

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.

Last edited 7 years ago by kencu (Ken) (previous) (diff)

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.0Qalculate version update to 2.1.0

comment:17 Changed 7 years ago by mf2k (Frank Schima)

Resolution: fixed
Status: assignedclosed

In 8315d21047c7e8840681094454f68287adeffc4c/macports-ports:

libqalculate qalculate-gtk: Update to version 2.1.0.

Closes: #54683

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.

Note: See TracTickets for help on using tickets.