Re: how do ports install into ${destroot} instead of into ${prefix} directly?

2014-12-11 Thread Michael Dickens

Hi René - If the Makefile is hand-written, it probably does not contain
a way to set DESTROOT or some other variable to direct where to install
stuff outside of PREFIX -- you'll need to read through the Makefile to
verify, generally in the install: section. If this is this case, you
have to add it yourself as a patch. Hopefully that's not too painful for
qtchooser ;) Good luck! - MLD

On Thu, Dec 11, 2014, at 11:44 AM, René J.V. Bertin wrote:
 Taking a break from qt4-mac next generation I'm giving some love to
 my port for qtchooser.





 Problem: whatever magic ensures that things get installed into
 ${destroot} first doesn't work with this project and its hand-written
 Makefile.


 As a result, `port destroot qtchooser` installs things directly into
 ${prefix} ...





 What is required to correct this?!



___
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users


Re: how do ports install into ${destroot} instead of into ${prefix} directly?

2014-12-11 Thread René J . V . Bertin
On Thursday December 11 2014 11:53:00 Michael Dickens wrote:

Hi

 
 Hi René - If the Makefile is hand-written, it probably does not contain
 a way to set DESTROOT or some other variable to direct where to install
 stuff outside of PREFIX -- you'll need to read through the Makefile to

No, it doesn't. I figured I had to edit it, but how?
Alternatively, couldn't I change the destroot command so that it executes make 
with an appropriate set of options?


Cheers,
R.
___
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users


Re: how do ports install into ${destroot} instead of into ${prefix} directly?

2014-12-11 Thread Lawrence Velázquez
On Dec 11, 2014, at 12:38 PM, René J.V. Bertin rjvber...@gmail.com wrote:

 On Thursday December 11 2014 11:53:00 Michael Dickens wrote:
 
 Hi René - If the Makefile is hand-written, it probably does not contain
 a way to set DESTROOT or some other variable to direct where to install
 stuff outside of PREFIX -- you'll need to read through the Makefile to
  
 No, it doesn't. I figured I had to edit it, but how?

Assuming the makefile uses prefix properly, its install target needs to 
install to $(DESTDIR)$(prefix) instead of just $(prefix).

 Alternatively, couldn't I change the destroot command so that it executes 
 make with an appropriate set of options?

We already pass DESTDIR=$destroot to the make invocation. Make can't force a 
makefile to use it.

vq
___
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users


Re: how do ports install into ${destroot} instead of into ${prefix} directly?

2014-12-11 Thread Michael Dickens
On Thu, Dec 11, 2014, at 12:38 PM, René J.V. Bertin wrote:
 On Thursday December 11 2014 11:53:00 Michael Dickens wrote:
  Hi René - If the Makefile is hand-written, it probably does not contain
  a way to set DESTROOT or some other variable to direct where to install
  stuff outside of PREFIX -- you'll need to read through the Makefile to
 
 No, it doesn't. I figured I had to edit it, but how?

Here's what I do:
{{{
cd `port dir qtchooser`
sudo port extract qtchooser
pushd work
sudo chmod -R a+rw .
cd qtchooser*
git init
git add .[a-zA-Z0-9]* *
git commit -a -m init
}}}
Then, open the file of interest (e.g., Makefile) in your preferred
editor and go wild. When you're done, you can use git diff to retrieve
a -p1 patchfile. You can then edit the -p1 patchfile to be -p0, or just
use -p1 if possible (all patches much be of the same patch level).

 Alternatively, couldn't I change the destroot command so that it executes 
 make with an appropriate set of options?

Yes, if the Makefile supports a way to do this. Having not seen the
Makefile, I can't say for sure. - MLD
___
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users


Re: how do ports install into ${destroot} instead of into ${prefix} directly?

2014-12-11 Thread René J . V . Bertin
On Thursday December 11 2014 12:52:55 Lawrence Velázquez wrote:

 We already pass DESTDIR=$destroot to the make invocation. Make can't force a 
 makefile to use it.

See, that's the bit I was missing :)

 cd qtchooser*
 git init
 git add .[a-zA-Z0-9]* *
 git commit -a -m init
 }}}
 Then, open the file of interest (e.g., Makefile) in your preferred
 editor and go wild. When you're done, you can use git diff to retrieve

