Nouveau forum : https://forum.slackware-fr.eu.org/

Annonce

29/01/2017 : Ce forum est dsormais en lecture seule. Merci d'utiliser le nouveau forum.

13/12/2014 : Inscriptions dsactives pour un moment en raison d'une recrudescence d'inscriptions plus que douteuses.

#1 08-06-2009 19:03:38

apostle
Slorg
Lieu: BouduCon Land
Date d'inscription: 02-11-2008
Messages: 110
Site web

[SlackBuild] amSynth

Pour les bidouilleurs de son : amSynth, un synth virtuel analogique assez fantastique dans sa dernire version. amSynth requiert gtkmm, optionnellement libsndfile si vous voulez sortir du .WAV et JACK doit tre install lors de la compilation si vous prvoyez de l'utiliser conjointement.
Comme l'accoutume, le paquet gnr est un .txz (que vous pouvez changer en .tgz la fin du SlackBuild si vous tes en 12.2).

Le patch amsynth.diff

Code:

diff -ur amSynth-1.2.1/src/GUI/PresetControllerView.cc amSynth-1.2.1-mod/src/GUI/PresetControllerView.cc
--- amSynth-1.2.1/src/GUI/PresetControllerView.cc    2006-12-22 08:32:59.000000000 -0800
+++ amSynth-1.2.1-mod/src/GUI/PresetControllerView.cc    2008-12-24 01:29:06.000000000 -0800
@@ -8,7 +8,7 @@
 #include <stdio.h>
 #include <iostream>
 
-using SigC::slot;
+using sigc::slot;
 using sigc::bind;
 using std::cout;
 using namespace std;
diff -ur amSynth-1.2.1/src/MidiController.cc amSynth-1.2.1-mod/src/MidiController.cc
--- amSynth-1.2.1/src/MidiController.cc    2006-12-22 08:32:59.000000000 -0800
+++ amSynth-1.2.1-mod/src/MidiController.cc    2008-12-24 01:30:23.000000000 -0800
@@ -5,6 +5,7 @@
 #include "MidiController.h"
 #include <fstream>
 #include <assert.h>
+#include <stdlib.h>
 
 using namespace std;
 
diff -ur amSynth-1.2.1/src/Parameter.cc amSynth-1.2.1-mod/src/Parameter.cc
--- amSynth-1.2.1/src/Parameter.cc    2006-12-22 08:32:59.000000000 -0800
+++ amSynth-1.2.1-mod/src/Parameter.cc    2008-12-24 01:32:08.000000000 -0800
@@ -8,6 +8,8 @@
 #include <iostream>
 #endif
 
+#include <stdlib.h>
+
 Parameter::Parameter    (string name, Param id, float value, float min, float max, float inc, ControlType type, float base, float offset, string label)
 :    mParamId    (id)
 ,    _name        (name)
diff -ur amSynth-1.2.1/src/VoiceAllocationUnit.cc amSynth-1.2.1-mod/src/VoiceAllocationUnit.cc
--- amSynth-1.2.1/src/VoiceAllocationUnit.cc    2006-12-22 08:32:59.000000000 -0800
+++ amSynth-1.2.1-mod/src/VoiceAllocationUnit.cc    2008-12-24 01:34:47.000000000 -0800
@@ -11,6 +11,7 @@
 #include <iostream>
 #include <math.h>
 #include <assert.h>
+#include <string.h>
 
 using namespace std;

Le SlackBuild

Code:

#! /bin/sh
#
# Redistribution and use of this software, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this software must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
#  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
#  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO
#  EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
#  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
#  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
#  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
#  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
#  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
#  ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
# Latest amSynth sourcecode is available at:
# http://amsynthe.sourceforge.net/amSynth/?p=download
#
# frenchslack AT free DOT fr
#
# Depends: gtkmm
# Suggests: libsndfile, jack-audio-connection-kit

set -e
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=${PKG:-$TMP/package-amsynth}
OUT=${OUT:-$TMP/build}

# version on the tarball
VERSION=${VERSION:-1.2.1}
# version used in the source directory to cd into
DIRVER=${DIRVER:-1.2.1}
# version used for the Slackware package
PKGVER=${PKGVER:-1.2.1}

# target
ARCH=${ARCH:-i486}
TARGET=${TARGET:-i486}
BUILD=${BUILD:-1sfo}

