Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ncurses-6.0 from tracker #29

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
Open
113 changes: 113 additions & 0 deletions 10.9-libcxx/stable/main/finkinfo/base/libncurses6-shlibs.info
@@ -0,0 +1,113 @@
Package: libncurses6-shlibs
Version: 6.0
Revision: 1

GCC: 4.0
Source: ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses-%v.tar.gz
Source-MD5: ee13d052e1ead260d7c28071f46eefb1
SourceDirectory: ncurses-%v
BuildDepends: fink (>= 0.13.0)
Depends: base-files
Essential: true
PatchScript: <<
#!/bin/sh -ex
# apply upstream patchsets
for p in patches/*.patch.gz; do
gzip -cd $p | patch -p1
done

# Fix warnings in clang by removing some useless compiler
# switches (they are not useful for gcc either).
perl -pi -e "s/-no-cpp-precomp//" configure

#Need to remove these entries to avoid failure on case sensitive file systems
perl -pi -e "s/hp70092a\|//; s/hp2621a\|//; s/2621a\|//" misc/terminfo.src
<<
ConfigureParams: <<
--without-ada \
--without-pkg-config \
--with-shared \
--with-debug \
--enable-termcap \
--mandir=%p/share/man \
--with-terminfo-dirs="%p/share/terminfo:/usr/share/terminfo" \
--with-default-terminfo-dir="%p/share/terminfo" \
--enable-no-padding \
--enable-sigwinch \
--enable-tcap-names \
--enable-hard-tabs \
--enable-overwrite \
--disable-mixed-case \
--libdir=%p/lib/ncurses \
cf_cv_typeof_chtype=long \
cf_cv_gcc_inline=no
<<
NoSetCFLAGS: true
NoSetLDFLAGS: true
NoSetCPPFLAGS: true
UseMaxBuildJobs: false
InstallScript: <<
#!/bin/sh -ev
make install DESTDIR=%d DYLD_LIBRARY_PATH=`pwd`/lib:`pwd`/lib/ncurses
# add extra symlinks in the main lib directory
ln -s ncurses/libform.6.dylib %i/lib/libform.dylib
ln -s ncurses/libmenu.6.dylib %i/lib/libmenu.dylib
ln -s ncurses/libncurses.6.dylib %i/lib/libncurses.dylib
ln -s ncurses/libpanel.6.dylib %i/lib/libpanel.dylib
ln -s ncurses/libncurses.6.dylib %i/lib/libcurses.dylib
ln -s ncurses/libncurses.6.dylib %i/lib/libtermcap.dylib
<<
SplitOff: <<
Package: libncurses6
Depends: libncurses6-shlibs (= %v-%r)
BuildDependsOnly: true
Conflicts: ncurses-dev, libncurses5-64bit, libncurses5
Replaces: ncurses-dev, ncurses (<= 5.3-20031018-2), libncurses5-64bit, ncurses (<= 5.7-20100227-1), libncurses5
Provides: libncurses6-dev
Copy link
Member

@dmacks dmacks Jan 1, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There was a libncurses5:Provides:libncurses5-dev since long ago; do we really need this cargo-culting if we are starting with a new libversion? "foo/foo-shlibs" is a well-established pattern for library package-sets.

There are nine packages with BDep:libncurses5-dev, which seems like low fruit for a cleanup task (no rev-up required, etc.)

Files: bin/ncurses6-config lib/ncurses/*.a lib/ncurses/libcurses.dylib lib/ncurses/libform.dylib lib/ncurses/libmenu.dylib lib/ncurses/libncurses.dylib lib/ncurses/libpanel.dylib include lib/libcurses.dylib lib/libform.dylib lib/libmenu.dylib lib/libncurses.dylib lib/libpanel.dylib lib/libtermcap.dylib
DocFiles: README ANNOUNCE NEWS INSTALL TO-DO MANIFEST
Description: Full-screen ascii drawing library
<<
SplitOff2: <<
Package: ncurses
Depends: libncurses6-shlibs (>= %v-%r)
Essential: true
Files: bin lib/terminfo share/man share/terminfo
DocFiles: README ANNOUNCE NEWS INSTALL TO-DO MANIFEST
Description: Executable files for libncurses5
<<
Shlibs: <<
%p/lib/ncurses/libform.6.dylib 6.0.0 %n (>= 6.0-1)
%p/lib/ncurses/libmenu.6.dylib 6.0.0 %n (>= 6.0-1)
%p/lib/ncurses/libncurses.6.dylib 6.0.0 %n (>= 6.0-1)
%p/lib/ncurses/libpanel.6.dylib 6.0.0 %n (>= 6.0-1)
<<
DocFiles: README ANNOUNCE NEWS INSTALL TO-DO MANIFEST
Description: Shared libraries for libncurses5 package
DescPort: <<
More changes by Chris Zubrzycki to be more compatable with apple's lib
-udates to the (sometimes) monthly releases of ncurses (in patch form)

The --enable-overwrite flag creates the libcurses.dylib symlink.

Must pass cf_cv_typeof_chtype=long to configure to maintain ABI
compatability for 64-bit library. Otherwise chtype is unsigned long
in 5.4 but unsigned int in 5.7.

Added patchscript to avoid failure on case sensitive file systems.
<<
DescPackaging: <<
First revision by David Ross.
Previous versions by Christoph Pfisterer.
All the hard work in this version done by Chris Zubrzycki.
Updated to 5.7 by Daniel Johnson.

Fink needs to mirror Essential packages on its own server).

Disable pkg-config so we don't need to make it Essential:true
(as dependency of Essential:true ncurses). gen-pkgconfig says
the *-config scripts are the recommended way anyway.
<<
License: OSI-Approved
Maintainer: Fink Core Group <fink-core@lists.sourceforge.net>
Homepage: http://www.gnu.org/software/ncurses/ncurses.html
4 changes: 3 additions & 1 deletion 10.9-libcxx/stable/main/finkinfo/base/libncursesw5.info
@@ -1,6 +1,6 @@
Package: libncursesw5
Version: 5.9-20110507
Revision: 1
Revision: 2

GCC: 4.0
#Source: ftp://invisible-island.net/ncurses/current/ncurses-%v.tgz
Expand All @@ -9,6 +9,8 @@ Source-MD5: 49dc7136424f2bdd653439eda63a2375
SourceDirectory: ncurses-5.9
BuildDepends: fink (>= 0.13.0)
Depends: %N-shlibs (= %v-%r)
Conflicts: libncursesw5, libncursesw6
Replaces: libncursesw5, libncursesw6
Essential: false
BuildDependsOnly: true
PatchScript: <<
Expand Down
104 changes: 104 additions & 0 deletions 10.9-libcxx/stable/main/finkinfo/base/libncursesw6.info
@@ -0,0 +1,104 @@
Package: libncursesw6
Version: 6.0
Revision: 1

GCC: 4.0
Source: ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses-%v.tar.gz
Source-MD5: ee13d052e1ead260d7c28071f46eefb1
SourceDirectory: ncurses-%v
BuildDepends: fink (>= 0.13.0)
Depends: %N-shlibs (= %v-%r)
Conflicts: libncursesw5, libncursesw6
Replaces: libncursesw5, libncursesw6
Essential: false
BuildDependsOnly: true
PatchScript: <<
#!/bin/sh -ex
# apply upstream patchsets
for p in patches/*.patch.gz; do
gzip -cd $p | patch -p1
done

# Need to remove these entries to avoid failure on case sensitive file systems
perl -pi -e "s/hp70092a\|//; s/hp2621a\|//; s/2621a\|//" misc/terminfo.src
# Remove unsupported --param max-inline-insns-single=1200 option
perl -pi -e "s/--param max-inline-insns-single=1200//" configure
<<
ConfigureParams: <<
--without-ada \
--without-pkg-config \
--with-shared \
--with-debug \
--enable-termcap \
--mandir=%p/share/man \
--with-terminfo-dirs="%p/share/terminfo:/usr/share/terminfo" \
--with-default-terminfo-dir="%p/share/terminfo" \
--enable-no-padding \
--enable-sigwinch \
--enable-tcap-names \
--enable-hard-tabs \
--enable-widec \
--disable-mixed-case \
cf_cv_typeof_chtype=long
<<
NoSetCFLAGS: true
NoSetLDFLAGS: true
NoSetCPPFLAGS: true
UseMaxBuildJobs: false
InstallScript: <<
#!/bin/sh -ev
make install.libs DESTDIR=%d DYLD_LIBRARY_PATH=`pwd`/lib:`pwd`/lib/ncurses
<<
SplitOff: <<
Package: %N-shlibs
Depends: base-files
Essential: false
Files: <<
lib/libformw.*.dylib
lib/libmenuw.*.dylib
lib/libncursesw.*.dylib
lib/libpanelw.*.dylib
<<
DocFiles: README ANNOUNCE NEWS INSTALL TO-DO MANIFEST
Shlibs: <<
%p/lib/libformw.6.dylib 6.0.0 %n (>= 6.0-1)
%p/lib/libmenuw.6.dylib 6.0.0 %n (>= 6.0-1)
%p/lib/libncursesw.6.dylib 6.0.0 %n (>= 6.0-1)
%p/lib/libpanelw.6.dylib 6.0.0 %n (>= 6.0-1)
<<
Description: Shared libraries for libncursesw5 package
<<
DocFiles: README ANNOUNCE NEWS INSTALL TO-DO MANIFEST
Description: Full-screen ascii drawing (wchar version)
DescPort: <<
More changes by Chris Zubrzycki to be more compatable with apple's lib
-udates to the (sometimes) monthly releases of ncurses (in patch form)

The --enable-overwrite flag creates the libcurses.dylib symlink.

Must pass cf_cv_typeof_chtype=long to configure to maintain ABI
compatability for 64-bit library. Otherwise chtype is unsigned long
in 5.4 but unsigned int in 5.7.

Added patchscript to avoid failure on case sensitive file systems.
<<
DescPackaging: <<
First revision by David Ross.
Previous versions by Christoph Pfisterer.
Updated to 5.7 by Daniel Johnson.

Fink needs to mirror Essential packages on its own server).

Disable pkg-config so we don't need to make it Essential:true
(as dependency of Essential:true ncurses). gen-pkgconfig says
the *-config scripts are the recommended way anyway.
<<
DescUsage: <<
NOTE: Headers are installed into %p/include/ncursesw instead of
%p/include as with libncurses6. Packages depending on this might
need to add %p/include/ncursesw to CPPFLAGS or otherwise make
adjustments to build properly. All library names end in 'w'.
<<
License: OSI-Approved
Maintainer: Chris Zubrzycki <beren12@users.sourceforge.net>
Homepage: http://www.gnu.org/software/ncurses/ncurses.html