Opened 12 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 12 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 12 years ago by cooljeanius (Eric Gallager)
comment:3 Changed 12 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 12 years ago by cooljeanius (Eric Gallager)
comment:5 follow-up: 6 Changed 12 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 12 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 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 follow-up: 9 Changed 12 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-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 12 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 12 years ago by cooljeanius (Eric Gallager)
Replying to ryandesign@…:
- 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 12 years ago by cooljeanius (Eric Gallager)
Attachment: | Portfile.diff added |
---|
diff between old portfile and new one
comment:10 Changed 12 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 12 years ago by raimue (Rainer Müller)
Attachment: | Portfile.3 added |
---|
Changed 12 years ago by raimue (Rainer Müller)
Attachment: | patch-binary-paths.diff added |
---|
comment:11 Changed 12 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 12 years ago by cooljeanius (Eric Gallager)
OK, I tested it now and can confirm that the patch works.
comment:13 follow-up: 14 Changed 12 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 12 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 12 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 12 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 12 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 12 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...