Opened 11 years ago

Last modified 11 years ago

#38090 new request

Port request: Valkyrie

Reported by: marty@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: cooljeanius (Eric Gallager), raimue (Rainer Müller)
Port: valkyrie

Description

It's really great that Macports supports Valgrind. I use it quite frequently on Linux as well as Mac thans to your efforts in keeping valgrind up to date.

However, while I can use valkyrie (a graphical front-end to valgrind like ddd is to gdb) on Linux (I use Mageia 2 on Linux), I do not find it available via macports. I have downloaded and built it myself on my Mac 10.8.2 systems (via it's easy-to-use-build instructions) It'd be really helpful if Macports supported it like valgrind is.

The link to it is the same as that of valgrind; valkyrie is at the bottom of the same webpage as valgrind.

I hope you'll consider adding this to Mac Ports.

Regards, Marty

Attachments (5)

Portfile (4.1 KB) - added by cooljeanius (Eric Gallager) 11 years ago.
Portfile.2 (3.6 KB) - added by cooljeanius (Eric Gallager) 11 years ago.
New portfile
Portfile.diff (2.8 KB) - added by cooljeanius (Eric Gallager) 11 years ago.
diff between old portfile and new one
Portfile.3 (3.8 KB) - added by raimue (Rainer Müller) 11 years ago.
patch-binary-paths.diff (535 bytes) - added by raimue (Rainer Müller) 11 years ago.

Download all attachments as: .zip

Change History (24)

comment:1 Changed 11 years ago by larryv (Lawrence Velázquez)

Keywords: valgrind valkyrie removed
Milestone: MacPorts Future
Summary: Please consider valkyrie in addition to valgrind.Port request: Valkyrie
Version: 2.1.3

comment:2 Changed 11 years ago by cooljeanius (Eric Gallager)

I'm starting on working on one, it looks like it'll use the qt4 portgroup...

comment:3 Changed 11 years ago by cooljeanius (Eric Gallager)

OK, I now have a portfile that builds, runs, and passes lint successfully. I also added raimue as a maintainer to it because he's the maintainer for valgrind. I'll attach it next.

Version 0, edited 11 years ago by cooljeanius (Eric Gallager) (next)

Changed 11 years ago by cooljeanius (Eric Gallager)

Attachment: Portfile added

comment:4 Changed 11 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:5 Changed 11 years ago by marty@…

Wow, thanks so much for jumping on this one so quickly!

I'm still somewhat new to using Macports other than the "port" command, so is there a way I can use the portfile you created or do I need to wait until this is officially completed/released?

Again, thanks!

Marty

comment:6 in reply to:  5 Changed 11 years ago by larryv (Lawrence Velázquez)

Replying to marty@…:

I'm still somewhat new to using Macports other than the "port" command, so is there a way I can use the portfile you created or do I need to wait until this is officially completed/released?

You have a couple of options.

  1. Set up a local portfile repository. This might be overkill for just one port.
  2. Download the portfile to your computer and run sudo port install from the directory containing the portfile. The “macports” user will have to have at least search access to this directory; maybe try /tmp.

comment:7 Changed 11 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: raimue@… added
Port: valkyrie added

I see this in the attached Portfile:

configure.args-delete --prefix=/opt/local \
                      --disable-dependency-tracking

There are three problems here.

  1. /opt/local should not be hardcoded.
  2. Removing --prefix=${prefix} from configure.args has no effect because it's never in configure.args to begin with; it's in configure.pre_args, which you're already clearing.
  3. Removing --disable-dependency-tracking from configure.args has no effect because it's never in configure.args to begin with; it's in configure.universal_args, from which you should remove it since qmake doesn't support it.

comment:8 Changed 11 years ago by raimue (Rainer Müller)

Despite the errors already mentioned by Ryan, there are also functional problems. When starting a graphical application from Spotlight, Finder, etc. it does not use the PATH additions for MacPorts usually applied in .bashrc/.bash_profile/.profile. Thus, the default path for the valgrind binary should be patched to be an absolute path to ${prefix}/bin/valgrind or it will not work out of the box without changing this option.

comment:9 in reply to:  7 Changed 11 years ago by cooljeanius (Eric Gallager)

Replying to ryandesign@…:

  1. Removing --disable-dependency-tracking from configure.args has no effect because it's never in configure.args to begin with; it's in configure.universal_args, from which you should remove it since qmake doesn't support it.

OK, fixing this issue let me fix a lot of the other hacks that I was using, attaching a new portfile now...

Changed 11 years ago by cooljeanius (Eric Gallager)

Attachment: Portfile.2 added

New portfile

Changed 11 years ago by cooljeanius (Eric Gallager)

Attachment: Portfile.diff added

diff between old portfile and new one

comment:10 Changed 11 years ago by cooljeanius (Eric Gallager)

(The new portfile I attached still has the problem raimue mentioned though; not sure how to fix that part...)

Changed 11 years ago by raimue (Rainer Müller)

Attachment: Portfile.3 added

Changed 11 years ago by raimue (Rainer Müller)

Attachment: patch-binary-paths.diff added

comment:11 Changed 11 years ago by raimue (Rainer Müller)

Here is a version which patches the path to valgrind, so it should work even when it was not started from terminal. I also patched the default editor from gvim to mvim.

Another thing I noticed is that you need to generate the .dSYM directories manually using dsymutil ./foo before running valkyrie on the binary foo. Otherwise you get no source listing in the outut. This could be fixed by calling valgrind --dsymutil=yes. Besides that this port seems to work fine now.

comment:12 Changed 11 years ago by cooljeanius (Eric Gallager)

OK, I tested it now and can confirm that the patch works.

comment:13 Changed 11 years ago by marty@…

Sorry for the tardy reply, but in trying to install this, I've run into problems; I suspect they're just due to my lack of understanding of testing a MacPort, but I will show what I've run into below (I read all the related info from Comment 7 above, but I must still be doing something wrong):

  1. I downloaded the valkyrie Portfile.3 and put it in /tmp (note I did not setup a local repository because it seemed per the instructions that was not completely necessary; please correct me if I'm wrong). I will redo it with the final noted patches once I understand more of this.
  2. I cd-ed into /tmp and attempted to install the portfile. I ntoed from Google hits on the error that this is somewhat common of a problem, but I've not yet figured out what I'm doing wrong. Please point me at any resources that I should be reading to understand a local install and the port install syntax actually needed.

macmini2:tmp marty $ ls 0007c5179098c launch-m9PG09/ launchd-277.jEMjzK/ launch-HkDmja/ launchd-1733.kYtHWX/ launchd-325.DdUWqY/ launch-dQHvaN/ launchd-1742.CRapxH/ launchd-425.7ZytWw/ launch-gyyrJK/ launchd-1749.5jMg4b/ launchd-855.GJMOXp/ launch-he3bOd/ launchd-1756.cEwEnv/ valkyrie macmini2:tmp marty $ head valkyrie # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 # $Id: Portfile 102485 2013-02-04 16:02:38Z raimue@… $

PortSystem 1.0 PortGroup qt4 1.0

name valkyrie version 2.0.0 revision 0 categories devel aqua macmini2:tmp marty $ sudo port install < valkyrie Password: Can't map the URL 'file://.' to a port description file ("Could not find Portfile in /private/tmp"). Please verify that the directory and portfile syntax are correct. To use the current port, you must be in a port's directory. macmini2:tmp marty $

Apologies in advance if I'm being a bit thick here, I'll endeavor to get better. Again, thanks to all for your efforts on this!

comment:14 in reply to:  13 ; Changed 11 years ago by larryv (Lawrence Velázquez)

Replying to marty@…:

macmini2:tmp marty $ sudo port install < valkyrie 
Password:
Can't map the URL 'file://.' to a port description file ("Could not find Portfile in /private/tmp").
Please verify that the directory and portfile syntax are correct.
To use the current port, you must be in a port's directory.

I was not aware that port(1) accepted stdin. Rename the file from “valkyrie” to “Portfile” and try again:

% cd /tmp && sudo port install

comment:15 in reply to:  14 ; Changed 11 years ago by marty@…

Replying to larryv@…:

Replying to marty@…:

macmini2:tmp marty $ sudo port install < valkyrie 
Password:
Can't map the URL 'file://.' to a port description file ("Could not find Portfile in /private/tmp").
Please verify that the directory and portfile syntax are correct.
To use the current port, you must be in a port's directory.

I was not aware that port(1) accepted stdin. Rename the file from “valkyrie” to “Portfile” and try again:

% cd /tmp && sudo port install

Okay, so I did as you replied, but I'm still getting an error that I have not figured out yet. Please see the attached log of the attempted install.

<pre> Script started on Fri Apr 19 09:13:38 2013 [?1034hmacmini2:valkyrie marty[0;32m [0m$ ping crikeymacmini2[K[K[K[K[K[K[K[K[K[K[K[K[Kping localhost[6Pifconfigping macminigw[K192.168.0.21gw[Kcrikeymacmini192.168.0.2111[9Phostnameifconfighostnameping 192.168.0.1121[5Pmacmini[1Pcrikey[4Pgw192.168.0.21gw[Kmacmini[4Pifconfigping localhost[Kping crikey[Ksudo port install ---> Computing dependencies for valkyrie

---> Fetching distfiles for valkyrie

---> Attempting to fetch patch-binary-paths.diff from http://aarnet.au.distfiles.macports.org/pub/macports/mpdistfiles/valkyrie

---> Attempting to fetch patch-binary-paths.diff from http://distfiles.macports.org/valkyrie

---> Attempting to fetch patch-binary-paths.diff from http://sea.us.distfiles.macports.org/macports/distfiles/valkyrie

---> Attempting to fetch patch-binary-paths.diff from http://jog.id.distfiles.macports.org/macports/mpdistfiles/valkyrie

---> Attempting to fetch patch-binary-paths.diff from http://cjj.kr.distfiles.macports.org/valkyrie

---> Attempting to fetch patch-binary-paths.diff from http://ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/valkyrie

---> Attempting to fetch patch-binary-paths.diff from http://mse.uk.distfiles.macports.org/sites/distfiles.macports.org/valkyrie

---> Attempting to fetch patch-binary-paths.diff from http://valgrind.org/downloads/

---> Attempting to fetch patch-binary-paths.diff from http://lil.fr.distfiles.macports.org/valkyrie

---> Attempting to fetch patch-binary-paths.diff from http://fco.it.distfiles.macports.org/mirrors/macports-distfiles/valkyrie

---> Attempting to fetch patch-binary-paths.diff from http://her.gr.distfiles.macports.org/mirrors/macports/mpdistfiles/valkyrie

---> Attempting to fetch patch-binary-paths.diff from http://svn.macports.org/repository/macports/distfiles/valkyrie

Error: org.macports.fetch for port valkyrie returned: fetch failed

Please see the log file for port valkyrie for details:

/opt/local/var/macports/logs/_Users_marty_Projects_macports_valkyrie/valkyrie/main.log

To report a bug, follow the instructions in the guide:

http://guide.macports.org/#project.tickets

Error: Processing of port valkyrie failed

macmini2:valkyrie marty[0;32m [0m$ exit

Script done on Fri Apr 19 09:17:42 2013

</pre>

comment:16 in reply to:  15 Changed 11 years ago by larryv (Lawrence Velázquez)

Replying to marty@…:

--->  Attempting to fetch patch-binary-paths.diff from http://aarnet.au.distfiles.macports.org/pub/macports/mpdistfiles/valkyrie
--->  Attempting to fetch patch-binary-paths.diff from http://distfiles.macports.org/valkyrie
--->  Attempting to fetch patch-binary-paths.diff from http://sea.us.distfiles.macports.org/macports/distfiles/valkyrie
--->  Attempting to fetch patch-binary-paths.diff from http://jog.id.distfiles.macports.org/macports/mpdistfiles/valkyrie
--->  Attempting to fetch patch-binary-paths.diff from http://cjj.kr.distfiles.macports.org/valkyrie
--->  Attempting to fetch patch-binary-paths.diff from http://ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/valkyrie
--->  Attempting to fetch patch-binary-paths.diff from http://mse.uk.distfiles.macports.org/sites/distfiles.macports.org/valkyrie
--->  Attempting to fetch patch-binary-paths.diff from http://valgrind.org/downloads/
--->  Attempting to fetch patch-binary-paths.diff from http://lil.fr.distfiles.macports.org/valkyrie
--->  Attempting to fetch patch-binary-paths.diff from http://fco.it.distfiles.macports.org/mirrors/macports-distfiles/valkyrie
--->  Attempting to fetch patch-binary-paths.diff from http://her.gr.distfiles.macports.org/mirrors/macports/mpdistfiles/valkyrie
--->  Attempting to fetch patch-binary-paths.diff from http://svn.macports.org/repository/macports/distfiles/valkyrie

Error: org.macports.fetch for port valkyrie returned: fetch failed

You need to download the patch-binary-paths.diff attachment from this ticket and place it in a files directory at the same level as Portfile (so probably /tmp/files for you).

comment:17 Changed 11 years ago by marty@…

Hello again: I thought of that, then wasn't sure, so I didn't do it; silly me!

This worked like a champ for me! Thanks again for all your work on this and for your patience with my learning to use MacPorts installation outside of the usual way of installing them. I am now at least more literate should I need to try another port in this sam emanner.

Hoping to see valkyrie in a future ports update.

Thanks again! Marty

comment:18 Changed 11 years ago by marty@…

BTW I'm not sure what is needed on my part from here on with this ticket, so please advise if I need to do anything procedurally.

comment:19 Changed 11 years ago by cooljeanius (Eric Gallager)

This port can now use the new qmake portgroup as of r106912

Edit: doing that is #39424

Last edited 11 years ago by cooljeanius (Eric Gallager) (previous) (diff)
Note: See TracTickets for help on using tickets.