Permalink
Browse files

Release version--nearly finished

  • Loading branch information...
akhansen committed Jan 17, 2012
1 parent 2f78285 commit 824adb7cfa16558a9ae508f60f6a0a081eb34ff6
Showing with 92 additions and 65 deletions.
  1. +92 −65 Octave/octave-3.6.0.info
View
@@ -1,8 +1,8 @@
Info2: <<
Package: octave%type_pkg[-atlas]%type_pkg[-x11]
-Type: -atlas (boolean), oct(3.6.0), gcc (4.6), -x11 (boolean), v (3.6.0-rc1)
+Type: -atlas (boolean), oct(3.6.0), gcc (4.6), -x11 (boolean)
Version: 3.6.0
-Revision: 0.rc1.1
+Revision: 1
Maintainer: Alexander Hansen <alexkhansen@users.sourceforge.net>
BuildDepends: <<
@@ -60,9 +60,8 @@ Replaces: <<
%{Ni}3.0.2-atlas ( << 3.0.2-5)
<<
-#Source: mirror:gnu:%{Ni}/%{Ni}-%v.tar.gz
-Source-MD5: 92d7ec90289ebecb2a5a22fc3074740c
-Source: ftp://alpha.gnu.org/gnu/octave/%{Ni}-%type_raw[v].tar.gz
+Source: mirror:gnu:%{Ni}/%{Ni}-%v.tar.gz
+Source-MD5: e1affdd948a558b7bd8bdd397bc2ad8d
PatchFile: %{ni}-glpk.patch
PatchFile-MD5: a4861a0803cfbbbb8892019cd5f217d2
@@ -92,16 +91,16 @@ PatchScript: <<
sed -e 's/@OCTVERSION@/%v/g' -e 's|@FINKPREFIX@|%p|g' %{PatchFile3} | patch -p1
# Put in the Fink tree.
sed -i.orig -e 's|@FINKPREFIX@|%p|g' %{Ni}-forge* %{Ni}rc doc/interpreter/*.1 src/mkoctfile*in
- # Put compiler information without 'flag-sort' into oct-conf.h, which in
+ # Put OS-version-invariant links to compilers into oct-conf.h, which in
# turn gets harcoded into the Octave interpreter's 'octave_config_info'
# function, which is then used by some of the octave-forge packages at
# configure time. Also do this for mkoctfile.in.
- sed -i.orig -e "s|%%OCTAVE_CONF_CC%%|\"`which gcc`\"|" \
- -e "s|%%OCTAVE_CONF_CXXCPP%%|\"`which g++` -E\"|" \
- -e "s|%%OCTAVE_CONF_CXX%%|\"`which g++`\"|" \
- -e "s|%%OCTAVE_CONF_DL_LD%%|\"`which g++`\"|" \
- -e "s|%%OCTAVE_CONF_LD_CXX%%|\"`which g++`\"|" \
- -e "s|%%OCTAVE_CONF_SH_LD%%|\"`which g++`\"|" \
+ sed -i.orig -e "s|%%OCTAVE_CONF_CC%%|\"oct-cc\"|" \
+ -e "s|%%OCTAVE_CONF_CXXCPP%%|\"oct-cxx -E\"|" \
+ -e "s|%%OCTAVE_CONF_CXX%%|\"oct-cxx\"|" \
+ -e "s|%%OCTAVE_CONF_DL_LD%%|\"oct-cxx\"|" \
+ -e "s|%%OCTAVE_CONF_LD_CXX%%|\"oct-cxx\"|" \
+ -e "s|%%OCTAVE_CONF_SH_LD%%|\"oct-cxx\"|" \
src/oct-conf.h.in src/mkoctfile*in
# Make sure GraphicsMagick gets activated properly.
@@ -122,9 +121,12 @@ PatchScript: <<
fi
fi
- # patching oct-qhull.h for qhull6
# fix lib name for qhull6 in configure
- perl -pi.orig -e 's|(qhull/)|lib\1|g ; s|lqhull|lqhull6|' configure
+ perl -pi.orig -e ' s|(qhull/)|lib\1|g; s|lqhull|lqhull6|' configure
+ # fix macro for libqhull/liqhull.h in configure
+ perl -pi.bak -e 's,(.*HAVE_QHULL_LIBQHULL_H.*),\1 || defined (HAVE_LIBQHULL_LIBQHULL_H),g' \
+ configure
+ # patching oct-qhull.h for qhull6
patch -p1 < %{PatchFile6}
# more patching by fangism
@@ -147,20 +149,20 @@ GCC: 4.0
UseMaxBuildJobs: false
SetCC: flag-sort -r gcc
SetCXX: flag-sort -r g++
-SetLDFLAGS: -L%p/lib/gcc%type_raw[gcc]/lib -lgfortran -Wl,-dead_strip_dylibs
-SetCFLAGS: -O3
+SetLDFLAGS: -Wl,-dead_strip_dylibs
ConfigureParams: <<
(%type_raw[-atlas] != -atlas) --with-lapack=-Wl,-framework,Accelerate \
(%type_raw[-atlas] != -atlas) --with-blas=-Wl,-framework,Accelerate \
- (%type_raw[-atlas] = -atlas) --with-lapack="-llapack"
- (%type_raw[-atlas] = -atlas) --with-blas="-lf77blas -lcblas"
+ (%type_raw[-atlas] = -atlas) --with-lapack="-llapack" \
+ (%type_raw[-atlas] = -atlas) --with-blas="-lf77blas -lcblas" \
(%type_raw[-x11] != -x11) --with-framework-carbon \
(%type_raw[-x11] = -x11) --without-framework-carbon \
--with-x \
--x-libraries=/usr/X11/lib \
--x-includes=/usr/X11/include \
--with-magick=GraphicsMagick \
+ --with-qhull-includedir=%p/include/libqhull \
--host=%m-apple-darwin \
--build=%m-apple-darwin \
--infodir='${prefix}/share/info' \
@@ -175,7 +177,11 @@ ConfigureParams: <<
CompileScript: <<
#!/bin/sh -ev
export FFLAGS='-O3'
- export CXXFLAGS="-O1"
+ # avoid package installation failure
+ if [ "%m" = "i386" ]
+ then export CXXFLAGS="-O1"
+ else export CXXFLAGS="-O3"
+ fi
export F77=%p/bin/gfortran-fsf-%type_raw[gcc]
FLIBDIR="%p/lib/gcc%type_raw[gcc]/lib"
export FLIBS="-L${FLIBDIR} -lgfortran"
@@ -204,42 +210,36 @@ InstallScript: <<
cp doc/interpreter/*.info* %i/share/info
# Install Fink-specific octaverc which points at our oct-versioned
# package directory.
- cp %{Ni}rc %i/share/%{Ni}/%type_raw[v]/m/startup
+ cp %{Ni}rc %i/share/%{Ni}/%v/m/startup
mkdir -p %i/var/%{Ni}/%v/
# install examples
mkdir -p %i/share/%{Ni}/%v/doc/examples
cp -R examples %i/share/%{Ni}/%v/doc/examples
- # clear out hardcoded Fink sed.
- pushd %i/bin
- for file in mkoctfile-%v %{Ni}-config-%v
- do
- perl -pi -e 's|%p/bin/sed|/usr/bin/sed|g' $file
- done
- popd
# remove autogenerated freedesktop.org desktop file
rm -f %i/share/applications/www.%{Ni}.org-%{Ni}.desktop
mkdir -p %i/share/%{Ni}/%v/scripts
# install the octave-forge helper scripts
cp %{Ni}-forge* %i/share/%{Ni}/%v/scripts
chmod a+x %i/share/%{Ni}/%v/scripts/*
-
- # make versions of executables without "rc"
- pushd %i/bin
- for file in mkoctfile octave-config octave
- do cp $file-%type_raw[v] $file-%type_raw[oct]
+ # clear out hardcoded Fink sed.
+ pushd %i/bin
+ for file in mkoctfile-%v %{Ni}-config-%v
+ do
+ perl -pi -e 's|%p/bin/sed|/usr/bin/sed|g' $file
done
+
# generate Fink-gcc enabled mkoctfile
cp mkoctfile-%type_raw[oct] mkoctfile-%type_raw[oct]-gcc%type_raw[gcc]
perl -pi -e \
- 's,(CC).*(gcc),\1\="%p/bin/\2-fsf-%type_raw[gcc],g; \
- s,(.*=\").*(g\+\+),\1%p/bin/\2-fsf-%type_raw[gcc],g' \
- %i/bin/mkoctfile-%type_raw[oct]-gcc%type_raw[gcc]
+ 's,oct\-cc,%p/bin/gcc-fsf-%type_raw[gcc],g; \
+ s,oct\-cxx,%p/bin/g++-fsf-%type_raw[gcc],g' \
+ mkoctfile-%type_raw[oct]-gcc%type_raw[gcc]
# create convenience symlink
ln -s mkoctfile-%type_raw[oct]-gcc%type_raw[gcc] mkoctfile-gcc%type_raw[gcc]
popd
# sanitize .la file
- cd %i/lib/%{Ni}/%type_raw[v]/
+ cd %i/lib/%{Ni}/%v/
perl -pi -e 's/(\-framework)\s(\w+)/-Wl,$1,$2/g' liboctinterp.la
<<
@@ -282,7 +282,7 @@ SplitOff: <<
(%type_raw[-atlas] != -atlas) qrupdate-shlibs (>= 1.1.1-5)
<<
Provides: <<
-
+ liboctave%type_pkg[oct]-v2,
liboctave%type_pkg[oct],
(%type_raw[-atlas] = -atlas) liboctave%type_pkg[oct]-atlas,
(%type_raw[-atlas] != -atlas) liboctave%type_pkg[oct]-veclib,
@@ -291,12 +291,12 @@ SplitOff: <<
<<
Files: <<
- lib/%{Ni}/%type_raw[v]/lib{cruft,%{Ni},octinterp}.1.dylib
+ lib/%{Ni}/%v/lib{cruft,%{Ni},octinterp}.1.dylib
<<
Shlibs: <<
- %p/lib/%{Ni}/%type_raw[v]/libcruft.1.dylib 2.0.0 %n (>=3.6.0-1)
- %p/lib/%{Ni}/%type_raw[v]/lib%{Ni}.1.dylib 2.0.0 %n (>=3.6.0-1)
- %p/lib/%{Ni}/%type_raw[v]/liboctinterp.1.dylib 2.0.0 %n (>=3.6.0-1)
+ %p/lib/%{Ni}/%v/libcruft.1.dylib 2.0.0 %n (>=3.6.0-1)
+ %p/lib/%{Ni}/%v/lib%{Ni}.1.dylib 2.0.0 %n (>=3.6.0-1)
+ %p/lib/%{Ni}/%v/liboctinterp.1.dylib 2.0.0 %n (>=3.6.0-1)
<<
DescDetail: <<
This package contains shared libraries which are used by the Octave
@@ -328,6 +328,10 @@ SplitOff2: <<
%{Ni}324-atlas-dev,
%{Ni}324-x11-dev,
%{Ni}324-atlas-x11-dev,
+ %{Ni}343-dev,
+ %{Ni}343-atlas-dev,
+ %{Ni}343-x11-dev,
+ %{Ni}343-atlas-x11-dev,
(%type_raw[-atlas] = atlas) %{Ni} (<< 3.0.5-5),
(%type_raw[-atlas] != atlas) %{Ni}-atlas (<< 3.0.5-5),
%{Ni}3.0.2 ( << 3.0.2-5),
@@ -344,13 +348,17 @@ SplitOff2: <<
%{Ni}324-atlas-dev,
%{Ni}324-x11-dev,
%{Ni}324-atlas-x11-dev,
+ %{Ni}343-dev,
+ %{Ni}343-atlas-dev,
+ %{Ni}343-x11-dev,
+ %{Ni}343-atlas-x11-dev,
%{Ni} (<< 3.0.5-5),
%{Ni}-atlas (<< 3.0.5-5),
%{Ni}3.0.2 ( << 3.0.2-5),
%{Ni}3.0.2-atlas ( << 3.0.2-5)
<<
Provides: <<
-
+ liboctave%type_pkg[oct]-v2-dev,
liboctave%type_pkg[oct]-dev,
(%type_raw[-atlas] = -atlas) liboctave%type_pkg[oct]-atlas-dev,
(%type_raw[-atlas] != -atlas) liboctave%type_pkg[oct]-veclib-dev,
@@ -361,8 +369,8 @@ SplitOff2: <<
BuildDependsOnly: true
Files: <<
- include/%{Ni}-%type_raw[v]
- lib/%{Ni}/%type_raw[v]/*.la
+ include/%{Ni}-%v
+ lib/%{Ni}/%v/*.la
bin/mkoctfile*
bin/octave-config*
share/man/man1/mkoctfile*.1
@@ -371,7 +379,9 @@ SplitOff2: <<
DescDetail: <<
This package contains files needed to build against Octave, including
- headers and the mkoctfile executable.
+ headers and the mkoctfile executable. It also contains symlinks to Fink's
+ compiler wrappers, which are set up at install time to be appropriate to
+ the current machine setup.
<<
DescUsage: <<
To use mkoctfile to build dynamically loadable modules, you will need
@@ -383,6 +393,31 @@ SplitOff2: <<
stuff which isn't included in Xcode.
<<
DocFiles: AUTHORS BUGS COPYING ChangeLog NEWS README
+ PostInstScript: <<
+ osversion=`uname -r | cut -d. -f1`
+ cd %p/bin
+ case $osversion in
+ 11) ln -s %p/var/lib/fink/path-prefix-clang/cc oct-cc
+ ln -s %p/var/lib/fink/path-prefix-clang/c++ oct-cxx ;;
+ 10) ln -s %p/var/lib/fink/path-prefix-10.6/cc oct-cc
+ ln -s %p/var/lib/fink/path-prefix-10.6/c++ oct-cxx ;;
+ 9) if [ "%m" = "x86_64"]; then
+ ln -s /usr/bin/gcc-4.2 oct-cc
+ ln -s /usr/bin/g++-4.2 oct-cxx ;;
+ # fangism--feel free to update this
+ *) printf "You will need to generate your own %p/bin/oct-cc and %p/bin/oct-cxx symlinks.\n" ;;
+ esac
+ <<
+ PreRmScript: <<
+ if [ -h %p/bin/oct-cc ]
+ then rm %p/bin/oct-cc
+ else printf "%p/bin/oct-cc is not a symlink or is not present.\n"
+ fi
+ if [ -h %p/bin/oct-cxx ]
+ then rm %p/bin/oct-cxx
+ else printf "%p/bin/oct-cxx is not a symlink or is not present.\n"
+ fi
+ <<
<<
Splitoff3: <<
@@ -434,9 +469,9 @@ Splitoff3: <<
<<
Files: <<
- share/%{Ni}/%type_raw[v]
- lib/%{Ni}/%type_raw[v]
- bin/*
+ share/%{Ni}/%v
+ lib/%{Ni}/%v
+ bin/%{Ni}-%v
var/%{Ni}/%v
share/man/man1/%{Ni}-%v.1
<<
@@ -530,6 +565,10 @@ run the following command in your script:
DescPort: <<
Thanks to Per Persson for most (if not all) of the work on the macos X port.
+Apply fix from http://lukassen.wordpress.com/2010/01/18/taming-snow-leopard-cgdisplaybitsperpixel-deprication/ ,
+with improvements from Peter O'Gorman and Daniel Macks, to display.cc to work around the lack of
+CGDisplayBitsPerPixel on 10.7.
+
Cleanups from David Fang to get the package to build using clang.
The non-atlas variant is built with -ff2c in the FFLAGS,
@@ -568,14 +607,11 @@ package's name.
The -atlas variant depends on -atlas variants (only) of qrupdate and arpack.
The non-atlas variant depends on non-atlas variants (only) of these.
-Patch oct-conf.h, and mkoctfile not to put "flag-sort -r" in the
-name of the compiler used, and to use the full path of Fink's compiler wrappers.
-Also, we add the BLAS C library to BLAS_LIBS in the -atlas variant. This makes
-sure that anything that builds against Octave has the proper information when
-installed manually as well as via Fink, and is critical for 10.6/i386 (and 10.5
-/x86_64) users. Unfortunately, this requires a rebuild on OS upgrades, because
-the information in oct-conf.h gets hardcoded into the Octave interpreter
-executable, and some octave-forge packages get information from that.
+Patch oct-conf.h, and mkoctfile to use compiler wrappers which are part of the
+-dev package to avoid issues which would propagate as dependendencies, e.g.
+encoding 'flag-sort' or a ccache-default compiler in the compiler name. These
+are symlinks to Fink's compiler wrappers and are resolved in PostInstall so that
+they point to the right place for the system.
Includes an additional mkoctfile which uses Fink's gcc46 compilers instead
of Xcode's.
@@ -587,15 +623,6 @@ GNU info file.
We use Provides in a new namespace and new projections to avoid
unwieldy | lists in the octave-forge packages.
-
-As of revision 203:
-
-Don't use METIS, because of its license.
-
-As of revision 204:
-
-Due to issues with qhull6, use qhull5 instead.
-Clean up octave-forge build scripts.
<<
Homepage: http://www.octave.org/
License: GPL

0 comments on commit 824adb7

Please sign in to comment.