Opened 13 years ago
Last modified 12 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)
Change History (24)
comment:1 Changed 13 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 13 years ago by cooljeanius (Eric Gallager)
comment:3 Changed 13 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 (someone should cc him btw). I'll attach the portfile next.
Changed 13 years ago by cooljeanius (Eric Gallager)
comment:5 follow-up: 6 Changed 13 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 Changed 13 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.
- Set up a local portfile repository. This might be overkill for just one port.
- Download the portfile to your computer and run
sudo port installfrom the directory containing the portfile. The “macports” user will have to have at least search access to this directory; maybe try/tmp.
comment:7 follow-up: 9 Changed 13 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.
- /opt/local should not be hardcoded.
- 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. - Removing
--disable-dependency-trackingfrom 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 13 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 Changed 13 years ago by cooljeanius (Eric Gallager)
Replying to ryandesign@…:
- Removing
--disable-dependency-trackingfrom 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 13 years ago by cooljeanius (Eric Gallager)
| Attachment: | Portfile.diff added |
|---|
diff between old portfile and new one
comment:10 Changed 13 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 13 years ago by raimue (Rainer Müller)
| Attachment: | Portfile.3 added |
|---|
Changed 13 years ago by raimue (Rainer Müller)
| Attachment: | patch-binary-paths.diff added |
|---|
comment:11 Changed 13 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 13 years ago by cooljeanius (Eric Gallager)
OK, I tested it now and can confirm that the patch works.
comment:13 follow-up: 14 Changed 13 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):
- 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.
- 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 follow-up: 15 Changed 13 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 follow-up: 16 Changed 13 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:
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 Changed 13 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 13 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 13 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.

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