#21955: gtkmm does not build ----------------------------+----------------------------------------------- Reporter: hwr@… | Owner: devans@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 1.8.1 Keywords: | Port: gtkmm ----------------------------+----------------------------------------------- Comment(by wf@…): Some investigation later this script seems to work. May be this could be a basis for getting similar tickets applied for novices and other people: {{{ # # apply diff patches of macports ticket #21955 # author wf (contact via http://www.bitplan.com) # 2009-10-22 # License: Public domain # # check the availability of a user specific Local Portfile repository # see 4.6 of http://guide.macports.org # checksourcesconf() { # get the sources conf echo "looking for sources.conf .." sourcesconf=`locate macports/sources.conf` echo "found $sourcesconf" echo "looking for local portfile repository in $HOME" localrep=`grep $HOME $sourcesconf` echo "found $localrep" expectedrep="file://"$HOME"/ports" if [ "$localrep" = "$expectedrep" ] then echo "good ..." else echo "you might want to add $expectedrep to $sourcesconf as outlined in 4.6 Local Portfile Repositories of http://guide.macports.org" exit 1 fi } # # get the relative path of a portfile starting from "release" e.g. # getRelativePath() { # get relative path echo $1 | awk ' # split with path separator BEGIN { FS="/";docollect=0 } { # loop over path parts for (i=1;i<NF;i++) { # when collection is active if (docollect) { path=path delim $i delim="/" } if ($i=="release") docollect=1 } print path }' } # do we have a local portfile repository? checksourcesconf # install wget (if not done yet) echo "installing wget with sudo port install wget" sudo port install wget # base url for the three attachments base="https://trac.macports.org/raw-attachment/ticket/21955" # get the current directory current=`pwd` # example url # https://trac.macports.org/raw-attachment/ticket/21955/Portfile- glibmm.diff # get the three libraries for lib in gtkmm glibmm pangomm do # go back to directory where we started cd $current # the patch file we are looking for patch=Portfile-$lib.diff # check whether it's already there if [ -f $patch ] then echo "portfile patch $patch already downloaded" else echo "getting portfile patch $patch" wget --no-check-certificate $base/$patch fi # apply patch to the given portfile by putting the patch # in the local repository # get the portfile portfile=`locate $lib/Portfile | grep -v old` # if we found a portfile if [ "$portfile" = "" ] then echo "could not find original portfile for $lib" else echo "extracting relative path from $portfile" relpath=`getRelativePath $portfile` echo "found $relpath" echo "creating $relpath in $HOME if it does not exist yet" if [ -d $HOME/$relpath ] then echo "$HOME/relpath already exists ... good" else echo "creating local repository path $relpath" mkdir -p $HOME/$relpath fi # copy the portfile and patch file echo "preparing patch of portfile for $lib" cp $portfile $HOME/$relpath cp $current/$patch $HOME/$relpath echo "patching portfile for $lib" cd $HOME/$relpath patch Portfile $patch echo "you may later try to install $lib with sudo port install $lib" fi done # recreate ports index echo "recreating ports index" cd $HOME/ports portindex # finished }}} -- Ticket URL: <http://trac.macports.org/ticket/21955#comment:12> MacPorts <http://www.macports.org/> Ports system for Mac OS