# set tarball download link
SOURCE=${SOURCE:-http://downloads.sourceforge.net/amsynthe/amSynth-1.2.1.tar.gz}
ARCHIVE=$(basename $SOURCE)

DOCS=${DOCS:- AUTHORS ChangeLog COPYING INSTALL NEWS README}

# sanity checks
if [ "$(id -u)" = "0" ]; then
    echo "Do not run this SlackBuild as ROOT !"
    exit 1
fi

if [ ! -d $TMP ]; then
    mkdir -p $TMP
fi

# download the tarball if it's not found
if [ ! -r $ARCHIVE ]; then
    echo "Downloading $ARCHIVE..."
    rm -f $ARCHIVE.part
    wget -vc $SOURCE -O $ARCHIVE.part
    mv $ARCHIVE.part $ARCHIVE
fi

# check SHA1 sums
if [ -r $ARCHIVE.sha1 ]; then
    sha1sum -c $ARCHIVE.sha1
else
    echo "$ARCHIVE.sha1 SHA1 sums not found !"
    exit 1
fi

if [ "$ARCH" = "i386" ]; then
    SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
elif [ "$ARCH" = "i486" ]; then
    SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "$ARCH" = "i686" ]; then
    SLKCFLAGS="-O2 -march=i686 -mtune=i686"
elif [ "$ARCH" = "x86_64" ]; then
    SLKCFLAGS="-O2"
fi

# cleanup
rm -rf $PKG
mkdir -p $PKG

# extraction
cd $TMP
rm -rf amSynth-$DIRVER
tar -xvf $CWD/amSynth-$VERSION.tar.gz
cd amSynth-$DIRVER

# make sure ownerships and permissions are sane
chmod -R a-s,u+rw,go-w+r .

# patch some crap
cat $CWD/amsynth.diff | patch -p1

# configure
CFLAGS=$SLKCFLAGS \
CXXFLAGS=$SLKCFLAGS \
./configure \
  --prefix=/usr \
  --sysconfdir=/etc \
  --localstatedir=/var \
  --datarootdir=/usr/share/amSynth \
  --enable-static=no

# build and install
make -j3
make DESTDIR=$PKG install

# strip binaries
echo "Stripping binaries..."
find $PKG -type f | xargs file | grep "LSB executable" | cut -f 1 -d : | \
    xargs strip --strip-unneeded 2> /dev/null || \
    echo "No binaries to strip..."

# add a documentation directory
echo "Adding documentation package..."
mkdir -p $PKG/usr/doc/amsynth-$PKGVER
install -p -m 644 $DOCS $PKG/usr/doc/amsynth-$PKGVER

# build the package
mkdir -p $PKG/install
if [ -r $CWD/slack-desc ]; then
    install -m 644 $CWD/slack-desc $PKG/install
fi

if [ -r $CWD/doinst.sh ]; then
    install -m 755 $CWD/doinst.sh $PKG/install
fi
cd $PKG

PACKAGING="
    chown -R root.root .
    find . -perm 664 -exec chmod 644 {} \;
    find . -perm 777 -exec chmod 755 {} \;
    mkdir -p $OUT
    rm -f                   $OUT/amsynth-$PKGVER-$ARCH-$BUILD.txz
    /sbin/makepkg -l y -c n $OUT/amsynth-$PKGVER-$ARCH-$BUILD.txz
    rm -rf $PKG
    rm -rf $TMP/amSynth-$DIRVER
"

if [ "$(which fakeroot 2> /dev/null)" ]; then
    echo "$PACKAGING" | fakeroot
else
    su -c "$PACKAGING"
fi

exit 0

amSynth-1.2.1.tar.gz.sha1

Code:

7dab706ecf677df6c2d62a3269f3460fd9b026ff  amSynth-1.2.1.tar.gz

slack-desc

Code:

       |-----handy-ruler------------------------------------------------------|
amSynth: amSynth (Analogue Modeling SYNTHesizer)
amSynth: 
amSynth: AMSynth provides virtual analogue synthesis in the style of the 
amSynth: classic Moog Minimoog/Roland Junos. It offers an easy-to-use
amSynth: interface and synth engine, while still creating varied sounds.
amSynth:
amSynth:
amSynth:
amSynth:
amSynth:
amSynth:

Dernire modification par apostle (09-06-2009 16:06:06)


slackware-current - since 7 (pas Ouinnedose hein, la Slack 7.0) -

Hors ligne

 

#2 09-06-2009 08:57:02

Thom1
Administrateur
Date d'inscription: 21-09-2007
Messages: 524
Site web

Re: [SlackBuild] amSynth

Salut,

Tu peux prcis dans le Sb qu'il dpend de gtkmm et que libsndfile est suggr (Depends et Suggests).

