#10202: Make freetype have ${SAGE_LOCAL} as its prefix in the pkgconfig file
---------------------------+------------------------------------------------
   Reporter:  jason        |       Owner:  tbd       
       Type:  enhancement  |      Status:  new       
   Priority:  major        |   Milestone:  sage-4.6.1
  Component:  packages     |    Keywords:            
     Author:               |    Upstream:  N/A       
   Reviewer:               |      Merged:            
Work_issues:               |  
---------------------------+------------------------------------------------

Comment(by leif):

 Slightly abusing this ticket (the G**gle groups are less suited for
 markup), here's my current situation:
 {{{
 #!sh
 $ egrep '^prefix=.*$|^SAGE_ROOT=.*$' local/lib/pkgconfig/*.pc
 local/lib/pkgconfig/bdw-gc.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6
 local/lib/pkgconfig/bdw-gc.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/freetype2.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6
 local/lib/pkgconfig/freetype2.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/gnutls-extra.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6
 local/lib/pkgconfig/gnutls-extra.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/gnutls.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6
 local/lib/pkgconfig/gnutls.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/gsl.pc:prefix=/home/leif/Sage/sage-4.6/local
 local/lib/pkgconfig/libpng.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6
 local/lib/pkgconfig/libpng.pc:SAGE_ROOT=${SAGE_ROOT}
 local/lib/pkgconfig/libpng.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/libpng12.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6
 local/lib/pkgconfig/libpng12.pc:SAGE_ROOT=${SAGE_ROOT}
 local/lib/pkgconfig/libpng12.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/opencdk.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6
 local/lib/pkgconfig/opencdk.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/pynac.pc:prefix=/home/leif/Sage/sage-4.6/local
 local/lib/pkgconfig/sqlite3.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6
 local/lib/pkgconfig/sqlite3.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/zlib.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6
 local/lib/pkgconfig/zlib.pc:prefix=${SAGE_ROOT}/local
 $ (cd ../sage-4.6.rc0 && egrep '^prefix=.*$|^SAGE_ROOT=.*$'
 local/lib/pkgconfig/*.pc)
 local/lib/pkgconfig/bdw-gc.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6.rc0
 local/lib/pkgconfig/bdw-gc.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/freetype2.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6.rc0
 local/lib/pkgconfig/freetype2.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/gnutls-extra.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6.rc0
 local/lib/pkgconfig/gnutls-extra.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/gnutls.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6.rc0
 local/lib/pkgconfig/gnutls.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/gsl.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6.rc0
 local/lib/pkgconfig/gsl.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/libR.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6.rc0
 local/lib/pkgconfig/libpng.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6.rc0
 local/lib/pkgconfig/libpng.pc:SAGE_ROOT=${SAGE_ROOT}
 local/lib/pkgconfig/libpng.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/libpng12.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6.rc0
 local/lib/pkgconfig/libpng12.pc:SAGE_ROOT=${SAGE_ROOT}
 local/lib/pkgconfig/libpng12.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/opencdk.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6.rc0
 local/lib/pkgconfig/opencdk.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/pynac.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6.rc0
 local/lib/pkgconfig/pynac.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/sqlite3.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6.rc0
 local/lib/pkgconfig/sqlite3.pc:prefix=${SAGE_ROOT}/local
 local/lib/pkgconfig/zlib.pc:SAGE_ROOT=/home/leif/Sage/sage-4.6.rc0
 local/lib/pkgconfig/zlib.pc:prefix=${SAGE_ROOT}/local
 }}}
 (Note that the `egrep` patterns are a bit "redundant", to be partially
 also used with `sed`. ;-) )

 So briefly, in my Sage 4.6 '''final''' (built from scratch), `gsl.pc` and
 `pynac.pc` lack a `SAGE_ROOT=...` line, while `libpng.pc` has in addition
 a superfluous line `SAGE_ROOT=${SAGE_ROOT}`, and `libR.pc` lacks a
 definition of both `prefix` and `SAGE_ROOT` (but the file is sane, i.e.
 contains the proper hard-coded path(s) in `rhome` and `rincludedir`.)

 I really wonder what might have caused the differences between 4.6.rc0 and
 4.6 final. Do these files get modified by other scripts than `sage-
 location`?

 The redundant `SAGE_ROOT=${SAGE_ROOT}` is clearly a "bug" in #9210's
 `initialize_pkgconfig_files()`, since it doesn't check if a `.pc` file is
 just a link to another one (which is the case for `libpng.pc`). Testing
 for an already existing `SAGE_ROOT=...` would of course be possible as
 well.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10202#comment:2>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to