From: Jan Nieuwenhuizen Date: Wed, 29 Mar 2000 08:36:33 +0000 (+0200) Subject: patch::: 1.3.40.jcn1 X-Git-Tag: release/1.3.41~4 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=ecdd29f28f2b05f970fa3a38b7622495730e645c;p=lilypond.git patch::: 1.3.40.jcn1 1.3.40.jcn1 =========== * make/lilypond.spec.in: Preparations for cross-building to Cygwin. * buildscripts/make-cygwin-cross.sh: Now using rpm packages. --- diff --git a/CHANGES b/CHANGES index 7e58070ff2..cd79c758a5 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,10 @@ +1.3.40.jcn1 +=========== + +* make/lilypond.spec.in: Preparations for cross-building to Cygwin. + +* buildscripts/make-cygwin-cross.sh: Now using rpm packages. + 1.3.39.jbr1 =========== diff --git a/Documentation/ntweb/guile-1.3.4-gnu-windows.patch b/Documentation/ntweb/guile-1.3.4-gnu-windows.patch index 490f730d6b..6a29dda59a 100644 --- a/Documentation/ntweb/guile-1.3.4-gnu-windows.patch +++ b/Documentation/ntweb/guile-1.3.4-gnu-windows.patch @@ -6,7 +6,7 @@ diff -urN ../guile-1.3.4/ChangeLog ./ChangeLog + + * guile-config/cross-guile-config.in: Simple shell script to + take over guile-config's functionality for cross-compilation. -+ It will be installed as ${build}-guile-config. ++ It will be installed as ${target}-guile-config. + + * guile-config/Makefile.am: Provide for cross-guile-config.in + and its targets. @@ -14,6 +14,17 @@ diff -urN ../guile-1.3.4/ChangeLog ./ChangeLog 1999-09-25 Jim Blandy * Guile 1.3.4 released. +diff -urN ../guile-1.3.4/configure.in ./configure.in +--- ../guile-1.3.4/configure.in Sat Sep 25 19:26:50 1999 ++++ ./configure.in Wed Mar 29 15:49:56 2000 +@@ -21,6 +21,7 @@ + dnl Boston, MA 02111-1307, USA. + + AC_INIT(Makefile.in) ++AC_CANONICAL_SYSTEM + . $srcdir/GUILE-VERSION + AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define) + AM_MAINTAINER_MODE diff -urN ../guile-1.3.4/guile-config/Makefile.am ./guile-config/Makefile.am --- ../guile-1.3.4/guile-config/Makefile.am Mon Oct 19 17:24:31 1998 +++ ./guile-config/Makefile.am Mon Mar 27 15:47:43 2000 @@ -24,8 +35,8 @@ diff -urN ../guile-1.3.4/guile-config/Makefile.am ./guile-config/Makefile.am -bin_SCRIPTS=guile-config -CLEANFILES=guile-config -EXTRA_DIST=guile-config.in -+bin_SCRIPTS=guile-config @build@-guile-config -+CLEANFILES=guile-config @build@-guile-config ++bin_SCRIPTS=guile-config @target@-guile-config ++CLEANFILES=guile-config @target@-guile-config +EXTRA_DIST=guile-config.in cross-guile-config.in ## We use @-...-@ as the substitution brackets here, instead of the @@ -35,7 +46,7 @@ diff -urN ../guile-1.3.4/guile-config/Makefile.am ./guile-config/Makefile.am chmod +x guile-config.tmp mv guile-config.tmp guile-config + -+@build@-guile-config: cross-guile-config.in ++@target@-guile-config: cross-guile-config.in + rm -f $<.tmp + sed < ${srcdir}/$< > $<.tmp \ + -e s:@-SHELL-@:${SHELL}: \ @@ -51,7 +62,7 @@ diff -urN ../guile-1.3.4/guile-config/cross-guile-config.in ./guile-config/cross +++ ./guile-config/cross-guile-config.in Mon Mar 27 15:46:36 2000 @@ -0,0 +1,16 @@ +#!@-SHELL-@ -+# build-guile-config.in ++# target-guile-config.in +case $1 in + --version) + echo "@-GUILE_VERSION-@" diff --git a/VERSION b/VERSION index 9f46e71982..de3f1f468c 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 PATCH_LEVEL=40 -MY_PATCH_LEVEL= +MY_PATCH_LEVEL=jcn1 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/aclocal.m4 b/aclocal.m4 index 2a6916b2af..8e3f35150d 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,7 +1,5 @@ dnl WARNING WARNING WARNING WARNING dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4 -dnl WARNING WARNING WARNING WARNING -dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4 dnl aclocal.m4 -*-shell-script-*- dnl StepMake subroutines for configure.in @@ -163,7 +161,7 @@ AC_DEFUN(AC_STEPMAKE_GXX, [ AC_DEFUN(AC_STEPMAKE_GUILE, [ ## First, let's just see if we can find Guile at all. AC_MSG_CHECKING("for guile-config") - for guile_config in guile-config $build-guile-config; do + for guile_config in guile-config $target-guile-config $build-guile-config; do AC_MSG_RESULT("$guile_config") if ! $guile_config --version > /dev/null 2>&1 ; then AC_MSG_WARN("cannot execute $guile_config") diff --git a/buildscripts/make-cygwin-cross-tar.sh b/buildscripts/make-cygwin-cross-tar.sh new file mode 100644 index 0000000000..fd5e13b6d2 --- /dev/null +++ b/buildscripts/make-cygwin-cross-tar.sh @@ -0,0 +1,436 @@ +#!@BASH@ +# make-cygwin-cross +# +# Build and install cross-development tools for cygwin package +# (binutils, compiler, flex, bison). +# Using this cross-development enviroment, build and install +# native cygwin packages (guile, lilypond). +# +# Besides being a handy script for me, currently this mainly serves +# as documentation for cross-building lilypond. +# +# To use this script, you need +# +# * all development tools to build a native LilyPond, see INSTALL.txt +# +# * pre-release cygnus sources (and a binary) from: +# +# ftp://sourceware.cygnus.com/pub/cygwin/private/cygwin-net-485/ +# +# binutils/binutils-19990818-1-src.tar.gz +# bison/bison-src.tar.gz +# cygwin/cygwin-20000301.tar.gz +# flex/flex-src.tar.gz +# gcc/gcc-2.95.2-1-src.tar.gz +# +# ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/runtime/ +# +# bin-crtdll-2000-02-03.tar.gz (mingw only) +# +# * rx-1.5.tar.gz +# +# * guile-1.3.4.tar.gz +# +# * lilypond-1.3.38.jcn1.tar.gz +# +# * lots of disk space, ca 353MB +# +# Not yet needed: +# +# * db-2.7.7.tar.gz +# +# * rpm-3.0.4.tar.gz +# + +################ +# config section +################ + +target=cygwin +#target=mingw + +if [ $target = cygwin ]; then + ROOT=/usr/src/cygwin-net-485 + TARGET_ARCH=i686-pc-cygwin +else + ROOT=/usr/src/mingw-net-485 + TARGET_ARCH=i386-pc-mingw32 +fi +PREFIX=$ROOT/usr +NATIVE_PREFIX=/Cygnus/usr + +# urg +DEVEL=/home/fred +WWW=$DEVEL/WWW/lilypond/gnu-windows +#WWW=/tmp + +CYGWIN_SOURCE=$DEVEL/sourceware.cygnus.com/pub/cygwin/private/cygwin-net-485 +MINGW_SOURCE=$DEVEL/ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/runtime +SOURCE_PATH=$DEVEL/usr/src/releases:$DEVEL/usr/src/patches:$DEVEL/usr/src/lilypond/Documentation/ntweb:$MINGW_SOURCE:/usr/src/redhat/SOURCES + +HOST=`uname -m`-gnu-`uname -s | tr '[A-Z]' '[a-z]'` + +cygwin_binary=cygwin-20000301.tar.gz +mingw_binary=bin-crtdll-2000-02-03.tar.gz + +#CYGWIN_DLL=cygwin1-net-485.dll +CYGWIN_DLL=cygwin1.dll +MINWG_DLL=mingwc10-net-485.dll + + +################ +# cross packages +################ + +cross_packages=" +binutils-19990818 +gcc-2.95.2 +flex +bison +" + +not_yet_needed=" +cygwin-2000301 +" + +cross_configure='--prefix=$PREFIX --target=$TARGET_ARCH' +gcc_make='LANGUAGES="c++"' +cygwin_make='-k || true' + +################# +# native packages +################# + +# Typically, we install native packages under +# +# /Cygnus/usr/package-x.y.z +# +# so that's how we configure them. +# +native_configure='--target=$TARGET_ARCH --build=$TARGET_ARCH --host=$HOST --oldincludedir=$PREFIX/include --prefix=$NATIVE_PREFIX/$package --program-suffix=' +native_config_site='$PREFIX/share/native-config.site' + +rx_install='prefix=$PREFIX' + +db_patch='db-2.7.7-cygwin.patch' +db_configure='urg' +db_install='prefix=$PREFIX' +rpm_patch='rpm-3.0.4-cygwin.patch' +rpm_install='prefix=$PREFIX' + +guile_patch='guile-1.3.4-gnu-windows.patch' +if [ $target = mingw ]; then + guile_patch1='guile-1.3.4-mingw.patch' + guile_cflags='-I $PREFIX/$TARGET_ARCH/include -I $PREFIX/i686-pc-cygwin/include' +fi +guile_ldflags='-L$PREFIX/lib $PREFIX/bin/$CYGWIN_DLL' +guile_make='oldincludedir=$PREFIX/include' + +# We need to get guile properly installed for cross-development, ie +# at our prefix: $PREFIX. When packaging, the prefix we configured +# for, will be used. +# +guile_install='prefix=$PREFIX' + +lilypond_version=@TOPLEVEL_VERSION@ +if [ $target = mingw ]; then + lilypond_cflags='-I $PREFIX/$TARGET_ARCH/include -I $PREFIX/i686-pc-cygwin/include' +fi +lilypond_ldflags='-L$PREFIX/lib -lguile $PREFIX/bin/$CYGWIN_DLL' +lilypond_configure='--enable-tex-tfmdir=/texmf/fonts/tfm/public/cm' +## URG, help2man: doesn't know about cross-compilation. +#lilypond_make='-k || make -k || true' +lilypond_patch=lilypond-manpages.patch +# Don't install lilypond +lilypond_install='--just-print' +lilypond_before_zip='cp -pr $PREFIX/src/$package/input $install_prefix \; cp -p \`find $PREFIX/src/$package -type f -maxdepth 1\` $install_prefix' + +native_packages=" +guile-1.3.4 +lilypond-$lilypond_version +" + +not_yet_needed=" +rx-1.5 +db-2.7.7 +rpm-3.0.4 +" + +####################### +# end of config section +####################### + +cygwin_dirs=`/bin/ls -d1 $CYGWIN_SOURCE/*` +cygwin_source_path=`echo $CYGWIN_SOURCE $cygwin_dirs` +source_path=`echo $SOURCE_PATH:$cygwin_source_path | sed 's/:/ /g'` + +########### +# functions +########### + +untar () +{( + set -x + tarball=$1 + dest_dir=$2 + + first_dir=`tar tzf $tarball | head -1` + src_dir=`dirname $first_dir` + + if [ "$src_dir" = "src" -o "$src_dir" = "./src" \ + -o "$src_dir" = "." ]; then + src_dir=$first_dir + fi + + tar xzf $tarball + + if [ "$src_dir" != "$dest_dir" -a "$src_dir" != "$dest_dir/" ]; then + mv $src_dir $dest_dir + rm -rf ./$first_dir + fi +) +} + +expand () +{( + + set - + string=`eval echo $\`eval echo "${1}${2}"\`` + eval echo $string +) +} + +find_path () +{( + set - + expr=$1 + found= + for i in $source_path; do + found=`/bin/ls -d1 $i/$expr 2>/dev/null | head -1` + if [ -e "$found" ]; then + break + fi + done + echo $found +) +} + +fix_extension () +{ + file=$1 + ext=$2 + expr="$3" + base=`basename $file $ext` + if [ $base$ext != $i ]; then + type="`file $file`" + if expr "$type" : "$expr"; then + mv -f $file $base$ext + fi + fi +} + +build () +{( + package=$1 + set - + if [ -d $package ]; then + echo "$package: directory exists" + echo "$package: skipping" + exit 0 + fi + + name=`echo $package | sed 's/-.*//'` + name_cflags=`expand $name _cflags` + name_ldflags=`expand $name _ldflags` + name_configure=`expand $name _configure` + type_config_site=`expand $type _config_site` + type_configure=`expand $type _configure` + name_make=`expand $name _make` + name_before_install="`expand $name _before_install`" + name_install=`expand $name _install` + + found=`find_path $package*src.tar.gz` + if [ "$found" = "" ]; then + found=`find_path $package.tar.gz` + fi + if [ "$found" = "" ]; then + found=`find_path $name*tar.gz` + fi + if [ "$found" = "" ]; then + echo "$package: no such tarball" + exit 1 + fi + + untar $found $package + patch=`expand $name _patch` + count=0 + while [ "x$patch" != "x" ]; do + ( + cd $package + set -x + found=`find_path $patch` + if [ "$found" = "" ]; then + echo "$patch: no such file" + exit 1 + fi + patch -p1 -E < $found + ) + count=`expr $count + 1` + patch=`expand $name _patch$count` + done + mkdir $type-$package + cd $type-$package + + rm -f config.cache + CONFIG_SITE="$type_config_site" CFLAGS="$name_cflags" LDFLAGS="$name_ldflags" ../$package/configure $type_configure $name_configure || exit 1 + make $name_make || exit 1 + `eval $name_before_install` || exit 1 + make install $name_install || exit 1 +) +} + +## urg, let's hope Cygnus uses rpm for packaging its next release +pack () +{( + set - + package=$1 + + zip=$WWW/$package.zip + if [ -e $zip ]; then + echo "$zip: package exists" + echo "$zip: skipping" + exit 0 + fi + + name=`echo $package | sed 's/-.*//'` + name_pack_install=`expand $name _pack_install` + install_root=/tmp/$package-install + install_prefix=$install_root/$NATIVE_PREFIX/$package + name_before_zip=`expand $name _before_zip` + + set -x + rm -rf $install_root + mkdir -p $install_prefix + + cd $PREFIX/src/$type-$package || exit 1 + make install prefix=$install_prefix $name_pack_install + + ## duh, rename executables, + ## for people that use a dumb shell instead of bash + cd $install_prefix/bin && + for i in `/bin/ls -d1 *`; do + fix_extension $i .exe '.*Windows.*\(executable\).*' + fix_extension $i .py '.*\(python\).*' + done + + rm -f $zip + `eval $name_before_zip` || exit 1 + cd $install_root && zip -ry $zip .$NATIVE_PREFIX +) +} +################## +# end of functions +################## + +# +# setup +# + +set -x +mkdir -p $ROOT +if [ ! -d $PREFIX ]; then + cd $ROOT + found=`find_path $cygwin_binary` + if [ "$found" = "" ]; then + echo "$cygwin_binary: no such tarball" + exit 1 + fi + tar xzf $found + # urg, bug in gcc's cross-make configuration + mkdir -p $PREFIX/lib/gcc-lib/$TARGET_ARCH/2.95.2 + + cd $PREFIX + + # urg, bug in gcc's cross-make configuration + rm -f include + ln -s $PREFIX/$TARGET_ARCH/include . +else + echo "$PREFIX: already exists" + echo "$cygwin_binary: skipping" +fi + +# mingw +if [ ! -d $PREFIX/$TARGET_ARCH ]; then + cd $PREFIX + found=`find_path $mingw_binary` + if [ "$found" = "" ]; then + echo "$mingw_binary: no such tarball" + exit 1 + fi + tar xzf $found + + mkdir -p $PREFIX/lib/gcc-lib/$TARGET_ARCH/2.95.2 + rm -f include + mkdir -p $PREFIX/i386-mingw32/include + ln -s $PREFIX/i386-mingw32 $TARGET_ARCH + ln -s $PREFIX/$TARGET_ARCH/include . +fi + +if [ ! -e $NATIVE_PREFIX ]; then + ln -s $ROOT /Cygnus || exit 1 +fi + +mkdir -p $PREFIX/src +cd $PREFIX/src +PATH=$PATH:$PREFIX/bin + +type=cross +for i in $cross_packages; do + if build $i; then + true + else + echo "$i: build failed" + exit 1 + fi +done + +# urg, bug in binutil's cross-make install +ln -f $PREFIX/bin/$TARGET_ARCH-objdump $PREFIX/$TARGET_ARCH/bin/objdump + +# urg, bug in gcc's cross-make install +mv $PREFIX/bin/cygwin1.dll $PREFIX/bin/$CYGWIN_DLL +mv $PREFIX/bin/mingwc10.dll $PREFIX/bin/$MINGW_DLL +ln -f $PREFIX/bin/$TARGET_ARCH-gcc $PREFIX/$TARGET_ARCH/bin/cc +ln -f $PREFIX/bin/$TARGET_ARCH-c++ $PREFIX/$TARGET_ARCH/bin/c++ +ln -f $PREFIX/bin/$TARGET_ARCH-g++ $PREFIX/$TARGET_ARCH/bin/g++ + +PATH=$PREFIX/$TARGET_ARCH/bin:$PREFIX/bin:$PATH + +mkdir -p $PREFIX/src +cd $PREFIX/src + +ncs=`eval echo $native_config_site` +rm -f $ncs +mkdir -p `dirname $ncs` +cat > $ncs </dev/null | head -1` - if [ -e "$found" ]; then + if [ "$found" != "" ] && [ -e $found ]; then break fi done @@ -205,130 +122,72 @@ find_path () ) } -fix_extension () -{ - file=$1 - ext=$2 - expr="$3" - base=`basename $file $ext` - if [ $base$ext != $i ]; then - type="`file $file`" - if expr "$type" : "$expr"; then - mv -f $file $base$ext - fi - fi -} - build () {( package=$1 - set - - if [ -d $package ]; then - echo "$package: directory exists" - echo "$package: skipping" - exit 0 - fi - name=`echo $package | sed 's/-.*//'` - name_cflags=`expand $name _cflags` - name_ldflags=`expand $name _ldflags` - name_configure=`expand $name _configure` - type_config_site=`expand $type _config_site` - type_configure=`expand $type _configure` - name_make=`expand $name _make` - name_before_install="`expand $name _before_install`" - name_install=`expand $name _install` - - found=`find_path $package*src.tar.gz` - if [ "$found" = "" ]; then - found=`find_path $package.tar.gz` - fi - if [ "$found" = "" ]; then - found=`find_path $name*tar.gz` - fi - if [ "$found" = "" ]; then - echo "$package: no such tarball" - exit 1 - fi - - untar $found $package - patch=`expand $name _patch` - count=0 - while [ "x$patch" != "x" ]; do - ( - cd $package - set -x - found=`find_path $patch` - if [ "$found" = "" ]; then - echo "$patch: no such file" - exit 1 - fi - patch -p1 -E < $found - ) - count=`expr $count + 1` - patch=`expand $name _patch$count` - done - mkdir $type-$package - cd $type-$package - - rm -f config.cache - CONFIG_SITE="$type_config_site" CFLAGS="$name_cflags" LDFLAGS="$name_ldflags" ../$package/configure $type_configure $name_configure || exit 1 - make $name_make || exit 1 - `eval $name_before_install` || exit 1 - make install $name_install || exit 1 -) -} -## urg, let's hope Cygnus uses rpm for packaging its next release -pack () -{( - set - - package=$1 + if [ $type = "cross" ]; then + target_arch=$CROSS_TARGET_ARCH + a=$cta + else + target_arch=$TARGET_ARCH + a=$ta + fi - zip=$WWW/$package.zip - if [ -e $zip ]; then - echo "$zip: package exists" - echo "$zip: skipping" + rpm_package=`find_path $name*.rpm "$topdir/RPMS/$cta:$topdir/RPMS/$ta"` + if [ "$rpm_package" != "" ]; then + echo "$rpm_package: package exists" + echo "$rpm_package: just updating db" + rpm -ivv --justdb --ignoreos --ignorearch --nodeps --force\ + --dbpath $NATIVE_ROOT/var/lib/rpm \ + $topdir/RPMS/$a/$name*.rpm exit 0 fi - name=`echo $package | sed 's/-.*//'` - name_pack_install=`expand $name _pack_install` - install_root=/tmp/$package-install - install_prefix=$install_root/$NATIVE_PREFIX/$package - name_before_zip=`expand $name _before_zip` - - set -x - rm -rf $install_root - mkdir -p $install_prefix - - cd $PREFIX/src/$type-$package || exit 1 - make install prefix=$install_prefix $name_pack_install - - ## duh, rename executables, - ## for people that use a dumb shell instead of bash - cd $install_prefix/bin && - for i in `/bin/ls -d1 *`; do - fix_extension $i .exe '.*Windows.*\(executable\).*' - fix_extension $i .py '.*\(python\).*' - done + cd $topdir + found=`find_path $package*src.rpm` + if [ "$found" != "" ]; then + rpm --root $NATIVE_ROOT -ivv $found || exit 1 + rpm --target=$target_arch -ba SPECS/$name*.spec || exit 1 + else + tarball=`/bin/ls -d1 SOURCES/$package*tar.gz 2>/dev/null | head -1` + if [ "SPECS/$name.spec" != "" ] && [ "$tarball" != "" ]; then + rpm --target=$target_arch -ba SPECS/$name.spec || exit 1 + else + found=`find_path $package*tar.gz` + if [ "$found" != "" ]; then + rpm --target=$target_arch -ta $found || exit 1 + else + echo "$package: no such rpm or tarball" + exit 1 + fi + fi + fi + name=`echo $package | sed 's/-.*//'` - rm -f $zip - `eval $name_before_zip` || exit 1 - cd $install_root && zip -ry $zip .$NATIVE_PREFIX + rpm -ivv --ignoreos --ignorearch --nodeps --force\ + --dbpath $NATIVE_ROOT/var/lib/rpm \ + $topdir/RPMS/$a/$name*.rpm ) } + ################## # end of functions ################## -# +####### # setup -# +####### set -x mkdir -p $ROOT -if [ ! -d $PREFIX ]; then +if [ ! -d $PREFIX/bin ]; then + mkdir -p $PREFIX + cd $PREFIX + mkdir -p include + mkdir -p $TARGET_ARCH + cd $TARGET_ARCH && ln -s ../include . cd $ROOT found=`find_path $cygwin_binary` if [ "$found" = "" ]; then @@ -338,12 +197,6 @@ if [ ! -d $PREFIX ]; then tar xzf $found # urg, bug in gcc's cross-make configuration mkdir -p $PREFIX/lib/gcc-lib/$TARGET_ARCH/2.95.2 - - cd $PREFIX - - # urg, bug in gcc's cross-make configuration - rm -f include - ln -s $PREFIX/$TARGET_ARCH/include . else echo "$PREFIX: already exists" echo "$cygwin_binary: skipping" @@ -366,54 +219,258 @@ if [ ! -d $PREFIX/$TARGET_ARCH ]; then ln -s $PREFIX/$TARGET_ARCH/include . fi -if [ ! -e $NATIVE_PREFIX ]; then - ln -s $ROOT /Cygnus || exit 1 +rm -f $NATIVE_ROOT +if [ ! -e $NATIVE_ROOT ]; then + ln -s $ROOT $NATIVE_ROOT || exit 1 fi +#mv $PREFIX/bin/cygwin1.dll $PREFIX/bin/$CYGWIN_DLL +#mv $PREFIX/bin/mingwc10.dll $PREFIX/bin/$MINGW_DLL + +mkdir -p $ROOT/var/redhat +mkdir -p $PREFIX/src/redhat + +native_config_site='$PREFIX/share/native-config.site' + +ncs=`eval echo $native_config_site` +rm -f $ncs +mkdir -p `dirname $ncs` +cat > $ncs < $base_macros <> $cross_macros <> $native_macros < $native_rpm_dir/cygwin.prov < $native_rpm_dir/cygwin.req < $ncs < $WWW/setup.sh < \$dll/cygwin1.dll +here=\`pwd\` +cd \$ROOT/.. && (PATH=\$dll \$here/rpm2cpio \$here/rpm*.rpm ) | cpio -ivmd +PATH=\$dll rpm --root=\$ROOT --initdb +cd \$here +for i in redhat/RPMS/$ta/*.rpm; do + PATH=\$dll rpm -ivv --ignoreos --ignorearch --nodeps --force\ + --dbpath \$ROOT/var/lib/rpm \ + \$i +done +EOF + +cat > $WWW/setup.bat < $WWW/lilypond.sh < $WWW/midi2ly.sh < $WWW/lilypond.bat < $WWW/midi2ly.bat < # Icon: @package@-icon.gif BuildRoot: /tmp/lilypond-install Prereq: tetex @@ -31,9 +29,10 @@ The documentation of LilyPond, both in HTML and PostScript. %prep %setup %build -./configure --disable-checking --disable-debugging --enable-printing --prefix=/usr --disable-optimise --enable-shared +#./configure --disable-checking --disable-debugging --enable-printing --prefix=/usr --disable-optimise --enable-shared +%{configure} --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --disable-optimise --enable-shared make all -ln -s /usr/share/texmf/fonts/tfm/public/cm/ tfm +ln -s %{_prefix}/share/texmf/fonts/tfm/public/cm/ tfm # urg # %build documentation @@ -48,8 +47,8 @@ rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc strip lily/out/lilypond midi2ly/out/midi2ly -make prefix="$RPM_BUILD_ROOT/usr" install -# gzip -9fn $RPM_BUILD_ROOT/usr/info/* || true +make prefix="$RPM_BUILD_ROOT%{_prefix}" install +# gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/* || true mkdir -p $RPM_BUILD_ROOT/etc/profile.d cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT/etc/profile.d/lilypond.sh @@ -68,11 +67,11 @@ tar -cf - input/ | tar -C out/examples/ -xf- || true touch /tmp/.lilypond-install rm `find /var/lib/texmf -name 'feta*pk -print' -or -name 'feta*tfm -print'` /tmp/.lilypond-install -# /sbin/install-info /usr/info/lilypond.info.gz /usr/info/dir || true +# /sbin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true %preun if [ $1 = 0 ]; then - true # /sbin/install-info --delete /usr/info/lilypond.info.gz /usr/info/dir || true + true # /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true fi @@ -80,20 +79,21 @@ fi # hairy to hook it in (possibly non-existing) emacs %doc mudela-mode.el -/usr/bin/abc2ly -/usr/bin/convert-mudela -/usr/bin/mudela-book -/usr/bin/ly2dvi -/usr/bin/lilypond -/usr/bin/midi2ly -/usr/man/man1/midi2ly.1 -/usr/man/man1/lilypond.1 -/usr/man/man1/mudela-book.1 -/usr/man/man1/ly2dvi.1 -/usr/man/man1/convert-mudela.1 -/usr/share/lilypond/ -/usr/share/locale/*/LC_MESSAGES/lilypond.mo -/etc/profile.d/lilypond.* +%{_prefix}/bin/abc2ly +%{_prefix}/bin/convert-mudela +%{_prefix}/bin/mudela-book +%{_prefix}/bin/ly2dvi +%{_prefix}/bin/lilypond +%{_prefix}/bin/midi2ly +%{_prefix}/man/man1/midi2ly.1 +%{_prefix}/man/man1/lilypond.1 +%{_prefix}/man/man1/mudela-book.1 +%{_prefix}/man/man1/ly2dvi.1 +%{_prefix}/man/man1/convert-mudela.1 +%{_prefix}/share/lilypond/ +%{_prefix}/share/locale/*/LC_MESSAGES/lilypond.mo +# urg? +%{_prefix}/../etc/profile.d/lilypond.* %files documentation # this gets too messy... diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index f0b60d4f8d..6b2886d4cb 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -1,5 +1,3 @@ -dnl WARNING WARNING WARNING WARNING -dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4 dnl aclocal.m4 -*-shell-script-*- dnl StepMake subroutines for configure.in @@ -161,7 +159,7 @@ AC_DEFUN(AC_STEPMAKE_GXX, [ AC_DEFUN(AC_STEPMAKE_GUILE, [ ## First, let's just see if we can find Guile at all. AC_MSG_CHECKING("for guile-config") - for guile_config in guile-config $build-guile-config; do + for guile_config in guile-config $target-guile-config $build-guile-config; do AC_MSG_RESULT("$guile_config") if ! $guile_config --version > /dev/null 2>&1 ; then AC_MSG_WARN("cannot execute $guile_config")