[MacPorts] #2846: ncurses dynamic library not installed

MacPorts noreply at macports.org
Thu Mar 24 08:01:16 PDT 2016


#2846: ncurses dynamic library not installed
-----------------------+--------------------
  Reporter:  master@…  |      Owner:  mww@…
      Type:  defect    |     Status:  closed
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  1.0
Resolution:  fixed     |   Keywords:
      Port:  ncurses   |
-----------------------+--------------------
Changes (by ryandesign@…):

 * port:   => ncurses


Old description:

> devel/ncurses - dynamic library not compiled and not installed
>
> to cure - fix Portfile to add a configure option
> fix misc/shlib to set DYLD_LIBRARY_PATH and enable destroot install
> (the later bug reported to the ncurses developer, fix adapted from the
> development
>  version of ncurses)
>
> Portfile diff
> --- Portfile.orig       Fri Feb 25 16:16:19 2005
> +++ Portfile    Mon Apr  4 05:50:15 2005
> @@ -21,5 +21,7 @@
>  configure.args --mandir=${prefix}/share/man
>
>  variant darwin {
> -       configure.args-append   --enable-widec
> +       configure.args-append   --enable-widec --with-shared --without-
> debug  \
> +               --without-ada --without-cxx-binding --without-cxx
> +       patchfiles      patch-shlib
>  }
>
> patch-shlib
> --- misc/shlib.orig     Sun Jul 20 02:58:14 2003
> +++ misc/shlib  Mon Apr  4 06:08:47 2005
> @@ -58,7 +58,16 @@
>  # Special cases:
>  #
>  #      BeOS R4.5 uses $LIBRARY_PATH rather than $LD_LIBRARY_PATH.
> -
> +#      Mac OS X uses $DYLD_LIBRARY_PATH
> +#
> +# Other cases not handled by this script:
> +#
> +#      AIX uses $LIBPATH
> +#      IRIX64 may use $LD_LIBRARY64_PATH or $LD_LIBRARYN32_PATH
> +#      Solaris may use $LD_LIBRARY_PATH_64
> +#
> +CDPATH=
> +#
>  #
>  # Make sure that we use the PATH that was set in run_tic.sh
>  #
> @@ -67,6 +76,7 @@
>         export PATH
>  fi
>
> +# Find the lib-directory for this build tree
>  q=""
>  for p in lib ../lib
>  do
> @@ -74,21 +84,56 @@
>                 q="$p"
>         fi
>  done
> +
> +# Set the environment variable.
>  if test -n "$q" ; then
> -       if test -n "$LD_LIBRARY_PATH"; then
> -               LD_LIBRARY_PATH="$q:$LD_LIBRARY_PATH"
> +       system=
> +       if test -n "$SHLIB_HOST" ; then
> +               system="$SHLIB_HOST"
> +       elif test -n "$PATHEXT" ; then
> +               system=cygwin
>         elif test -n "$LIBRARY_PATH" ; then
> -               LIBRARY_PATH="$q:$LIBRARY_PATH"
> +               system=beos
> +       elif test -n "$DYLD_LIBRARY_PATH" ; then
> +               system=darwin
> +       elif test -n "$LD_LIBRARY_PATH"; then
> +               system=unix
>         else
> -               LD_LIBRARY_PATH="$q"
> +               for r in $q/*.*
> +               do
> +                       if test -f "$r"
> +                       then
> +                               case $r in
> +                               *.dll)
> +                                       system=cygwin
> +                                       ;;
> +                               *.dylib)
> +                                       system=darwin
> +                                       ;;
> +                               esac
>         fi
> -       export LD_LIBRARY_PATH
> +                       test -n "$system" && break
> +               done
>  fi
>
> -# cygwin doesn't use LD_LIBRARY_PATH, but does use PATH
> -if test -n "$PATHEXT" ; then
> -       PATH=$LD_LIBRARY_PATH:$PATH;
> -       export PATH
> +       case .$system in
> +       .cygwin*)
> +               variable=PATH
> +               ;;
> +       .beos*)
> +               variable=LIBRARY_PATH
> +               ;;
> +       .darwin*)
> +               variable=DYLD_LIBRARY_PATH
> +               ;;
> +       *)
> +               variable=LD_LIBRARY_PATH
> +               ;;
> +       esac
> +
> +       eval 'test -z "$'$variable'" && '$variable'=":"'
> +       eval $variable'="$q:$'$variable'"'
> +       eval 'export '$variable
>  fi
>
>  eval "$*"

New description:

 devel/ncurses - dynamic library not compiled and not installed

 to cure - fix Portfile to add a configure option\\
 fix misc/shlib to set DYLD_LIBRARY_PATH and enable destroot install\\
 (the later bug reported to the ncurses developer, fix adapted from the
 development
 version of ncurses)

 Portfile diff
 {{{
 --- Portfile.orig       Fri Feb 25 16:16:19 2005
 +++ Portfile    Mon Apr  4 05:50:15 2005
 @@ -21,5 +21,7 @@
  configure.args --mandir=${prefix}/share/man

  variant darwin {
 -       configure.args-append   --enable-widec
 +       configure.args-append   --enable-widec --with-shared --without-
 debug  \
 +               --without-ada --without-cxx-binding --without-cxx
 +       patchfiles      patch-shlib
  }
 }}}

 patch-shlib
 {{{
 --- misc/shlib.orig     Sun Jul 20 02:58:14 2003
 +++ misc/shlib  Mon Apr  4 06:08:47 2005
 @@ -58,7 +58,16 @@
  # Special cases:
  #
  #      BeOS R4.5 uses $LIBRARY_PATH rather than $LD_LIBRARY_PATH.
 -
 +#      Mac OS X uses $DYLD_LIBRARY_PATH
 +#
 +# Other cases not handled by this script:
 +#
 +#      AIX uses $LIBPATH
 +#      IRIX64 may use $LD_LIBRARY64_PATH or $LD_LIBRARYN32_PATH
 +#      Solaris may use $LD_LIBRARY_PATH_64
 +#
 +CDPATH=
 +#
  #
  # Make sure that we use the PATH that was set in run_tic.sh
  #
 @@ -67,6 +76,7 @@
         export PATH
  fi

 +# Find the lib-directory for this build tree
  q=""
  for p in lib ../lib
  do
 @@ -74,21 +84,56 @@
                 q="$p"
         fi
  done
 +
 +# Set the environment variable.
  if test -n "$q" ; then
 -       if test -n "$LD_LIBRARY_PATH"; then
 -               LD_LIBRARY_PATH="$q:$LD_LIBRARY_PATH"
 +       system=
 +       if test -n "$SHLIB_HOST" ; then
 +               system="$SHLIB_HOST"
 +       elif test -n "$PATHEXT" ; then
 +               system=cygwin
         elif test -n "$LIBRARY_PATH" ; then
 -               LIBRARY_PATH="$q:$LIBRARY_PATH"
 +               system=beos
 +       elif test -n "$DYLD_LIBRARY_PATH" ; then
 +               system=darwin
 +       elif test -n "$LD_LIBRARY_PATH"; then
 +               system=unix
         else
 -               LD_LIBRARY_PATH="$q"
 +               for r in $q/*.*
 +               do
 +                       if test -f "$r"
 +                       then
 +                               case $r in
 +                               *.dll)
 +                                       system=cygwin
 +                                       ;;
 +                               *.dylib)
 +                                       system=darwin
 +                                       ;;
 +                               esac
         fi
 -       export LD_LIBRARY_PATH
 +                       test -n "$system" && break
 +               done
  fi

 -# cygwin doesn't use LD_LIBRARY_PATH, but does use PATH
 -if test -n "$PATHEXT" ; then
 -       PATH=$LD_LIBRARY_PATH:$PATH;
 -       export PATH
 +       case .$system in
 +       .cygwin*)
 +               variable=PATH
 +               ;;
 +       .beos*)
 +               variable=LIBRARY_PATH
 +               ;;
 +       .darwin*)
 +               variable=DYLD_LIBRARY_PATH
 +               ;;
 +       *)
 +               variable=LD_LIBRARY_PATH
 +               ;;
 +       esac
 +
 +       eval 'test -z "$'$variable'" && '$variable'=":"'
 +       eval $variable'="$q:$'$variable'"'
 +       eval 'export '$variable
  fi

  eval "$*"
 }}}

--

-- 
Ticket URL: <https://trac.macports.org/ticket/2846#comment:4>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list