Je ne sais pas si tu es parti d'un Sb de amSynth existant ou si tu l'as fait toi-mme mais j'aurais trouv plus judicieux de te baser sur le Sb gnrique propos. Ceci n'est que mon avis personnelle, aprs c'est une question de choix, du moment qu'il marche, c'est le principal smile

Si tu l'as dj bien test sur une slack-12.2 vanilla et full de chez full install et qu'il donne un paquet nickel et prt--l'emploi, tu peux le mettre sur le svn.

Hors ligne

 

#3 10-06-2009 14:21:18

Tsomi
Membre trs actif
Date d'inscription: 09-08-2006
Messages: 684

Re: [SlackBuild] amSynth

Hello,

J'avais justement cherch installer amSynth la semaine passe, mais j'ai eu plusieurs soucis au niveau de gtkmm et ses (nombreuses) dpendances. En gros, celles ci ne compilaient plus avec le GCC de la -current.

Mais il semblerait que tu l'utilises bien en -current. Donc je me demande si c'est d au fait que je sois en 64 bits ? Ou alors tu utilises un gtkmm qui a t compil avec une version plus ancienne de GCC ? Peut-tre avais-tu compil gtkmm et ses dpendances alors que tu tais encore en 12.2 ?

En tout cas, la version de gtkmm prsente sur le SVN ne compile pas en -current, ici. Je n'ai pas trouv de patch, et je ne trouve pas a trs propre d'utiliser une ancienne version de GCC (g++ devient de plus en plus strict). Au pire je tenterai de mettre jour gtkmm, mais vu qu'on tape dans du Gnome, a risque de demander de mettre 12 autres choses jour aussi...

Hors ligne

 

#4 10-06-2009 18:59:00

Mushroom
Administrateur
Date d'inscription: 15-10-2005
Messages: 2158

Re: [SlackBuild] amSynth

Salut,

Normalement, il n'y a que 3 dpendances gtkmm (gnome provided) :

glibmm
cairomm
libsigc++

Et, peut-tre, gc...

Hors ligne

 

#5 11-06-2009 02:17:14

apostle
Slorg
Lieu: BouduCon Land
Date d'inscription: 02-11-2008
Messages: 110
Site web

Re: [SlackBuild] amSynth

Salut,

Tsomi a crit:

Hello,
Mais il semblerait que tu l'utilises bien en -current. Donc je me demande si c'est d au fait que je sois en 64 bits ? Ou alors tu utilises un gtkmm qui a t compil avec une version plus ancienne de GCC ? Peut-tre avais-tu compil gtkmm et ses dpendances alors que tu tais encore en 12.2 ?

En tout cas, la version de gtkmm prsente sur le SVN ne compile pas en -current, ici. Je n'ai pas trouv de patch, et je ne trouve pas a trs propre d'utiliser une ancienne version de GCC (g++ devient de plus en plus strict). Au pire je tenterai de mettre jour gtkmm, mais vu qu'on tape dans du Gnome, a risque de demander de mettre 12 autres choses jour aussi...

Je suis en -current et constamment jour depuis, disons, dcembre 2008 mais la version de GCC a chang entretemps, ceci expliquant peut-tre cela.
tant donn que GCC est rest en 4.3.x, je peux te fournir le paquet de amSynth directement pour -current si a t'intresse (compil avec le support de jack-audio-connection-kit et libsndfile).

Mon gtkmm a t compil le 5 mars pour info (avec l'ensemble de gnome-minimal d'ailleurs, grce aux scripts de notre site prfr). Tu peux fouiner parmi mes paquets ici : http://poopy.fr/telechargements/frenchs … me-minimal

Pour ce qui est de mettre jour gtkmm et le reste je m'y suis cass les dents et n'ai ni le courage ni la patience de me lancer l-dedans, j'attends une mise jour de gnome-minimal de SFo (hein Hitek ? wink).


slackware-current - since 7 (pas Ouinnedose hein, la Slack 7.0) -

Hors ligne

 

#6 11-06-2009 11:22:57

Tsomi
Membre trs actif
Date d'inscription: 09-08-2006
Messages: 684

Re: [SlackBuild] amSynth

Bon je vais retenter la compilation de gtkmm & cie, alors smile Je dirai ce qu'il en est.

Pour les paquets, malheureusement, je suis en 64 bits, mais merci quand mme wink

Hors ligne

 

#7 19-08-2009 01:12:31

apostle
Slorg
Lieu: BouduCon Land
Date d'inscription: 02-11-2008
Messages: 110
Site web

Re: [SlackBuild] amSynth

Pour info, la nouvelle 1.2.2 compile dsormais sans patch ! \o/


slackware-current - since 7 (pas Ouinnedose hein, la Slack 7.0) -

Hors ligne