That's what I also do often (sometimes in the work dir after `port patch foo`).
Oh, and KDevelop generates -p0 patchfiles, so those are usable without editing 
;)

R.
___
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users


Re: how do ports install into ${destroot} instead of into ${prefix} directly?

2014-12-11 Thread Brandon Allbery
On Thu, Dec 11, 2014 at 1:42 PM, René J.V. rjvber...@gmail.com wrote:

  We already pass DESTDIR=$destroot to the make invocation. Make can't
 force a makefile to use it.



 See, that's the bit I was missing :)


It's only the same thing RPM has conditioned Linux devs into doing for
years now

-- 
brandon s allbery kf8nh   sine nomine associates
allber...@gmail.com  ballb...@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonadhttp://sinenomine.net
___
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users


Re: how do ports install into ${destroot} instead of into ${prefix} directly?

2014-12-11 Thread Ryan Schmidt

On Dec 11, 2014, at 10:53 AM, Michael Dickens wrote:

 If the Makefile is hand-written, it probably does not contain a way to set 
 DESTROOT or some other variable to direct where to install stuff outside of 
 PREFIX

That's not necessarily so. Humans are certainly capable of writing Makefiles 
that use the DESTDIR variable properly. If the Makefile in question does not do 
so, consider fixing the Makefile to do so, then providing a patch to the 
developers so that they can include it in the next version

___
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users


Re: how do ports install into ${destroot} instead of into ${prefix} directly?

2014-12-11 Thread René J . V . Bertin
On Thursday December 11 2014 13:56:52 Ryan Schmidt wrote:


 On Dec 11, 2014, at 10:53 AM, Michael Dickens wrote:
 
  If the Makefile is hand-written, it probably does not contain a way to set 
  DESTROOT or some other variable to direct where to install stuff outside of 
  PREFIX
 
 That's not necessarily so. Humans are certainly capable of writing Makefiles 
 that use the DESTDIR variable properly. If the Makefile in

Who said anything about not being able to?

 question does not do so, consider fixing the Makefile to do so, then 
 providing a patch to the developers so that they can include it in the next 
 version

The Makefiles in question already contained INSTALL_ROOT. I doubt that the 
developer would be interested in replacing that with DESTDIR...

R.
___
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users


Re: how do ports install into ${destroot} instead of into ${prefix} directly?

2014-12-11 Thread Lawrence Velázquez
On Dec 11, 2014, at 3:14 PM, René J.V. Bertin rjvber...@gmail.com wrote:
 
 question does not do so, consider fixing the Makefile to do so, then 
 providing a patch to the developers so that they can include it in the next 
 version
  
 The Makefiles in question already contained INSTALL_ROOT. I doubt that the 
 developer would be interested in replacing that with DESTDIR...

Using DESTDIR is a pretty common convention for Unix-y build systems. Is 
INSTALL_ROOT the convention somewhere else?

In any case, it's easy enough to do something like this (untested):

destroot.destdir-strsed s/DESTDIR/INSTALL_ROOT/

vq
___
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users


Re: how do ports install into ${destroot} instead of into ${prefix} directly?

2014-12-11 Thread Daniel J. Luke
 On Dec 11, 2014, at 3:14 PM, René J.V. Bertin rjvber...@gmail.com wrote:
 The Makefiles in question already contained INSTALL_ROOT. I doubt that the 
 developer would be interested in replacing that with DESTDIR...

so you just need to set destroot.destdir INSTALL_ROOT=${destroot}

--
Daniel J. Luke  
 
++  
  
| * dl...@geeklair.net * |  

| *-- http://www.geeklair.net -* |  

++  
  
|   Opinions expressed are mine and do not necessarily   |  

|  reflect the opinions of my employer.  |  

++



___
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users


Re: how do ports install into ${destroot} instead of into ${prefix} directly?

2014-12-11 Thread René J . V . Bertin
On Thursday December 11 2014 15:32:03 Lawrence Velázquez wrote:

 Using DESTDIR is a pretty common convention for Unix-y build systems. Is
 INSTALL_ROOT the convention somewhere else?

I think it's what qmake produces, so it would be a Qt convention - which would 
be pretty appropriate.

 destroot.destdir-strsed s/DESTDIR/INSTALL_ROOT/

I did something similar, see the Portfile attached to 
https://trac.macports.org/ticket/46029#comment:8

R.
___
macports-users mailing list
macports-users@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-users