]> gitweb.fluxo.info Git - slackbuilds.git/commitdiff
merging with changes made since 21th May
authorrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>
Wed, 3 Sep 2008 03:50:43 +0000 (03:50 +0000)
committerrhatto <rhatto@370017ae-e619-0410-ac65-c121f96126d4>
Wed, 3 Sep 2008 03:50:43 +0000 (03:50 +0000)
git-svn-id: svn+slack://slack.fluxo.info/var/svn/slackbuilds@1903 370017ae-e619-0410-ac65-c121f96126d4

280 files changed:
app/admin/hddtemp/hddtemp.SlackBuild
app/admin/hddtemp/hddtemp.db [new file with mode: 0644]
app/admin/syslog-ng/logrotate.d/syslog-ng [new file with mode: 0644]
app/admin/syslog-ng/rc.syslog-ng.new [new file with mode: 0644]
app/admin/syslog-ng/slack-required [new file with mode: 0644]
app/admin/syslog-ng/syslog-ng-anon-2.0.6.diff [new file with mode: 0644]
app/admin/syslog-ng/syslog-ng.SlackBuild [new file with mode: 0755]
app/admin/syslog-ng/syslog-ng.conf.new [new file with mode: 0644]
app/arch/unrar-gpl/unrar-gpl.SlackBuild [new file with mode: 0644]
app/crypt/pgpdump/pgpdump.SlackBuild
app/emulation/wine/wine.SlackBuild
app/office/broffice/broffice.SlackBuild
app/text/enchant/enchant.SlackBuild [new file with mode: 0644]
app/text/enchant/slack-required [new file with mode: 0644]
app/text/gtkspell/gtkspell.SlackBuild [new file with mode: 0644]
app/text/gtkspell/slack-required [new file with mode: 0644]
app/text/rarian/rarian.SlackBuild
dev/cpp/cairomm/cairomm.SlackBuild
dev/cpp/glademm/glademm.SlackBuild [new file with mode: 0755]
dev/cpp/glademm/slack-required [new file with mode: 0644]
dev/cpp/glibmm/glibmm.SlackBuild
dev/cpp/gtkmm/gtkmm.SlackBuild
dev/cpp/gtkmm/slack-required
dev/db/sqlite/sqlite.SlackBuild
dev/lang/yasm/yasm.SlackBuild
dev/libs/boost/boost.SlackBuild
dev/libs/boost/boost_custom_jam_rule.diff [new file with mode: 0644]
dev/libs/check/check.SlackBuild [new file with mode: 0755]
dev/libs/directfb-extra/DirectFB-extra.SlackBuild [new file with mode: 0644]
dev/libs/directfb-extra/slack-required [new file with mode: 0644]
dev/libs/directfb/DirectFB.SlackBuild [new file with mode: 0755]
dev/libs/eet/eet.SlackBuild
dev/libs/eventlog/eventlog.SlackBuild [new file with mode: 0755]
dev/libs/exml/exml.SlackBuild
dev/libs/exml/slack-required
dev/libs/libgweather/libgweather.SlackBuild [new file with mode: 0644]
dev/libs/libgweather/slack-required [new file with mode: 0644]
dev/libs/libtasn1/libtasn1.SlackBuild [new file with mode: 0644]
dev/python/configobj/configobj.SlackBuild [new file with mode: 0755]
dev/python/db3/db3.SlackBuild [new file with mode: 0644]
dev/python/epsilon/epsilon.SlackBuild
dev/python/epsilon/slack-required
dev/python/genshi/Genshi.SlackBuild [new file with mode: 0755]
dev/python/genshi/slack-required [new file with mode: 0644]
dev/python/mysql-python/MySQL-python.SlackBuild [new file with mode: 0644]
dev/python/mysql-python/slack-required [new file with mode: 0644]
dev/python/numpy/numpy.SlackBuild
dev/python/numpy/slack-required
dev/python/pygments/Pygments.SlackBuild [new file with mode: 0755]
dev/python/pyrex/Pyrex.SlackBuild
dev/python/pyrex/slack-required [new file with mode: 0644]
dev/python/pythondialog/pythondialog.SlackBuild [new file with mode: 0644]
dev/python/setuptools/setuptools.SlackBuild
dev/python/visual/slack-required [new file with mode: 0644]
dev/python/visual/visual.SlackBuild [new file with mode: 0644]
dev/tcltk/tls/tls.SlackBuild [new file with mode: 0644]
dev/util/eclipse/eclipse.SlackBuild
dev/util/gazpacho/gazpacho.SlackBuild [new file with mode: 0644]
dev/util/gazpacho/slack-required [new file with mode: 0644]
dev/util/glade/glade.SlackBuild
dev/util/glade/slack-required
dev/util/scons/scons.SlackBuild
gnome/base/eel/eel.SlackBuild [new file with mode: 0644]
gnome/base/eel/slack-required [new file with mode: 0644]
gnome/base/gnome-keyring/gnome-keyring.SlackBuild [new file with mode: 0644]
gnome/base/gnome-keyring/slack-required [new file with mode: 0644]
gnome/base/gnome-menus/gnome-menus.SlackBuild [new file with mode: 0644]
gnome/base/gnome-menus/slack-required [new file with mode: 0644]
gnome/base/libbonobo/libbonobo.SlackBuild
gnome/base/orbit/ORBit2.SlackBuild
mail/client/sylpheed/slack-required
mail/client/sylpheed/sylpheed.SlackBuild
mail/mta/msmtp/msmtp.SlackBuild
media/gfx/exiv2/exiv2.SlackBuild
media/gfx/gphoto2/gphoto2.SlackBuild
media/gfx/gqview/gqview.SlackBuild
media/gfx/gtkam/gtkam.SlackBuild
media/gfx/gtkam/slack-required
media/gfx/gwenview/gwenview.SlackBuild [new file with mode: 0644]
media/libs/aubio/aubio.SlackBuild [new file with mode: 0755]
media/libs/aubio/slack-required [new file with mode: 0644]
media/libs/edje/edje.SlackBuild
media/libs/edje/slack-required
media/libs/efreet/efreet.SlackBuild
media/libs/efreet/slack-required
media/libs/embryo/embryo.SlackBuild
media/libs/embryo/slack-required
media/libs/emotion/emotion.SlackBuild
media/libs/emotion/slack-required [new file with mode: 0644]
media/libs/faad2/faad2-2.6.1.diff [new file with mode: 0644]
media/libs/faad2/faad2.SlackBuild
media/libs/glitz/glitz.SlackBuild
media/libs/gst-ffmpeg/gst-ffmpeg.SlackBuild [new file with mode: 0644]
media/libs/gst-ffmpeg/slack-required [new file with mode: 0644]
media/libs/gst-plugins-bad/gst-plugins-bad.SlackBuild [new file with mode: 0755]
media/libs/gst-plugins-bad/slack-required [new file with mode: 0644]
media/libs/gst-plugins-base/gst-plugins-base.SlackBuild [new file with mode: 0755]
media/libs/gst-plugins-base/slack-required [new file with mode: 0644]
media/libs/gst-plugins-good/gst-plugins-good.SlackBuild [new file with mode: 0755]
media/libs/gst-plugins-good/slack-required [new file with mode: 0644]
media/libs/gst-plugins-ugly/gst-plugins-ugly.SlackBuild [new file with mode: 0755]
media/libs/gst-plugins-ugly/slack-required [new file with mode: 0644]
media/libs/gstreamer/gstreamer.SlackBuild [new file with mode: 0755]
media/libs/ilmbase/ilmbase.SlackBuild [new file with mode: 0755]
media/libs/imlib2/imlib2.SlackBuild
media/libs/ladspa/ladspa.SlackBuild
media/libs/libdv/libdv.SlackBuild
media/libs/libdvbpsi/libdvbpsi.SlackBuild [new file with mode: 0755]
media/libs/libexif-gtk/libexif-gtk.SlackBuild
media/libs/libgphoto2/libgphoto2.SlackBuild
media/libs/libiec61883/libiec61883.SlackBuild
media/libs/libiec61883/slack-required
media/libs/libjackasyn/libjackasyn.SlackBuild
media/libs/libjackasyn/slack-required
media/libs/libkipi/libkipi.SlackBuild
media/libs/liblo/liblo.SlackBuild
media/libs/liblrdf/liblrdf.SlackBuild
media/libs/liblrdf/slack-required
media/libs/libopenraw/libopenraw.SlackBuild [new file with mode: 0644]
media/libs/libopenraw/slack-required [new file with mode: 0644]
media/libs/libquicktime/libquicktime.SlackBuild
media/libs/libquicktime/slack-required
media/libs/libsamplerate/libsamplerate.SlackBuild
media/libs/libsndfile/libsndfile.SlackBuild
media/libs/libx264/libx264.SlackBuild
media/libs/libx264/slack-required
media/libs/openexr/openexr.SlackBuild
media/libs/openexr/slack-required [new file with mode: 0644]
media/libs/raptor/raptor.SlackBuild
media/libs/smpeg/smpeg.SlackBuild
media/libs/speex/speex.SlackBuild
media/libs/unicap/unicap.SlackBuild [new file with mode: 0755]
media/libs/zvbi/zvbi.SlackBuild [new file with mode: 0755]
media/plugins/swfdec-mozilla/slack-required
media/plugins/swfdec-mozilla/swfdec-mozilla.SlackBuild
media/plugins/swfdec/slack-required
media/plugins/swfdec/swfdec.SlackBuild
media/plugins/swh-plugins/slack-required
media/plugins/swh-plugins/swh-plugins.SlackBuild
media/plugins/xmms-jack/slack-required
media/plugins/xmms-jack/xmms-jack.SlackBuild
media/plugins/xmms-jackasyn/slack-required
media/plugins/xmms-jackasyn/xmms-jackasyn.SlackBuild
media/radio/gnuradio/gnuradio.SlackBuild
media/sound/ardour/ardour.SlackBuild
media/sound/ardour/slack-required
media/sound/audacity/audacity.SlackBuild
media/sound/camp/camp.SlackBuild
media/sound/cmt/cmt.SlackBuild
media/sound/cmt/slack-required
media/sound/darkice/darkice.SlackBuild
media/sound/darkice/slack-required
media/sound/darksnow/darksnow.SlackBuild
media/sound/darksnow/slack-required
media/sound/envy24control/envy24control.SlackBuild
media/sound/hydrogen/hydrogen-0.9.3.diff
media/sound/hydrogen/hydrogen.SlackBuild
media/sound/hydrogen/slack-required
media/sound/jack-rack/jack-rack.SlackBuild
media/sound/jack-rack/slack-required
media/sound/jack/jack.SlackBuild
media/sound/lame/lame.SlackBuild
media/sound/lmms/lmms.SlackBuild
media/sound/lmms/slack-required
media/sound/mp3blaster/mp3blaster.SlackBuild
media/sound/pulseaudio/pulseaudio-0.9.10.diff [new file with mode: 0644]
media/sound/pulseaudio/pulseaudio.SlackBuild [new file with mode: 0755]
media/sound/qjackctl/qjackctl.SlackBuild
media/sound/qjackctl/slack-required
media/sound/tempest_for_eliza/tempest_for_eliza.SlackBuild
media/sound/twolame/twolame.SlackBuild
media/tv/tvtime/tvtime.SlackBuild [new file with mode: 0644]
media/video/cinelerra/cinelerra.SlackBuild
media/video/cinelerra/slack-required
media/video/dvgrab/dvgrab.SlackBuild
media/video/dvgrab/slack-required
media/video/ffmpeg/ffmpeg.SlackBuild
media/video/ffmpeg/slack-required
media/video/ffmpeg2theora/ffmpeg2theora.SlackBuild
media/video/ffmpeg2theora/slack-required
media/video/kino/kino.SlackBuild
media/video/kino/slack-required
media/video/mjpegtools/mjpegtools.SlackBuild
media/video/mjpegtools/slack-required
media/video/mplayer/MPlayer.SlackBuild
media/video/mplayer/slack-required
media/video/oggfwd/oggfwd.SlackBuild
media/video/oggfwd/slack-required
media/video/theorur/slack-required
media/video/theorur/theorur.SlackBuild
media/video/ucview/slack-required [new file with mode: 0644]
media/video/ucview/ucview.SlackBuild [new file with mode: 0755]
media/video/vlc/vlc.SlackBuild
net/analyzer/nagios-plugins/nagios-plugins.SlackBuild
net/analyzer/nagios/nagios.SlackBuild
net/firewall/arno-iptables-firewall/arno-iptables-firewall.SlackBuild
net/im/bitlbee/bitlbee-1.2.1-x86_64.diff [new file with mode: 0644]
net/im/bitlbee/bitlbee.SlackBuild
net/im/feast/feast.SlackBuild
net/im/feast/slack-required
net/im/pidgin/pidgin.SlackBuild [new file with mode: 0644]
net/libs/libsoup/libsoup.SlackBuild
net/libs/libsoup/slack-required [new file with mode: 0644]
net/mail-filter/bogofilter/bogofilter.SlackBuild
net/mail-filter/bogofilter/slack-required [new file with mode: 0644]
net/mail/mairix/mairix.SlackBuild
net/mail/offlineimap/offlineimap.SlackBuild [new file with mode: 0755]
net/misc/tor/slack-required
net/misc/tor/tor.SlackBuild
net/p2p/nicotine+/nicotine+.SlackBuild [new file with mode: 0755]
net/p2p/nicotine/nicotine.SlackBuild
net/proxy/privoxy/privoxy.SlackBuild
net/proxy/tsocks/tsocks.SlackBuild
net/www/gnash/gnash-0.8.3.diff [new file with mode: 0644]
net/www/gnash/gnash.SlackBuild
net/www/gnash/slack-required [new file with mode: 0644]
net/www/mplayerplug-in/mplayerplug-in.SlackBuild
others/generic/generic.SlackBuild
others/unclassified/exempi/exempi.SlackBuild [new file with mode: 0644]
patches/glib2/glib2.SlackBuild [new file with mode: 0644]
patches/gnutls/gnutls.SlackBuild [new file with mode: 0755]
patches/libgcrypt/libgcrypt.SlackBuild [new file with mode: 0755]
patches/libpng/libpng.SlackBuild
patches/libxml2/libxml2.SlackBuild [new file with mode: 0755]
patches/libxslt/libxslt.SlackBuild [new file with mode: 0755]
patches/openssl/certwatch.gz [new file with mode: 0644]
patches/openssl/doinst.sh-openssl-solibs.gz [new file with mode: 0644]
patches/openssl/doinst.sh-openssl.gz [new file with mode: 0644]
patches/openssl/openssl.SlackBuild
patches/openssl/openssl.soname.diff.gz
patches/pcre/pcre.SlackBuild [new file with mode: 0755]
patches/php/php.SlackBuild
sci/astronomy/stellarium/slack-required [new file with mode: 0644]
sci/astronomy/stellarium/stellarium.SlackBuild
sci/electronics/gtkwave/gtkwave.SlackBuild
sci/libs/fftw/fftw.SlackBuild
sci/libs/lapack/lapack.SlackBuild [new file with mode: 0644]
sci/mathematics/octave/octave.SlackBuild
sys/boot/grub/grub.SlackBuild
sys/fs/cryptsetup-luks/cryptsetup-luks.SlackBuild [new file with mode: 0755]
sys/fs/cryptsetup/cryptsetup.SlackBuild
sys/kernel/kernel-satan/config-2.6.22.19-vs2.2.0.6
sys/process/anacron/anacron.SlackBuild
www/apps/trac/Trac.SlackBuild [new file with mode: 0755]
www/apps/trac/slack-required
www/apps/tracaccountmanager/TracAccountManager.SlackBuild [new file with mode: 0755]
www/apps/tracaccountmanager/slack-required [new file with mode: 0644]
www/apps/tracpageauthzeditor/TracPageAuthzEditor.SlackBuild [new file with mode: 0755]
www/apps/tracpageauthzeditor/slack-required [new file with mode: 0644]
x11/apps/xev/xev.SlackBuild [new file with mode: 0644]
x11/libs/agg/agg.SlackBuild [new file with mode: 0755]
x11/libs/ecore/ecore.SlackBuild
x11/libs/ecore/slack-required
x11/libs/esmart/esmart.SlackBuild
x11/libs/esmart/slack-required
x11/libs/etk/etk.SlackBuild
x11/libs/etk/slack-required
x11/libs/evas/evas.SlackBuild
x11/libs/evas/slack-required
x11/libs/ewl/ewl.SlackBuild
x11/libs/ewl/slack-required
x11/libs/gtkglext/gtkglext.SlackBuild [new file with mode: 0644]
x11/libs/gtkglext/slack-required [new file with mode: 0644]
x11/libs/libast/libast.SlackBuild
x11/libs/qt4/qt4.SlackBuild [new file with mode: 0644]
x11/libs/wxwidgets/wxWidgets.SlackBuild
x11/misc/entrance/entrance.SlackBuild
x11/misc/entrance/slack-required
x11/misc/xbindkeys/slack-required [new file with mode: 0644]
x11/misc/xbindkeys/xbindkeys.SlackBuild [new file with mode: 0644]
x11/terms/aterm/aterm.SlackBuild [new file with mode: 0644]
x11/terms/eterm/Eterm.SlackBuild [new file with mode: 0755]
x11/terms/eterm/slack-required [new file with mode: 0644]
x11/themes/gnome-themes/gnome-themes.SlackBuild [new file with mode: 0644]
x11/themes/gnome-themes/slack-required [new file with mode: 0644]
x11/themes/gtk-engines/gtk-engines.SlackBuild [new file with mode: 0644]
x11/wm/afterstep/AfterStep.SlackBuild [new file with mode: 0644]
x11/wm/enlightenment/enlightenment.SlackBuild
x11/wm/enlightenment/slack-required
x11/wm/metacity/metacity.SlackBuild [new file with mode: 0644]

index a9b61f7fb15d840d376a465ed07d6f973bcbb15e..874fb76c50fb6405175079580b247b2a20dae337 100755 (executable)
@@ -84,50 +84,6 @@ if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-# Import minimized signing key from
-if echo [[SIGNING KEY URL]] | grep -q -v "SIGNING KEY URL"; then
-  lynx -dump [[SIGNING KEY URL]] | gpg --import || exit $ERROR_GPG
-elif echo [[SIGNING KEY ID]] | grep -q -v "SIGNING KEY ID"; then
-  gpg --recv-keys [[SIGNING KEY ID]] || exit $ERROR_GPG
-else
-  gpg --import << EOKEY || exit $ERROR_GPG
-[[SIGNING KEY]]
-EOKEY
-fi
-
-# Download source's signature if necessary and check it
-if echo http://download.savannah.gnu.org/releases/hddtemp | grep -q -v "SIGNING URL"; then
-  SIGNATURE="`basename http://download.savannah.gnu.org/releases/hddtemp`"
-  if [ ! -s "$SRC_DIR/$SIGNATURE" ]; then
-    wget "http://download.savannah.gnu.org/releases/hddtemp" -O "$SRC_DIR/$SIGNATURE" || exit $ERROR_WGET
-  fi
-else
-  if [ -s "$SRC_DIR/$SRC.sig" ]; then
-    SIGNATURE="$SRC.sig"
-  elif [ -s "$SRC_DIR/$SRC.asc" ]; then
-    SIGNATURE="$SRC.asc"
-  else
-    echo Trying to get signature file from $URL.sig...
-    if wget "$URL.sig" -O "$SRC_DIR/$SRC.sig"; then
-      SIGNATURE="$SRC.sig"
-    else
-      rm $SRC_DIR/$SRC.sig
-      echo Trying to get signature file from $URL.asc...
-      if wget "$URL.asc" -O "$SRC_DIR/$SRC.asc"; then
-        SIGNATURE="$SRC.asc"
-      else
-        rm $SRC_DIR/$SRC.asc
-        echo "Error getting source's signature file"
-        exit $ERROR_GPG
-      fi
-    fi
-  fi
-fi
-
-echo Checking $SRC_DIR/$SRC with gpg using $SRC_DIR/$SIGNATURE...
-gpg --verify "$SRC_DIR/$SIGNATURE" "$SRC_DIR/$SRC" || exit $ERROR_GPG
-echo Success.
-
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
@@ -148,7 +104,11 @@ make install DESTDIR="$PKG" || exit $ERROR_INSTALL
 
 # Get new hddtemp.db
 mkdir -p $PKG/usr/share/misc
-wget http://download.savannah.gnu.org/releases/hddtemp/hddtemp.db -P $PKG/usr/share/misc/
+if [ ! -e $CWD/hddtemp.db ]; then
+  wget http://download.savannah.gnu.org/releases/hddtemp/hddtemp.db -P $CWD/ || exit $ERROR_WGET
+fi
+mkdir -p $PKG/usr/share/misc
+cp $CWD/hddtemp.db $PKG/usr/share/misc/
 
 # Strip binaries
 ( cd "$PKG"
diff --git a/app/admin/hddtemp/hddtemp.db b/app/admin/hddtemp/hddtemp.db
new file mode 100644 (file)
index 0000000..4a061cf
--- /dev/null
@@ -0,0 +1,523 @@
+#
+# Insert a regular expression for support of the model or the serie of your hard drive.
+# If you don't know what to put in the second field, put the number
+# that appears most often for your brand :o)
+# A value of zero meens that we know that the drive doesn't have
+# a temperature sensor (you can set the unit to C or F).
+#
+############################################################################
+# The following list was found at (http://www.almico.com/forumharddisks.php)
+# If your drive is in the list send me a mail.
+#
+# Manufacturer  Model   Size   Notes
+# FUJITSU FUJITSU MPF3102AH 10.0GB
+# FUJITSU FUJITSU MPG3204AH E 20.0GB
+# FUJITSU FUJITSU MPG3307AT 30.0GB
+# FUJITSU FUJITSU MPG3409AH 40.0GB
+# FUJITSU FUJITSU MPG3409AH EF 40.0GB
+# HITACHI HITACHI_DK23CA-10 9.8GB
+# HITACHI HITACHI_DK23CA-15 14.7GB
+# SAMSUNG SAMSUNG SV3012H 29.4GB
+# SEAGATE ST310210A 10.0GB
+# SEAGATE ST310211A 9.8GB
+# SEAGATE ST310215A 10.0GB
+# SEAGATE ST315320A 14.9GB
+# SEAGATE ST320410A 19.6GB
+# SEAGATE ST320413A 19.6GB
+# SEAGATE ST320420A 19.9GB
+# SEAGATE ST330610A 29.3GB
+# SEAGATE ST330620A 29.3GB
+# SEAGATE ST330621A 29.3GB
+# SEAGATE ST330630A 29.9GB
+# SEAGATE ST340016A 39.1GB
+# SEAGATE ST340810ACE 39.1GB
+# SEAGATE ST380020ACE 78.2GB
+# WESTERN DIGITAL WDC AC210200D 10.0GB
+# WESTERN DIGITAL WDC AC29100D 8.9GB
+# WESTERN DIGITAL WDC AC420400D 19.9GB
+# WESTERN DIGITAL WDC WD102AA 10.0GB
+#
+#################################################
+
+########################################
+############# ExcelStor drives
+########################################
+# "ExcelStor Technology CT215"   ??? ? "ExcelStor CT215"
+"ExcelStor Technology J3.0" 194 C "ExcelStor Technology 3xy (xy GB)"
+"ExcelStor Technology J6.0" 194 C "ExcelStor Technology 6xy (xy GB)"
+"ExcelStor Technology J680" 194 C "ExcelStor Technology J680 (80 GB)"
+"ExcelStor Technology J860" 194 C "ExcelStor Technology J860 (60 GB)"
+"ExcelStor Technology J880" 194 C "ExcelStor Technology J880 (80 GB)"
+
+
+
+########################################
+############# Fujitsu drives
+########################################
+"FUJITSU MHM2100AT"            0    C  "Fujitsu MHM2100AT"
+
+"FUJITSU MHN2150AT"            194  C  "Fujitsu MHN2150AT"
+"FUJITSU MHN2200AT"            194  C  "Fujitsu MHN2200AT"
+"FUJITSU MHN2300AT"            194  C  "Fujitsu MHN2300AT"
+
+"FUJITSU MHR2020AT"            194  C  "Fujitsu MHR2020AT"
+"FUJITSU MHR2030AT"            194  C  "Fujitsu MHR2030AT"
+
+"FUJITSU MHS2030AT"            194  C  "Fujitsu MHS2030AT"
+"FUJITSU MHS2040AT"            194  C  "Fujitsu MHS2040AT"
+"FUJITSU MHS2060AT"            194  C  "Fujitsu MHS2060AT (Apple PowerBook G4)"
+
+"FUJITSU MHT2030AC"            194  C  "Fujitsu Mobile 30GB, 2MB, 4200RPM (automotive)"
+
+"FUJITSU MHT2030AT"            194  C  "Fujitsu MHT2030AT"
+"FUJITSU MHT2040AH"            194  C  "Fujitsu MHT2040AH"
+"FUJITSU MHT2040AT"            194  C  "Fujitsu MHT2040AT"
+"FUJITSU MHT2060AH"            194  C  "Fujitsu MHT2060AH"
+"FUJITSU MHT2060AT"            194  C  "Fujitsu MHT2060AT"
+"FUJITSU MHT2080AH"            194  C  "Fujitsu MHT2080AH"
+
+"FUJITSU MHU2100AT"            194  C  "Fujitsu MHU2100AT 100GB, 8MB (4200RPM)"
+
+"FUJITSU MHV2100AH"            194  C  "FUJITSU MHV2100AH" 
+"FUJITSU MHV2100AT"            194  C  "FUJITSU MHV2100AT" 
+"FUJITSU MHV2080[AB]H"         194  C  "FUJITSU MHV2080AH"
+
+"FUJITSU MPF3204AH"            194  C  "Fujitsu MPF3204AH"
+
+"FUJITSU MPG3204AT.*"          194  C  "Fujitsu MPG3204AT"
+"FUJITSU MPG3307AT"            194  C  "Fujitsu MPG3307AT"
+"FUJITSU MPG3409AT.*"          194  C  "Fujitsu MPG3409AT E"
+"FUJITSU MPG3409AH.*"          194  C  "Fujitsu MPG3409AH E"
+"FUJITSU MPG3204AH"            194  C  "Fujitsu MPG3204AH"
+"FUJITSU MPG3102AT E"          194  C  "FUJITSU MPG3102AT E"
+
+
+
+########################################
+############# Hitachi drives
+########################################
+"HITACHI_DK13FA-40B"                   194  C  "Hitachi DK13FA-40B"
+"HITACHI_DK228A-65"                    0    C  "Hitachi DK228A-65"
+"HITACHI_DK23CA-(15|20|30|30B|75)"     194  C  "Hitachi DK23CA series"
+"HITACHI_DK23DA-[234]0"                        194  C  "Hitachi DK23DA series"
+"HITACHI_DK23EA-[2346]0"               194  C  "Hitachi DK23EA series"
+"HITACHI_DK23EB-40"                    194  C  "Hitachi DK23EB series"
+"HITACHI_DK23FA-[468]0"                        194  C  "Hitachi DK23FA series"
+"HITACHI_DK23FB-[46]0"                 194  C  "Hitachi DK23FB series"
+
+"HDS722516VLAT[28]0"           194  C  "Hitachi Deskstar 7K250 160GB 2/8MB cache"
+"HDS722525VLAT80"              194  C  "Hitachi Deskstar 7K250 200/250GB, 7200RPM, 8MB, Parallel-ATA"
+"HDS722512VLAT80"              194  C  "Hitachi Deskstar 7K250 80GB"
+"HDS722540VLAT20"              194  C  "Hitachi Deskstar 7K250, 40GB, 7200RPM, 2MB cache"
+"HDS722580VLAT20"              194  C  "Deskstar 7K250 60GB"
+"HDS724040KLSA80"              194  C  "Hitachi Deskstar 7K250 400GB, 7200RPM, 8MB, Serial-ATA"
+"HDS728080PLAT20"              194  C  "Hitachi Deskstar 7K80 80GB"
+
+"HDS722525VLSA80"              194  C  "Hitachi Deskstar 7K250 250GB, 7200RPM, 8MB, SATA"
+"HDS722516VLSA80"               194  C  "Hitachi Deskstar 7K250 160GB 8Mo cache SATA"
+"HDS722580VLSA80"              194  C  "Hitachi Deskstar 7K250 80GB SATA"
+"HDS728040PLAT20"              194  C  "Hitachi Deskstar 7K80 40GB"
+
+"HDS724040KLAT80"               194  C  "Hitachi Deskstar 7K400  400GB 8Mo cache PATA"
+
+"HDT7225(16|25)DLAT80"         194  C  "Hitachi Deskstar T7K250 series, 7200RPM, 8MB, PATA"
+"HDT722516DLA380 V43O"         194  C  "Hitachi T7K250 SATA"
+"HDT722525DLA380"               194  C  "Hitachi Deskstar T7K250 250GB 8Mo cache SATAII"
+"HDT725050VLA360"               194  C  "Hitachi Deskstar T7K500 500GB, 7200RPM, 16MB, SATA II"
+
+"HTE721010G9AT00"              194  C  "Hitachi Travelstar 100GB (7200RPM)"
+"HTE726060M9AT00"              194  C  "Hitachi Travelstar 60GB (7200RPM)"
+"HTS424030M9AT00"              194  C  "Hitachi Travelstar 30GB (4200RPM)"
+"HTS424040M9AT00"              194  C  "Hitachi Travelstar 4K40 40GB 2MB cache (4200RPM)"
+"HTS541010G9SA00"              194  C  "Hitachi Travelstar 100GB SATA"
+"HTS541040G9AT00"              194  C  "Hitachi Travelstar 40GB (5400RPM)"
+"HTS541080G9AT00"              194  C  "Hitachi Travelstar 80GB (5400RPM)"
+"HTS548020M9AT00"              194  C  "Hitachi Travelstar 20GB (5400RPM)"
+"HTS548030M9AT00"              194  C  "Hitachi Travelstar 30GB (5400RPM)"
+"HTS548040M9AT00"              194  C  "Hitachi Travelstar 40GB (5400RPM)"
+"HTS548060M9AT00"              194  C  "Hitachi Travelstar 60GB (5400RPM)"
+"HTS548080M9AT00"              194  C  "Hitachi Travelstar 80GB (5400RPM)"
+"HTS721080G9AT00"              194  C  "Hitachi Travelstar 7K100 80GB (7200RPM)"
+"HTS726060M9AT00"              194  C  "Hitachi Travelstar 60GB"
+
+
+########################################
+############# IBM drives
+########################################
+
+# DJSA serie is using F0h command to report temperature and also have
+# SMART capabilties but it was reported not to work.
+# "DJSA-2(30|32|10|20|05)"     0    C  "IBM Travelstar 20GN, 32GH, 30GT series"
+
+"IBM-DARA-212000"              0    C  "IBM Travelstar 12GN"
+"IBM-DTTA-35*"                 0    C  "IBM Deskstar 16GP serie"
+
+# according to specifications they do not seems to have sensor
+# but I prefer waiting for a report
+#"IBM-DTTA-37*"                        0    C  "IBM Deskstar 14GXP serie"
+
+"IBM-DJNA-35.*"                        231  C  "IBM Deskstar 25 GP serie"
+"IBM-DJNA-37.*"                        231  C  "IBM Deskstar 22 GXP serie"
+"IBM-DHEA-(34330|36480)"       0    C  "IBM Deskstar 5 serie"
+"IBM-DHEA-(34331|36481|38451)" 0    C  "IBM Deskstar 8 serie"
+"IBM-DPTA-37.*"                        231  C  "IBM Deskstar 34GXP serie"
+"IBM-DPTA-35.*"                        231  C  "IBM Deskstar 37GP serie"
+"IBM-DTLA-30[57]0[123467][05]" 194  C  "IBM Deskstar 40GV & 75GXP series"
+"IC25N0[1234]0ATCS04-0"                194  C  "IBM Travelstar 40GN serie"
+"IC25N0[24]0ATC[SX]05-0"       194  C  "IBM Travelstar 40GNX serie"
+"IC25N0(10|15|20|30)ATDA04-0"  194  C  "IBM Travelstar 30GN serie"
+"IC25N0[23468]0ATMR04*"                194  C  "Hitachi Travelstar 80GN"
+"IC25T048ATDA05-0"             194  C  "IBM Travelstar 48GH serie"
+"IC25T060ATC[SX]05-0"          194  C  "IBM Travelstar 60GH serie"
+"IC35L0[12346]0AVER07"         194  C  "IBM Deskstar 60GXP serie"
+"IC35L[01][02468]0AVV[AN]07*"  194  C  "IBM Deskstar 120GXP serie"  
+"IC35L[01][23689]0AVV207*"     194  C  "IBM Deskstar 180GXP serie"
+
+########################################
+############# Maxtor drives
+########################################
+#"Maxtor 2B0[012][04568]H1"                            ???  C  "Maxtor Fireball 541DX"
+"Maxtor 2F0[234]0[LJ]0"                                        194  C  "Maxtor Fireball 3" 
+# which one must I trust ?
+#"Maxtor 4D040H2"                                      9    C  "Maxtor DiamondMax D540X-4D"
+#"Maxtor 4D040H2"                                      0    C  "Maxtor 4D040H2"
+#"Maxtor 4D080H4"                                      12   C  "Maxtor DiamondMax D540X-4D"
+#"Maxtor 4D060H3"                                      12   C  "Maxtor DiamondMax D540X-4D"
+#"Maxtor 4D080H4"                                      9    C  "Maxtor DiamondMax D540X-4D"
+"MAXTOR 4K0[468]0H[234]"                               194  C  "Maxtor DiamondMax D540X serie"
+"MAXTOR 4K020H1"                                       194  C  "Maxtor 4K020H1"
+"Maxtor 4A300J0"                                        194  C  "Maxtor MaxLine II 300GB 5400RPM"
+"Maxtor 4[RA](25|16|12|08|06)0[LJ]0"                   194  C  "Maxtor DiamondMax 16"
+"Maxtor 5(1024|1369|2049|2732|3073|4098)U(2|3|4|6|8)"  0    C  "Maxtor DiamondMax Plus 40"
+"Maxtor 5A250J0"                                       194  C  "Maxtor MaXline II 250GB 5400RPM"
+"Maxtor 5A300J0"                                       194  C  "Maxtor 5A300J0"
+"Maxtor 5T0[24]0H[24]"                                 0    C  "Maxtor DiamondMax Plus 60"
+"Maxtor 6E0[234]0L0"                                   194  C  "Maxtor DiamondMax Plus 8"
+"MAXTOR 6L0[2468]0[LJ][1234]"                          194  C  "Maxtor DiamondMax Plus D740X family"
+"Maxtor 6V320F0"                                       194  C  "Maxtor Diamond Max 10 SATA II 320 GB"
+"Maxtor 6Y(06|08|12|16|20|25)0[LPM]0"                  194  C  "Maxtor DiamondMax Plus 9" 
+"Maxtor 7L300[RS]0"                                    194  C  "Maxtor 7L300R0 MaxLine+III 300GB 7200rpm"
+"Maxtor 7Y250[PM]0"                                    194  C  "Maxtor MaXLine Plus II 250GB 7200RPM"
+"Maxtor 94098U8"                                       11   C  "Maxtor DiamondMax 40 94098U8"
+
+#"Maxtor 6(B|L)(08|12|16|20|25|30)0[RSPM]0"            194  C  "Maxtor DiamondMax Plus 10"
+"Maxtor 6B080M0"                                       194  C  "Maxtor DiamondMax 10 80GB 8MB SATA"
+"Maxtor 6B120M0"                                       194  C  "Maxtor DiamondMax 10 120GB 8MB SATA"
+"Maxtor 6B160M0"                                       194  C  "Maxtor DiamondMax 10 160GB 8MB SATA"
+"Maxtor 6B160P0"                                       194  C  "Maxtor DiamondMax 10 160GB 8MB ATA/133"
+"Maxtor 6B200M0"                                       194  C  "Maxtor DiamondMax 10 200GB 8MB SATA"
+"Maxtor 6B200P0"                                       194  C  "Maxtor DiamondMax 10 200GB 8MB ATA/133"
+"Maxtor 6B250R0"                                       194  C  "Maxtor DiamondMax 10 250GB 16MB ATA/133"
+"Maxtor 6B250S0"                                       194  C  "Maxtor DiamondMax 10 250GB 16MB SATA"
+"Maxtor 6B300R0"                                       194  C  "Maxtor DiamondMax 10 300GB 16MB ATA/133"
+"Maxtor 6B300S0"                                       194  C  "Maxtor DiamondMax 10 300GB 16MB SATA"
+"Maxtor 6L080L0"                                       194  C  "Maxtor DiamondMax 10 80GB 2MB ATA/133 RoHS"
+"Maxtor 6L080M0"                                       194  C  "Maxtor DiamondMax 10 80GB 8MB SATA RoHS"
+"Maxtor 6L080P0"                                       194  C  "Maxtor DiamondMax 10 80GB 8MB ATA/133 RoHS"
+"Maxtor 6L120M0"                                       194  C  "Maxtor DiamondMax 10 120GB 8MB SATA RoHS"
+"Maxtor 6L120P0"                                       194  C  "Maxtor DiamondMax 10 120GB 8MB ATA/133 RoHS"
+"Maxtor 6L160M0"                                       194  C  "Maxtor DiamondMax 10 160GB 8MB SATA RoHS"
+"Maxtor 6L160P0"                                       194  C  "Maxtor DiamondMax 10 160GB 8MB ATA/133 RoHS"
+"Maxtor 6L200M0"                                       194  C  "Maxtor DiamondMax 10 200GB 8MB SATA RoHS"
+"Maxtor 6L200P0"                                       194  C  "Maxtor DiamondMax 10 200GB 8MB ATA/133 RoHS"
+"Maxtor 6L250R0"                                       194  C  "Maxtor DiamondMax 10 250GB 16MB ATA/133 RoHS"
+"Maxtor 6L250S0"                                       194  C  "Maxtor DiamondMax 10 250GB 16MB SATA RoHS"
+"Maxtor 6L300R0"                                       194  C  "Maxtor DiamondMax 10 300GB 16MB ATA/133 RoHS"
+"Maxtor 6L300S0"                                       194  C  "Maxtor DiamondMax 10 300GB 16MB SATA RoHS"
+"Maxtor 6V080E0"                                       194  C  "Maxtor DiamondMax 10 80GB 8MB SATAII RoHS"
+"Maxtor 6V160E0"                                       194  C  "Maxtor DiamondMax 10 160GB 8MB SATAII RoHS"
+"Maxtor 6V200E0"                                       194  C  "Maxtor DiamondMax 10 200GB 8MB SATAII RoHS"
+"Maxtor 6V250F0"                                       194  C  "Maxtor DiamondMax 10 250GB 16MB SATAII RoHS"
+"Maxtor 6V300F0"                                       194  C  "Maxtor DiamondMax 10 300GB 16MB SATAII RoHS"
+
+
+
+########################################
+############# Quantum drives
+########################################
+"QUANTUM FIREBALLP AS40.0"             0  C  "Quantum Fireball AS40"
+"QUANTUM FIREBALL CX10.2A"             0  C  "Quantum Fireball CX10.2A"
+#"QUANTUM FIREBALLlct10 20"            4  C  "Quantum Fireball CT10 20GB"
+# I suspect the QUANTUM FIREBALL_TM2110A to have a sensor in field 9...
+# "QUANTUM FIREBALL_TM2110A"           9  C  "Quantum Fireball TM2110A"
+
+
+
+########################################
+############# Samsung drives
+########################################
+# somenone reported a problem with the SP8004H which reports a temperature
+# 10°C below the ambient temperature
+"SAMSUNG HA(200|250)JC"                                        194  C  "Samsung SpinPoint V120CE series"
+"SAMSUNG HD160JJ"                                       194  C  "Samsung 160GB, 7200RPM, 8MB cache, SATA" 
+"SAMSUNG HD160JJ/P"                                    194  C  "Samsung SpinPoint P80 SD 160GB (7200RPM, 8MB cache)"
+"SAMSUNG HD[30|32|40][01]L[DJ]"                         194  C  "Samsung SpinPoint T133 series (300-400MB)"
+"SAMSUNG HD250KD"                                       194  C  "Samsung SpinPoint T133 series (250 MB PATA)"
+"SAMSUNG HD321KJ"                                      194  C  "Samsung Spinpoint T166 (7200RPM, 16MB cache) - SATA"
+"SAMSUNG HD501LJ"                                      194  C  "Samsung HD501LJ"
+"SAMSUNG MP0(302|402|603|804)H"                                194  C  "Samsung SpinPoint M40 2.5inch"
+"SAMSUNG SW0434A"                                      0    C  "Samsung SW0434A"
+"SAMSUNG SP(2001|4002|6003|8004|40A2)H"                        194  C  "Samsung SpinPoint P40 serie"
+"SAMSUNG SP(0612|0802|1203|1604|0812|1213|1614)N"      194  C  "Samsung SpinPoint P80 serie"
+"SAMSUNG SP(0612|0802|1203|1604|0812|1213|1614)C"      194  C  "Samsung SpinPoint P80 series - SATA"
+"SAMSUNG SP0411N"                                      194  C  "Samsung SpinPoint PL40 serie"
+"SAMSUNG SP0822N"                                      194  C  "Samsung SP0822N"
+"SAMSUNG SP(0812|1213|1614)C"                          194  C  "Samsung Spinpoint 160G SATA"
+"SAMSUNG SP2[05]14N"                                   194  C  "Samsung SpinPoint P120 series (7200RPM, 8MB cache)"
+"SAMSUNG SP2[05]04C"                                   194  C  "Samsung SpinPoint P120 series - SATA"
+"SAMSUNG SV0432A"                                      0    C  "Samsung SV0432A"
+"SAMSUNG SV3002H"                                      0    C  "Samsung SpinPoint V30 serie"
+"SAMSUNG SV(2001|4002|4012|6003|8004)H"                        194  C  "Samsung SpinPoint V40 serie"
+#"SAMSUNG SV(0221|0602|0813|1204)H"                    9    C  "Samsung SpinPoint V60 serie"
+#"SAMSUNG SV1204H"                                     194  C  "Samsung 120G"
+"SAMSUNG SV(0401|0802|1203|1604)N"                     194  C  "Samsung SpinPoint V80 serie"
+"SAMSUNG SV4012H"                                      194  C  "Samsung 40GB, 5400RPM, 2MB cache"
+
+########################################
+############# Seagate drives
+########################################
+"Seagate Technology 1275MB - ST31276A" 0    C  "Seagate ST31276A"
+"ST3412A"                              0    C  "Seagate ST3412A"
+"ST38641A"                             0    C  "Seagate ST38641A"
+"ST310014A"                            194  C  "Seagate ST310014A"
+"ST310210A"                            0    C  "Seagate ST310210A"
+"ST310211A"                            194  C  "Seagate ST310211A"
+"ST310220A"                            0    C  "Seagate ST310220A"
+# SEAGATE ST313021A 13.0GB
+"ST313021A"                            0    C  "Seagate U8 ST313021A"
+"ST310240A"                            0    C  "Seagate Medalist 10240 Ultra ATA-3"
+"ST315320A"                            194  C  "Seagate ST315320A"
+"ST320423A"                            0    C  "Seagate U10 20423, Ultra ATA/66"
+"ST320011A"                            194  C  "Seagate ST320011A"
+"ST320014A"                            194  C  "Seagate ST320014A (5400 rpm, 20Gb)"
+"ST320410A"                            194  C  "Seagate ST320410A"
+"ST320413A"                            194  C  "Seagate ST320413A"
+"ST320414A"                            194  C  "Seagate ST320414A"
+"ST320420A"                            194  C  "Seagate Barracuda II ST320420A"
+"ST330013A"                            194  C  "Seagate ST330013A Barracuda ATA V 30GB, 7200 rpm"
+"ST330620A"                            194  C  "Seagate ST330620A"
+"ST330621A"                            194  C  "Seagate ST330621A"
+"ST330630A"                            194  C  "Seagate Barracuda ST330630A"
+"ST340014A"                            194  C  "Seagate Barracuda 7200.7 40Gb"
+"ST340015A"                            194  C  "Seagate Barracuda 5400.1 40GB" 
+"ST340016A"                            194  C  "Seagate ST340016A"
+"ST340810A"                            194  C  "Seagate U Series 40810 (40Gb, Ultra ATA/100, 5400 rpm)"
+"ST340823A"                            194  C  "Seagate U Series 5 40823"
+"ST340824A"                            194  C  "Seagate Barracuda III"
+"ST360015A"                            194  C  "Seagate Barracuda V ST360015A"
+"ST360020A"                            194  C  "Seagate U Series 60020"
+"ST360021A"                            194  C  "Seagate Barracuda IV ST360021A"
+"ST380011A"                            194  C  "Seagate Barracuda 7200.7 80GB"
+"ST380012A"                            194  C  "Seagate ST380012A 80GB"
+"ST380013A"                            194  C  "Seagate Barracuda 7200.7 80GB" 
+"ST380013AS"                           194  C  "Seagate Barracuda 7200.7 80GB (Serial ATA)"
+"ST380020A"                            194  C  "Seagate U Series 80020 (80Gb, Ultra ATA/100, 5400 rpm)"
+"ST380021A"                            194  C  "Seagate Barracuda IV ST380021A"
+"ST380022A"                            194  C  "Seagate Barracuda U7 80022, Ultra ATA/100"
+"ST380023A"                            194  C  "Seagate Barracuda V ST380023A"
+"ST380817AS"                           194  C  "Seagate Barracuda 7200.7 80GB - SATA"
+"ST39111A"                             194  C  "Seagate ST39111A (from Sun Ultra)"
+"ST3120020A"                           194  C  "Seagate ST3120020A"
+"ST3120022A"                           194  C  "Seagate Baraccuda 7200.7 120GB"
+"ST3120023A"                           194  C  "Seagate Barracuda V ST3120023A"
+"ST3120024A"                           194  C  "Seagate Barracuda V ST3120024A"
+"ST3120025ACE"                         194  C  "Seagate Barracuda V ST3120025ACE"
+"ST3120026A"                           194  C  "Seagate Barracuda V ST3120026A"
+"ST3160021A"                           194  C  "Seagate Barracuda 7200.7 - ST3160021A"
+"ST3160023(A|AS)"                      194  C  "Seagate Barracuda V ST3160023A and AS (160Gb, ATA100 or Serial ATA)"
+"ST3160827AS"                          194  C  "Seagate Barracuda 7200.7 160GB (Serial ATA)" 
+"ST3200021A"                           194  C  "Seagate Barracuda 7200.7 Plus 200GB"
+"ST3200822(A|AS)"                      194  C  "Seagate Barracuda 7200.7 Plus 200GB (PATA or SATA)"
+"ST3200826A"                           194  C  "Seagate Barracuda 7200.8 200Gb"
+"ST3250623A"                           194  C  "Seagate Barracuda 7200.16 250GB"
+"ST3250823A"                           194  C  "Seagate Barracuda 7200.8 250GB"
+"ST3250823A"                           194  C  "Seagate Barracuda 7200.7 Plus 250GB"
+"ST3250823NS"                          194  C  "Seagate NL35 SATA (RAID-Edition) 7200 250GB"
+"ST3300831A"                           194  C  "Seagate 300GB ST3300831A"
+"ST3400832A"                           194  C  "Seagate Barracuda 7200.8 Plus 400GB"
+"ST3400633(A|AS)"                       194  C  "Seagate Barracuda 7200.7 400 GB"
+"ST3500630NS"                          194  C  "Seagate"
+"ST3400632NS"                          194  C  "Seagate"
+"ST3320620AS"                           194  C  "Seagate Barracuda 7200.7 320 GB"
+"ST3500630AS"                           194  C  "Seagate Barracuda 7200.7 500 GB"
+"ST3802110A"                           194  C  "Seagate Barracuda 7200.9 80 GB"
+"ST910021A"                            194  C  "Seagate Momentus 7200.1 100GB" 
+"ST910082[35]A"                                194  C  "Seagate Momentus 5400.2 100GB"
+"ST9120821A"                           194  C  "Seagate Momentus 5400.2 120GB"
+"ST94019A"                             194  C  "Seagate ST94019A"
+"ST94813A"                             194  C  "Seagate Momentus 5400.2 40GB"
+"ST94[08]11A"                          194  C  "Seagate ST94011A"
+"ST960821A"                            194  C  "Seagate ST960821A"
+"ST960822A"                            194  C  "Seagate Momentus 5400.2 60GB"
+"ST96812AS"                            194  C  "Seagate Momentus 5400.2 60GB SATA"
+"ST9808211A"                           194  C  "Seagate Momentus 5400.2 80GB"
+
+########################################
+############# TOSHIBA Laptops
+########################################
+"MK4313MAT"                            220  C  "Toshiba MK4313MAT"
+"TOSHIBA MK1032GAX"                    194  C  "Toshiba MK1032GAX"
+"TOSHIBA MK1517GAP"                    0    C  "Toshiba MK1517GAP"
+"TOSHIBA MK2018GAS"                    226  F  "Toshiba MK2018GAS"
+"TOSHIBA MK2023GAS"                    194  C  "Toshiba MK2023GAS"
+
+"TOSHIBA MK3017GAP"                    0    C  "Toshiba MK3017GAP"
+"TOSHIBA MK3021GAS"                    194  C  "Toshiba MK3021GAS"
+"TOSHIBA MK3025GAS"                    194  C  "Toshiba MK3025GAS" 
+
+#"TOSHIBA MK4019GAX"                   222  C  "Toshiba MK4019GAX"
+"TOSHIBA MK4021GAS"                    194  C  "Toshiba MK4021GAS"
+"TOSHIBA MK4025GAS"                    194  C  "Toshiba MK4025GAS 40 Go"
+"TOSHIBA MK4026GAS"                    194  C  "Toshiba MK4026GAS 40 Go"
+"TOSHIBA MK4032GAX"                    194  C  "Toshiba MK4032GAX" 
+
+"TOSHIBA MK6021GAS"                    194  C  "Toshiba MK6021GAS"
+"TOSHIBA MK6022GAX"                    194  C  "Toshiba MK6022GAX"
+"TOSHIBA MK6025GAS"                    194  C  "Toshiba MK6025GAS"
+"TOSHIBA MK6026GAX"                    194  C  "Toshiba MK6026GAX" 
+"TOSHIBA MK8025GAS"                    194  C  "Toshiba MK8025GAS"
+"TOSHIBA MK8026GAX"                    194  C  "Toshiba MK8026GAX" 
+
+"MK4025GAS"                            194  C  "Toshiba MK4025GAS"
+
+
+########################################
+############# Western Digital drives
+########################################
+# WDC AC310100B and WDC AC2850F are reported not working
+# no more informations were given
+"WDC AC22000L"                                                   0 C "Western Digital Caviar AC22000"
+"WDC AC420400D"                                                        231 C "Western Digital Caviar AC420400D"
+"WDC AC418000D"                                                        231 C "Western Digital AC418000D"
+"WDC WD135BA"                                                  231 C "Western Digital WD135BA"
+
+"WDC WD100EB-00BHF0"                                             0 C "Western Digital 100EB-00BHF0"
+"WDC WD200BB-00AUA1"                                             0 C "Western Digital Caviar WD200BB"
+#"WDC WD200BB-60DGA0"                                            0 C "Western Digital Caviar WD200BB"
+"WDC WD300BB-00CAA0"                                             0 C "Western Digital WD300BB"
+"WDC WD360GD-00FNA0"                                           194 C "Western Digital SATA Raptor 36.7GB"
+"WDC WD400BB-00CAA0"                                             0 C "Western Digital 400BB-00CAA0"
+"WDC WD400BB-00J[KH]A0"                                                194 C "Western Digital Caviar WD400BB"
+"WDC WD400BB-23JHC0"                                           194 C "Western Digital 23JHC0"
+#"WDC WD400BB-00GFA0"                                            0 C ""
+"WDC WD400BB-55HEA0"                                           194 C "Western Digital Caviar WD400BB"
+"WDC WD400BB-(18CA|00DE)A0"                                      0 C "Western Digital Caviar WD400BB"
+"WDC WD400BB-75FJA1"                                           194 C "Western Digital Caviar WD400BB"
+"WDC WD400EB-00CPF0"                                             0 C "Western Digital 400EB-00CPF0"
+"WDC WD400JB-00(JJ|FM|FS)A0"                                   194 C "Western Digital Caviar 40GB Special Edition 8MB"
+"WDC WD400JB-00ETA0"                                           194 C "Western Digital 400JB-00ETA0"
+"WDC WD400JB-00JJC0"                                           194 C "Western Digital 400JB-00JJC0 40GB"
+"WDC WD400LB-00DNA0"                                           194 C "Western Digital 400LB-00DNA0"
+"WDC WD400UE-22HCT0"                                           194 C "Western Digital 40GB Notebook HDD"
+"WDC WD400VE-75HDT1"                                           194 C "Western Digital Scorpio 40GB"
+"WDC WD600BB-32BSA0"                                             0 C "Western Digital 600BB-32BSA0"
+"WDC WD600JB-00ETA0"                                           194 C "Western Digital 600JB-00ETA0"
+"WDC WD600LB-00DNA0"                                           194 C "Western Digital 60GB"
+"WDC WD600VE-75HDT0"                                           194 C "Western Digital 600VE-75HDT0"
+"WDC WD600VE-00HDT0"                                           194 C "Western Digital 600VE-00HDT0"
+"WDC WD740GD-00FL21.0"                                         194 C "Western Digital SATA Raptor"
+"WDC WD740GD-([05]0FL[AC]0|75FLA1)"                            194 C "Western Digital SATA Raptor 74GB 8MB"
+"WDC WD800BB-00CAA1"                                             0 C "Western Digital WD800BB-00CAA1"
+"WDC WD800BB-(00|22)DKA0"                                      194 C "Western Digital WD800BB 80 Go"
+"WDC WD800BB-32CCB0"                                           194 C "Western Digital 800BB-32CCB0"
+"WDC WD800BB-55HEA0"                                           194 C "Western Digital 800BB-55HEA0"
+"WDC WD800BB-00JHA0"                                           194 C "Western Digital 800BB-00JHA0" 
+"WDC WD800BB-00JKA0"                                           194 C "Western Digital 800BB-00JKA0" 
+"WDC WD800BB-55JKA0"                                           194 C "Western Digital 800BB-55JKA0" 
+"WDC WD800BB-75FRA0"                                           194 C "Western Digital Caviar WD800BB"                          
+"WDC WD800JB-00CRA1"                                             0 C "Western Digital Caviar WD800JB"
+"WDC WD800JB-00(ET|FM|FS)A0"                                   194 C "Western Digital Caviar 80GB Special Edition 8MB"
+"WDC WD800JB-00JJ[AC]0"                                                194 C "Western Digital WD800JB"
+"WDC WD800JD-(00|55)(HK|JR)A0"                                 194 C "Western Digital SATA 80GB, 8MB Cache"
+"WDC WD800JD-00(HK|JN)A0"                                      194 C "Western Digital SATA 80GB, 8MB Cache"
+"WDC WD800LB-(00|55)DNA0"                                      194 C "Western Digital Caviar WD800LB 80 Go ATA-100"
+"WDC WD800VE-07HDT0"                                           194 C "Western Digital 800VE-07HDT0"
+"WDC WD1200BB-00(FTA|GUA)0"                                    194 C "Western Digital Caviar EIDE 2MB Cache"
+"WDC WD1200JB-00(EV|FU|GV)A0"                                  194 C "Western Digital Caviar 120GB Special Edition 8MB" 
+"WDC WD1200JB-22GVA0"                                          194 C "Western Digital Caviar 120GB"
+"WDC WD1200JD-00(GBB|HBC)0"                                    194 C "Western Digital WD1200JD"
+"WDC WD1200LB-55EDA0"                                          194 C "Western Digital WD1220LB"
+"WDC WD1200SB-01KB[AC]0"                                       194 C "Western Digital Caviar RE (Raid Edition) 120 GB"
+"WDC WD1600BB-00DWA0"                                          194 C "Western Digital Caviar WD1600BB"
+"WDC WD1600JB-(00EV|00FU|00GV|22GV|75GV)A0"                    194 C "Western Digital Caviar 160GB Special Edition 8MB"
+"WDC WD2000BB-00FTA0"                                          194 C "Western Digital WD2000BB"
+"WDC WD2000JB-(00EV|32EV|34EV|00FU|00GV|55GV|98GV|00KF)A0"     194 C "Western Digital Caviar 200GB Special Edition 8MB"
+"WDC WD2000JB-00GVC0"                                          194 C "Western Digital WD2000JB"
+"WDC WD2000JS-00MHB1"                                          194 C "Western Digital SATA 200GB"
+"WDC WD2500JB-(00RE|00EV|00FU|32FU|00GV|55GV)A0"               194 C "Western Digital Caviar 250GB Special Edition 8MB"
+"WDC WD2500JB-00GVC0"                                          194 C "Western Digital 250GB"
+"WDC WD2500JD-(00G|32H)BB0"                                    194 C "Western Digital SATA Caviar 250GB Special Edition 8MB"
+"WDC WD2500JD-40HBC0"                                          194 C "Western Digital WD2500JD-40HBC0" 
+"WDC WD2500PB-98FBA0"                                          194 C "Western Digital Caviar 250GB Special Edition 8MB"
+"WDC WD2500PD-00FZB1"                                          194 C "Western Digital WD2500PD-00FZB1" 
+"WDC WD2500SD-01KCB0"                                          194 C "Western Digital Caviar RE 250GB 8MB"
+"WDC WD3000JB-00KFA0"                                          194 C "Western Digital WD3000JB"
+"WDC WD3200JB-00KFA0"                                          194 C "Western Digital Caviar 320GB 8MB"
+"WDC WD4000KD-00NAB0"                                          194 C "Western Digital Caviar SE16 400GB 16MB"
+"WDC WD4000YR-01PLB0"                                          194 C "Western Digital Caviar RE2 400GB 16MB"
+"WD4000YS-01MPB0"                                              194  C  "Western Digital RE2 7200 SATA II 400 GB"
+
+# not sure for next
+# "WDC WD1200JB-00CRA1"                9   C "Western Digital 1200JB-00CRA1"
+# "WDC WD273BA"                        9   C "Western Digital WD273BA"
+
+
+
+
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+########################################################################################################################
+
+"ST3750640AS"                           194    C  "Seagate Barracuda 7200.10 SATA 750GB"
+"ST3750840AS"                           194    C  "Seagate Barracuda 7200.10 SATA 750GB"
+"ST3500630AS"                           194    C  "Seagate Barracuda 7200.10 SATA 500GB"
+"ST3500830AS"                           194    C  "Seagate Barracuda 7200.10 SATA 500GB"
+"ST3400620AS"                           194    C  "Seagate Barracuda 7200.10 SATA 400GB"
+"ST3400620A"                            194    C  "Seagate Barracuda 7200.10 400GB"
+"ST3400820AS"                           194    C  "Seagate Barracuda 7200.10 SATA 400GB"
+"ST3320620AS"                           194    C  "Seagate Barracuda 7200.10 SATA 320GB"
+"ST3320820AS"                           194    C  "Seagate Barracuda 7200.10 SATA 320GB"
+"ST3300620AS"                           194    C  "Seagate Barracuda 7200.10 SATA 300GB"
+"ST3300820AS"                           194    C  "Seagate Barracuda 7200.10 SATA 300GB"
+"ST3250620AS"                           194    C  "Seagate Barracuda 7200.10 SATA 250GB"
+"ST3250820AS"                           194    C  "Seagate Barracuda 7200.10 SATA 250GB"
+"ST3250410AS"                           194    C  "Seagate Barracuda 7200.10 SATA 250GB"
+"ST3250310AS"                           194    C  "Seagate Barracuda 7200.10 SATA 250GB"
+"ST3200820AS"                           194    C  "Seagate Barracuda 7200.10 SATA 200GB"
+"ST3160815AS"                           194    C  "Seagate Barracuda 7200.10 SATA 160GB"
+"ST3160215AS"                           194    C  "Seagate Barracuda 7200.10 SATA 160GB"
+"ST3120815AS"                           194    C  "Seagate Barracuda 7200.10 SATA 120GB"
+"ST3120215AS"                           194    C  "Seagate Barracuda 7200.10 SATA 120GB"
+"ST380815AS"                            194    C  "Seagate Barracuda 7200.10 SATA 80GB"
+"ST380215AS"                            194    C  "Seagate Barracuda 7200.10 SATA 80GB"
+"ST340815AS"                            194    C  "Seagate Barracuda 7200.10 SATA 40GB"
+"ST340215AS"                            194    C  "Seagate Barracuda 7200.10 SATA 40GB"
+"ST3300622AS"                          194  C  "Seagate Barracuda 7200.9 SATA2.5 300GB"
+"ST3300831A"                           194  C  "Seagate Barracuda 7200.8 PATA 300GB"
+
+"Maxtor 7(L|V)250(F|R|S)0"             194 C "Maxtor MaXLine III 250GB 7200rpm"
+"Maxtor 7(L|V)300(F|R|S)0"             194 C "Maxtor MaXLine III 300GB 7200rpm"
+"MAXTOR STM3320620AS"                  194 C ""
+
+"WDC WD1500ADFD-00NLR1"                                         194 C "Western Digital Raptor 150GB"
+"WDC WD1600JS-00NCB1"                                          194 C "Western Digital Caviar 1600JS 160GB Sata"
+"WDC WD1600SD-01KCC0"                                          194 C "Western Digital Caviar RE Serial ATA series"
+"WDC WD2500JD-57HBC0"                                           194 C "Western Digital Caviar SE (Serial ATA) 250 GB"
+"WDC WD2500JS"                                                 194 C "Western Digital WD2500JS"
+"WDC WD2500JS-41MVB1"                                          194 C "Western Digital SATAII Caviar 250GB Special Edition 8MB"
+"WDC WD2500JD-00HBB0"                                          194 C   "Western Digital SATA 250GB" 
+"WDC WD2500KS-00MJB0"                                          194 C "Western Digital SATA-II Caviar 250GB Special Edition 16MB"
+"WDC WD3000JS-00PDB0"                                          194 C "Western Digital WD3000JS"
+"WDC WD3200KS-00PFB0"                                          194 C   ""
+"WDC WD3200JD-22KLB0"                                           194 C "Western Digital Caviar SE 320GB 8MB" 
diff --git a/app/admin/syslog-ng/logrotate.d/syslog-ng b/app/admin/syslog-ng/logrotate.d/syslog-ng
new file mode 100644 (file)
index 0000000..b6a7e1d
--- /dev/null
@@ -0,0 +1,6 @@
+/var/log/cron /var/log/debug /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler /var/log/syslog {
+    sharedscripts
+    postrotate
+      /bin/kill -HUP `cat /var/run/syslog-ng.pid`2>/dev/null || true
+    endscript
+}
diff --git a/app/admin/syslog-ng/rc.syslog-ng.new b/app/admin/syslog-ng/rc.syslog-ng.new
new file mode 100644 (file)
index 0000000..513154f
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/sh
+# Start/stop/restart the system logging daemons.
+#
+# Written for Slackware Linux by Patrick J. Volkerding <volkerdi@slackware.com>.
+# Modyfied for syslog-ng by Kanedaaa <kaneda@bohater.net>
+
+syslogng_start() {
+  if [ -x /usr/sbin/syslog-ng ]; then
+    echo -n "Starting syslog-ng daemon:  "
+    echo " /usr/sbin/syslog-ng"
+    /usr/sbin/syslog-ng
+  fi
+}
+
+syslogng_stop() {
+  killall syslog-ng 2> /dev/null
+}
+
+syslogng_restart() {
+  syslogng_stop
+  sleep 1
+  syslogng_start
+}
+
+case "$1" in
+'start')
+  syslogng_start
+  ;;
+'stop')
+  syslogng_stop
+  ;;
+'restart')
+  syslogng_restart
+  ;;
+*)
+  echo "usage $0 start|stop|restart"
+esac
diff --git a/app/admin/syslog-ng/slack-required b/app/admin/syslog-ng/slack-required
new file mode 100644 (file)
index 0000000..6ee81c3
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to syslog-ng
+#
+# dependency [condition] [version]]
+eventlog                               
diff --git a/app/admin/syslog-ng/syslog-ng-anon-2.0.6.diff b/app/admin/syslog-ng/syslog-ng-anon-2.0.6.diff
new file mode 100644 (file)
index 0000000..5b0a230
--- /dev/null
@@ -0,0 +1,277 @@
+diff -Naur syslog-ng-2.0.5.orig/doc/Makefile.am syslog-ng-2.0.5/doc/Makefile.am
+--- syslog-ng-2.0.5.orig/doc/Makefile.am       2007-04-19 21:37:16.000000000 +0200
++++ syslog-ng-2.0.5/doc/Makefile.am    2007-11-03 00:28:59.000000000 +0100
+@@ -6,6 +6,7 @@
+       reference/syslog-ng.xml \
+       reference/syslog-ng.txt \
+       reference/syslog-ng.xsl \
++      reference/README.syslog-ng-anon \
+       examples/syslog-ng.conf.sample \
+       examples/syslog-ng.conf.solaris
+diff -Naur syslog-ng-2.0.5.orig/doc/Makefile.in syslog-ng-2.0.5/doc/Makefile.in
+--- syslog-ng-2.0.5.orig/doc/Makefile.in       2007-07-22 15:40:04.000000000 +0200
++++ syslog-ng-2.0.5/doc/Makefile.in    2007-11-03 00:28:59.000000000 +0100
+@@ -135,6 +135,7 @@
+       reference/syslog-ng.xml \
+       reference/syslog-ng.txt \
+       reference/syslog-ng.xsl \
++      reference/README/syslog-ng-anon \
+       examples/syslog-ng.conf.sample \
+       examples/syslog-ng.conf.solaris
+diff -Naur syslog-ng-2.0.5.orig/doc/reference/README.syslog-ng-anon syslog-ng-2.0.5/doc/reference/README.syslog-ng-anon
+--- syslog-ng-2.0.5.orig/doc/reference/README.syslog-ng-anon   1970-01-01 01:00:00.000000000 +0100
++++ syslog-ng-2.0.5/doc/reference/README.syslog-ng-anon        2007-11-03 00:42:04.000000000 +0100
+@@ -0,0 +1,88 @@
++syslog-ng-anon
++
++ This patch adds the capability to syslog-ng that allows you to strip
++ out any given regexp or all IP addresses from log messages before
++ they are written to disk. The goal is to give the system administrator
++ the means to implement site logging policies, by allowing them easy
++ control over exactly what data they retain in their logfiles,
++ regardless of what a particular daemon might think is best.
++
++Background:
++
++ Data retention has become a hot legal topic for ISPs and other Online
++ Service Providers (OSPs). There are many instances where it is preferable
++ to keep less information on users than is collected by default on many
++ systems. In the United States it is not currently required to retain
++ data on users of a server, but you may be required to provide all data
++ on a user which you have retained. OSPs can protect themselves from legal
++ hassles and added work by choosing what data they wish to retain.
++
++ From "Best Practices for Online Service Providers"
++ (http://www.eff.org/osp):
++
++  As an intermediary, the OSP [Online Service Provider] finds itself in
++  a position to collect and store detailed information about its users
++  and their online activities that may be of great interest to third
++  parties. The USA PATRIOT Act also provides the government with
++  expanded powers to request this information. As a result, OSP owners
++  must deal with requests from law enforcement and lawyers to hand over
++  private user information and logs. Yet, compliance with these demands
++  takes away from an OSP's goal of providing users with reliable,
++  secure network services. In this paper, EFF offers some suggestions,
++  both legal and technical, for best practices that balance the needs
++  of OSPs and their users' privacy and civil liberties.
++ 
++  Rather than scrubbing the information you don't want in logs, this patch
++  ensures that the information is never written to disk. Also, for those 
++  daemons which log through syslog facilities, this patch provides a 
++  convenient single configuration to limit what you wish to log.
++  
++  Here are some related links:
++  
++  Best Practices for Online Service Providers
++  http://www.eff.org/osp
++  http://www.eff.org/osp/20040819_OSPBestPractices.pdf
++  
++  EPIC International Data Retention Page
++  http://www.epic.org/privacy/intl/data_retention.html
++  
++  Working Paper on Usage Log Data Management (from Computer, Freedom, and 
++  Privacy conference) http://cryptome.org/usage-logs.htm
++  
++
++Installing syslog-ng-anon 
++  
++ Applying the patch
++
++  This patch has been tested against the following versions of syslog-ng:
++      . Debian package syslog-ng_2.0.5-2
++
++  To use this patch, obtain the source for syslog-ng
++  (apt-get source syslog-ng) and the
++  syslog-ng-anon patch (http://dev.riseup.net/patches/syslog-ng/). 
++  Apply the patch the patch:
++
++  % cd syslog-ng-2.0.5
++  % patch -p1 < ../syslog-ng-anon.diff
++ 
++  Then compile and install syslog-ng:
++
++  % dpkg-buildpackage -rfakeroot -b
++  % dpkg -i ../syslog-ng_2.0.5-2_i386.deb
++
++ How to use it
++
++  This patch adds the filter "strip". For example:
++
++      filter f_strip {strip(<regexp>);};
++
++  This will strip out all matches of the regular expression on logs to
++  which the filter is applied and replaces all matches with the fixed length
++  four dashes ("----").
++
++  In place of a regular expression, you can put "ips", which will replace all
++  internet addresses with 0.0.0.0. For example:
++
++      filter f_strip {strip(ips);};
++
++  You can alter what the replacement strings are by using replace:
+diff -Naur syslog-ng-2.0.5.orig/src/cfg-grammar.y syslog-ng-2.0.5/src/cfg-grammar.y
+--- syslog-ng-2.0.5.orig/src/cfg-grammar.y     2007-05-21 19:21:07.000000000 +0200
++++ syslog-ng-2.0.5/src/cfg-grammar.y  2007-11-03 00:28:59.000000000 +0100
+@@ -107,7 +107,7 @@
+ %token KW_USE_TIME_RECVD
+ /* filter items*/
+-%token KW_FACILITY KW_LEVEL KW_HOST KW_MATCH KW_NETMASK
++%token KW_FACILITY KW_LEVEL KW_HOST KW_MATCH KW_NETMASK KW_STRIP KW_REPLACE
+ /* yes/no switches */
+ %token KW_YES KW_NO
+@@ -802,6 +802,8 @@
+       | KW_PROGRAM '(' string ')'             { $$ = filter_prog_new($3); free($3); }
+       | KW_HOST '(' string ')'                { $$ = filter_host_new($3); free($3); } 
+       | KW_MATCH '(' string ')'               { $$ = filter_match_new($3); free($3); }
++      | KW_STRIP '(' string ')'               { $$ = filter_strip_new($3); free($3); }
++      | KW_REPLACE '(' string string ')'      { $$ = filter_replace_new($3, $4); free($3); free($4); }
+       | KW_FILTER '(' string ')'              { $$ = filter_call_new($3, configuration); free($3); }
+       | KW_NETMASK '(' string ')'             { $$ = filter_netmask_new($3); free($3); }
+       ;
+@@ -907,4 +909,4 @@
+   last_reader_options = NULL;
+   last_writer_options = NULL;
+   last_template = NULL;
+-}
+\ No newline at end of file
++}
+diff -Naur syslog-ng-2.0.5.orig/src/cfg-lex.l syslog-ng-2.0.5/src/cfg-lex.l
+--- syslog-ng-2.0.5.orig/src/cfg-lex.l 2007-05-21 19:21:07.000000000 +0200
++++ syslog-ng-2.0.5/src/cfg-lex.l      2007-11-03 00:28:59.000000000 +0100
+@@ -165,6 +165,8 @@
+         { "host",               KW_HOST },
+         { "match",            KW_MATCH },
+         { "netmask",          KW_NETMASK },
++        { "strip",              KW_STRIP },
++        { "replace",            KW_REPLACE },
+       /* on/off switches */
+       { "yes",                KW_YES },
+diff -Naur syslog-ng-2.0.5.orig/src/filter.c syslog-ng-2.0.5/src/filter.c
+--- syslog-ng-2.0.5.orig/src/filter.c  2007-05-21 19:21:07.000000000 +0200
++++ syslog-ng-2.0.5/src/filter.c       2007-11-03 00:30:22.000000000 +0100
+@@ -226,6 +226,7 @@
+ typedef struct _FilterRE
+ {
+   FilterExprNode super;
++  GString *replace;
+   regex_t regex;
+ } FilterRE;
+@@ -310,6 +311,9 @@
+ filter_re_free(FilterExprNode *s)
+ {
+   FilterRE *self = (FilterRE *) s;
++
++  if (self->replace != NULL)
++        g_string_free(self->replace, TRUE);
+   
+   regfree(&self->regex);
+   g_free(s);
+@@ -494,3 +498,89 @@
+   self->super.eval = filter_netmask_eval;
+   return &self->super;
+ }
++
++FilterExprNode *
++filter_strip_new(const gchar *re)
++{
++      if (g_ascii_strcasecmp(re, "ips") == 0)
++              return filter_replace_new(re, "0.0.0.0");
++      return filter_replace_new(re, "----");
++}
++
++#define FMIN(a, b) (a) < (b) ? (a) : (b)
++#define NEW_MSG_SIZE 2048
++
++static gboolean
++filter_replace_eval(FilterExprNode *s, LogMessage *log)
++{
++  FilterRE *self = (FilterRE *) s;
++  gchar *buffer = log->msg.str;
++  gint snippet_size;
++  regmatch_t pmatch;
++  gchar new_msg[NEW_MSG_SIZE];
++  gchar *new_msg_max = new_msg + NEW_MSG_SIZE;
++  gchar *new_msg_ptr = new_msg;
++  gint replace_length = self->replace->len;
++  gint error;
++
++  error = regexec(&self->regex, buffer, 1, &pmatch, 0);
++  if (error)
++    return TRUE;
++  while (!error)
++    {
++      /* copy string snippet which preceeds matched text */
++      snippet_size = FMIN(pmatch.rm_so, new_msg_max - new_msg_ptr);
++      memcpy(new_msg_ptr, buffer, snippet_size);
++      new_msg_ptr += snippet_size;
++      
++      /* copy replacement */
++      snippet_size = FMIN(replace_length, new_msg_max - new_msg_ptr);
++      memcpy(new_msg_ptr, self->replace->str, snippet_size);
++      new_msg_ptr += snippet_size;
++              
++      /* search for next match */
++      buffer += pmatch.rm_eo;
++      error = regexec(&self->regex, buffer, 1, &pmatch, REG_NOTBOL);
++    }
++              
++  /* copy the rest of the old message */
++  snippet_size = log->msg.len - (buffer - log->msg.str) + 1;
++  snippet_size = FMIN(snippet_size, new_msg_max - new_msg_ptr);
++  memcpy(new_msg_ptr, buffer, snippet_size);
++  new_msg[NEW_MSG_SIZE-1] = '\0';
++                      
++  g_string_erase(&(log->msg), 0, -1);
++  g_string_append(&(log->msg), new_msg);
++                      
++  return TRUE;
++}
++                      
++FilterExprNode *
++filter_replace_new(const gchar *re, const gchar *replacement)
++{
++  FilterRE *self = g_new0(FilterRE, 1);
++  gint regerr;
++              
++  if (!g_ascii_strcasecmp(re, "ips"))
++    re = "(25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])([\\.\\-](25[0-5]|2[0-4][0-9]|[0-1]?[0-9]?[0-9])){3}";
++              
++  regerr = regcomp(&self->regex, re, REG_ICASE | REG_EXTENDED);
++  if (regerr)
++    {
++      gchar errorbuf[256];
++      regerror(regerr, &self->regex, errorbuf, sizeof(errorbuf));
++      msg_error("Error compiling regular expression:",
++                evt_tag_str("re", re),
++                evt_tag_str("error", errorbuf),
++                NULL);
++      g_free(self);
++      return NULL;
++    }
++                              
++  self->replace = g_string_new(replacement);
++  self->super.eval = filter_replace_eval;
++  self->super.free_fn = filter_re_free;
++              
++  return &self->super;
++}
++
+diff -Naur syslog-ng-2.0.5.orig/src/filter.h syslog-ng-2.0.5/src/filter.h
+--- syslog-ng-2.0.5.orig/src/filter.h  2007-05-21 19:21:07.000000000 +0200
++++ syslog-ng-2.0.5/src/filter.h       2007-11-03 00:28:59.000000000 +0100
+@@ -54,6 +54,8 @@
+ FilterExprNode *filter_match_new(gchar *re);
+ FilterExprNode *filter_call_new(gchar *rule, struct _GlobalConfig *cfg);
+ FilterExprNode *filter_netmask_new(gchar *cidr);
++FilterExprNode *filter_strip_new(const gchar *re);
++FilterExprNode *filter_replace_new(const gchar *re, const gchar *replacement);
+ typedef struct _LogFilterRule
+ {
diff --git a/app/admin/syslog-ng/syslog-ng.SlackBuild b/app/admin/syslog-ng/syslog-ng.SlackBuild
new file mode 100755 (executable)
index 0000000..5c2fa07
--- /dev/null
@@ -0,0 +1,241 @@
+#!/bin/bash
+#
+#  syslog-ng.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  syslog-ng.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for syslog-ng, by Silvio Rhatto
+# requires: eventlog 
+# tested: syslog-ng-2.0.6
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="syslog-ng"
+PKG_NAME="syslog-ng"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.0.6}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc --enable-dynamic-linking"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.balabit.com/downloads/files/syslog-ng/sources/stable/src/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="syslog-ng-anon-2.0.6.diff
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
+
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Copy init scripts
+mkdir -p $PKG/etc/rc.d
+cp $CWD/rc.* $PKG/etc/rc.d/
+
+# Copy config files
+mkdir -p $PKG/etc
+for conf in syslog-ng.conf.new logrotate.d/syslog-ng; do
+  mkdir -p $PKG/etc/`dirname $conf`
+  if [ -e "$CWD/conf/$conf" ]; then
+    cp -a $CWD/conf/$conf $PKG/etc/$conf
+  elif [ -e "$CWD/$conf" ]; then
+    cp -a $CWD/$conf $PKG/etc/$conf
+  elif [ -e "$conf" ]; then
+    cp -a $conf $PKG/etc/$conf
+  fi
+done
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README VERSION"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler----------------------------------------------------|
+syslog-ng: syslog-ng
+syslog-ng:
+syslog-ng: syslog-ng is a syslogd replacement supporting IPv6 and capable of
+syslog-ng: transferring log messages reliably using TCP and filtering the
+syslog-ng: content of messages using regular expressions. It has several
+syslog-ng: macros that allow users to dynamically create target directories
+syslog-ng: and files or reformat messages.
+syslog-ng:
+syslog-ng:
+syslog-ng:
+syslog-ng:
+EODESC
+
+# Add a post-installation script (doinst.sh)
+cat << EOSCRIPT > "$PKG/install/doinst.sh"
+config() {
+  NEW="\$1"
+  OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
+  # If there's no config file by that name, mv it over:
+  if [ ! -r \$OLD ]; then
+    mv \$NEW \$OLD
+  elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
+    # toss the redundant copy
+    rm \$NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+mkgroup() {
+  GROUP="\$1"
+  if ! grep -qe "^\$GROUP:" etc/group; then
+    echo Creating group \$GROUP...
+    chroot . /usr/sbin/groupadd \$GROUP
+  fi
+}
+
+mkuser() {
+  USER="\$1"
+  if [ ! -z "\$2" ]; then
+    GROUP="\$2"
+  else
+    GROUP="\$USER"
+  fi
+  if ! grep -qe "^\$USER:" etc/passwd; then
+    echo Creating user \$USER...
+    chroot . /usr/sbin/useradd \$USER -g \$GROUP
+  fi
+}
+
+config etc/rc.d/rc.syslog-ng.new ; config etc/syslog-ng.conf.new
+EOSCRIPT
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/app/admin/syslog-ng/syslog-ng.conf.new b/app/admin/syslog-ng/syslog-ng.conf.new
new file mode 100644 (file)
index 0000000..706a35a
--- /dev/null
@@ -0,0 +1,270 @@
+#
+# Configuration file for syslog-ng under Debian.
+# First customized for riseup.net and then to sarava.org.
+#
+# see http://www.campin.net/syslog-ng/expanded-syslog-ng.conf
+# for examples.
+#
+# levels: emerg alert crit err warning notice info debug
+#
+
+############################################################
+## global options
+
+options {
+    chain_hostnames(0);
+    time_reopen(10);
+    time_reap(360);
+    sync(0);
+    log_fifo_size(2048);
+    create_dirs(yes);
+    owner(root);
+    group(wheel);
+    perm(0640);
+    dir_perm(0755);
+    use_dns(no);
+};
+
+############################################################
+## universal source
+
+source s_all {
+    internal();
+    unix-stream("/dev/log");
+    file("/proc/kmsg" log_prefix("kernel: "));
+};
+
+############################################################
+## generic destinations
+
+destination df_facility_dot_info   { file("/var/log/$FACILITY.info");   };
+destination df_facility_dot_notice { file("/var/log/$FACILITY.notice"); };
+destination df_facility_dot_warn   { file("/var/log/$FACILITY.warn");   };
+destination df_facility_dot_err    { file("/var/log/$FACILITY.err");    };
+destination df_facility_dot_crit   { file("/var/log/$FACILITY.crit");   };
+
+############################################################
+## generic filters
+
+filter f_strip { strip(ips); };
+filter f_at_least_info   { level(info..emerg);   };
+filter f_at_least_notice { level(notice..emerg); };
+filter f_at_least_warn   { level(warn..emerg);   };
+filter f_at_least_err    { level(err..emerg);    };
+filter f_at_least_crit   { level(crit..emerg);   };
+
+############################################################
+## secure
+
+filter f_auth { facility(auth, authpriv); };
+destination df_auth { file("/var/log/secure"); };
+log {
+    source(s_all);
+    filter(f_auth);
+    # comment the following line if you don't want to strip IPs
+         filter(f_strip);
+    destination(df_auth);
+};
+
+############################################################
+## daemon log
+#
+#filter f_daemon { facility(daemon); };
+#destination df_daemon { file("/var/log/daemon.log"); };
+#log {
+#    source(s_all);
+#    filter(f_daemon);
+#    destination(df_daemon);
+#};
+
+############################################################
+## kern log
+#
+#filter f_kern { facility(kern); };
+#destination df_kern { file("/var/log/kernel"); };
+#log {
+#    source(s_all);
+#    filter(f_kern);
+#    destination(df_kern);
+#};
+
+############################################################
+## user log
+
+#filter f_user { facility(user); };
+#destination df_user { file("/var/log/user.log"); };
+#log {
+#    source(s_all);
+#    filter(f_user);
+#    destination(df_user);
+#};
+
+############################################################
+## sympa log
+
+filter f_sympa { program("^(sympa|bounced|archived|task_manager)"); };
+destination d_sympa { file("/var/log/sympa"); };
+log {
+       source(s_all);
+       filter(f_sympa);
+       destination(d_sympa);
+       flags(final);
+};
+
+############################################################
+## wwsympa log
+
+filter f_wwsympa { program("^wwsympa"); };
+destination d_wwsympa { file("/var/log/sympa"); };
+log {
+       source(s_all);
+       filter(f_wwsympa);
+  # comment the following line if you don't want to strip IPs
+       filter(f_strip);
+       destination(d_wwsympa);
+       flags(final);
+};
+
+############################################################
+## ldap log
+#
+#filter f_ldap { program("slapd"); };
+#destination d_ldap { file("/var/log/ldap"); };
+#log {
+#      source(s_all);
+#      filter(f_ldap);
+#      destination(d_ldap);
+#      flags(final);
+#};
+
+############################################################
+## mail log
+
+filter f_postfix {
+  program("^postfix/") or
+  program("courier|imap|pop|dovecot") or
+  program("^maildrop") or
+  facility(mail);
+};
+destination d_postfix { file("/var/log/maillog"); };
+log {
+       source(s_all);
+       filter(f_postfix);
+  # comment the following line if you don't want to strip IPs
+       filter(f_strip);
+       destination(d_postfix);
+       flags(final);
+};
+
+############################################################
+## messages log
+
+filter f_messages {
+       facility(auth,authpriv,daemon,mail,user,kern,cron,news) or
+       level(info);
+};
+destination df_messages { file("/var/log/messages"); };
+log {
+    source(s_all);
+    filter(f_messages);
+    # comment the following line if you don't want to strip IPs
+         filter(f_strip);
+    destination(df_messages);
+};
+
+############################################################
+## system log
+
+filter f_system {
+       facility(auth,authpriv,daemon,mail,user,kern,cron,news) or
+  level(warn,err,crit,alert,emerg);
+};
+destination df_system { file("/var/log/syslog"); };
+log {
+    source(s_all);
+    filter(f_system);
+    # comment the following line if you don't want to strip IPs
+         filter(f_strip);
+    destination(df_system);
+};
+
+############################################################
+## cron log
+
+filter f_cron { facility(cron); };
+destination df_cron { file("/var/log/cron"); };
+log {
+    source(s_all);
+    filter(f_cron);
+    destination(df_cron);
+};
+
+############################################################
+## spooler log
+
+filter f_spooler { facility(uucp) and (facility(news) and level(crit)); };
+destination df_spooler { file("/var/log/spooler"); };
+log {
+    source(s_all);
+    filter(f_spooler);
+    # comment the following line if you don't want to strip IPs
+         filter(f_strip);
+    destination(df_spooler);
+};
+
+############################################################
+## debug log
+
+filter f_debug { level(debug); };
+destination df_debug { file("/var/log/debug"); };
+log {
+    source(s_all);
+    filter(f_debug);
+    # comment the following line if you don't want to strip IPs
+         filter(f_strip);
+    destination(df_debug);
+};
+
+############################################################
+## errors log
+#
+#filter f_errors {
+#      level(warn,err,crit,alert,emerg)
+#      and not facility(auth,authpriv,daemon,mail,user,kern);
+#};
+#destination df_errors { file("/var/log/errors"); };
+#log {
+#      source(s_all);
+#      filter(f_errors);
+#      destination(df_errors);
+#};
+
+############################################################
+## emergencies
+
+filter f_emerg { level(emerg); };
+destination du_all { usertty("*"); };
+log {
+       source(s_all);
+       filter(f_emerg);
+  # comment the following line if you don't want to strip IPs
+       filter(f_strip);
+       destination(du_all);
+};
+
+############################################################
+## console messages
+
+#filter f_xconsole {
+#    facility(daemon,mail)
+#    or level(debug,info,notice,warn)
+#    or (facility(news)
+#    and level(crit,err,notice));
+#};
+#destination dp_xconsole { pipe("/dev/xconsole"); };
+#log {
+#    source(s_all);
+#    filter(f_xconsole);
+#    destination(dp_xconsole);
+#};
+
diff --git a/app/arch/unrar-gpl/unrar-gpl.SlackBuild b/app/arch/unrar-gpl/unrar-gpl.SlackBuild
new file mode 100644 (file)
index 0000000..d1d7feb
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  unrar-gpl.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  unrar-gpl.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for unrar-gpl, by Alexandre Vieira de Souza
+# requires:  
+# tested: unrar-gpl-0.0.1
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="unrar"
+PKG_NAME="unrar-gpl"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.0.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1avs}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://download.gna.org/unrar/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler----------------------------------------------------|
+unrar: unrar by Slack.Sarava
+unrar:
+unrar: Uncompress rar files. Free rar unpacker.
+unrar:
+unrar:
+unrar:
+unrar:
+unrar:
+unrar:
+unrar: by avs
+unrar:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index 0c69dbf26369d39b15a2a51855880d36c6d87db0..5da27a4254dcc8b00eabad692db935040f6bfd22 100755 (executable)
@@ -1,24 +1,22 @@
 #!/bin/bash
 #
 #  pgpdump.SlackBuild is free software; you can redistribute
-#  it and/or modify it under the terms of the GNU General Public
-#  License as published by the Free Software Foundation; either
-#  version 2 of the License, or any later version.
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  pgpdump.SlackBuild is distributed in the hope that it
-#  will be useful, but WITHOUT ANY WARRANTY; without even the
-#  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-#  PURPOSE.  See the GNU General Public License for more details.
+#  pgpdump.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public
-#  License along with this program; if not, write to the Free
-#  Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-#  MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# SlackBuild for pgpdump
-# http://www.mew.org/~kazu/proj/pgpdump/
-#
-# Author: Luis ( luis at riseup d0t net )
+# slackbuild for pgpdump, by Alexandre Vieira de Souza
+# requires:  
+# tested: pgpdump-0.26
 #
 
 # Look for slackbuildrc
@@ -35,17 +33,19 @@ PKG_NAME="pgpdump"
 ARCH=${ARCH:=i486}
 SRC_VERSION=${VERSION:=0.26}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
-BUILD=${BUILD:=1ls}
+BUILD=${BUILD:=1avs}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
 PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
 PREFIX=${PREFIX:=/usr}
 PKG_WORK="$TMP/$SRC_NAME"
-CONF_OPTIONS=${CONF_OPTIONS:=}
-NUMJOBS=${NUMJOBS:=-j3}
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
 
-# Set system optmization flags based on $ARCH
 if [ "$ARCH" = "i386" ]; then
   SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
 elif [ "$ARCH" = "i486" ]; then
@@ -55,7 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -75,28 +77,30 @@ mkdir -p "$REPOS" || exit $ERROR_MKDIR
 mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
 # Dowload source if necessary
-SRC="$SRC_NAME-$SRC_VERSION.tar.gz"
+SRC="$SRC_NAME-$VERSION.tar.gz"
 URL="http://www.mew.org/~kazu/proj/pgpdump/$SRC"
 
-if [ ! -s "$SRC_DIR/$SRC" ] || ! gzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
-CFLAGS="$SLKCFLAGS" ./configure $CONF_OPTIONS || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
 
 # Compile
 make $NUMJOBS || exit $ERROR_MAKE
 
 # Install
-mkdir -p "$PKG/$PREFIX/bin" "$PKG/$PREFIX/man/man1" || exit $ERROR_MKDIR
-make install prefix="$PKG/$PREFIX" || exit $ERROR_INSTALL
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
 
 # Strip binaries
 ( cd "$PKG"
@@ -106,38 +110,27 @@ make install prefix="$PKG/$PREFIX" || exit $ERROR_INSTALL
     xargs strip --strip-unneeded 2> /dev/null
 )
 
-# Compress and link manpages
-if [ -d "$PKG/$PREFIX/man" ]; then
-  ( cd "$PKG/$PREFIX/man"
-    for manpagedir in $(find . -type d -name "man*") ; do
-      ( cd $manpagedir
-        for eachpage in $( find . -type l -maxdepth 1) ; do
-          ln -s $( readlink $eachpage ).gz $eachpage.gz
-          rm $eachpage
-        done
-        gzip -9 *.?
-      )
-    done
-  )
-fi
-
 # Install documentation
-DOCS="CHANGES COPYRIGHT README"
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
 mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
-cp -a $DOCS "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" 2> /dev/null
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
 # Add package description (slack-desc)
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-       |-----handy-ruler-------------------------------------------------------|
-pgpdump: pgpdump
+       |-----handy-ruler------------------------------------------------------|
+pgpdump: pgpdump by Slack.Sarava
 pgpdump:
 pgpdump: pgpdump is a PGP packet visualizer which displays the packet format
 pgpdump: of OpenPGP (RFC 2440 + bis) and PGP version 2 (RFC 1991).
@@ -146,7 +139,7 @@ pgpdump: For more information, http://www.mew.org/~kazu/proj/pgpdump/
 pgpdump:
 pgpdump:
 pgpdump:
-pgpdump:
+pgpdump: by avs
 pgpdump:
 EODESC
 
index 9471c066c41c1e68966d1fc335bbbb46e4c64839..e1cb2d7d1e18c96ada161b3a247c369857c46f16 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for wine, by Rudson R. Alves
 # requires:  
-# tested: wine-0.9.59, 0.9.61
+# tested: wine-1.0
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="wine"
 PKG_NAME="wine"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=0.9.61}
+SRC_VERSION=${VERSION:=1.1.0}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rra}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -41,7 +41,7 @@ REPOS=${REPOS:=$TMP}
 PREFIX=${PREFIX:=/usr}
 PKG_WORK="$TMP/$SRC_NAME"
 CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc --localstatedir=/var"}
-NUMJOBS=${NUMJOBS:="-j4"}
+NUMJOBS=${NUMJOBS:="-j3"}
 
 # Set system libraries' path and optmization flags based on $ARCH
 LIBDIR="$PREFIX/lib"
@@ -55,9 +55,10 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
   CONF_OPTIONS="$CONF_OPTIONS --enable-win64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -87,7 +88,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -112,7 +113,7 @@ make install DESTDIR="$PKG" || exit $ERROR_INSTALL
 )
 
 # Install documentation
-DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING readme.*"
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
 mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
 for doc in $DOCS; do
   if [ -f "$doc" ]; then
@@ -124,9 +125,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index 9f73e7f4ac15bbdd025cca49cd287223579567aa..01ba0b36bb8f7e16b2f499becadab4bf605d8592 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for broffice, by Rudson R. Alves
 # requires:  
-# tested: broffice-2.4.0
+# tested: broffice-2.4.1
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="BrOo"
 PKG_NAME="broffice"
 ARCH=${ARCH:=i686}
-SRC_VERSION=${VERSION:=2.4.0}
+SRC_VERSION=${VERSION:=2.4.1}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rra}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -116,9 +116,9 @@ mv $PKG/install/doinst.sh.new $PKG/install/doinst.sh
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
diff --git a/app/text/enchant/enchant.SlackBuild b/app/text/enchant/enchant.SlackBuild
new file mode 100644 (file)
index 0000000..dca7809
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  enchant.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  enchant.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for enchant, by Rudson R. Alves
+# requires: aspell 
+# tested: enchant-1.4.2
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="enchant"
+PKG_NAME="enchant"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.4.2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.abisource.com/downloads/enchant/1.4.2/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS BUGS COPYING.LIB ChangeLog HACKING MAINTAINERS NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+enchant: enchant by Slack.Sarava
+enchant:
+enchant: The project aims to provide an efficient extensible abstraction
+enchant: for spell checking libaries. These include, but are not limited to:
+enchant:
+enchant: Aspell/Pspell; Ispell; Hspell; Uspell
+enchant:
+enchant: Enchant is also meant to be used in a cross-platform (XP) environment.
+enchant: Part of this means that Enchant wants to limit its number of
+enchant: external dependencies to 0, or as close is as humanly possible.
+enchant:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/app/text/enchant/slack-required b/app/text/enchant/slack-required
new file mode 100644 (file)
index 0000000..30c7651
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to enchant
+#
+# dependency [condition] [version]]
+aspell                         
diff --git a/app/text/gtkspell/gtkspell.SlackBuild b/app/text/gtkspell/gtkspell.SlackBuild
new file mode 100644 (file)
index 0000000..e2249a3
--- /dev/null
@@ -0,0 +1,156 @@
+#!/bin/bash
+#
+#  gtkspell.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gtkspell.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gtkspell, by Rudson R. Alves
+# requires: enchant 
+# tested: gtkspell-2.0.13
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gtkspell"
+PKG_NAME="gtkspell"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.0.13}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--disable-gtk-doc --program-prefix= --program-suffix= --build=$ARCH-slackware-linux"}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://gtkspell.sourceforge.net/download/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+# Fix aspell errors on compiling
+sed -i 's/\-lgtkspell$/\-lgtkspell \-laspell/' $PKG/$LIBDIR/pkgconfig/gtkspell-2.0.pc
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler-----------------------------------------------------|
+gtkspell: gtkspell by Slack.Sarava
+gtkspell:
+gtkspell: GtkSpell provides MSWord/MacOSX-style highlighting of misspelled
+gtkspell: words in a GtkTextView widget.  Right-clicking a misspelled word
+gtkspell: pops up a menu of suggested replacements.
+gtkspell:
+gtkspell:
+gtkspell:
+gtkspell:
+gtkspell:
+gtkspell:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/app/text/gtkspell/slack-required b/app/text/gtkspell/slack-required
new file mode 100644 (file)
index 0000000..becd778
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to gtkspell
+#
+# dependency [condition] [version]]
+enchant                                
index d50ef7b16c643aa8e8c664ae18ea3f0bd192b46b..61532b55d3eac2d49098f9318310760f266e4ba7 100644 (file)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for rarian, by Rudson R. Alves
 # requires:  
-# tested: rarian-0.6.0
+# tested: rarian-0.8.0
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="rarian"
 PKG_NAME="rarian"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=0.6.0}
+SRC_VERSION=${VERSION:=0.8.0}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rra}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -55,8 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -77,7 +78,7 @@ mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
 # Dowload source if necessary
 SRC="$SRC_NAME-$VERSION.tar.bz2"
-URL="http://ftp.acc.umu.se/pub/gnome/sources/rarian/0.6/$SRC"
+URL="http://ftp.acc.umu.se/pub/gnome/sources/rarian/0.8/$SRC"
 
 if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
@@ -86,7 +87,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -122,9 +123,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index 70a7664ffd91f03c462c7db6125417acbf9dafb9..fffc56e05d8402cde9a949570ad3d76359c2a544 100755 (executable)
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="cairomm"
 PKG_NAME="cairomm"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=1.6.0}
+SRC_VERSION=${VERSION:=1.4.8}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
diff --git a/dev/cpp/glademm/glademm.SlackBuild b/dev/cpp/glademm/glademm.SlackBuild
new file mode 100755 (executable)
index 0000000..6f38a63
--- /dev/null
@@ -0,0 +1,152 @@
+#!/bin/bash
+#
+#  glademm.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gtkmm.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along with
+#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+#  Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gtkmm, by Silvio Rhatto
+# requires: gtkmm
+# tested: glademm-2.6.6
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libglademm"
+PKG_NAME="glademm"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.6.6}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://ftp.acc.umu.se/pub/GNOME/sources/libglademm/2.6/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS TODO COPYING ChangeLog NEWS README INSTALL"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler--------------------------------------------------------|
+glademm: glademm (The C++ interface to LibGlade)
+glademm:
+glademm: Glademm is the official C++ interface for LibGlade, using the Gtkmm
+glademm: C++ interface of GTK.
+glademm: 
+glademm: 
+glademm:
+glademm:
+glademm:
+glademm:
+glademm:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/cpp/glademm/slack-required b/dev/cpp/glademm/slack-required
new file mode 100644 (file)
index 0000000..3202161
--- /dev/null
@@ -0,0 +1,6 @@
+# Dependency list to gtkmm
+#
+# dependency [condition] [version]]
+cairomm                
+glibmm         
+gtkmm
index fc59ab5f0aafe0c6a6afa92348663e7330d32164..893547caded647ea0ae6efcb4bb77d2bfffea276 100644 (file)
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="glibmm"
 PKG_NAME="glibmm"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=2.12.10}
+SRC_VERSION=${VERSION:=2.14.2}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -77,14 +77,14 @@ mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
 # Dowload source if necessary
 SRC="$SRC_NAME-$VERSION.tar.bz2"
-URL="http://ftp.acc.umu.se/pub/GNOME/sources/glibmm/2.12/$SRC"
+URL="http://ftp.acc.umu.se/pub/GNOME/sources/glibmm/2.14/$SRC"
 
 if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
 MD5SUM_SRC="$(md5sum "$SRC_DIR/$SRC" | cut -d " " -f 1)"
-MD5SUM_URL="85830693d669f0d86d6e64db3b57f581"
+MD5SUM_URL=58b4fdc97738795a19b1f5ad37f186b4
 
 [ "$MD5SUM_SRC" == "$MD5SUM_URL" ] || exit $ERROR_MD5
 
index d7472904460a460ffd860487dc3f12dcdb8200a9..0e4cd5ab858f8bf68d816b9951cabf1efaf7f927 100755 (executable)
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="gtkmm"
 PKG_NAME="gtkmm"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=2.8.12}
+SRC_VERSION=${VERSION:=2.12.7}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -77,7 +77,7 @@ mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
 # Dowload source if necessary
 SRC="$SRC_NAME-$VERSION.tar.bz2"
-URL="http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.8/$SRC"
+URL="http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.12/$SRC"
 
 if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
index 8a259a14b897a718e5201fd92c46d6a7b97663b8..5d33ddc98f3016129068141821dd6e34a03fc2fb 100644 (file)
@@ -1,4 +1,5 @@
 # Dependency list to gtkmm
 #
 # dependency [condition] [version]]
-cairomm                glibmm          
+cairomm                
+glibmm         
index dc5c008f8fb239cb9b8e63feced2c9ccd7150919..85ac829f3842d976bb4a86798414b1eef043b72c 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for sqlite, by Rudson R. Alves
 # requires:  
-# tested: sqlite-3.5.8
+# tested: sqlite-3.5.9
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="sqlite"
 PKG_NAME="sqlite"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=3.5.8}
+SRC_VERSION=${VERSION:=3.5.9}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rra}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -57,6 +57,7 @@ elif [ "$ARCH" = "s390" ]; then
 elif [ "$ARCH" = "x86_64" ]; then
   SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -86,7 +87,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -122,9 +123,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index ed8066d1a38f4b1b9bd7fb7a7b97a30ecca4fca6..e92ab6c500d9957f53fb56e43ac0353515455574 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for yasm, by Silvio Rhatto
 # requires:  
-# tested: yasm-0.7.0
+# tested: yasm-0.7.1
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="yasm"
 PKG_NAME="yasm"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=0.7.0}
+SRC_VERSION=${VERSION:=0.7.1}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -57,6 +57,7 @@ elif [ "$ARCH" = "s390" ]; then
 elif [ "$ARCH" = "x86_64" ]; then
   SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -86,7 +87,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -122,9 +123,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index 8d6adb5e1c566de0940b72b1ac6f6849aa45590a..c1ac51641964656afa02bb3dd35695c68ddfb58f 100755 (executable)
 #!/bin/bash
 #
-#  boost.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  boost.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  boost.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  boost.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for boost
-# by rafael at riseup.net
+# slackbuild for boost, by Silvio Rhatto
+# requires:  
+# tested: boost-1.35.0
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building boost are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-  else
-    echo Sleeping 3 seconds...
-    sleep 3
-  fi
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
 fi
 
-CWD="`pwd`"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="boost"
+PKG_NAME="boost"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.35.0}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--with-libraries=all"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
 
-if [ -f "/etc/slackbuildrc" ]; then
-  source /etc/slackbuildrc
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-if [ -f "~/.slackbuildrc" ]; then
-  source ~/.slackbuildrc
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME"_"1_35_0.tar.bz2"
+URL="http://downloads.sourceforge.net/boost/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-# default settings
-PACKAGE="boost"
-ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.35.0}
-BUILD=${BUILD:=1rd}
-SRC_DIR=${SRC:=$CWD}
-TMP=${TMP:=/tmp}
-REPOS=${REPOS:=$TMP}
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+
+# That's the old way we did
+#CFLAGS="$SLKCFLAGS" \
+#  CXXFLAGS="$SLKCFLAGS" \
+#  ./configure \
+#  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+#
+# Add DESTDIR support into Makefile
+#sed -i -e 's/\$(PREFIX)/\$(DESTDIR)\/\$(PREFIX)/'   \
+#       -e 's/\$(EPREFIX)/\$(DESTDIR)\/\$(EPREFIX)/' \
+#       -e 's/\$(LIBDIR)/\$(DESTDIR)\/\$(LIBDIR)/'   \
+#       -e 's/\$(INCLUDEDIR)/\$(DESTDIR)\/\$(INCLUDEDIR)/' Makefile
+
+# New way, using stuff from http://slackbuilds.org/repository/12.1/development/boost/,
+# wich has the following copyright note:
+
+# Copyright 2007-2008 Eric Hameleers <alien@slackware.com>
+# Copyright 2007-2008 Heinz Wiesinger <HMWiesinger@gmx.at>
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED ''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.
+
+# bjam-build system mostly taken from SlackBuild by Eric Hameleers
 
-rm -rf $TMP/$PACKAGE
-mkdir -p $SRC_DIR/$PACKAGE $TMP/$PACKAGE
+# Script modified by Robby Workman <rworkman@slackbuilds.org>
+# -- no additional license terms and no copyright
 
-export PACKAGE VERSION ARCH BUILD SRC_DIR TMP REPOS
+# Small changes from Rhatto <rhatto at riseup.net>
 
-if which simpletrack &> /dev/null; then
-  simpletrack $PACKAGE.build
+if [ "$ICU" = "YES" ]; then
+    do_icu="-sICU_PATH=/usr"
 else
-  slacktrack -b $REPOS -x $TMP,$SRC_DIR,/dev -jefkzp "$PACKAGE-$VERSION-$ARCH-$BUILD.tgz" "./$PACKAGE.build"
+    do_icu=""
 fi
 
-# doinst fix
-if [ -f "$CWD/$PACKAGE-$VERSION-doinst.diff" ]; then
-  rm -rf $TMP/package-$PACKAGE
-  mkdir $TMP/package-$PACKAGE
-  cd $TMP/package-$PACKAGE
-  explodepkg $TMP/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
-  patch -p0 < $CWD/$PACKAGE-$VERSION-doinst.diff
-  makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
-fi
+# This is the python we build against:
+PYTHON_VERSION=$(python -c 'import sys; print sys.version[:3]')
+PYTHON_FLAGS="-sPYTHON_ROOT=/usr -sPYTHON_VERSION=$PYTHON_VERSION"
+
+# First build bjam, the boost build system:
+cd tools/jam/src
+  CFLAGS="$SLKCFLAGS -fno-strict-aliasing" CC=gcc ./build.sh cc || exit $ERROR_CONF
+cd -
+
+BJAM=$(find tools/jam/src/ -name bjam -a -type f)
+
+# Patch Jamroot to include our custom build rule
+patch -p1 -i $CWD/boost_custom_jam_rule.diff || exit $ERROR_PATCH
+
+# Build procedure also thanks to slackbuilds.org and with the same copyright
+# note from the configure section above
+
+# Create build subdirectory
+mkdir obj
+
+# Next, we build boost using bjam
+ $BJAM \
+  release \
+  "-sNO_COMPRESSION=0" \
+  "-sZLIB_INCLUDE=/usr/include" \
+  "-sZLIB_LIBPATH=$LIBDIR" \
+  "-sBZIP2_INCLUDE=/usr/include" \
+  "-sBZIP2_LIBPATH=$LIBDIR" \
+  "-sEXPAT_INCLUDE=/usr/include" \
+  "-sEXPAT_LIBPATH=$LIBDIR" \
+  --toolset=gcc \
+  --layout=system \
+  --builddir=obj \
+  --prefix=/usr \
+  --build-type=custom \
+  $PYTHON_FLAGS \
+  $do_icu \
+  ${NUMJOBS} || exit ERROR_MAKE
+
+# Install
+
+# That's the old way we did
+#make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# New way, thanks to slackbuilds.org and with the same copyright
+# note from the configure section above
 
+# And then install boost..
+mkdir -p $PKG/usr/{lib,include}
+
+$BJAM \
+  release \
+  "-sEXPAT_INCLUDE=/usr/include" \
+  "-sEXPAT_LIBPATH=$LIBDIR" \
+  --toolset=gcc \
+  --layout=system \
+  --builddir=obj \
+  --prefix=$PKG/usr \
+  --build-type=custom \
+  $PYTHON_FLAGS \
+  $do_icu \
+  install || exit $ERROR_INSTALL
+
+# This is old stuff also
+# Version with underline
+#VERSION_UNDERLINE="`echo $SRC_VERSION | sed -e 's/\./_/g'`"
+#
+# Underline version without minor version if minor version is 0 (workaround)
+#VERSION_UNDERLINE="`echo $VERSION_UNDERLINE | sed -e 's/\([0-9]\+\)_\([0-9]\+\)_0/\1_\2/'`"
+#cd /usr/include && ln -s boost-$VERSION_UNDERLINE/ boost
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="LICENSE_1_0.tx"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+     |-----handy-ruler--------------------------------------------------------|
+boost: boost
+boost:
+boost: Boost provides free peer-reviewed portable C++ source libraries.
+boost: 
+boost: We emphasize libraries that work well with the C++ Standard Library. 
+boost: Boost libraries are intended to be widely useful, and usable across 
+boost: a broad spectrum of applications.
+boost:
+boost:
+boost: http://www.boost.org/
+boost:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP/$PACKAGE
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/dev/libs/boost/boost_custom_jam_rule.diff b/dev/libs/boost/boost_custom_jam_rule.diff
new file mode 100644 (file)
index 0000000..49cd519
--- /dev/null
@@ -0,0 +1,25 @@
+--- Jamroot    2008-03-25 21:47:24.000000000 +0100
++++ boost_1_35_0/Jamroot       2008-04-02 18:13:48.000000000 +0200
+@@ -127,7 +127,7 @@
+ # which builds only the "release <threading>multi <link>shared" variant.
+ local build-type = [ MATCH "^--build-type=(.*)" : [ modules.peek : ARGV ] ] ;
+ build-type ?= minimal ;
+-if ! ( $(build-type) in minimal complete )
++if ! ( $(build-type) in minimal complete custom )
+ {
+     build-type = minimal ;
+ }
+@@ -145,6 +145,13 @@
+     <link>shared <link>static
+     <runtime-link>shared <runtime-link>static
+     ;
++local default-build,custom =
++    release
++    <optimization>speed <inlining>full
++    <threading>single <threading>multi
++    <link>shared
++    <runtime-link>shared
++    ;
+ # Set the default build.
+ local default-build = $(default-build,$(build-type)) ;
diff --git a/dev/libs/check/check.SlackBuild b/dev/libs/check/check.SlackBuild
new file mode 100755 (executable)
index 0000000..f7cb267
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  check.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  check.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for check, by Rafael Diniz
+# requires:  
+# tested: check-0.9.5
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="check"
+PKG_NAME="check"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.9.5}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://ufpr.dl.sourceforge.net/sourceforge/check/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="ABOUT-NLS AUTHORS COPYING ChangeLog FAQ INSTALL NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+     |-----handy-ruler--------------------------------------------------------|
+check: check by Slack.Sarava
+check:
+check: Check is a unit testing framework for C. It features a simple 
+check: interface for defining unit tests, putting little in the way 
+check: of the developer. Tests are run in a separate address space, 
+check: so Check can catch both assertion failures and code errors 
+check: that cause segmentation faults or other signals. The output 
+check: from unit tests can be used within source code editors and IDEs. 
+check:
+check:
+check:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/libs/directfb-extra/DirectFB-extra.SlackBuild b/dev/libs/directfb-extra/DirectFB-extra.SlackBuild
new file mode 100644 (file)
index 0000000..10549c2
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  DirectFB-extra.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  DirectFB-extra.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for DirectFB-extra, by Rafael Diniz
+# requires: swfdec 
+# tested: DirectFB-extra-1.0.0
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="DirectFB-extra"
+PKG_NAME="DirectFB-extra"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.0.0}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=" --disable-ffmpeg --enable-flash "}
+NUMJOBS=${NUMJOBS:="-j3"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.directfb.org/downloads/Extras/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+              |-----handy-ruler-----------------------------------------------|
+DirectFB-extra: DirectFB-extra (software for DirectFB)
+DirectFB-extra: 
+DirectFB-extra: DirectFB-extra provides images and video providers
+DirectFB-extra: and also other examples for DirectFB.
+DirectFB-extra: 
+DirectFB-extra: 
+DirectFB-extra: 
+DirectFB-extra: 
+DirectFB-extra: 
+DirectFB-extra: http://www.directfb.org/
+DirectFB-extra:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/libs/directfb-extra/slack-required b/dev/libs/directfb-extra/slack-required
new file mode 100644 (file)
index 0000000..30a0994
--- /dev/null
@@ -0,0 +1,5 @@
+# Dependency list to DirectFB-extra
+#
+# dependency [condition] [version]]
+DirectFB                               
+swfdec                         
diff --git a/dev/libs/directfb/DirectFB.SlackBuild b/dev/libs/directfb/DirectFB.SlackBuild
new file mode 100755 (executable)
index 0000000..c906d8a
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  DirectFB.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  DirectFB.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for DirectFB, by Rafael Diniz
+# requires:  
+# tested: DirectFB-1.0.1
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="DirectFB"
+PKG_NAME="DirectFB"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.0.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.directfb.org/downloads/Core/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler-----------------------------------------------------|
+DirectFB: DirectFB by Slack.Sarava
+DirectFB: 
+DirectFB: DirectFB is a thin library that provides hardware graphics 
+DirectFB: acceleration, input device handling and abstraction, integrated 
+DirectFB: windowing system with support for translucent windows and multiple 
+DirectFB: display layers, not only on top of the Linux Framebuffer Device. 
+DirectFB: It is a complete hardware abstraction layer with software fallbacks
+DirectFB: for every graphics operation that is not supported by the 
+DirectFB: underlying hardware. DirectFB adds graphical power to embedded 
+DirectFB: systems and sets a new standard for graphics under Linux.
+DirectFB:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index 24ffcfc8b71dcb92443833046ebd1a2b11cd0540..6507faecf7a88e318f11e7869cf7eba0037560a0 100755 (executable)
 #!/bin/bash
 #
-#  eet.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  eet.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  eet.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  eet.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for eet
-# by rhatto at riseup.net
+# slackbuild for eet, by Silvio Rhatto
+# requires:  
+# tested: eet-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building eet are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="eet"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="eet"
+PKG_NAME="eet"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/efl"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/e17/libs/eet" ]; then
-  cd $SRC_DIR/e17/libs/eet
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/libs/eet || exit $ERROR_VCS
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-cd $SRC_DIR/e17/libs/eet
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-CWD="`pwd`"
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://svn.enlightenment.org/svn/e/trunk/eet`"
 
-cd $TMP/package-$PACKAGE
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://svn.enlightenment.org/svn/e/trunk/eet $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Configure
+./autogen.sh || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO BUGS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-   |-----handy-ruler-----------------------------------------------------|
+   |-----handy-ruler----------------------------------------------------------|
 eet: eet
 eet:
 eet: Eet is a tiny library designed to write an arbitary set of chunks of
@@ -111,22 +148,13 @@ eet:
 eet:
 eet:
 eet:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/dev/libs/eventlog/eventlog.SlackBuild b/dev/libs/eventlog/eventlog.SlackBuild
new file mode 100755 (executable)
index 0000000..8830087
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  eventlog.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  eventlog.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for eventlog, by Silvio Rhatto
+# requires:  
+# tested: eventlog-0.2.7
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="eventlog"
+PKG_NAME="eventlog"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.2.7}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.balabit.com/downloads/files/syslog-ng/sources/stable/src/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING CREDITS ChangeLog NEWS README VERSION"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler-----------------------------------------------------|
+eventlog: eventlog
+eventlog:
+eventlog: The EventLog library aims to be a replacement of the simple syslog()
+eventlog: API provided on UNIX systems. The major difference between EventLog
+eventlog: and syslog is that EventLog tries to add structure to messages.
+eventlog:
+eventlog:
+eventlog:
+eventlog:
+eventlog:
+eventlog:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index 8af21b470700f3ea8c9ca890c3be5916052837b7..94d2f4dfcc47484b04c5160ec309ba4f9e078b24 100755 (executable)
 #!/bin/bash
 #
-#  exml.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  exml.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  exml.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  exml.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for exml
-# by rhatto at riseup.net
+# slackbuild for exml, by Silvio Rhatto
+# requires: eet evas ecore embryo edje imlib2 epsilon 
+# tested: exml-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building exml are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="exml"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="exml"
+PKG_NAME="exml"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/efl"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/e17/libs/exml" ]; then
-  cd $SRC_DIR/e17/libs/exml
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/libs/exml || exit $ERROR_VCS
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-cd $SRC_DIR/e17/libs/exml
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-CWD="`pwd`"
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://svn.enlightenment.org/svn/e/trunk/exml`"
 
-cd $TMP/package-$PACKAGE
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://svn.enlightenment.org/svn/e/trunk/exml $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Configure
+./autogen.sh || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO BUGS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-   |-----handy-ruler-----------------------------------------------------|
+    |-----handy-ruler---------------------------------------------------------|
 exml: exml
 exml: 
 exml: EXML is an abstracted, generalized interface to an xml parser/writer,
@@ -111,22 +148,13 @@ exml:
 exml:
 exml:
 exml:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 2b3955f56a3c1821d5e490f755ce2c21e8943a53..cec8a8b9a7bf3879352f2cfc439fea3a658c12bd 100644 (file)
@@ -1,7 +1,10 @@
-eet
-evas
-ecore
-embryo
-edje
-imlib2
-epsilon
+# Dependency list to exml
+#
+# dependency [condition] [version]]
+eet                            
+evas                           
+ecore                          
+embryo                         
+edje                           
+imlib2                         
+epsilon                                
diff --git a/dev/libs/libgweather/libgweather.SlackBuild b/dev/libs/libgweather/libgweather.SlackBuild
new file mode 100644 (file)
index 0000000..2bc002a
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  libgweather.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  libgweather.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for libgweather, by Alexandre Vieira de Souza
+# requires: gnome-vfs 
+# tested: libgweather-2.22.3
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libgweather"
+PKG_NAME="libgweather"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.22.3}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1avs}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://ftp.gnome.org/pub/GNOME/sources/libgweather/2.22/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+           |-----handy-ruler--------------------------------------------------|
+libgweather: libgweather by Slack.Sarava
+libgweather:
+libgweather: The package contains the GNOME panel which the area on your desktop
+libgweather: from which you can run applications and applets, and perform other
+libgweather: tasks.
+libgweather: 
+libgweather:
+libgweather:
+libgweather:
+libgweather: by avs
+libgweather:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/libs/libgweather/slack-required b/dev/libs/libgweather/slack-required
new file mode 100644 (file)
index 0000000..9deaa05
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to libgweather
+#
+# dependency [condition] [version]]
+gnome-vfs              >=              2.22.0
diff --git a/dev/libs/libtasn1/libtasn1.SlackBuild b/dev/libs/libtasn1/libtasn1.SlackBuild
new file mode 100644 (file)
index 0000000..32da058
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  libtasn1.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  libtasn1.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for libtasn1, by Alexandre Vieira de Souza
+# requires:  
+# tested: libtasn1-1.4
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libtasn1"
+PKG_NAME="libtasn1"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.4}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1avs}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="ftp://ftp.gnutls.org/pub/gnutls/libtasn1/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler-----------------------------------------------------|
+libtasn1: libtasn1 by Slack.Sarava
+libtasn1:
+libtasn1: This is the ASN.1 library used in GNUTLS 
+libtasn1:
+libtasn1:
+libtasn1:
+libtasn1:
+libtasn1:
+libtasn1:
+libtasn1: by avs
+libtasn1:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/python/configobj/configobj.SlackBuild b/dev/python/configobj/configobj.SlackBuild
new file mode 100755 (executable)
index 0000000..405354b
--- /dev/null
@@ -0,0 +1,144 @@
+#!/bin/bash
+#
+#  configobj.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  configobj.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for configobj, by Silvio Rhatto
+# requires:  
+# tested: configobj-4.5.2
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="configobj"
+PKG_NAME="configobj"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=4.5.2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.zip"
+URL="http://downloads.sourceforge.net/configobj/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! unzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+unzip  "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Build and install package
+python setup.py build install --root=$PKG
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="PKG-INFO docs/*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler----------------------------------------------------|
+configobj: configobj
+configobj:
+configobj: A python module for ultra simple handling of configuration files.
+configobj: Also useful for human readable data persistence.
+configobj: Flexible and simple.
+configobj:
+configobj:
+configobj:
+configobj:
+configobj:
+configobj:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/python/db3/db3.SlackBuild b/dev/python/db3/db3.SlackBuild
new file mode 100644 (file)
index 0000000..f4e22c2
--- /dev/null
@@ -0,0 +1,183 @@
+#!/bin/bash
+#
+#  db3.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  db3.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for db3, by Rudson R. Alves
+# requires:  
+# tested: db3-3.3.11
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="db"
+PKG_NAME="db3"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=3.3.11}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--enable-compat185 --disable-shared --enable-rpc"}
+NUMJOBS=${NUMJOBS:="-j3"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://download.oracle.com/berkeley-db/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np0 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np0 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np0 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np0 || exit $ERROR_PATCH
+  fi
+done
+
+if echo http://slackware.cs.utah.edu/pub/slackware/slackware-12.1/pasture/source/db3/patch.3.3.11.1.gz | grep -q -v "PATCH URLS"; then
+  for patch_url in http://slackware.cs.utah.edu/pub/slackware/slackware-12.1/pasture/source/db3/patch.3.3.11.1.gz; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np0 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np0 || exit $ERROR_PATCH
+    else
+      patch -Np0 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
+
+# Configure
+cd dist
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+   |-----handy-ruler----------------------------------------------------------|
+db3: db3 (Berkeley database library version 3)
+db3:
+db3: The Berkeley Database (Berkeley DB) library provides embedded database
+db3: support for both traditional and client/server applications.
+db3:
+db3: This package should be installed if compatibility is needed with
+db3: databases created with the Berkeley DB version 3.
+db3:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index b03be75d728d50b89b900ed0d82f7b262e78779f..2ff23a4839b3f7d672e6939cea3f3d95020c10c9 100755 (executable)
 #!/bin/bash
 #
-#  epsilon.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  epsilon.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  epsilon.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  epsilon.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for epsilon
-# by rhatto at riseup.net
+# slackbuild for epsilon, by Silvio Rhatto
+# requires: eet evas ecore embryo edje imlib2 
+# tested: epsilon-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building epsilon are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="epsilon"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="epsilon"
+PKG_NAME="epsilon"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/efl"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/e17/libs/epsilon" ]; then
-  cd $SRC_DIR/e17/libs/epsilon
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/libs/epsilon || exit $ERROR_VCS
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-cd $SRC_DIR/e17/libs/epsilon
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-CWD="`pwd`"
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://svn.enlightenment.org/svn/e/trunk/epsilon`"
 
-cd $TMP/package-$PACKAGE
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://svn.enlightenment.org/svn/e/trunk/epsilon $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Configure
+./autogen.sh || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO BUGS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-       |-----handy-ruler-----------------------------------------------------|
+       |-----handy-ruler------------------------------------------------------|
 epsilon: epsilon
 epsilon: 
 epsilon: Epsilon is a small, display independent, and quick thumbnailing
@@ -111,22 +148,13 @@ epsilon:
 epsilon:
 epsilon:
 epsilon:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 7722b8ebff025cff949a66f97fe1d2e006e8f0e9..1d137eb65414ca84f9053636127e0b6deeabed8f 100644 (file)
@@ -1,6 +1,9 @@
-eet
-evas
-ecore
-embryo
-edje
-imlib2
+# Dependency list to epsilon
+#
+# dependency [condition] [version]]
+eet                            
+evas                           
+ecore                          
+embryo                         
+edje                           
+imlib2                         
diff --git a/dev/python/genshi/Genshi.SlackBuild b/dev/python/genshi/Genshi.SlackBuild
new file mode 100755 (executable)
index 0000000..c6b8fbb
--- /dev/null
@@ -0,0 +1,144 @@
+#!/bin/bash
+#
+#  Genshi.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  Genshi.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for Genshi, by Silvio Rhatto
+# requires: setuptools 
+# tested: Genshi-0.5
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="Genshi"
+PKG_NAME="Genshi"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.5}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://ftp.edgewall.com/pub/genshi/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Build and install package
+python setup.py build install --root=$PKG
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="COPYING ChangeLog README.txt UPGRADE.txt"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+      |-----handy-ruler-------------------------------------------------------|
+Genshi: Genshi
+Genshi: 
+Genshi: Genshi is a Python library that provides an integrated set of
+Genshi: components for parsing, generating, and processing HTML, XML
+Genshi: or other textual content for output generation on the web.
+Genshi: 
+Genshi: 
+Genshi: 
+Genshi: 
+Genshi: 
+Genshi: 
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/python/genshi/slack-required b/dev/python/genshi/slack-required
new file mode 100644 (file)
index 0000000..3d6804c
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to Genshi
+#
+# dependency [condition] [version]]
+setuptools                             
diff --git a/dev/python/mysql-python/MySQL-python.SlackBuild b/dev/python/mysql-python/MySQL-python.SlackBuild
new file mode 100644 (file)
index 0000000..a844a86
--- /dev/null
@@ -0,0 +1,144 @@
+#!/bin/bash
+#
+#  MySQL-python.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  MySQL-python.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for MySQL-python, by Rudson R. Alves
+# requires: python setuptools 
+# tested: MySQL-python-1.2.2
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="MySQL-python"
+PKG_NAME="MySQL-python"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.2.2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/MySQL-python/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Compile
+python setup.py build install --root=$PKG || exit $ERROR_MAKE
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="ChangeLog GPL HISTORY MANIFEST MANIFEST.in PKG-INFO README "
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+            |-----handy-ruler-------------------------------------------------|
+MySQL-python: MySQL-python by Slack.Sarava
+MySQL-python: 
+MySQL-python: MySQLdb is an interface to the popular MySQL database server
+MySQL-python: for Python.  The design goals are:
+MySQL-python: * Compliance with Python database API version 2.0 [PEP-0249]
+MySQL-python: * Thread-safety
+MySQL-python: * Thread-friendliness (threads will not block each other)
+MySQL-python: 
+MySQL-python: MySQL-3.23 through 5.0 and Python-2.3 through 2.5 are currently
+MySQL-python: supported.
+MySQL-python:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/python/mysql-python/slack-required b/dev/python/mysql-python/slack-required
new file mode 100644 (file)
index 0000000..1011a0c
--- /dev/null
@@ -0,0 +1,6 @@
+# Dependency list to MySQL-python
+#
+# dependency [condition] [version]]
+python                         
+Pyrex                          
+setuptools                             
index 8bbdcdeb1bb2195a9867d3b7530a71b9b355947f..2ff9a0120664a5c4de3707f0a1bb291742e0f0a3 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild for numpy, by Silvio Rhatto
-# requires: python
+# slackbuild for numpy, by Rudson R. Alves
+# requires: python lapack 
 # tested: numpy-1.0.4
 #
 
@@ -33,7 +33,7 @@ PKG_NAME="numpy"
 ARCH=${ARCH:=i486}
 SRC_VERSION=${VERSION:=1.0.4}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
-BUILD=${BUILD:=1rha}
+BUILD=${BUILD:=1srv}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
 PKG=${PKG:=$TMP/package-$PKG_NAME}
@@ -41,7 +41,7 @@ REPOS=${REPOS:=$TMP}
 PREFIX=${PREFIX:=/usr}
 PKG_WORK="$TMP/$SRC_NAME"
 CONF_OPTIONS=${CONF_OPTIONS:=""}
-NUMJOBS=${NUMJOBS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
 
 # Set system libraries' path and optmization flags based on $ARCH
 LIBDIR="$PREFIX/lib"
@@ -55,8 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -83,15 +84,17 @@ if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
-# Build and install package
-python setup.py build install --root=$PKG
+# Compile
+python setup.py build || exit $ERROR_MAKE
+
+# Install
+python setup.py install --prefix=$PKG/usr || exit $ERROR_INSTALL
 
 # Strip binaries
 ( cd "$PKG"
@@ -114,22 +117,22 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
      |-----handy-ruler--------------------------------------------------------|
-numpy: NumPy: array processing for numbers, strings, records, and objects.
+numpy: numpy by Slack.Sarava
+numpy:
+numpy: NumPy is a replacement of Numeric Python that adds the features
+numpy: of numarray.
+numpy:
+numpy:
+numpy:
+numpy:
 numpy:
-numpy: NumPy is a general-purpose array-processing package designed to efficiently
-numpy: manipulate large multi-dimensional arrays of arbitrary records without
-numpy: sacrificing too much speed for small multi-dimensional arrays. NumPy is
-numpy: built on the Numeric code base and adds features introduced by numarray as
-numpy: well as an extended C-API and the ability to create arrays of arbitrary
-numpy: type which also makes NumPy suitable for interfacing with general-purpose
-numpy: data-base applications.
 numpy:
 numpy:
 EODESC
index b53d6a786ad4a3d47bf446b5195cf8967e63b26a..a8ce98af0ff4ed8a90a5b850131854e72ab8f94d 100644 (file)
@@ -2,3 +2,4 @@
 #
 # dependency [condition] [version]]
 python                         
+lapack                         
diff --git a/dev/python/pygments/Pygments.SlackBuild b/dev/python/pygments/Pygments.SlackBuild
new file mode 100755 (executable)
index 0000000..290570a
--- /dev/null
@@ -0,0 +1,144 @@
+#!/bin/bash
+#
+#  Pygments.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  Pygments.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for Pygments, by Silvio Rhatto
+# requires:  
+# tested: Pygments-0.10
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="Pygments"
+PKG_NAME="Pygments"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.10}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://pypi.python.org/packages/source/P/Pygments/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Build and install package
+python setup.py build install --root=$PKG
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS CHANGES LICENSE TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler-----------------------------------------------------|
+Pygments: Pygments
+Pygments:
+Pygments: Pygments is a syntax highlighting package written in Python.
+Pygments:
+Pygments:
+Pygments:
+Pygments:
+Pygments:
+Pygments:
+Pygments:
+Pygments:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index ade78172e97042e67b2abe427681a535e63e0ade..f570f0d5c8e65aa36bcd21eda1b08510d5863833 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild for Pyrex, by Silvio Rhatto
-# requires:  
-# tested: Pyrex-0.9.6.4
+# slackbuild for Pyrex, by Rudson R. Alves
+# requires: python 
+# tested: Pyrex-0.9.8.4
 #
 
 # Look for slackbuildrc
@@ -31,9 +31,9 @@ CWD="$(pwd)"
 SRC_NAME="Pyrex"
 PKG_NAME="Pyrex"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=0.9.6.4}
+SRC_VERSION=${VERSION:=0.9.8.4}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
-BUILD=${BUILD:=1rha}
+BUILD=${BUILD:=1srv}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
 PKG=${PKG:=$TMP/package-$PKG_NAME}
@@ -41,7 +41,7 @@ REPOS=${REPOS:=$TMP}
 PREFIX=${PREFIX:=/usr}
 PKG_WORK="$TMP/$SRC_NAME"
 CONF_OPTIONS=${CONF_OPTIONS:=""}
-NUMJOBS=${NUMJOBS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
 
 # Set system libraries' path and optmization flags based on $ARCH
 LIBDIR="$PREFIX/lib"
@@ -57,6 +57,7 @@ elif [ "$ARCH" = "s390" ]; then
 elif [ "$ARCH" = "x86_64" ]; then
   SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -79,18 +80,19 @@ mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 SRC="$SRC_NAME-$VERSION.tar.gz"
 URL="http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/$SRC"
 
-if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+#if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+if [ ! -s "$SRC_DIR/$SRC" ]; then # gunzip test faill
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
-# Build and install package
-python setup.py build install --root=$PKG
+# Install
+python setup.py build install --root=$PKG || exit $ERROR_INSTALL
 
 # Strip binaries
 ( cd "$PKG"
@@ -101,7 +103,7 @@ python setup.py build install --root=$PKG
 )
 
 # Install documentation
-DOCS="CHANGES.txt CHECKLIST.txt Doc/* README.txt ToDo.txt USAGE.txt"
+DOCS="CHANGES.txt CHECKLIST.txt INSTALL.txt MANIFEST.in README.txt ToDo.txt USAGE.txt"
 mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
 for doc in $DOCS; do
   if [ -f "$doc" ]; then
@@ -113,24 +115,24 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
      |-----handy-ruler--------------------------------------------------------|
-Pyrex: Pyrex (Language for Writing Python Extension Modules)
-Pyrex:
-Pyrex: Pyrex lets you write code that mixes Python and C data types any
-Pyrex: way you want, and compiles it into a C extension for Python. 
-Pyrex:
-Pyrex:
-Pyrex:
-Pyrex:
-Pyrex:
-Pyrex:
-Pyrex:
+pyrex: Pyrex by Slack.Sarava
+pyrex:
+pyrex: Pyrex lets you write code that mixes Python and C data types any way
+pyrex: you want, and compiles it into a C extension for Python. 
+pyrex:
+pyrex:
+pyrex:
+pyrex:
+pyrex:
+pyrex:
+pyrex:
 EODESC
 
 # Build the package
diff --git a/dev/python/pyrex/slack-required b/dev/python/pyrex/slack-required
new file mode 100644 (file)
index 0000000..86cd5f6
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to Pyrex
+#
+# dependency [condition] [version]]
+python                         
diff --git a/dev/python/pythondialog/pythondialog.SlackBuild b/dev/python/pythondialog/pythondialog.SlackBuild
new file mode 100644 (file)
index 0000000..f70b1bf
--- /dev/null
@@ -0,0 +1,149 @@
+#!/bin/bash
+#
+#  pythondialog.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  pythondialog.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for pythondialog, by Rudson R. Alves
+# requires:  
+# tested: pythondialog-2.7
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="pythondialog"
+PKG_NAME="pythondialog"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.7}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://downloads.sourceforge.net/pythondialog/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Compile
+python ./setup.py build || exit $ERROR_MAKE
+
+# Install
+python ./setup.py install --record $PREFIX --root=$PKG
+mv $PKG/usr/local/* $PKG/usr
+rm -rf $PKG/usr/local
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS DEBUGGING MANIFEST.in README COPYING INSTALL PKG-INFO TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+            |-----handy-ruler-------------------------------------------------|
+pythondialog: pythondialog by Slack.Sarava
+pythondialog:
+pythondialog: This is a Python module for making simple Text/Console-mode
+pythondialog: user interfaces on Unix/Linux systems. 
+pythondialog:
+pythondialog:
+pythondialog:
+pythondialog:
+pythondialog:
+pythondialog:
+pythondialog:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index c486186418a8ad451d0d0a7cab0ef38cd8aa6296..836319657f4aa658db7c690b3f2dfabaf6f6777b 100755 (executable)
 #!/bin/bash
 #
-#  setuptools.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  setuptools.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  setuptools.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  setuptools.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# SlackBuild script to call setuptools.build with correct settings
+# slackbuild for setuptools, by Silvio Rhatto
+# requires:  
+# tested: setuptools-0.6c8
 #
 
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="setuptools"
-VERSION=${VERSION:=0.6c6}
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="setuptools"
+PKG_NAME="setuptools"
 ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.6c8}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
 
-rm -rf $TMP/$PACKAGE
-mkdir -p $SRC_DIR/$PACKAGE $TMP/$PACKAGE $REPOS
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-export PACKAGE VERSION ARCH BUILD SRC_DIR TMP REPOS
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if which simpletrack &> /dev/null; then
-  simpletrack $PACKAGE.build
-else
-  slacktrack -b $REPOS -x $TMP,$SRC_DIR,/dev -jefkzp "$PACKAGE-$VERSION-$ARCH-$BUILD.tgz" "./$PACKAGE.build"
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://pypi.python.org/packages/source/s/setuptools/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Build and install package
+python setup.py build install --root=$PKG
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="PKG-INFO README.txt"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler---------------------------------------------------|
+setuptools: setuptools 
+setuptools:
+setuptools: setuptools is a collection of enhancements to the Python distutils.
+setuptools:
+setuptools:
+setuptools:
+setuptools:
+setuptools:
+setuptools:
+setuptools:
+setuptools:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP/$PACKAGE
+  rm -rf "$PKG_WORK" "$PKG"
 fi
diff --git a/dev/python/visual/slack-required b/dev/python/visual/slack-required
new file mode 100644 (file)
index 0000000..4fa8a23
--- /dev/null
@@ -0,0 +1,22 @@
+# Dependency list to visual
+#
+# dependency [condition] [version]]
+python                         
+numpy                          
+gtk                            
+atk                            
+atkmm                          
+sigc++                         
+gtkmm                          
+gdkmm                          
+glib                           
+glibmm                         
+pango                          
+pangomm                                
+freetype2                              
+gtkglext                               
+gtkglextmm                             
+cairo                          
+cairomm                                
+libglade                               
+libglademm                             
diff --git a/dev/python/visual/visual.SlackBuild b/dev/python/visual/visual.SlackBuild
new file mode 100644 (file)
index 0000000..8d38ade
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  visual.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  visual.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for visual, by Rudson R. Alves
+# requires: python numpy gtk atk atkmm sigc++ gtkmm gdkmm glib glibmm pango pangomm freetype2 gtkglext gtkglextmm cairo cairomm libglade libglademm 
+# tested: visual-4
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="visual"
+PKG_NAME="visual"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=4}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.beta26.tar.bz2"
+URL="http://downloads.sourceforge.net/visual/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="HACKING.txt INSTALL.txt NEWS.txt README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+      |-----handy-ruler-------------------------------------------------------|
+visual: visual by Slack.Sarava
+visual:
+visual: VPython is a package that includes:
+visual: * the Python programming language
+visual: * the IDLE interactive development environment
+visual: * "Visual", a Python module that offers real-time 3D output, and is
+visual:   easily usable by novice programmers
+visual: * "Numeric", a Python module for fast processing of arrays
+visual:
+visual:
+visual:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/tcltk/tls/tls.SlackBuild b/dev/tcltk/tls/tls.SlackBuild
new file mode 100644 (file)
index 0000000..f7d1167
--- /dev/null
@@ -0,0 +1,154 @@
+#!/bin/bash
+#
+#  tls.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  tls.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for tls, by Rudson R. Alves
+# requires:  
+# tested: tls-1.6
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="tls"
+PKG_NAME="tls"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.6}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=3srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=" --sysconfdir=/etc --localstatedir=/var --with-ssl-dir=/usr --enable-threads --enable-shared --program-prefix= --program-suffix= "}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+  CONF_OPTIONS="$CONF_OPTIONS --enable-64bit"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="${SRC_NAME}${VERSION}-src.tar.gz"
+URL="http://downloads.sourceforge.net/tls/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+   |-----handy-ruler----------------------------------------------------------|
+tls: tls by Slack.Sarava
+tls:
+tls: TLS is an OpenSSL / RSA-bsafe Tcl extension that provides secure
+tls: connections on top of the Tcl socket mechanism. Within a few lines of
+tls: code, users can query https servers (see the tclhttpd project for an
+tls: https server using TLS).
+tls:
+tls:
+tls:
+tls:
+tls:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index 1c3da421b2ffeba95548691c5427b3eeecc1fe76..cc16d62ed9747b3a6bc513ef86eb0774ddf9c02a 100755 (executable)
@@ -33,7 +33,7 @@ CWD="$(pwd)"
 SRC_NAME="eclipse"
 PKG_NAME="eclipse"
 ARCH=${ARCH:=i386}
-SRC_VERSION=${VERSION:=R-3.3.2-200802211800}
+SRC_VERSION=${VERSION:=R-3.4-200806172000}
 PKG_VERSION="$(echo "$SRC_VERSION" | cut -d "-" -f 2)"
 BUILD=${BUILD:=1ls}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
diff --git a/dev/util/gazpacho/gazpacho.SlackBuild b/dev/util/gazpacho/gazpacho.SlackBuild
new file mode 100644 (file)
index 0000000..0654844
--- /dev/null
@@ -0,0 +1,145 @@
+#!/bin/bash
+#
+#  gazpacho.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gazpacho.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gazpacho, by Rudson R. Alves
+# requires: python gtk+ pygtk kiwi 
+# tested: gazpacho-0.7.2
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gazpacho"
+PKG_NAME="gazpacho"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.7.2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://ftp.gnome.org/pub/GNOME/sources/gazpacho/0.7/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Install
+sed -i 's/lib/lib64/g' bin/gazpacho
+python setup.py install --prefix=/usr --root=$PKG || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS CONTRIBUTORS COPYING ChangeLog INSTALL MANIFEST.in NEWS PKG-INFO README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler-----------------------------------------------------|
+gazpacho: gazpacho by Slack.Sarava
+gazpacho:
+gazpacho: Gazpacho is a fresh new GUI builder for the GTK+ toolkit designed to
+gazpacho: be ultra easy to use
+gazpacho: 
+gazpacho: It is strongly inspired by the Glade project but it is written from
+gazpacho: scratch using the Python language. As a result there are few lines
+gazpacho: of code to read, understand and to maintain!
+gazpacho:
+gazpacho:
+gazpacho:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/dev/util/gazpacho/slack-required b/dev/util/gazpacho/slack-required
new file mode 100644 (file)
index 0000000..00f38a6
--- /dev/null
@@ -0,0 +1,7 @@
+# Dependency list to gazpacho
+#
+# dependency [condition] [version]]
+python                         
+gtk+                           
+pygtk                          
+kiwi                           
index c2356b951df714d1a53d25d036864c2afcc1dca9..f598dc9f295f74ba3cda9f3d7c83192d26be0aed 100644 (file)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for glade, by Rudson R. Alves
-# requires: scrollkeeper gtk+2 libxml2 
-# tested: glade-2.12.2
+# requires: gtk+2 libxml2 
+# tested: glade-3.1.5
 #
 
 # Look for slackbuildrc
@@ -28,10 +28,10 @@ fi
 
 # Set variables
 CWD="$(pwd)"
-SRC_NAME="glade"
+SRC_NAME="glade3"
 PKG_NAME="glade"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=2.12.2}
+SRC_VERSION=${VERSION:=3.4.5}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rra}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -55,8 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -77,7 +78,7 @@ mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
 # Dowload source if necessary
 SRC="$SRC_NAME-$VERSION.tar.bz2"
-URL="http://ftp.acc.umu.se/pub/gnome/sources/glade/${VERSION:0:4}/$SRC"
+URL="http://ftp.gnome.org/pub/GNOME/sources/glade3/3.4/$SRC"
 
 if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
@@ -86,7 +87,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -122,9 +123,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index e0d8bb46ec3e51f0d2dcd3bcec120968a179c5f6..2c9cbddcaa639666bb0942d06cd2c113f5c5a80a 100644 (file)
@@ -1,6 +1,5 @@
-# Dependency list to glade
+# Dependency list to glade3
 #
 # dependency [condition] [version]]
-scrollkeeper                           
-gtk+2                          
-libxml2                                
+gtk+2          >=              2.10.0
+libxml2                >=              2.4.1
index 18e3a2ce3881fc1a2dc07485ae2896a02b828d3c..5adbaa6ff00606e24aba8d6c6ef71a3f3d20ae97 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for scons, by Silvio Rhatto
 # requires:  
-# tested: scons-0.98.2
+# tested: scons-0.98.5
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="scons"
 PKG_NAME="scons"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=0.98.2}
+SRC_VERSION=${VERSION:=0.98.5}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -57,6 +57,7 @@ elif [ "$ARCH" = "s390" ]; then
 elif [ "$ARCH" = "x86_64" ]; then
   SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -86,7 +87,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Build and install package
@@ -113,9 +114,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
diff --git a/gnome/base/eel/eel.SlackBuild b/gnome/base/eel/eel.SlackBuild
new file mode 100644 (file)
index 0000000..fe512ed
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  eel.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  eel.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for eel, by Alexandre Vieira de Souza
+# requires: gnome-desktop 
+# tested: eel-2.22.1
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="eel"
+PKG_NAME="eel"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.22.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1avs}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://ftp.gnome.org/pub/gnome/sources/eel/2.22/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+   |-----handy-ruler----------------------------------------------------------|
+eel: eel by Slack.Sarava
+eel:
+eel: The Eazel Extensions Library is a collection of widgets and
+eel: extensions to many modules of the GNOME platform that were
+eel: developed by hackers working on Nautilus.
+eel:
+eel:
+eel:
+eel:
+eel: by avs
+eel:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/gnome/base/eel/slack-required b/gnome/base/eel/slack-required
new file mode 100644 (file)
index 0000000..efd0ae1
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to eel
+#
+# dependency [condition] [version]]
+gnome-desktop          >=              2.22.0
diff --git a/gnome/base/gnome-keyring/gnome-keyring.SlackBuild b/gnome/base/gnome-keyring/gnome-keyring.SlackBuild
new file mode 100644 (file)
index 0000000..3a0e7fc
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  gnome-keyring.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gnome-keyring.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gnome-keyring, by Alexandre Vieira de Souza
+# requires: libtasn1 
+# tested: gnome-keyring-2.22.3
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gnome-keyring"
+PKG_NAME="gnome-keyring"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.22.3}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1avs}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://ftp.gnome.org/pub/GNOME/sources/gnome-keyring/2.22/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+             |-----handy-ruler------------------------------------------------|
+gnome-keyring: gnome-keyring by Slack.Sarava
+gnome-keyring:
+gnome-keyring: gnome-keyring keeps session passwords and other secrets, and provides
+gnome-keyring: a library for applications to integrate with the gnome keyring system.
+gnome-keyring:
+gnome-keyring:
+gnome-keyring:
+gnome-keyring:
+gnome-keyring:
+gnome-keyring: by avs
+gnome-keyring:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/gnome/base/gnome-keyring/slack-required b/gnome/base/gnome-keyring/slack-required
new file mode 100644 (file)
index 0000000..e723dd2
--- /dev/null
@@ -0,0 +1,5 @@
+# Dependency list to gnome-keyring
+#
+# dependency [condition] [version]]
+GConf          >=              2.20.1
+libtasn1               >=              1.4
diff --git a/gnome/base/gnome-menus/gnome-menus.SlackBuild b/gnome/base/gnome-menus/gnome-menus.SlackBuild
new file mode 100644 (file)
index 0000000..c6f13f8
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  gnome-menus.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gnome-menus.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gnome-menus, by Alexandre Vieira de Souza
+# requires: glib2 
+# tested: gnome-menus-2.22.2
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gnome-menus"
+PKG_NAME="gnome-menus"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.22.2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1avs}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://ftp.gnome.org/pub/GNOME/sources/gnome-menus/2.22/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+           |-----handy-ruler--------------------------------------------------|
+gnome-menus: gnome-menus by Slack.Sarava
+gnome-menus:
+gnome-menus: This package provides an implementation of the Desktop Menu Specification
+gnome-menus: for the GNOME Desktop.
+gnome-menus:
+gnome-menus:
+gnome-menus:
+gnome-menus:
+gnome-menus:
+gnome-menus: by avs
+gnome-menus:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/gnome/base/gnome-menus/slack-required b/gnome/base/gnome-menus/slack-required
new file mode 100644 (file)
index 0000000..0ab9b0e
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to gnome-menus
+#
+# dependency [condition] [version]]
+glib2          >=              2.16.3
index 9afae59df4a0f9dc37691917cab08b4d9567efcc..c59846265ab34fb4fca08ae31485d4cc82606843 100644 (file)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for libbonobo, by Rudson R. Alves
 # requires:  
-# tested: libbonobo-2.20.1
+# tested: libbonobo-2.22.0
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="libbonobo"
 PKG_NAME="libbonobo"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=2.20.1}
+SRC_VERSION=${VERSION:=2.22.0}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rra}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -55,8 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -77,7 +78,7 @@ mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
 # Dowload source if necessary
 SRC="$SRC_NAME-$VERSION.tar.bz2"
-URL="http://ftp.acc.umu.se/pub/gnome/sources/libbonobo/2.20/$SRC"
+URL="http://ftp.acc.umu.se/pub/gnome/sources/libbonobo/2.22/$SRC"
 
 if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
@@ -86,7 +87,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -122,9 +123,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index 216a41e2baf31dc0eca58d8e759538211fc37b1b..20ff0a12475b621641434fcca9edc714625f1aea 100644 (file)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for ORBit2, by Rudson R. Alves
 # requires:  
-# tested: ORBit2-2.14.10
+# tested: ORBit2-2.14.13
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="ORBit2"
 PKG_NAME="ORBit2"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=2.14.10}
+SRC_VERSION=${VERSION:=2.14.13}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rra}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -57,6 +57,7 @@ elif [ "$ARCH" = "s390" ]; then
 elif [ "$ARCH" = "x86_64" ]; then
   SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -77,7 +78,7 @@ mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
 # Dowload source if necessary
 SRC="$SRC_NAME-$VERSION.tar.bz2"
-URL="http://ftp.acc.umu.se/pub/gnome/sources/ORBit2/2.14/$SRC"
+URL="http://ftp.gnome.org/pub/GNOME/sources/ORBit2/2.14/$SRC"
 
 if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
@@ -86,7 +87,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -122,9 +123,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index f7b1c6cca49301ba328f73f45c3ec941511b655c..aa19d012e905f21fc253493d8d66e0bb4f7b279d 100644 (file)
@@ -15,7 +15,6 @@ glib2         >=              2.12.12
 glibc-solibs           >=              2.5
 gpgme          >=              1.1.4
 gtk+2          >=              2.10.13
-gtkspell               >=              2.0.11
 libX11         >=              1.1.1
 libXau         >=              1.0.3
 libXcursor             >=              1.1.8
@@ -32,5 +31,6 @@ libxcb                >=              1.0
 openldap-client                >=              2.3.32
 openssl                >=              0.9.8
 openssl-solibs         >=              0.9.8
-pango          >=              1.16.4
 zlib           >=              1.2.3
+bogofilter                             
+gtkspell                               
index d2638b8a7244cb33c5046f0296094c321e17c2de..49a5a7fd517b09077572b1710c7419bcf35606b2 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for sylpheed, by Alexandre Vieira de Souza
-# requires: aspell atk cairo cxxlibs gcc-g++ cyrus-sasl expat fontconfig freetype gcc glib2 glibc-solibs gpgme gtk+2 gtkspell libX11 libXau libXcursor libXdmcp libXext libXfixes libXi libXinerama libXrandr libXrender libgpg-error libpng libxcb openldap-client openssl openssl-solibs pango zlib 
-# tested: sylpheed-2.4.8
+# requires: aspell atk cairo cxxlibs gcc-g++ cyrus-sasl expat fontconfig freetype gcc glib2 glibc-solibs gpgme gtk+2 libX11 libXau libXcursor libXdmcp libXext libXfixes libXi libXinerama libXrandr libXrender libgpg-error libpng libxcb openldap-client openssl openssl-solibs zlib bogofilter gtkspell 
+# tested: sylpheed-2.5.0
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="sylpheed"
 PKG_NAME="sylpheed"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=2.4.8}
+SRC_VERSION=${VERSION:=2.5.0}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1avs}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -55,8 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -77,7 +78,7 @@ mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
 # Dowload source if necessary
 SRC="$SRC_NAME-$VERSION.tar.bz2"
-URL="http://sylpheed.sraoss.jp/sylpheed/v2.4/$SRC"
+URL="http://sylpheed.sraoss.jp/sylpheed/v2.5/$SRC"
 
 if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
@@ -86,7 +87,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -122,9 +123,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index b6ce59429cecffbcaaa85a19e17ceb4973e6b900..426eba7a145b40e63a2a10b3a80144a19f4a9f82 100755 (executable)
 #!/bin/bash
 #
-#  msmtp.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  msmtp.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  msmtp.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  msmtp.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for msmtp
-# by rhatto at riseup.net
+# slackbuild for msmtp, by Silvio Rhatto
+# requires:  
+# tested: msmtp-1.4.15
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building msmtp are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="msmtp"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="msmtp"
+PKG_NAME="msmtp"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.4.7}
+SRC_VERSION=${VERSION:=1.4.15}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="bz2"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/msmtp/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
-
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://downloads.sourceforge.net/msmtp/$SRC"
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR 
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-     |-----handy-ruler-----------------------------------------------------|
+     |-----handy-ruler--------------------------------------------------------|
 msmtp: msmtp (small smtp client)
 msmtp:
 msmtp: msmtp is an SMTP client that can be used with Mutt and other mail
@@ -114,18 +141,13 @@ msmtp:
 msmtp:
 msmtp:
 msmtp:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-for file in ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 639ea92c93f49109f1d46db774bf1063a8fb3c27..1f14f3d380640553fc3f550758294035d9bf171e 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for exiv2, by Rudson R. Alves
 # requires:  
-# tested: exiv2-0.15
+# tested: exiv2-0.17.1
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="exiv2"
 PKG_NAME="exiv2"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=0.15}
+SRC_VERSION=${VERSION:=0.17.1}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rra}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -55,8 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -83,15 +84,10 @@ if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-MD5SUM_SRC="$(md5sum "$SRC_DIR/$SRC" | cut -d " " -f 1)"
-MD5SUM_URL="bb18d19e1d6fb255dadda456cadec00e"
-
-[ "$MD5SUM_SRC" == "$MD5SUM_URL" ] || exit $ERROR_MD5
-
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -127,9 +123,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index 763095c4875ac55762ef4eda70065d0b3360cd84..568de181116fece1abd029374c916b605eb93243 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for gphoto2, by Rudson R. Alves
 # requires: libgphoto2 
-# tested: gphoto2-2.4.0
+# tested: gphoto2-2.4.2
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="gphoto2"
 PKG_NAME="gphoto2"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=2.4.0}
+SRC_VERSION=${VERSION:=2.4.2}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rra}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -55,8 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -86,7 +87,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -122,9 +123,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index 67dc568f76a347e1bb275429c4963c86d8a816aa..6c751b394e6f83d0dcafb144413478e4c92ff80e 100755 (executable)
 #!/bin/bash
 #
-#  gqview.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  gqview.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  gqview.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  gqview.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for gqview
-# by rhatto at riseup.net
+# slackbuild for gqview, by Silvio Rhatto
+# requires:  
+# tested: gqview-2.0.4
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building gqview are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="gqview"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gqview"
+PKG_NAME="gqview"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=2.0.3}
+SRC_VERSION=${VERSION:=2.0.4}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/$PACKAGE/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/gqview/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-      |-----handy-ruler-----------------------------------------------------|
+      |-----handy-ruler-------------------------------------------------------|
 gqview: gqview (image browser and viewer)
 gqview: 
 gqview: GQview is an image browser that features single click access to view
@@ -114,20 +173,13 @@ gqview:
 gqview: 
 gqview: 
 gqview: 
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 89840d7faf70d99da79a05b5c04067edfd00a2d0..0f7e5c598424d81f3ff7c801667601e554e3a027 100755 (executable)
 #!/bin/bash
 #
-#  gtkam.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  gtkam.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  gtkam.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  gtkam.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for gtkam
-# by rhatto at riseup.net
+# slackbuild for gtkam, by Silvio Rhatto
+# requires: libgphoto2 libexif-gtk 
+# tested: gtkam-0.1.15
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building gtkam are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="gtkam"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gtkam"
+PKG_NAME="gtkam"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.1.14}
+SRC_VERSION=${VERSION:=0.1.15}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/gphoto/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://downloads.sourceforge.net/gphoto/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="ABOUT-NLS AUTHORS COPYING ChangeLog NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-     |-----handy-ruler-----------------------------------------------------|
+     |-----handy-ruler--------------------------------------------------------|
 gtkam: gtkam (a GTK frontend for gphoto)
 gtkam:
 gtkam: gtkam is a GNOME front-end for gphoto, which allows you to retrieve
@@ -114,20 +173,13 @@ gtkam:
 gtkam:
 gtkam:
 gtkam:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 424736d85266823950c8d9dc7e652066031e50ad..32579b1834100737fb495dc1dcca3b9696b631b9 100644 (file)
@@ -1,2 +1,5 @@
-libgphoto2
-libexif-gtk
+# Dependency list to gtkam
+#
+# dependency [condition] [version]]
+libgphoto2                             
+libexif-gtk                            
diff --git a/media/gfx/gwenview/gwenview.SlackBuild b/media/gfx/gwenview/gwenview.SlackBuild
new file mode 100644 (file)
index 0000000..53888a7
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  gwenview.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gwenview.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gwenview, by Rudson R. Alves
+# requires:  
+# tested: gwenview-1.4.2
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gwenview"
+PKG_NAME="gwenview"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.4.2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://prdownloads.sourceforge.net/gwenview/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING COPYING-DOCS INSTALL NEWS README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler-----------------------------------------------------|
+gwenview: gwenview by Slack.Sarava
+gwenview:
+gwenview: Gwenview is an image viewer for KDE. It can load and save all image
+gwenview: formats supported by KDE, but Gwenview can also browse GIMP files
+gwenview: (*.xcf) thanks to the included QXCFI component developed by Lignum
+gwenview: Computing. 
+gwenview:
+gwenview:
+gwenview:
+gwenview:
+gwenview:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/media/libs/aubio/aubio.SlackBuild b/media/libs/aubio/aubio.SlackBuild
new file mode 100755 (executable)
index 0000000..8c7107d
--- /dev/null
@@ -0,0 +1,185 @@
+#!/bin/bash
+#
+#  aubio.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  aubio.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for aubio, by Silvio Rhatto
+# requires: fftw jack swig libsamplerate 
+# tested: aubio-0.3.2
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="aubio"
+PKG_NAME="aubio"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.3.2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://aubio.org/pub/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
+
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+     |-----handy-ruler--------------------------------------------------------|
+aubio: aubio (library for audio labelling)
+aubio: 
+aubio: aubio is a library for audio labelling. Its features include
+aubio: segmenting a sound file before each of its attacks, performing pitch
+aubio: detection, tapping the beat and producing midi streams from live audio.
+aubio: The name aubio comes from 'audio' with a typo: several transcription
+aubio: errors are likely to be found in the results too. 
+aubio: 
+aubio: 
+aubio: 
+aubio: 
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/media/libs/aubio/slack-required b/media/libs/aubio/slack-required
new file mode 100644 (file)
index 0000000..098e794
--- /dev/null
@@ -0,0 +1,7 @@
+# Dependency list to aubio
+#
+# dependency [condition] [version]]
+fftw                           
+jack                           
+swig                           
+libsamplerate                          
index 139f6623ef591472eb847ea2b86abc4e9da9e480..47a8bc70a97555f892ea4279581e19622797ff15 100755 (executable)
 #!/bin/bash
 #
-#  edje.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  edje.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  edje.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  edje.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for edje
-# by rhatto at riseup.net
+# slackbuild for edje, by Silvio Rhatto
+# requires: eet evas ecore efreet embryo 
+# tested: edje-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building edje are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="edje"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="edje"
+PKG_NAME="edje"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/efl"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/e17/libs/edje" ]; then
-  cd $SRC_DIR/e17/libs/edje
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/libs/edje || exit $ERROR_VCS
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-cd $SRC_DIR/e17/libs/edje
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-CWD="`pwd`"
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://svn.enlightenment.org/svn/e/trunk/edje`"
 
-cd $TMP/package-$PACKAGE
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://svn.enlightenment.org/svn/e/trunk/edje $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Configure
+./autogen.sh || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO BUGS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-    |-----handy-ruler-----------------------------------------------------|
+    |-----handy-ruler---------------------------------------------------------|
 edje: edje
 edje:
 edje: A graphical layout and animation library for animated resizable,
@@ -111,22 +148,13 @@ edje:
 edje:
 edje:
 edje:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 4680dcfc82577ac4863460bb190ca80e7096777d..562a720397669a4ac5c11da79afe73512a92e985 100644 (file)
@@ -1,5 +1,8 @@
-eet
-evas
-ecore
-efreet
-embryo
+# Dependency list to edje
+#
+# dependency [condition] [version]]
+eet                            
+evas                           
+ecore                          
+efreet                         
+embryo                         
index 30d1adb646d0f2dfd40e0d4a2da11a2aaac831c4..6f60b111bf1a56672430c74cd284f6f121a60600 100755 (executable)
 #!/bin/bash
 #
-#  efreet.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  efreet.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  efreet.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  efreet.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for efreet
-# by rhatto at riseup.net
+# slackbuild for efreet, by Silvio Rhatto
+# requires: eet evas ecore 
+# tested: efreet-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building efreet are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="efreet"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="efreet"
+PKG_NAME="efreet"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/efl"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/e17/libs/efreet" ]; then
-  cd $SRC_DIR/e17/libs/efreet
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/libs/efreet || exit $ERROR_VCS
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-cd $SRC_DIR/e17/libs/efreet
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-CWD="`pwd`"
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://svn.enlightenment.org/svn/e/trunk/efreet`"
 
-cd $TMP/package-$PACKAGE
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://svn.enlightenment.org/svn/e/trunk/efreet $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Configure
+./autogen.sh || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO BUGS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-      |-----handy-ruler-----------------------------------------------------|
+      |-----handy-ruler-------------------------------------------------------|
 efreet: efreet
 efreet:
 efreet: library for handling of freedesktop.org specs.
@@ -111,22 +148,13 @@ efreet:
 efreet:
 efreet:
 efreet:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 5081839ee382ee73315df8130d5418629a5f3101..f68a198acc1220ddf05ccf018f2aa9098dcfd53d 100644 (file)
@@ -1,3 +1,6 @@
-eet
-evas
-ecore
+# Dependency list to efreet
+#
+# dependency [condition] [version]]
+eet                            
+evas                           
+ecore                          
index dff4c50e39e34611e6f645179556727a5087663b..9b612c3dc84bb147f657b33cd92ccea359ceacca 100755 (executable)
 #!/bin/bash
 #
-#  embryo.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  embryo.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  embryo.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  embryo.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for embryo
-# by rhatto at riseup.net
+# slackbuild for embryo, by Silvio Rhatto
+# requires: eet evas ecore efreet 
+# tested: embryo-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building embryo are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="embryo"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="embryo"
+PKG_NAME="embryo"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/efl"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/e17/libs/embryo" ]; then
-  cd $SRC_DIR/e17/libs/embryo
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/libs/embryo || exit $ERROR_VCS
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-cd $SRC_DIR/e17/libs/embryo
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-CWD="`pwd`"
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://svn.enlightenment.org/svn/e/trunk/embryo`"
 
-cd $TMP/package-$PACKAGE
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://svn.enlightenment.org/svn/e/trunk/embryo $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Configure
+./autogen.sh || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO BUGS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-      |-----handy-ruler-----------------------------------------------------|
+      |-----handy-ruler-------------------------------------------------------|
 embryo: embryo
 embryo:
 embryo: Embryo is primarily a shared library that gives you an API to load and control
@@ -111,22 +148,13 @@ embryo:
 embryo:
 embryo:
 embryo:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 4daa9c56259e7418d85d3d352998751099341598..85e8274ebab366c8487e169482b8c6d3b5f95065 100644 (file)
@@ -1,4 +1,7 @@
-eet
-evas
-ecore
-efreet
+# Dependency list to embryo
+#
+# dependency [condition] [version]]
+eet                            
+evas                           
+ecore                          
+efreet                         
index cd11cde7f6ee9f532860bd0434e057154bdd574d..11df454cc97e38456a34fdbed04eb95301755efb 100755 (executable)
 #!/bin/bash
 #
-#  emotion.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  emotion.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  emotion.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  emotion.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for emotion
-# by rhatto at riseup.net
+# slackbuild for emotion, by Silvio Rhatto
+# requires: ecore 
+# tested: emotion-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building emotion are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="emotion"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="emotion"
+PKG_NAME="emotion"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/efl"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/e17/libs/emotion" ]; then
-  cd $SRC_DIR/e17/libs/emotion
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/libs/emotion || exit $ERROR_VCS
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-cd $SRC_DIR/e17/libs/emotion
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-CWD="`pwd`"
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://svn.enlightenment.org/svn/e/trunk/emotion`"
 
-cd $TMP/package-$PACKAGE
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://svn.enlightenment.org/svn/e/trunk/emotion $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Configure
+./autogen.sh || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO BUGS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-       |-----handy-ruler-----------------------------------------------------|
+       |-----handy-ruler------------------------------------------------------|
 emotion: emotion
 emotion:
 emotion: A media object library for Evas and Ecore
@@ -111,22 +148,13 @@ emotion:
 emotion:
 emotion:
 emotion:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/media/libs/emotion/slack-required b/media/libs/emotion/slack-required
new file mode 100644 (file)
index 0000000..ded74d7
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to emotion
+#
+# dependency [condition] [version]]
+ecore                          
diff --git a/media/libs/faad2/faad2-2.6.1.diff b/media/libs/faad2/faad2-2.6.1.diff
new file mode 100644 (file)
index 0000000..bb24616
--- /dev/null
@@ -0,0 +1,1040 @@
+diff -urNad faad2-svn~/include/neaacdec.h faad2-svn/include/neaacdec.h
+--- faad2-svn~/include/neaacdec.h      2007-11-28 23:28:14.000000000 +0000
++++ faad2-svn/include/neaacdec.h       2007-11-28 23:29:27.000000000 +0000
+@@ -35,6 +35,7 @@
+ extern "C" {
+ #endif /* __cplusplus */
++#include <stdint.h>
+ #if 1
+ /* MACROS FOR BACKWARDS COMPATIBILITY */
+@@ -197,51 +198,51 @@
+     unsigned char ps;
+ } NeAACDecFrameInfo;
+-char* NEAACDECAPI NeAACDecGetErrorMessage(unsigned char errcode);
++int8_t* NEAACDECAPI NeAACDecGetErrorMessage(uint8_t errcode);
+-unsigned long NEAACDECAPI NeAACDecGetCapabilities(void);
++uint32_t NEAACDECAPI NeAACDecGetCapabilities(void);
+ NeAACDecHandle NEAACDECAPI NeAACDecOpen(void);
+ NeAACDecConfigurationPtr NEAACDECAPI NeAACDecGetCurrentConfiguration(NeAACDecHandle hDecoder);
+-unsigned char NEAACDECAPI NeAACDecSetConfiguration(NeAACDecHandle hDecoder,
++uint8_t NEAACDECAPI NeAACDecSetConfiguration(NeAACDecHandle hDecoder,
+                                                    NeAACDecConfigurationPtr config);
+ /* Init the library based on info from the AAC file (ADTS/ADIF) */
+-long NEAACDECAPI NeAACDecInit(NeAACDecHandle hDecoder,
+-                              unsigned char *buffer,
+-                              unsigned long buffer_size,
+-                              unsigned long *samplerate,
+-                              unsigned char *channels);
++int32_t NEAACDECAPI NeAACDecInit(NeAACDecHandle hDecoder,
++                              uint8_t *buffer,
++                              uint32_t buffer_size,
++                              uint32_t *samplerate,
++                              uint8_t *channels);
+ /* Init the library using a DecoderSpecificInfo */
+-char NEAACDECAPI NeAACDecInit2(NeAACDecHandle hDecoder, unsigned char *pBuffer,
+-                               unsigned long SizeOfDecoderSpecificInfo,
+-                               unsigned long *samplerate, unsigned char *channels);
++int8_t NEAACDECAPI NeAACDecInit2(NeAACDecHandle hDecoder, unsigned char *pBuffer,
++                               uint32_t SizeOfDecoderSpecificInfo,
++                               uint32_t *samplerate, uint8_t *channels);
+ /* Init the library for DRM */
+-char NEAACDECAPI NeAACDecInitDRM(NeAACDecHandle *hDecoder, unsigned long samplerate,
+-                                 unsigned char channels);
++int8_t NEAACDECAPI NeAACDecInitDRM(NeAACDecHandle *hDecoder, uint32_t samplerate,
++                                 uint8_t channels);
+-void NEAACDECAPI NeAACDecPostSeekReset(NeAACDecHandle hDecoder, long frame);
++void NEAACDECAPI NeAACDecPostSeekReset(NeAACDecHandle hDecoder, int32_t frame);
+ void NEAACDECAPI NeAACDecClose(NeAACDecHandle hDecoder);
+ void* NEAACDECAPI NeAACDecDecode(NeAACDecHandle hDecoder,
+                                  NeAACDecFrameInfo *hInfo,
+-                                 unsigned char *buffer,
+-                                 unsigned long buffer_size);
++                                 uint8_t *buffer,
++                                 uint32_t buffer_size);
+ void* NEAACDECAPI NeAACDecDecode2(NeAACDecHandle hDecoder,
+                                   NeAACDecFrameInfo *hInfo,
+-                                  unsigned char *buffer,
+-                                  unsigned long buffer_size,
++                                  uint8_t *buffer,
++                                  uint32_t buffer_size,
+                                   void **sample_buffer,
+-                                  unsigned long sample_buffer_size);
++                                  uint32_t sample_buffer_size);
+-char NEAACDECAPI NeAACDecAudioSpecificConfig(unsigned char *pBuffer,
+-                                             unsigned long buffer_size,
++int8_t NEAACDECAPI NeAACDecAudioSpecificConfig(uint8_t *pBuffer,
++                                             uint32_t buffer_size,
+                                              mp4AudioSpecificConfig *mp4ASC);
+ #ifdef _WIN32
+diff -urNad faad2-svn~/libfaad/Makefile.am faad2-svn/libfaad/Makefile.am
+--- faad2-svn~/libfaad/Makefile.am     2007-11-28 23:28:14.000000000 +0000
++++ faad2-svn/libfaad/Makefile.am      2007-11-28 23:31:03.000000000 +0000
+@@ -1,28 +1,29 @@
+ lib_LTLIBRARIES = libfaad.la
++AM_CFLAGS     = -iquote $(top_srcdir)/include
+ include_HEADERS = $(top_srcdir)/include/faad.h \
+-                  $(top_srcdir)/include/neaacdec.h
++                $(top_srcdir)/include/neaacdec.h
+ libfaad_la_LDFLAGS = -lm
+ libfaad_la_SOURCES = bits.c cfft.c decoder.c drc.c \
+-drm_dec.c error.c filtbank.c \
+-ic_predict.c is.c lt_predict.c mdct.c mp4.c ms.c output.c pns.c \
+-ps_dec.c ps_syntax.c \
+-pulse.c specrec.c syntax.c tns.c hcr.c huffman.c \
+-rvlc.c ssr.c ssr_fb.c ssr_ipqf.c common.c \
+-sbr_dct.c sbr_e_nf.c sbr_fbt.c sbr_hfadj.c sbr_hfgen.c \
+-sbr_huff.c sbr_qmf.c sbr_syntax.c sbr_tf_grid.c sbr_dec.c \
+-analysis.h bits.h cfft.h cfft_tab.h common.h \
+-decoder.h drc.h drm_dec.h error.h fixed.h filtbank.h \
+-huffman.h ic_predict.h iq_table.h is.h kbd_win.h lt_predict.h \
+-mdct.h mdct_tab.h mp4.h ms.h output.h pns.h ps_dec.h ps_tables.h \
+-pulse.h rvlc.h \
+-sbr_dct.h sbr_dec.h sbr_e_nf.h sbr_fbt.h sbr_hfadj.h sbr_hfgen.h \
+-sbr_huff.h sbr_noise.h sbr_qmf.h sbr_syntax.h sbr_tf_grid.h \
+-sine_win.h specrec.h ssr.h ssr_fb.h ssr_ipqf.h \
+-ssr_win.h syntax.h structs.h tns.h \
+-sbr_qmf_c.h codebook/hcb.h \
+-codebook/hcb_1.h codebook/hcb_2.h codebook/hcb_3.h codebook/hcb_4.h \
+-codebook/hcb_5.h codebook/hcb_6.h codebook/hcb_7.h codebook/hcb_8.h \
+-codebook/hcb_9.h codebook/hcb_10.h codebook/hcb_11.h codebook/hcb_sf.h
+\ No newline at end of file
++                   drm_dec.c error.c filtbank.c \
++                   ic_predict.c is.c lt_predict.c mdct.c mp4.c ms.c output.c pns.c \
++                   ps_dec.c ps_syntax.c \
++                   pulse.c specrec.c syntax.c tns.c hcr.c huffman.c \
++                   rvlc.c ssr.c ssr_fb.c ssr_ipqf.c common.c \
++                   sbr_dct.c sbr_e_nf.c sbr_fbt.c sbr_hfadj.c sbr_hfgen.c \
++                   sbr_huff.c sbr_qmf.c sbr_syntax.c sbr_tf_grid.c sbr_dec.c \
++                   analysis.h bits.h cfft.h cfft_tab.h common.h \
++                   decoder.h drc.h drm_dec.h error.h fixed.h filtbank.h \
++                   huffman.h ic_predict.h iq_table.h is.h kbd_win.h lt_predict.h \
++                   mdct.h mdct_tab.h mp4.h ms.h output.h pns.h ps_dec.h ps_tables.h \
++                   pulse.h rvlc.h \
++                   sbr_dct.h sbr_dec.h sbr_e_nf.h sbr_fbt.h sbr_hfadj.h sbr_hfgen.h \
++                   sbr_huff.h sbr_noise.h sbr_qmf.h sbr_syntax.h sbr_tf_grid.h \
++                   sine_win.h specrec.h ssr.h ssr_fb.h ssr_ipqf.h \
++                   ssr_win.h syntax.h structs.h tns.h \
++                   sbr_qmf_c.h codebook/hcb.h \
++                   codebook/hcb_1.h codebook/hcb_2.h codebook/hcb_3.h codebook/hcb_4.h \
++                   codebook/hcb_5.h codebook/hcb_6.h codebook/hcb_7.h codebook/hcb_8.h \
++                   codebook/hcb_9.h codebook/hcb_10.h codebook/hcb_11.h codebook/hcb_sf.h
+diff -urNad faad2-svn~/libfaad/common.h faad2-svn/libfaad/common.h
+--- faad2-svn~/libfaad/common.h        2007-11-28 23:28:14.000000000 +0000
++++ faad2-svn/libfaad/common.h 2007-11-28 23:29:27.000000000 +0000
+@@ -39,6 +39,8 @@
+ #  include "../config.h"
+ #endif
++#include "neaacdec.h"
++
+ #if 1
+ #define INLINE __inline
+ #else
+@@ -210,7 +212,7 @@
+ #else
+ # if HAVE_STDINT_H
+ #  include <stdint.h>
+-# else
++# else /* !HAVE_STDINT_H */
+ /* we need these... */
+ #ifndef __TCS__
+ typedef unsigned long long uint64_t;
+@@ -225,7 +227,7 @@
+ typedef long int32_t;
+ typedef short int16_t;
+ typedef char int8_t;
+-# endif
++# endif /* !HAVE_STDINT_H */
+ #endif
+ #if HAVE_UNISTD_H
+ //# include <unistd.h>
+diff -urNad faad2-svn~/libfaad/decoder.c faad2-svn/libfaad/decoder.c
+--- faad2-svn~/libfaad/decoder.c       2007-11-28 23:28:14.000000000 +0000
++++ faad2-svn/libfaad/decoder.c        2007-11-28 23:29:27.000000000 +0000
+@@ -34,7 +34,6 @@
+ #include <stdlib.h>
+ #include <string.h>
+-#include "decoder.h"
+ #include "mp4.h"
+ #include "syntax.h"
+ #include "error.h"
+@@ -54,13 +53,13 @@
+ #endif
+ /* static function declarations */
+-static void* aac_frame_decode(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
++static void* aac_frame_decode(NeAACDecStruct* hDecoder, NeAACDecFrameInfo *hInfo,
+                               uint8_t *buffer, uint32_t buffer_size,
+                               void **sample_buffer, uint32_t sample_buffer_size);
+-static void create_channel_config(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo);
++static void create_channel_config(NeAACDecStruct* hDecoder, NeAACDecFrameInfo *hInfo);
+-char* NEAACDECAPI NeAACDecGetErrorMessage(uint8_t errcode)
++int8_t* NEAACDECAPI NeAACDecGetErrorMessage(uint8_t errcode)
+ {
+     if (errcode >= NUM_ERROR_MESSAGES)
+         return NULL;
+@@ -97,9 +96,9 @@
+ NeAACDecHandle NEAACDECAPI NeAACDecOpen(void)
+ {
+     uint8_t i;
+-    NeAACDecHandle hDecoder = NULL;
++    NeAACDecStruct* hDecoder = NULL;
+-    if ((hDecoder = (NeAACDecHandle)faad_malloc(sizeof(NeAACDecStruct))) == NULL)
++    if ((hDecoder = (NeAACDecStruct*)faad_malloc(sizeof(NeAACDecStruct))) == NULL)
+         return NULL;
+     memset(hDecoder, 0, sizeof(NeAACDecStruct));
+@@ -154,8 +153,9 @@
+     return hDecoder;
+ }
+-NeAACDecConfigurationPtr NEAACDECAPI NeAACDecGetCurrentConfiguration(NeAACDecHandle hDecoder)
++NeAACDecConfigurationPtr NEAACDECAPI NeAACDecGetCurrentConfiguration(NeAACDecHandle hpDecoder)
+ {
++    NeAACDecStruct* hDecoder = (NeAACDecStruct*)hpDecoder;
+     if (hDecoder)
+     {
+         NeAACDecConfigurationPtr config = &(hDecoder->config);
+@@ -166,9 +166,10 @@
+     return NULL;
+ }
+-uint8_t NEAACDECAPI NeAACDecSetConfiguration(NeAACDecHandle hDecoder,
++uint8_t NEAACDECAPI NeAACDecSetConfiguration(NeAACDecHandle hpDecoder,
+                                              NeAACDecConfigurationPtr config)
+ {
++    NeAACDecStruct* hDecoder = (NeAACDecStruct*)hpDecoder;
+     if (hDecoder && config)
+     {
+         /* check if we can decode this object type */
+@@ -203,7 +204,7 @@
+ }
+-int32_t NEAACDECAPI NeAACDecInit(NeAACDecHandle hDecoder, uint8_t *buffer,
++int32_t NEAACDECAPI NeAACDecInit(NeAACDecHandle hpDecoder, uint8_t *buffer,
+                                  uint32_t buffer_size,
+                                  uint32_t *samplerate, uint8_t *channels)
+ {
+@@ -211,7 +212,7 @@
+     bitfile ld;
+     adif_header adif;
+     adts_header adts;
+-
++    NeAACDecStruct* hDecoder = (NeAACDecStruct*)hpDecoder;
+     if ((hDecoder == NULL) || (samplerate == NULL) || (channels == NULL))
+         return -1;
+@@ -310,12 +311,13 @@
+ }
+ /* Init the library using a DecoderSpecificInfo */
+-int8_t NEAACDECAPI NeAACDecInit2(NeAACDecHandle hDecoder, uint8_t *pBuffer,
++int8_t NEAACDECAPI NeAACDecInit2(NeAACDecHandle hpDecoder, uint8_t *pBuffer,
+                                  uint32_t SizeOfDecoderSpecificInfo,
+                                  uint32_t *samplerate, uint8_t *channels)
+ {
+     int8_t rc;
+     mp4AudioSpecificConfig mp4ASC;
++    NeAACDecStruct* hDecoder = (NeAACDecStruct*)hpDecoder;
+     if((hDecoder == NULL)
+         || (pBuffer == NULL)
+@@ -401,9 +403,11 @@
+ }
+ #ifdef DRM
+-int8_t NEAACDECAPI NeAACDecInitDRM(NeAACDecHandle *hDecoder, uint32_t samplerate,
++int8_t NEAACDECAPI NeAACDecInitDRM(NeAACDecHandle *hpDecoder, uint32_t samplerate,
+                                    uint8_t channels)
+ {
++    NeAACDecStruct* hDecoder = (NeAACDecStruct*)hpDecoder;
++    
+     if (hDecoder == NULL)
+         return 1; /* error */
+@@ -442,9 +446,10 @@
+ }
+ #endif
+-void NEAACDECAPI NeAACDecClose(NeAACDecHandle hDecoder)
++void NEAACDECAPI NeAACDecClose(NeAACDecHandle hpDecoder)
+ {
+     uint8_t i;
++    NeAACDecStruct* hDecoder = (NeAACDecStruct*)hpDecoder;
+     if (hDecoder == NULL)
+         return;
+@@ -495,8 +500,10 @@
+     if (hDecoder) faad_free(hDecoder);
+ }
+-void NEAACDECAPI NeAACDecPostSeekReset(NeAACDecHandle hDecoder, int32_t frame)
++void NEAACDECAPI NeAACDecPostSeekReset(NeAACDecHandle hpDecoder, int32_t frame)
+ {
++    NeAACDecStruct* hDecoder = (NeAACDecStruct*)hpDecoder;
++    
+     if (hDecoder)
+     {
+         hDecoder->postSeekResetFlag = 1;
+@@ -506,7 +513,7 @@
+     }
+ }
+-static void create_channel_config(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo)
++static void create_channel_config(NeAACDecStruct* hDecoder, NeAACDecFrameInfo *hInfo)
+ {
+     hInfo->num_front_channels = 0;
+     hInfo->num_side_channels = 0;
+@@ -724,18 +731,22 @@
+     }
+ }
+-void* NEAACDECAPI NeAACDecDecode(NeAACDecHandle hDecoder,
++void* NEAACDECAPI NeAACDecDecode(NeAACDecHandle hpDecoder,
+                                  NeAACDecFrameInfo *hInfo,
+                                  uint8_t *buffer, uint32_t buffer_size)
+ {
++    NeAACDecStruct* hDecoder = (NeAACDecStruct*)hpDecoder;
++    
+     return aac_frame_decode(hDecoder, hInfo, buffer, buffer_size, NULL, 0);
+ }
+-void* NEAACDECAPI NeAACDecDecode2(NeAACDecHandle hDecoder,
++void* NEAACDECAPI NeAACDecDecode2(NeAACDecHandle hpDecoder,
+                                   NeAACDecFrameInfo *hInfo,
+                                   uint8_t *buffer, uint32_t buffer_size,
+                                   void **sample_buffer, uint32_t sample_buffer_size)
+ {
++    NeAACDecStruct* hDecoder = (NeAACDecStruct*)hpDecoder;
++    
+     if ((sample_buffer == NULL) || (sample_buffer_size == 0))
+     {
+         hInfo->error = 27;
+@@ -750,14 +761,14 @@
+ #define ERROR_STATE_INIT 6
+-static void conceal_output(NeAACDecHandle hDecoder, uint16_t frame_len,
++static void conceal_output(NeAACDecStruct* hDecoder, uint16_t frame_len,
+                            uint8_t out_ch, void *sample_buffer)
+ {
+     return;
+ }
+ #endif
+-static void* aac_frame_decode(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
++static void* aac_frame_decode(NeAACDecStruct* hDecoder, NeAACDecFrameInfo *hInfo,
+                               uint8_t *buffer, uint32_t buffer_size,
+                               void **sample_buffer2, uint32_t sample_buffer_size)
+ {
+diff -urNad faad2-svn~/libfaad/decoder.h faad2-svn/libfaad/decoder.h
+--- faad2-svn~/libfaad/decoder.h       2007-11-28 23:28:14.000000000 +0000
++++ faad2-svn/libfaad/decoder.h        1970-01-01 01:00:00.000000000 +0100
+@@ -1,124 +0,0 @@
+-/*
+-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
+-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
+-**  
+-** This program is free software; you can redistribute it and/or modify
+-** it under the terms of the GNU General Public License as published by
+-** the Free Software Foundation; either version 2 of the License, or
+-** (at your option) any later version.
+-** 
+-** This program is distributed in the hope that it will be useful,
+-** but WITHOUT ANY WARRANTY; without even the implied warranty of
+-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-** GNU General Public License for more details.
+-** 
+-** You should have received a copy of the GNU General Public License
+-** along with this program; if not, write to the Free Software 
+-** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+-**
+-** Any non-GPL usage of this software or parts of this software is strictly
+-** forbidden.
+-**
+-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
+-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
+-**
+-** Commercial non-GPL licensing of this software is possible.
+-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
+-**
+-** $Id: decoder.h,v 1.48 2007/11/01 12:33:30 menno Exp $
+-**/
+-
+-#ifndef __DECODER_H__
+-#define __DECODER_H__
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-
+-#ifdef _WIN32
+-  #pragma pack(push, 8)
+-  #ifndef NEAACDECAPI
+-    #define NEAACDECAPI __cdecl
+-  #endif
+-#else
+-  #ifndef NEAACDECAPI
+-    #define NEAACDECAPI
+-  #endif
+-#endif
+-
+-
+-/* library output formats */
+-#define FAAD_FMT_16BIT  1
+-#define FAAD_FMT_24BIT  2
+-#define FAAD_FMT_32BIT  3
+-#define FAAD_FMT_FLOAT  4
+-#define FAAD_FMT_FIXED  FAAD_FMT_FLOAT
+-#define FAAD_FMT_DOUBLE 5
+-
+-#define LC_DEC_CAP            (1<<0)
+-#define MAIN_DEC_CAP          (1<<1)
+-#define LTP_DEC_CAP           (1<<2)
+-#define LD_DEC_CAP            (1<<3)
+-#define ERROR_RESILIENCE_CAP  (1<<4)
+-#define FIXED_POINT_CAP       (1<<5)
+-
+-#define FRONT_CHANNEL_CENTER (1)
+-#define FRONT_CHANNEL_LEFT   (2)
+-#define FRONT_CHANNEL_RIGHT  (3)
+-#define SIDE_CHANNEL_LEFT    (4)
+-#define SIDE_CHANNEL_RIGHT   (5)
+-#define BACK_CHANNEL_LEFT    (6)
+-#define BACK_CHANNEL_RIGHT   (7)
+-#define BACK_CHANNEL_CENTER  (8)
+-#define LFE_CHANNEL          (9)
+-#define UNKNOWN_CHANNEL      (0)
+-
+-char* NEAACDECAPI NeAACDecGetErrorMessage(uint8_t errcode);
+-
+-uint32_t NEAACDECAPI NeAACDecGetCapabilities(void);
+-
+-NeAACDecHandle NEAACDECAPI NeAACDecOpen(void);
+-
+-NeAACDecConfigurationPtr NEAACDECAPI NeAACDecGetCurrentConfiguration(NeAACDecHandle hDecoder);
+-
+-uint8_t NEAACDECAPI NeAACDecSetConfiguration(NeAACDecHandle hDecoder,
+-                                             NeAACDecConfigurationPtr config);
+-
+-/* Init the library based on info from the AAC file (ADTS/ADIF) */
+-int32_t NEAACDECAPI NeAACDecInit(NeAACDecHandle hDecoder,
+-                                 uint8_t *buffer,
+-                                 uint32_t buffer_size,
+-                                 uint32_t *samplerate,
+-                                 uint8_t *channels);
+-
+-/* Init the library using a DecoderSpecificInfo */
+-int8_t NEAACDECAPI NeAACDecInit2(NeAACDecHandle hDecoder, uint8_t *pBuffer,
+-                                 uint32_t SizeOfDecoderSpecificInfo,
+-                                 uint32_t *samplerate, uint8_t *channels);
+-
+-/* Init the library for DRM */
+-int8_t NEAACDECAPI NeAACDecInitDRM(NeAACDecHandle *hDecoder, uint32_t samplerate,
+-                                   uint8_t channels);
+-
+-void NEAACDECAPI NeAACDecClose(NeAACDecHandle hDecoder);
+-
+-void NEAACDECAPI NeAACDecPostSeekReset(NeAACDecHandle hDecoder, int32_t frame);
+-
+-void* NEAACDECAPI NeAACDecDecode(NeAACDecHandle hDecoder,
+-                                 NeAACDecFrameInfo *hInfo,
+-                                 uint8_t *buffer,
+-                                 uint32_t buffer_size);
+-
+-void* NEAACDECAPI NeAACDecDecode2(NeAACDecHandle hDecoder,
+-                                  NeAACDecFrameInfo *hInfo,
+-                                  uint8_t *buffer, uint32_t buffer_size,
+-                                  void **sample_buffer, uint32_t sample_buffer_size);
+-
+-#ifdef _WIN32
+-  #pragma pack(pop)
+-#endif
+-
+-#ifdef __cplusplus
+-}
+-#endif
+-#endif
+diff -urNad faad2-svn~/libfaad/filtbank.c faad2-svn/libfaad/filtbank.c
+--- faad2-svn~/libfaad/filtbank.c      2007-11-28 23:28:14.000000000 +0000
++++ faad2-svn/libfaad/filtbank.c       2007-11-28 23:29:27.000000000 +0000
+@@ -40,7 +40,6 @@
+ #endif
+ #include "filtbank.h"
+-#include "decoder.h"
+ #include "syntax.h"
+ #include "kbd_win.h"
+ #include "sine_win.h"
+diff -urNad faad2-svn~/libfaad/hcr.c faad2-svn/libfaad/hcr.c
+--- faad2-svn~/libfaad/hcr.c   2007-11-28 23:28:14.000000000 +0000
++++ faad2-svn/libfaad/hcr.c    2007-11-28 23:29:27.000000000 +0000
+@@ -214,7 +214,7 @@
+     codeword[index].bits.len = 0;
+ }
+-uint8_t reordered_spectral_data(NeAACDecHandle hDecoder, ic_stream *ics, 
++uint8_t reordered_spectral_data(NeAACDecStruct* hDecoder, ic_stream *ics, 
+                                 bitfile *ld, int16_t *spectral_data)
+ {   
+     uint16_t PCWs_done;
+diff -urNad faad2-svn~/libfaad/mp4.h faad2-svn/libfaad/mp4.h
+--- faad2-svn~/libfaad/mp4.h   2007-11-28 23:28:14.000000000 +0000
++++ faad2-svn/libfaad/mp4.h    2007-11-28 23:29:27.000000000 +0000
+@@ -35,11 +35,7 @@
+ extern "C" {
+ #endif
+-#include "decoder.h"
+-
+-int8_t NEAACDECAPI NeAACDecAudioSpecificConfig(uint8_t *pBuffer,
+-                                               uint32_t buffer_size,
+-                                               mp4AudioSpecificConfig *mp4ASC);
++#include "neaacdec.h"
+ int8_t AudioSpecificConfig2(uint8_t *pBuffer,
+                             uint32_t buffer_size,
+diff -urNad faad2-svn~/libfaad/output.c faad2-svn/libfaad/output.c
+--- faad2-svn~/libfaad/output.c        2007-11-28 23:28:14.000000000 +0000
++++ faad2-svn/libfaad/output.c 2007-11-28 23:29:27.000000000 +0000
+@@ -32,7 +32,6 @@
+ #include "structs.h"
+ #include "output.h"
+-#include "decoder.h"
+ #ifndef FIXED_POINT
+@@ -87,7 +86,7 @@
+ #define CONV(a,b) ((a<<1)|(b&0x1))
+-static void to_PCM_16bit(NeAACDecHandle hDecoder, real_t **input,
++static void to_PCM_16bit(NeAACDecStruct* hDecoder, real_t **input,
+                          uint8_t channels, uint16_t frame_len,
+                          int16_t **sample_buffer)
+ {
+@@ -152,7 +151,7 @@
+     }
+ }
+-static void to_PCM_24bit(NeAACDecHandle hDecoder, real_t **input,
++static void to_PCM_24bit(NeAACDecStruct* hDecoder, real_t **input,
+                          uint8_t channels, uint16_t frame_len,
+                          int32_t **sample_buffer)
+ {
+@@ -222,7 +221,7 @@
+     }
+ }
+-static void to_PCM_32bit(NeAACDecHandle hDecoder, real_t **input,
++static void to_PCM_32bit(NeAACDecStruct* hDecoder, real_t **input,
+                          uint8_t channels, uint16_t frame_len,
+                          int32_t **sample_buffer)
+ {
+@@ -292,7 +291,7 @@
+     }
+ }
+-static void to_PCM_float(NeAACDecHandle hDecoder, real_t **input,
++static void to_PCM_float(NeAACDecStruct* hDecoder, real_t **input,
+                          uint8_t channels, uint16_t frame_len,
+                          float32_t **sample_buffer)
+ {
+@@ -344,7 +343,7 @@
+     }
+ }
+-static void to_PCM_double(NeAACDecHandle hDecoder, real_t **input,
++static void to_PCM_double(NeAACDecStruct* hDecoder, real_t **input,
+                           uint8_t channels, uint16_t frame_len,
+                           double **sample_buffer)
+ {
+@@ -396,7 +395,7 @@
+     }
+ }
+-void *output_to_PCM(NeAACDecHandle hDecoder,
++void *output_to_PCM(NeAACDecStruct* hDecoder,
+                     real_t **input, void *sample_buffer, uint8_t channels,
+                     uint16_t frame_len, uint8_t format)
+ {
+@@ -466,7 +465,7 @@
+     }
+ }
+-void* output_to_PCM(NeAACDecHandle hDecoder,
++void* output_to_PCM(NeAACDecStruct* hDecoder,
+                     real_t **input, void *sample_buffer, uint8_t channels,
+                     uint16_t frame_len, uint8_t format)
+ {
+diff -urNad faad2-svn~/libfaad/output.h faad2-svn/libfaad/output.h
+--- faad2-svn~/libfaad/output.h        2007-11-28 23:28:14.000000000 +0000
++++ faad2-svn/libfaad/output.h 2007-11-28 23:29:27.000000000 +0000
+@@ -35,7 +35,7 @@
+ extern "C" {
+ #endif
+-void* output_to_PCM(NeAACDecHandle hDecoder,
++void* output_to_PCM(NeAACDecStruct* hDecoder,
+                     real_t **input,
+                     void *samplebuffer,
+                     uint8_t channels,
+diff -urNad faad2-svn~/libfaad/specrec.c faad2-svn/libfaad/specrec.c
+--- faad2-svn~/libfaad/specrec.c       2007-11-28 23:28:14.000000000 +0000
++++ faad2-svn/libfaad/specrec.c        2007-11-28 23:29:27.000000000 +0000
+@@ -58,7 +58,7 @@
+ /* static function declarations */
+-static uint8_t quant_to_spec(NeAACDecHandle hDecoder,
++static uint8_t quant_to_spec(NeAACDecStruct* hDecoder,
+                              ic_stream *ics, int16_t *quant_data,
+                              real_t *spec_data, uint16_t frame_len);
+@@ -300,10 +300,9 @@
+     in section named section. This offset depends on window_sequence and
+     scale_factor_grouping and is needed to decode the spectral_data().
+ */
+-uint8_t window_grouping_info(NeAACDecHandle hDecoder, ic_stream *ics)
++uint8_t window_grouping_info(NeAACDecStruct* hDecoder, ic_stream *ics)
+ {
+     uint8_t i, g;
+-
+     uint8_t sf_index = hDecoder->sf_index;
+     switch (ics->window_sequence) {
+@@ -546,7 +545,7 @@
+   - Within a scalefactor window band, the coefficients are in ascending
+     spectral order.
+ */
+-static uint8_t quant_to_spec(NeAACDecHandle hDecoder,
++static uint8_t quant_to_spec(NeAACDecStruct* hDecoder,
+                              ic_stream *ics, int16_t *quant_data,
+                              real_t *spec_data, uint16_t frame_len)
+ {
+@@ -680,7 +679,7 @@
+     return error;
+ }
+-static uint8_t allocate_single_channel(NeAACDecHandle hDecoder, uint8_t channel,
++static uint8_t allocate_single_channel(NeAACDecStruct* hDecoder, uint8_t channel,
+                                        uint8_t output_channels)
+ {
+     int mul = 1;
+@@ -781,7 +780,7 @@
+     return 0;
+ }
+-static uint8_t allocate_channel_pair(NeAACDecHandle hDecoder,
++static uint8_t allocate_channel_pair(NeAACDecStruct* hDecoder,
+                                      uint8_t channel, uint8_t paired_channel)
+ {
+     int mul = 1;
+@@ -886,7 +885,7 @@
+     return 0;
+ }
+-uint8_t reconstruct_single_channel(NeAACDecHandle hDecoder, ic_stream *ics,
++uint8_t reconstruct_single_channel(NeAACDecStruct* hDecoder, ic_stream *ics,
+                                    element *sce, int16_t *spec_data)
+ {
+     uint8_t retval;
+@@ -1096,7 +1095,7 @@
+     return 0;
+ }
+-uint8_t reconstruct_channel_pair(NeAACDecHandle hDecoder, ic_stream *ics1, ic_stream *ics2,
++uint8_t reconstruct_channel_pair(NeAACDecStruct* hDecoder, ic_stream *ics1, ic_stream *ics2,
+                                  element *cpe, int16_t *spec_data1, int16_t *spec_data2)
+ {
+     uint8_t retval;
+@@ -1106,6 +1105,7 @@
+ #ifdef PROFILE
+     int64_t count = faad_get_ts();
+ #endif
++    
+     if (hDecoder->element_alloced[hDecoder->fr_ch_ele] == 0)
+     {
+         retval = allocate_channel_pair(hDecoder, cpe->channel, (uint8_t)cpe->paired_channel);
+diff -urNad faad2-svn~/libfaad/specrec.h faad2-svn/libfaad/specrec.h
+--- faad2-svn~/libfaad/specrec.h       2007-11-28 23:28:14.000000000 +0000
++++ faad2-svn/libfaad/specrec.h        2007-11-28 23:29:27.000000000 +0000
+@@ -37,10 +37,10 @@
+ #include "syntax.h"
+-uint8_t window_grouping_info(NeAACDecHandle hDecoder, ic_stream *ics);
+-uint8_t reconstruct_channel_pair(NeAACDecHandle hDecoder, ic_stream *ics1, ic_stream *ics2,
++uint8_t window_grouping_info(NeAACDecStruct* hDecoder, ic_stream *ics);
++uint8_t reconstruct_channel_pair(NeAACDecStruct* hDecoder, ic_stream *ics1, ic_stream *ics2,
+                                  element *cpe, int16_t *spec_data1, int16_t *spec_data2);
+-uint8_t reconstruct_single_channel(NeAACDecHandle hDecoder, ic_stream *ics, element *sce,
++uint8_t reconstruct_single_channel(NeAACDecStruct* hDecoder, ic_stream *ics, element *sce,
+                                 int16_t *spec_data);
+ #ifdef __cplusplus
+diff -urNad faad2-svn~/libfaad/structs.h faad2-svn/libfaad/structs.h
+--- faad2-svn~/libfaad/structs.h       2007-11-28 23:28:14.000000000 +0000
++++ faad2-svn/libfaad/structs.h        2007-11-28 23:29:27.000000000 +0000
+@@ -312,67 +312,6 @@
+     ic_stream ics2;
+ } element; /* syntax element (SCE, CPE, LFE) */
+-typedef struct mp4AudioSpecificConfig
+-{
+-    /* Audio Specific Info */
+-    /*uint8_t*/ unsigned char objectTypeIndex;
+-    /*uint8_t*/ unsigned char samplingFrequencyIndex;
+-    /*uint32_t*/ unsigned long samplingFrequency;
+-    /*uint8_t*/ unsigned char channelsConfiguration;
+-
+-    /* GA Specific Info */
+-    /*uint8_t*/ unsigned char frameLengthFlag;
+-    /*uint8_t*/ unsigned char dependsOnCoreCoder;
+-    /*uint16_t*/ unsigned short coreCoderDelay;
+-    /*uint8_t*/ unsigned char extensionFlag;
+-    /*uint8_t*/ unsigned char aacSectionDataResilienceFlag;
+-    /*uint8_t*/ unsigned char aacScalefactorDataResilienceFlag;
+-    /*uint8_t*/ unsigned char aacSpectralDataResilienceFlag;
+-    /*uint8_t*/ unsigned char epConfig;
+-
+-    /*uint8_t*/ char sbr_present_flag;
+-    /*uint8_t*/ char forceUpSampling;
+-    /*uint8_t*/ char downSampledSBR;
+-} mp4AudioSpecificConfig;
+-
+-typedef struct NeAACDecConfiguration
+-{
+-    /*uint8_t*/ unsigned char defObjectType;
+-    /*uint32_t*/ unsigned long defSampleRate;
+-    /*uint8_t*/ unsigned char outputFormat;
+-    /*uint8_t*/ unsigned char downMatrix;
+-    /*uint8_t*/ unsigned char useOldADTSFormat;
+-    /*uint8_t*/ unsigned char dontUpSampleImplicitSBR;
+-} NeAACDecConfiguration, *NeAACDecConfigurationPtr;
+-
+-typedef struct NeAACDecFrameInfo
+-{
+-    /*uint32_t*/ unsigned long bytesconsumed;
+-    /*uint32_t*/ unsigned long samples;
+-    /*uint8_t*/ unsigned char channels;
+-    /*uint8_t*/ unsigned char error;
+-    /*uint32_t*/ unsigned long samplerate;
+-
+-    /* SBR: 0: off, 1: on; normal, 2: on; downsampled */
+-    /*uint8_t*/ unsigned char sbr;
+-
+-    /* MPEG-4 ObjectType */
+-    /*uint8_t*/ unsigned char object_type;
+-
+-    /* AAC header type; MP4 will be signalled as RAW also */
+-    /*uint8_t*/ unsigned char header_type;
+-
+-    /* multichannel configuration */
+-    /*uint8_t*/ unsigned char num_front_channels;
+-    /*uint8_t*/ unsigned char num_side_channels;
+-    /*uint8_t*/ unsigned char num_back_channels;
+-    /*uint8_t*/ unsigned char num_lfe_channels;
+-    /*uint8_t*/ unsigned char channel_position[MAX_CHANNELS];
+-
+-    /* PS: 0: off, 1: on */
+-    /*uint8_t*/ unsigned char ps;
+-} NeAACDecFrameInfo;
+-
+ typedef struct
+ {
+     uint8_t adts_header_present;
+@@ -477,9 +416,7 @@
+     int64_t requant_cycles;
+ #endif
+       const unsigned char *cmes;
+-} NeAACDecStruct, *NeAACDecHandle;
+-
+-
++} NeAACDecStruct;
+ #ifdef __cplusplus
+ }
+diff -urNad faad2-svn~/libfaad/syntax.c faad2-svn/libfaad/syntax.c
+--- faad2-svn~/libfaad/syntax.c        2007-11-28 23:28:14.000000000 +0000
++++ faad2-svn/libfaad/syntax.c 2007-11-28 23:29:27.000000000 +0000
+@@ -38,7 +38,6 @@
+ #include <stdlib.h>
+ #include <string.h>
+-#include "decoder.h"
+ #include "syntax.h"
+ #include "specrec.h"
+ #include "huffman.h"
+@@ -55,51 +54,51 @@
+ /* static function declarations */
+-static void decode_sce_lfe(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo, bitfile *ld,
++static void decode_sce_lfe(NeAACDecStruct* hDecoder, NeAACDecFrameInfo *hInfo, bitfile *ld,
+                            uint8_t id_syn_ele);
+-static void decode_cpe(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo, bitfile *ld,
++static void decode_cpe(NeAACDecStruct* hDecoder, NeAACDecFrameInfo *hInfo, bitfile *ld,
+                        uint8_t id_syn_ele);
+-static uint8_t single_lfe_channel_element(NeAACDecHandle hDecoder, bitfile *ld,
++static uint8_t single_lfe_channel_element(NeAACDecStruct* hDecoder, bitfile *ld,
+                                           uint8_t channel, uint8_t *tag);
+-static uint8_t channel_pair_element(NeAACDecHandle hDecoder, bitfile *ld,
++static uint8_t channel_pair_element(NeAACDecStruct* hDecoder, bitfile *ld,
+                                     uint8_t channel, uint8_t *tag);
+ #ifdef COUPLING_DEC
+-static uint8_t coupling_channel_element(NeAACDecHandle hDecoder, bitfile *ld);
++static uint8_t coupling_channel_element(NeAACDecStruct* hDecoder, bitfile *ld);
+ #endif
+-static uint16_t data_stream_element(NeAACDecHandle hDecoder, bitfile *ld);
++static uint16_t data_stream_element(NeAACDecStruct* hDecoder, bitfile *ld);
+ static uint8_t program_config_element(program_config *pce, bitfile *ld);
+-static uint8_t fill_element(NeAACDecHandle hDecoder, bitfile *ld, drc_info *drc
++static uint8_t fill_element(NeAACDecStruct* hDecoder, bitfile *ld, drc_info *drc
+ #ifdef SBR_DEC
+                             ,uint8_t sbr_ele
+ #endif
+                             );
+-static uint8_t individual_channel_stream(NeAACDecHandle hDecoder, element *ele,
++static uint8_t individual_channel_stream(NeAACDecStruct* hDecoder, element *ele,
+                                          bitfile *ld, ic_stream *ics, uint8_t scal_flag,
+                                          int16_t *spec_data);
+-static uint8_t ics_info(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld,
++static uint8_t ics_info(NeAACDecStruct* hDecoder, ic_stream *ics, bitfile *ld,
+                         uint8_t common_window);
+-static uint8_t section_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld);
+-static uint8_t scale_factor_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld);
++static uint8_t section_data(NeAACDecStruct* hDecoder, ic_stream *ics, bitfile *ld);
++static uint8_t scale_factor_data(NeAACDecStruct* hDecoder, ic_stream *ics, bitfile *ld);
+ #ifdef SSR_DEC
+ static void gain_control_data(bitfile *ld, ic_stream *ics);
+ #endif
+-static uint8_t spectral_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld,
++static uint8_t spectral_data(NeAACDecStruct* hDecoder, ic_stream *ics, bitfile *ld,
+                              int16_t *spectral_data);
+ static uint16_t extension_payload(bitfile *ld, drc_info *drc, uint16_t count);
+ static uint8_t pulse_data(ic_stream *ics, pulse_info *pul, bitfile *ld);
+ static void tns_data(ic_stream *ics, tns_info *tns, bitfile *ld);
+ #ifdef LTP_DEC
+-static uint8_t ltp_data(NeAACDecHandle hDecoder, ic_stream *ics, ltp_info *ltp, bitfile *ld);
++static uint8_t ltp_data(NeAACDecStruct* hDecoder, ic_stream *ics, ltp_info *ltp, bitfile *ld);
+ #endif
+ static uint8_t adts_fixed_header(adts_header *adts, bitfile *ld);
+ static void adts_variable_header(adts_header *adts, bitfile *ld);
+ static void adts_error_check(adts_header *adts, bitfile *ld);
+ static uint8_t dynamic_range_info(bitfile *ld, drc_info *drc);
+ static uint8_t excluded_channels(bitfile *ld, drc_info *drc);
+-static uint8_t side_info(NeAACDecHandle hDecoder, element *ele,
++static uint8_t side_info(NeAACDecStruct* hDecoder, element *ele,
+                          bitfile *ld, ic_stream *ics, uint8_t scal_flag);
+ #ifdef DRM
+-static int8_t DRM_aac_scalable_main_header(NeAACDecHandle hDecoder, ic_stream *ics1, ic_stream *ics2,
++static int8_t DRM_aac_scalable_main_header(NeAACDecStruct* hDecoder, ic_stream *ics1, ic_stream *ics2,
+                                            bitfile *ld, uint8_t this_layer_stereo);
+ #endif
+@@ -321,7 +320,7 @@
+     return 0;
+ }
+-static void decode_sce_lfe(NeAACDecHandle hDecoder,
++static void decode_sce_lfe(NeAACDecStruct* hDecoder,
+                            NeAACDecFrameInfo *hInfo, bitfile *ld,
+                            uint8_t id_syn_ele)
+ {
+@@ -366,7 +365,7 @@
+     hDecoder->fr_ch_ele++;
+ }
+-static void decode_cpe(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo, bitfile *ld,
++static void decode_cpe(NeAACDecStruct* hDecoder, NeAACDecFrameInfo *hInfo, bitfile *ld,
+                        uint8_t id_syn_ele)
+ {
+     uint8_t channels = hDecoder->fr_channels;
+@@ -414,7 +413,7 @@
+     hDecoder->fr_ch_ele++;
+ }
+-void raw_data_block(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
++void raw_data_block(NeAACDecStruct* hDecoder, NeAACDecFrameInfo *hInfo,
+                     bitfile *ld, program_config *pce, drc_info *drc)
+ {
+     uint8_t id_syn_ele;
+@@ -584,7 +583,7 @@
+ /* Table 4.4.4 and */
+ /* Table 4.4.9 */
+-static uint8_t single_lfe_channel_element(NeAACDecHandle hDecoder, bitfile *ld,
++static uint8_t single_lfe_channel_element(NeAACDecStruct* hDecoder, bitfile *ld,
+                                           uint8_t channel, uint8_t *tag)
+ {
+     uint8_t retval = 0;
+@@ -631,7 +630,7 @@
+ }
+ /* Table 4.4.5 */
+-static uint8_t channel_pair_element(NeAACDecHandle hDecoder, bitfile *ld,
++static uint8_t channel_pair_element(NeAACDecStruct* hDecoder, bitfile *ld,
+                                     uint8_t channels, uint8_t *tag)
+ {
+     ALIGN int16_t spec_data1[1024] = {0};
+@@ -761,7 +760,7 @@
+ }
+ /* Table 4.4.6 */
+-static uint8_t ics_info(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld,
++static uint8_t ics_info(NeAACDecStruct* hDecoder, ic_stream *ics, bitfile *ld,
+                         uint8_t common_window)
+ {
+     uint8_t retval = 0;
+@@ -912,7 +911,7 @@
+ #ifdef COUPLING_DEC
+ /* Table 4.4.8: Currently just for skipping the bits... */
+-static uint8_t coupling_channel_element(NeAACDecHandle hDecoder, bitfile *ld)
++static uint8_t coupling_channel_element(NeAACDecStruct* hDecoder, bitfile *ld)
+ {
+     uint8_t c, result = 0;
+     uint8_t ind_sw_cce_flag = 0;
+@@ -1005,7 +1004,7 @@
+ #endif
+ /* Table 4.4.10 */
+-static uint16_t data_stream_element(NeAACDecHandle hDecoder, bitfile *ld)
++static uint16_t data_stream_element(NeAACDecStruct* hDecoder, bitfile *ld)
+ {
+     uint8_t byte_aligned;
+     uint16_t i, count;
+@@ -1034,7 +1033,7 @@
+ }
+ /* Table 4.4.11 */
+-static uint8_t fill_element(NeAACDecHandle hDecoder, bitfile *ld, drc_info *drc
++static uint8_t fill_element(NeAACDecStruct* hDecoder, bitfile *ld, drc_info *drc
+ #ifdef SBR_DEC
+                             ,uint8_t sbr_ele
+ #endif
+@@ -1213,7 +1212,7 @@
+ #ifdef DRM
+ /* Table 4.4.13 ASME */
+-void DRM_aac_scalable_main_element(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
++void DRM_aac_scalable_main_element(NeAACDecStruct* hDecoder, NeAACDecFrameInfo *hInfo,
+                                    bitfile *ld, program_config *pce, drc_info *drc)
+ {
+     uint8_t retval = 0;
+@@ -1423,7 +1422,7 @@
+ }
+ /* Table 4.4.15 */
+-static int8_t DRM_aac_scalable_main_header(NeAACDecHandle hDecoder, ic_stream *ics1, ic_stream *ics2,
++static int8_t DRM_aac_scalable_main_header(NeAACDecStruct* hDecoder, ic_stream *ics1, ic_stream *ics2,
+                                            bitfile *ld, uint8_t this_layer_stereo)
+ {
+     uint8_t retval = 0;
+@@ -1491,7 +1490,7 @@
+ }
+ #endif
+-static uint8_t side_info(NeAACDecHandle hDecoder, element *ele,
++static uint8_t side_info(NeAACDecStruct* hDecoder, element *ele,
+                          bitfile *ld, ic_stream *ics, uint8_t scal_flag)
+ {
+     uint8_t result;
+@@ -1584,7 +1583,7 @@
+ }
+ /* Table 4.4.24 */
+-static uint8_t individual_channel_stream(NeAACDecHandle hDecoder, element *ele,
++static uint8_t individual_channel_stream(NeAACDecStruct* hDecoder, element *ele,
+                                          bitfile *ld, ic_stream *ics, uint8_t scal_flag,
+                                          int16_t *spec_data)
+ {
+@@ -1644,7 +1643,7 @@
+ }
+ /* Table 4.4.25 */
+-static uint8_t section_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld)
++static uint8_t section_data(NeAACDecStruct* hDecoder, ic_stream *ics, bitfile *ld)
+ {
+     uint8_t g;
+     uint8_t sect_esc_val, sect_bits;
+@@ -1891,7 +1890,7 @@
+ }
+ /* Table 4.4.26 */
+-static uint8_t scale_factor_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld)
++static uint8_t scale_factor_data(NeAACDecStruct* hDecoder, ic_stream *ics, bitfile *ld)
+ {
+     uint8_t ret = 0;
+ #ifdef PROFILE
+@@ -1999,7 +1998,7 @@
+ #ifdef LTP_DEC
+ /* Table 4.4.28 */
+-static uint8_t ltp_data(NeAACDecHandle hDecoder, ic_stream *ics, ltp_info *ltp, bitfile *ld)
++static uint8_t ltp_data(NeAACDecStruct* hDecoder, ic_stream *ics, ltp_info *ltp, bitfile *ld)
+ {
+     uint8_t sfb, w;
+@@ -2062,7 +2061,7 @@
+ #endif
+ /* Table 4.4.29 */
+-static uint8_t spectral_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld,
++static uint8_t spectral_data(NeAACDecStruct* hDecoder, ic_stream *ics, bitfile *ld,
+                              int16_t *spectral_data)
+ {
+     int8_t i;
+diff -urNad faad2-svn~/libfaad/syntax.h faad2-svn/libfaad/syntax.h
+--- faad2-svn~/libfaad/syntax.h        2007-11-28 23:28:14.000000000 +0000
++++ faad2-svn/libfaad/syntax.h 2007-11-28 23:29:27.000000000 +0000
+@@ -35,7 +35,6 @@
+ extern "C" {
+ #endif
+-#include "decoder.h"
+ #include "bits.h"
+ #define MAIN       1
+@@ -113,12 +112,12 @@
+ uint8_t adts_frame(adts_header *adts, bitfile *ld);
+ void get_adif_header(adif_header *adif, bitfile *ld);
+-void raw_data_block(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
++void raw_data_block(NeAACDecStruct* hDecoder, NeAACDecFrameInfo *hInfo,
+                     bitfile *ld, program_config *pce, drc_info *drc);
+-uint8_t reordered_spectral_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld,
++uint8_t reordered_spectral_data(NeAACDecStruct* hDecoder, ic_stream *ics, bitfile *ld,
+                                 int16_t *spectral_data);
+ #ifdef DRM
+-void DRM_aac_scalable_main_element(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
++void DRM_aac_scalable_main_element(NeAACDecStruct* hDecoder, NeAACDecFrameInfo *hInfo,
+                                    bitfile *ld, program_config *pce, drc_info *drc);
+ #endif
index 9329ee8bc9843ae6778306a1cd4da7ad916d0381..d2dfb73db9960fd74b7e6c58e96e8e8341963f57 100755 (executable)
 #!/bin/bash
 #
-#  faad2.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  faad2.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  faad2.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  faad2.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for faad2
-# by rafael at riseup.net
+# slackbuild for faad2, by Silvio Rhatto
+# requires:  
+# tested: faad2-2.6.1
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building faad2 are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="faad2"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="faad2"
+PKG_NAME="faad2"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=2.0}
-BUILD=${BUILD:=1rd}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=2.6.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--with-docdir=/usr/doc/$PKG_NAME-$VERSION"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://ufpr.dl.sourceforge.net/sourceforge/faac/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE
-
-autoreconf -vif 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR --with-docdir=/usr/doc/$PACKAGE-$VERSION
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/faac/$SRC"
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p0 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+autoreconf -vif 
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-     |-----handy-ruler-----------------------------------------------------|
+     |-----handy-ruler--------------------------------------------------------|
 faad2: faad2 (faad2 is a free Advanced Audio Decoder)
 faad2:
 faad2: Faad2 is a free Advanced Audio Decoder.
@@ -115,18 +174,13 @@ faad2:
 faad2: 
 faad2: http://www.audiocoding.com/
 faad2: 
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in AUTHORS COPYING ChangeLog INSTALL NEWS README TODO;do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 92541d7522fdf6ff113e0944711cf1f657f6b6b5..12a86a36232f92c92b629883ca12685e21aced61 100755 (executable)
 #!/bin/bash
 #
-#  glitz.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  glitz.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  glitz.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  glitz.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for glitz
-# by rhatto at riseup.net
+# slackbuild for glitz, by Silvio Rhatto
+# requires:  
+# tested: glitz-0.5.6
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building glitz are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="glitz"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="glitz"
+PKG_NAME="glitz"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.5.6}
+SRC_VERSION=${VERSION:=0.5.6}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
-ERROR_TAR=37;       ERROR_MKPKG=38
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://cairographics.org/snapshots/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://cairographics.org/snapshots/$SRC"
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf$tarflag $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-     |-----handy-ruler-----------------------------------------------------|
+     |-----handy-ruler--------------------------------------------------------|
 glitz: glitz
 glitz:
 glitz: Glitz is an OpenGL image compositing library. Glitz provides
@@ -119,20 +173,13 @@ glitz:
 glitz:
 glitz:
 glitz:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/media/libs/gst-ffmpeg/gst-ffmpeg.SlackBuild b/media/libs/gst-ffmpeg/gst-ffmpeg.SlackBuild
new file mode 100644 (file)
index 0000000..3846e23
--- /dev/null
@@ -0,0 +1,149 @@
+#!/bin/bash
+#
+#  gst-ffmpeg.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gst-ffmpeg.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gst-ffmpeg, by Rafael Diniz
+# requires: gstreamer gst-plugins-base ffmpeg 
+# tested: gst-ffmpeg-0.10.4
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gst-ffmpeg"
+PKG_NAME="gst-ffmpeg"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.10.4}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc --with-docdir=/usr/doc/$PKG_NAME-$PKG_VERSION"}
+NUMJOBS=${NUMJOBS:="-j3"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://gstreamer.freedesktop.org/src/gst-ffmpeg/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+./configure  --prefix="$PREFIX" --libdir="$LIBDIR"  || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler---------------------------------------------------|
+gst-ffmpeg: gst-ffmpeg (ffmpeg plugin for gstreamer)
+gst-ffmpeg:
+gst-ffmpeg: FFmpeg plugin for gstreamer.
+gst-ffmpeg: 
+gst-ffmpeg:
+gst-ffmpeg:
+gst-ffmpeg:
+gst-ffmpeg:
+gst-ffmpeg:
+gst-ffmpeg: http://gstreamer.freedesktop.org/
+gst-ffmpeg:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/media/libs/gst-ffmpeg/slack-required b/media/libs/gst-ffmpeg/slack-required
new file mode 100644 (file)
index 0000000..5ff9a04
--- /dev/null
@@ -0,0 +1,6 @@
+# Dependency list to gst-ffmpeg
+#
+# dependency [condition] [version]]
+gstreamer                              
+gst-plugins-base                               
+ffmpeg                         
diff --git a/media/libs/gst-plugins-bad/gst-plugins-bad.SlackBuild b/media/libs/gst-plugins-bad/gst-plugins-bad.SlackBuild
new file mode 100755 (executable)
index 0000000..5c91217
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  gst-plugins-bad.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gst-plugins-bad.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gst-plugins-bad, by Rafael Diniz
+# requires: gstreamer gst-plugins-base 
+# tested: gst-plugins-bad-0.10.7
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gst-plugins-bad"
+PKG_NAME="gst-plugins-bad"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.10.7}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc --with-docdir=/usr/doc/$PKG_NAME-$PKG_VERSION"}
+NUMJOBS=${NUMJOBS:="-j3"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://gstreamer.freedesktop.org/src/gst-plugins-bad/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+               |-----handy-ruler----------------------------------------------|
+gst-plugins-bad: gst-plugins-bad (plugins for gstreamer)
+gst-plugins-bad:
+gst-plugins-bad: Free Software plugins for gstreamer with problems
+gst-plugins-bad: related to quality.
+gst-plugins-bad:
+gst-plugins-bad:
+gst-plugins-bad:
+gst-plugins-bad:
+gst-plugins-bad:
+gst-plugins-bad: http://gstreamer.freedesktop.org/
+gst-plugins-bad:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/media/libs/gst-plugins-bad/slack-required b/media/libs/gst-plugins-bad/slack-required
new file mode 100644 (file)
index 0000000..6f90752
--- /dev/null
@@ -0,0 +1,5 @@
+# Dependency list to gst-plugins-bad
+#
+# dependency [condition] [version]]
+gstreamer                              
+gst-plugins-base                               
diff --git a/media/libs/gst-plugins-base/gst-plugins-base.SlackBuild b/media/libs/gst-plugins-base/gst-plugins-base.SlackBuild
new file mode 100755 (executable)
index 0000000..466113b
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  gst-plugins-base.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gst-plugins-base.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gst-plugins-base, by Rafael Diniz
+# requires: gstreamer 
+# tested: gst-plugins-base-0.10.19
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gst-plugins-base"
+PKG_NAME="gst-plugins-base"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.10.19}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc --with-docdir=/usr/doc/$PKG_NAME-$PKG_VERSION"}
+NUMJOBS=${NUMJOBS:="-j3"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://gstreamer.freedesktop.org/src/gst-plugins-base/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+                |-----handy-ruler---------------------------------------------|
+gst-plugins-base: gst-plugins-base (plugins for gstreamer)
+gst-plugins-base:
+gst-plugins-base: Base plugins for gstreamer, you need this to get gstreamer
+gst-plugins-base: working.
+gst-plugins-base:
+gst-plugins-base:
+gst-plugins-base:
+gst-plugins-base:
+gst-plugins-base:
+gst-plugins-base: http://gstreamer.freedesktop.org/
+gst-plugins-base:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/media/libs/gst-plugins-base/slack-required b/media/libs/gst-plugins-base/slack-required
new file mode 100644 (file)
index 0000000..6098236
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to gst-plugins-base
+#
+# dependency [condition] [version]]
+gstreamer                              
diff --git a/media/libs/gst-plugins-good/gst-plugins-good.SlackBuild b/media/libs/gst-plugins-good/gst-plugins-good.SlackBuild
new file mode 100755 (executable)
index 0000000..1776b5a
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  gst-plugins-good.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gst-plugins-good.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gst-plugins-good, by Rafael Diniz
+# requires: gstreamer gst-plugins-base 
+# tested: gst-plugins-good-0.10.8
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gst-plugins-good"
+PKG_NAME="gst-plugins-good"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.10.8}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc --with-docdir=/usr/doc/$PKG_NAME-$PKG_VERSION"}
+NUMJOBS=${NUMJOBS:="-j3"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://gstreamer.freedesktop.org/src/gst-plugins-good/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+                |-----handy-ruler---------------------------------------------|
+gst-plugins-good: gst-plugins-good (plugins for gstreamer)
+gst-plugins-good:
+gst-plugins-good: Free Software plugins for gstreamer with no problems
+gst-plugins-good: related to patents.
+gst-plugins-good:
+gst-plugins-good:
+gst-plugins-good:
+gst-plugins-good:
+gst-plugins-good:
+gst-plugins-good: http://gstreamer.freedesktop.org/
+gst-plugins-good:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/media/libs/gst-plugins-good/slack-required b/media/libs/gst-plugins-good/slack-required
new file mode 100644 (file)
index 0000000..dad684c
--- /dev/null
@@ -0,0 +1,5 @@
+# Dependency list to gst-plugins-good
+#
+# dependency [condition] [version]]
+gstreamer                              
+gst-plugins-base                               
diff --git a/media/libs/gst-plugins-ugly/gst-plugins-ugly.SlackBuild b/media/libs/gst-plugins-ugly/gst-plugins-ugly.SlackBuild
new file mode 100755 (executable)
index 0000000..6736cd9
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  gst-plugins-ugly.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gst-plugins-ugly.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gst-plugins-ugly, by Rafael Diniz
+# requires: gstreamer gst-plugins-base 
+# tested: gst-plugins-ugly-0.10.8
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gst-plugins-ugly"
+PKG_NAME="gst-plugins-ugly"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.10.8}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc --with-docdir=/usr/doc/$PKG_NAME-$PKG_VERSION"}
+NUMJOBS=${NUMJOBS:="-j3"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://gstreamer.freedesktop.org/src/gst-plugins-ugly/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+                |-----handy-ruler---------------------------------------------|
+gst-plugins-ugly: gst-plugins-ugly (plugins for gstreamer)
+gst-plugins-ugly:
+gst-plugins-ugly: Free Software plugins for gstreamer with problems
+gst-plugins-ugly: related to patents.
+gst-plugins-ugly:
+gst-plugins-ugly:
+gst-plugins-ugly:
+gst-plugins-ugly:
+gst-plugins-ugly:
+gst-plugins-ugly: http://gstreamer.freedesktop.org/
+gst-plugins-ugly:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/media/libs/gst-plugins-ugly/slack-required b/media/libs/gst-plugins-ugly/slack-required
new file mode 100644 (file)
index 0000000..d4fa6ac
--- /dev/null
@@ -0,0 +1,5 @@
+# Dependency list to gst-plugins-ugly
+#
+# dependency [condition] [version]]
+gstreamer                              
+gst-plugins-base                               
diff --git a/media/libs/gstreamer/gstreamer.SlackBuild b/media/libs/gstreamer/gstreamer.SlackBuild
new file mode 100755 (executable)
index 0000000..5941669
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  gstreamer.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gstreamer.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gstreamer, by Rafael Diniz
+# requires:  
+# tested: gstreamer-0.10.19
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gstreamer"
+PKG_NAME="gstreamer"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.10.19}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc --with-docdir=/usr/doc/$PKG_NAME-$PKG_VERSION"}
+NUMJOBS=${NUMJOBS:="-j3"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://gstreamer.freedesktop.org/src/gstreamer/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler----------------------------------------------------|
+gstreamer: gstreamer (gstreamer is a multimedia library)
+gstreamer:
+gstreamer: GStreamer is a library for constructing of graphs of media-handling 
+gstreamer: components. The use cases it covers range from simple Ogg/Vorbis 
+gstreamer: playback, audio/video streaming to complex audio (mixing) and video 
+gstreamer: (non-linear editing) processing.
+gstreamer:
+gstreamer:
+gstreamer:
+gstreamer: http://gstreamer.freedesktop.org/
+gstreamer:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/media/libs/ilmbase/ilmbase.SlackBuild b/media/libs/ilmbase/ilmbase.SlackBuild
new file mode 100755 (executable)
index 0000000..d391f14
--- /dev/null
@@ -0,0 +1,185 @@
+#!/bin/bash
+#
+#  ilmbase.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  ilmbase.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for ilmbase, by Silvio Rhatto
+# requires:  
+# tested: ilmbase-1.0.1
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="ilmbase"
+PKG_NAME="ilmbase"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.0.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://download.savannah.nongnu.org/releases/openexr/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
+
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog LICENSE NEWS README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+ilmbase: ilmbase
+ilmbase:
+ilmbase: OpenEXR ILM Base libraries
+ilmbase:
+ilmbase:
+ilmbase:
+ilmbase:
+ilmbase:
+ilmbase:
+ilmbase:
+ilmbase:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index eaa49e719760fc35d917f8b5a8bf135f45071f8e..93e3c18fbeab01fa10a4e0f8b508d4aa4e5a7aa8 100755 (executable)
 #!/bin/bash
 #
-#  imlib2.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  imlib2.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  imlib2.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  imlib2.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for imlib2
-# by rhatto at riseup.net
+# slackbuild for imlib2, by Alexandre Vieira de Souza
+# requires:  
+# tested: imlib2-1.4.1
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building imlib2 are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="imlib2"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="imlib2"
+PKG_NAME="imlib2"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
-BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=1.4.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1avs}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/efl"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/e17/libs/imlib2" ]; then
-  cd $SRC_DIR/e17/libs/imlib2
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/libs/imlib2 || exit $ERROR_VCS
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-cd $SRC_DIR/e17/libs/imlib2
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-CWD="`pwd`"
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://prdownloads.sourceforge.net/enlightenment/$SRC"
 
-cd $TMP/package-$PACKAGE
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-      |-----handy-ruler-----------------------------------------------------|
-imlib2: imlib2
+      |-----handy-ruler-------------------------------------------------------|
+imlib2: imlib2 by Slack.Sarava
 imlib2:
 imlib2: This is the Imlib 2 library - a library that does image file loading
 imlib2: and saving as well as rendering, manipulation, arbitrary polygon
@@ -108,25 +138,16 @@ imlib2: support, etc.
 imlib2:
 imlib2:
 imlib2:
+imlib2: by avs
 imlib2:
 imlib2:
-imlib2:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO"
+EODESC
 
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 1929185c8d42b3fef532baf72a34b90bf6ce93cd..432f9d6367e30facb3a676004b8ebdff60420faa 100755 (executable)
 #!/bin/bash
 #
-#  ladspa.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  ladspa.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  ladspa.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  ladspa.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for ladspa
-# by rhatto at riseup.net
+# slackbuild for ladspa, by Silvio Rhatto
+# requires:  
+# tested: ladspa-1.13
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building ladspa are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="ladspa"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="ladspa_sdk"
+PKG_NAME="ladspa"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.13}
+SRC_VERSION=${VERSION:=1.13}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
-ERROR_TAR=37;       ERROR_MKPKG=38
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="tgz"
-SRC="$PACKAGE"_sdk_"$VERSION.$PACKAGE_EXT"
-URL="http://www.ladspa.org/download/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+# Dowload source if necessary
+SRC="$SRC_NAME"_"$VERSION.tgz"
+URL="http://www.ladspa.org/download/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd "$PACKAGE"_sdk
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
+# Configure
 cd src
-
-# for mkdirhier
-export PATH="$PATH:/usr/X11R6/bin/"
+export PATH="$PATH:/usr/X11R6/bin/" # for mkdirhier
 
 sed -e 's/\/usr\/local\/lib\/ladspa\//\/usr\/lib\/ladspa\//' \
     -e 's/\/usr\/local\/bin\//\/usr\/bin\//' makefile > makefile.tmp || exit $ERROR_CONF
 
-echo "PREFIX = $TMP/package-$PACKAGE" >> makefile.tmp || exit $ERROR_CONF
+echo "PREFIX = $PKG" >> makefile.tmp || exit $ERROR_CONF
 
 sed -e 's/$(INSTALL_PLUGINS_DIR)/$(PREFIX)\/$(INSTALL_PLUGINS_DIR)/g' \
     -e 's/$(INSTALL_INCLUDE_DIR)/$(PREFIX)\/$(INSTALL_INCLUDE_DIR)/g' \
     -e 's/$(INSTALL_BINARY_DIR)/$(PREFIX)\/$(INSTALL_BINARY_DIR)/g' makefile.tmp > makefile || exit $ERROR_CONF
 
-make || exit $ERROR_MAKE
-make install || exit $ERROR_INSTALL
-cd ..
-
-CWD="`pwd`"
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
 
-cd $TMP/package-$PACKAGE
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+cd ..
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="README doc/*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-      |-----handy-ruler-----------------------------------------------------|
+      |-----handy-ruler-------------------------------------------------------|
 ladspa: ladspa (linux audio developer's plugin API)
 ladspa:
 ladspa: The Linux Audio Developer's Simple Plugin API (LADSPA) attempts to
@@ -127,20 +181,13 @@ ladspa:
 ladspa:
 ladspa:
 ladspa:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-DOCS="COPYING *html"
-
-for file in $DOCS; do
-  cp $CWD/docs/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 7941a2e86d9843deb56f81a0dc24b3b6411ea809..75b76578be4ce41a6c9e86952eedd355b6bb2af4 100755 (executable)
 #!/bin/bash
 #
-#  libdv.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  libdv.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  libdv.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  libdv.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for libdv
-# by rafael at riseup.net
+# slackbuild for libdv, by Silvio Rhatto
+# requires:  
+# tested: libdv-1.0.0
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building libdv are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="libdv"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libdv"
+PKG_NAME="libdv"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.0.0}
-BUILD=${BUILD:=1rd}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=1.0.0}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR=/usr/lib64
-  export LDFLAGS="$LDFLAGS -L/lib64 -L/usr/lib64 -fPIC"
-  export CFLAGS="$CFLAGS -fPIC"
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://superb-west.dl.sourceforge.net/sourceforge/libdv/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
-
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/libdv/$SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
-
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-# apply debian patches, if exist
-if [ -d "debian/patches" ]; then
-  for file in `ls debian/patches/*patch`; do
-    patch -p1 < $file
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
+
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
   done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING COPYRIGHT ChangeLog NEWS README README.dvconnect README.encoder TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-     |-----handy-ruler-----------------------------------------------------|
+     |-----handy-ruler--------------------------------------------------------|
 libdv: libdv (libdv is a software codec for DV video)
 libdv:
 libdv: The Quasar  DV codec (libdv) is a software codec for DV video, the 
@@ -122,21 +173,13 @@ libdv:
 libdv: http://libdv.sourceforge.net/
 libdv:
 libdv:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-for file in AUTHORS COPYING COPYRIGHT ChangeLog INSTALL NEWS README README.dvconnect README.encoder TODO; do 
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-# install script
-echo '( chroot . /sbin/ldconfig )' > install/doinst.sh
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/media/libs/libdvbpsi/libdvbpsi.SlackBuild b/media/libs/libdvbpsi/libdvbpsi.SlackBuild
new file mode 100755 (executable)
index 0000000..59ef08e
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  libdvbpsi.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  libdvbpsi.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for libdvbpsi, by Rafael Diniz
+# requires:  
+# tested: libdvbpsi-0.1.6
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libdvbpsi5"
+PKG_NAME="libdvbpsi"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.1.6}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://download.videolan.org/pub/libdvbpsi/0.1.6/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler----------------------------------------------------|
+libdvbpsi: libdvbpsi (a simple library for DVB PSI)
+libdvbpsi:
+libdvbpsi: 
+libdvbpsi: Libdvbpsi is a simple library designed for decoding and 
+libdvbpsi: generation of MPEG TS and DVB PSI tables. 
+libdvbpsi:
+libdvbpsi:
+libdvbpsi:
+libdvbpsi:
+libdvbpsi: http://www.videolan.org/developers/libdvbpsi.html
+libdvbpsi:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index b96dd48e5b7d8b86988f27d10b700a9f3613d852..0d683aed2e26337d4b558cfb8ab917e1dc33543a 100755 (executable)
 #!/bin/bash
 #
-#  libexif-gtk.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  libexif-gtk.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  libexif-gtk.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  libexif-gtk.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for libexif-gtk
-# by rhatto at riseup.net
+# slackbuild for libexif-gtk, by Silvio Rhatto
+# requires:  
+# tested: libexif-gtk-0.3.5
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building libexif-gtk are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="libexif-gtk"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libexif-gtk"
+PKG_NAME="libexif-gtk"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.3.5}
+SRC_VERSION=${VERSION:=0.3.5}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="bz2"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/libexif/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://downloads.sourceforge.net/libexif/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+if echo http://ftp.de.debian.org/debian/pool/main/libe/libexif-gtk/libexif-gtk_0.3.5-3.diff.gz | grep -q -v "PATCH URLS"; then
+  for patch_url in http://ftp.de.debian.org/debian/pool/main/libe/libexif-gtk/libexif-gtk_0.3.5-3.diff.gz; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-# see http://blog.gmane.org/gmane.comp.graphics.libexif.devel/month=20060101
-export CFLAGS="-I/usr/include/libexif/"
-
-./configure --prefix=/usr --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="ABOUT-NLS AUTHORS COPYING ChangeLog NEWS README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-           |-----handy-ruler-----------------------------------------------------|
+           |-----handy-ruler--------------------------------------------------|
 libexif-gtk: libexif-gtk (library to read and write EXIF data)
 libexif-gtk:
 libexif-gtk: Libexif reads and writes EXIF metainformation from and to image
@@ -117,20 +173,13 @@ libexif-gtk:
 libexif-gtk:
 libexif-gtk:
 libexif-gtk:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-DOCS="ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 83239a6872e1ad695d85de826e5170b0bd3574bb..aaee17d6c41eb3a71ffc65617782b4b2d30b3873 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for libgphoto2, by Rudson R. Alves
 # requires:  
-# tested: libgphoto2-2.4.0
+# tested: libgphoto2-2.4.2
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="libgphoto2"
 PKG_NAME="libgphoto2"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=2.4.0}
+SRC_VERSION=${VERSION:=2.4.2}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rra}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -55,8 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -86,7 +87,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -122,9 +123,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index 3c88da733e4f3403ac96ec3c42b347d5cbfc3342..3ff5578beb50508d00f42bddf5264e5c0100a22a 100755 (executable)
 #!/bin/bash
 #
-#  libiec61883.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  libiec61883.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  libiec61883.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  libiec61883.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for libiec61883
-# by rafael at riseup.net
+# slackbuild for libiec61883, by Silvio Rhatto
+# requires: libraw1394 
+# tested: libiec61883-1.1.0
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building libiec61883 are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="libiec61883"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libiec61883"
+PKG_NAME="libiec61883"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.1.0}
-BUILD=${BUILD:=1rd}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=1.1.0}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc --with-docdir=/usr/doc/$PKG_NAME-$VERSION"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://www.linux1394.org/dl/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.linux1394.org/dl/$SRC"
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR --with-docdir=/usr/doc/$PACKAGE-$VERSION
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-           |-----handy-ruler-----------------------------------------------------|
+           |-----handy-ruler--------------------------------------------------|
 libiec61883: libiec61883 (libiec61883 is Firewire video related library)
 libiec61883:
 libiec61883: This library is an implementation of IEC 61883, part 1 (CIP, plug 
@@ -113,18 +173,13 @@ libiec61883:
 libiec61883: 
 libiec61883: http://www.linux1394.org/
 libiec61883: 
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in AUTHORS COPYING ChangeLog INSTALL NEWS README;do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 8bc743d326db65223758a012d7a4100dfe5957ad..af18a9660bdd8bbb9a7dfab2e09db908fc93eb78 100644 (file)
@@ -1 +1,4 @@
-libraw1394
+# Dependency list to libiec61883
+#
+# dependency [condition] [version]]
+libraw1394                             
index ce0e42194b179cfa0b38f6ccb9cd7341734f5f7f..6139a8840b22033af86932bc397dec24479493b4 100755 (executable)
 #!/bin/bash
 #
-#  libjackasyn.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  libjackasyn.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  libjackasyn.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  libjackasyn.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for libjackasyn
-# by rhatto at riseup.net
+# slackbuild for libjackasyn, by Silvio Rhatto
+# requires: jack 
+# tested: libjackasyn-0.13
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building libjackasyn are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="libjackasyn"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libjackasyn"
+PKG_NAME="libjackasyn"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.13}
+SRC_VERSION=${VERSION:=0.13}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://gige.xdv.org/libjackasyn/download/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://gige.xdv.org/libjackasyn/download/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
 
-CWD="`pwd`"
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
 
-cd $TMP/package-$PACKAGE
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
 
-mkdir install
-cat << EOF > install/slack-desc
+# Install documentation
+DOCS="AUTHORS CHANGELOG COPYING README TODO WORKING"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-           |-----handy-ruler-----------------------------------------------------|
+           |-----handy-ruler--------------------------------------------------|
 libjackasyn: libjackasyn
 libjackasyn:
 libjackasyn: libjackasyn is a library that allows you to use programs written
@@ -114,20 +173,13 @@ libjackasyn:
 libjackasyn:
 libjackasyn:
 libjackasyn:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS CHANGELOG COPYING README TODO WORKING"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index b0b1dbc666f00ba0e52262b00515c3c7e928ca97..831cf00dcd896586869557adfe42a9e0e101468e 100644 (file)
@@ -1 +1,4 @@
-jack
+# Dependency list to libjackasyn
+#
+# dependency [condition] [version]]
+jack                           
index 98ded78c307c0438dfecb86c8f09a9a4fa7770a0..e78a0d4a98d33e9270ec61268628bde6d5f0a2ed 100755 (executable)
@@ -10,9 +10,9 @@
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for libkipi, by Rudson R. Alves
 # requires:  
@@ -55,8 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -86,7 +87,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -122,20 +123,20 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
        |-----handy-ruler------------------------------------------------------|
 libkipi: libkipi by Slack.Sarava
 libkipi:
-libkipi:
-libkipi:
-libkipi:
-libkipi:
-libkipi:
+libkipi: Kipi (KDE Image Plugin Interface) is an effort to develop a common
+libkipi: plugin structure for Digikam, KimDaBa, Showimg and Gwenview. Its aim
+libkipi: is to share image plugins among graphic applications. Kipi is based
+libkipi: on the old digiKam plugins implementation and is maintened by digiKam
+libkipi: team.
 libkipi:
 libkipi:
 libkipi:
index 906f9b5a756f4cb50c332c4d48bd6cb383506432..f701cd7f7cf4c762192d9a89af6e886c5142c6f9 100755 (executable)
 #!/bin/bash
 #
-#  liblo.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  liblo.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  liblo.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  liblo.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for liblo
-# by rhatto at riseup.net
+# slackbuild for liblo, by Silvio Rhatto
+# requires:  
+# tested: liblo-0.25
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building liblo are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="liblo"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="liblo"
+PKG_NAME="liblo"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.23}
+SRC_VERSION=${VERSION:=0.25}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/$PACKAGE/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/liblo/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
 
-CWD="`pwd`"
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
 
-cd $TMP/package-$PACKAGE
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
 
-mkdir install
-cat << EOF > install/slack-desc
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-     |-----handy-ruler-----------------------------------------------------|
+     |-----handy-ruler--------------------------------------------------------|
 liblo: liblo
 liblo:
 liblo: LibLO is a lightweight library for handling the sending and
@@ -114,20 +173,13 @@ liblo:
 liblo:
 liblo:
 liblo:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-DOCS="AUTHORS COPYING ChangeLog NEWS README TODO"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 7ce34e550529c7ad091046cc7ad7a27ad3a46296..7bc7114188fe0d7a184c3e24332cfc482fa4b84d 100755 (executable)
 #!/bin/bash
 #
-#  liblrdf.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  liblrdf.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  liblrdf.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  liblrdf.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for liblrdf
-# by rhatto at riseup.net
+# slackbuild for liblrdf, by Silvio Rhatto
+# requires: raptor ladspa 
+# tested: liblrdf-0.4.0
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building liblrdf are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="liblrdf"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="liblrdf"
+PKG_NAME="liblrdf"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.4.0}
+SRC_VERSION=${VERSION:=0.4.0}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/lrdf/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/lrdf/$SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
-
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR 
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-       |-----handy-ruler-----------------------------------------------------|
+       |-----handy-ruler------------------------------------------------------|
 liblrdf: liblrdf (lightweight RDF)
 liblrdf:
 liblrdf: Liblrdf is a lightweight RDF library with special support for
@@ -114,18 +173,13 @@ liblrdf:
 liblrdf:
 liblrdf:
 liblrdf:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-for file in AUTHORS COPYING ChangeLog INSTALL NEWS README; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 6c92f463a623b1aa1f1e2d4c5c4e62a0ac608344..9791d715a74e43117bb2120b4eb16c2cb4432eab 100644 (file)
@@ -1 +1,5 @@
-ladspa
+# Dependency list to liblrdf
+#
+# dependency [condition] [version]]
+raptor                         
+ladspa                         
diff --git a/media/libs/libopenraw/libopenraw.SlackBuild b/media/libs/libopenraw/libopenraw.SlackBuild
new file mode 100644 (file)
index 0000000..bdd7ca1
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  libopenraw.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  libopenraw.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for libopenraw, by Alexandre Vieira de Souza
+# requires: boost 
+# tested: libopenraw-0.0.5
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libopenraw"
+PKG_NAME="libopenraw"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.0.5}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1avs}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://libopenraw.freedesktop.org/download/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler---------------------------------------------------|
+libopenraw: libopenraw by Slack.Sarava
+libopenraw:
+libopenraw: libopenraw is an ongoing project to provide a free software
+libopenraw: implementation for camera RAW files decoding. One of the main
+libopenraw: reasons is that dcraw is not suited for easy integration into
+libopenraw: applications, and there is a need for an easy to use API to
+libopenraw: build free software digital image processing application.
+libopenraw: It also has the goal to address missing feature from dcraw
+libopenraw: like meta-data decoding and easy thumbnail extraction.
+libopenraw:
+libopenraw: by avs
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/media/libs/libopenraw/slack-required b/media/libs/libopenraw/slack-required
new file mode 100644 (file)
index 0000000..c9ddde0
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to libopenraw
+#
+# dependency [condition] [version]]
+boost          >=              1.34.1
index 48be198460d268be5b0ec313ec2ada850799c92f..4f92a32abb61b777b18477b6d23278c9d0e5c8a0 100755 (executable)
 #!/bin/bash
 #
-#  libquicktime.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  libquicktime.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  libquicktime.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  libquicktime.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for libquicktime
-# by rafael at riseup.net
+# slackbuild for libquicktime, by Silvio Rhatto
+# requires: libx264 
+# tested: libquicktime-1.0.3
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building libquicktime are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="libquicktime"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libquicktime"
+PKG_NAME="libquicktime"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.0.2}
-BUILD=${BUILD:=1rd}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=1.0.3}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--with-docdir=/usr/doc/$PKG_NAME-$PKG_VERSION"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://ufpr.dl.sourceforge.net/sourceforge/libquicktime/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/libquicktime/$SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
-
-# the current patch for 0.9.10 is required for newer libx264
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-./configure --prefix=/usr --enable-gpl --sysconfdir=/etc --libdir=$LIBDIR --with-docdir=/usr/doc/$PACKAGE-$VERSION
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-            |-----handy-ruler-----------------------------------------------------|
+            |-----handy-ruler-------------------------------------------------|
 libquicktime: libquicktime (libquicktime is a library for quicktime/avi/mp4 files)
 libquicktime: 
 libquicktime: libquicktime is a library for reading and writing quicktime files.
@@ -114,18 +173,13 @@ libquicktime:
 libquicktime: 
 libquicktime: http://libquicktime.sourceforge.net/
 libquicktime: 
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-for file in AUTHORS COPYING ChangeLog INSTALL NEWS README TODO;do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 3e69b7cf3c27b31e9647545d2a7bbda2c57ded19..337e3583f6efa4c6a771f2092e83ecbe35b2723a 100644 (file)
@@ -1 +1,4 @@
-libx264
+# Dependency list to libquicktime
+#
+# dependency [condition] [version]]
+libx264                                
index fb378797f6b5b5c684bae17bbd8ab238d35c2012..26d9cd29363ec013dd85fa78f39e5d3e1012cfd4 100755 (executable)
 #!/bin/bash
 #
-#  libsamplerate.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  libsamplerate.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  libsamplerate.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  libsamplerate.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for libsamplerate
-# by rafael at riseup.net
+# slackbuild for libsamplerate, by Silvio Rhatto
+# requires:  
+# tested: libsamplerate-0.1.4
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building libsamplerate are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="libsamplerate"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libsamplerate"
+PKG_NAME="libsamplerate"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.1.2}
-BUILD=${BUILD:=1rd}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=0.1.4}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://www.mega-nerd.com/SRC/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.mega-nerd.com/SRC/$SRC"
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR --with-docdir=/usr/doc/$PACKAGE-$VERSION
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-             |-----handy-ruler-----------------------------------------------------|
+             |-----handy-ruler------------------------------------------------|
 libsamplerate: libsamplerate (libsamplerate is library for samplerate conversions)
 libsamplerate:
 libsamplerate:  Secret Rabbit Code (aka libsamplerate) is a Sample Rate Converter 
@@ -113,18 +173,13 @@ libsamplerate: downsampling by a factor of 256 to upsampling by the same factor.
 libsamplerate: Arbitrary in this case means that the ratio of input and output 
 libsamplerate: sample rates can be an irrational number. The conversion ratio can 
 libsamplerate: also vary with time for speeding up and slowing down effects.
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in AUTHORS COPYING ChangeLog INSTALL NEWS README;do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index cee2454d0e2feb5205799f9749f1e627533fc980..80422164f34f1a1dbc9bf9bd2f71f2cab7ba7aad 100755 (executable)
 #!/bin/bash
 #
-#  libsndfile.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  libsndfile.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  libsndfile.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  libsndfile.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for libsndfile
-# by rafael at riseup.net
+# slackbuild for libsndfile, by Silvio Rhatto
+# requires:  
+# tested: libsndfile-1.0.17
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building libsndfile are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="libsndfile"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libsndfile"
+PKG_NAME="libsndfile"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.0.17}
-BUILD=${BUILD:=1rd}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=1.0.17}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--disable-flac --sysconfdir=/etc --with-docdir=/usr/doc/$PKG_NAME-$VERSION"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://www.mega-nerd.com/libsndfile/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.mega-nerd.com/libsndfile/$SRC"
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-# lets disable flac, as the build is broke
-./configure --disable-flac --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR --with-docdir=/usr/doc/$PACKAGE-$VERSION
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-          |-----handy-ruler-----------------------------------------------------|
+          |-----handy-ruler---------------------------------------------------|
 libsndfile: libsndfile (libsndfile is a library for audio manipulation)
 libsndfile:
 libsndfile: Libsndfile is a C library for reading and writing files containing 
@@ -114,18 +173,13 @@ libsndfile:
 libsndfile: 
 libsndfile: http://www.mega-nerd.com/libsndfile/
 libsndfile: 
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in AUTHORS COPYING ChangeLog INSTALL NEWS README TODO;do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 8c2957a11451db34923b13db5bc8d7be38bb36f5..eb2c4e207887be2ce8830e876aa6f39011b889fa 100755 (executable)
 #!/bin/bash
 #
-#  libx264.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  libx264.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  libx264.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  libx264.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for libx264
-# by rafael at riseup.net
+# slackbuild for libx264, by Silvio Rhatto
+# requires: yasm 
+# tested: libx264-20080714
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building libx264 are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="libx264"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libx264"
+PKG_NAME="libx264"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=20080512}
-BUILD=${BUILD:=1rd}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=20080729}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--enable-shared --enable-visualize --enable-pic"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="bz2"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-$VERSION-2245.tar.$PACKAGE_EXT"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Dowload source if necessary
+SRC="x264-snapshot-$VERSION-2245.tar.bz2"
+URL="ftp://ftp.videolan.org/pub/videolan/x264/snapshots/$SRC"
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf$tarflag $SRC_DIR/$SRC
-
-mv x264-snapshot-$VERSION-2245 $PACKAGE-$VERSION
-
-cd $PACKAGE-$VERSION
-
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-# These hacks are needed because x264 do not correcly accepts CFLAGS not ac_options for optimized code.
-# REMOVED!!! - rafael2k
-# if [ "$ARCH" == "i486" ] || [ "$ARCH" == "i386" ]; then
-#   patch -p0 < $CWD/$PACKAGE-nommxfix.patch
-# fi
-
-# if [ "$ARCH" == "powerpc" ] && [ "$HAVE_ALTIVEC" != "true" ]; then
-#   patch -p0 < $CWD/$PACKAGE-noaltivecfix.patch
-# fi
-
-
-./configure --prefix=/usr --enable-shared --enable-visualize --enable-pic --libdir=$LIBDIR 
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-       |-----handy-ruler-----------------------------------------------------|
+       |-----handy-ruler------------------------------------------------------|
 libx264: libx264 (x264 is a free library for encoding H264/AVC video streams)
 libx264:
 libx264: x264 is a free library for encoding H264/AVC video streams. The code 
@@ -128,18 +173,13 @@ libx264:
 libx264: 
 libx264: http://developers.videolan.org/x264.html
 libx264: 
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in AUTHORS COPYING;do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index eff8d5c7abd042b8ab56d87660907bb9ec7f5be3..5b987a1eeed0866a6ca4238f5dda72617e32197f 100644 (file)
@@ -1 +1,4 @@
-yasm
+# Dependency list to libx264
+#
+# dependency [condition] [version]]
+yasm                           
index e4362b163c45aa36212da80e862a0313ea72f2eb..6b0654ee36cb426c123cd0f1545a5d9600a7d4d9 100755 (executable)
 #!/bin/bash
 #
-#  openexr.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  openexr.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  openexr.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  openexr.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for OpenEXR
-# by rafael at riseup.net
+# slackbuild for openexr, by Silvio Rhatto
+# requires: ilmbase 
+# tested: openexr-1.6.1
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building OpenEXR are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="openexr"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="openexr"
+PKG_NAME="openexr"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.4.0a}
-BUILD=${BUILD:=1rd}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=1.6.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--with-docdir=/usr/doc/$PKG_NAME-$PKG_VERSION"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://download.savannah.nongnu.org/releases/openexr/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://download.savannah.gnu.org/releases/openexr/$SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC
-
-# small hack for version 1.4.0
-if [ "$VERSION" == "1.4.0a" ]; then
-  mv openexr-1.4.0 openexr-1.4.0a
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-cd $PACKAGE-$VERSION
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR --with-docdir=/usr/doc/$PACKAGE-$VERSION
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-       |-----handy-ruler-----------------------------------------------------|
+       |-----handy-ruler------------------------------------------------------|
 openexr: OpenEXR (OpenEXR set of libraries for higher color fidelity images)
 openexr:
 openexr: OpenEXR supports several lossless compression methods, some of which 
@@ -119,18 +173,13 @@ openexr:
 openexr: 
 openexr: http://www.openexr.com/
 openexr: 
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS README;do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/media/libs/openexr/slack-required b/media/libs/openexr/slack-required
new file mode 100644 (file)
index 0000000..d7c3a86
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to openexr
+#
+# dependency [condition] [version]]
+ilmbase                                
index fba07f1832b0d1903fc430cf6d33bef4835b11ea..8f3cbb9e85d56b6785d96c3be2156041388e6503 100755 (executable)
 #!/bin/bash
 #
-#  raptor.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  raptor.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  raptor.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  raptor.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for raptor
-# by rhatto at riseup.net
+# slackbuild for raptor, by Silvio Rhatto
+# requires:  
+# tested: raptor-1.4.18
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building raptor are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="raptor"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="raptor"
+PKG_NAME="raptor"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.4.14}
+SRC_VERSION=${VERSION:=1.4.18}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
 URL="http://download.librdf.org/source/$SRC"
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
+# Import minimized signing key from
+if echo http://purl.org/net/dajobe/gnupg.asc | grep -q -v "SIGNING KEY URL"; then
+  lynx -dump http://purl.org/net/dajobe/gnupg.asc | gpg --import || exit $ERROR_GPG
+elif echo [[SIGNING KEY ID]] | grep -q -v "SIGNING KEY ID"; then
+  gpg --recv-keys [[SIGNING KEY ID]] || exit $ERROR_GPG
 else
-  tarflag="z"
+  gpg --import << EOKEY || exit $ERROR_GPG
+[[SIGNING KEY]]
+EOKEY
 fi
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
+# Download source's signature if necessary and check it
+if echo http://download.librdf.org/source/raptor-1.4.18.tar.gz.asc | grep -q -v "SIGNING URL"; then
+  SIGNATURE="`basename http://download.librdf.org/source/raptor-1.4.18.tar.gz.asc`"
+  if [ ! -s "$SRC_DIR/$SIGNATURE" ]; then
+    wget "http://download.librdf.org/source/raptor-1.4.18.tar.gz.asc" -O "$SRC_DIR/$SIGNATURE" || exit $ERROR_WGET
+  fi
+else
+  if [ -s "$SRC_DIR/$SRC.sig" ]; then
+    SIGNATURE="$SRC.sig"
+  elif [ -s "$SRC_DIR/$SRC.asc" ]; then
+    SIGNATURE="$SRC.asc"
+  else
+    echo Trying to get signature file from $URL.sig...
+    if wget "$URL.sig" -O "$SRC_DIR/$SRC.sig"; then
+      SIGNATURE="$SRC.sig"
+    else
+      rm $SRC_DIR/$SRC.sig
+      echo Trying to get signature file from $URL.asc...
+      if wget "$URL.asc" -O "$SRC_DIR/$SRC.asc"; then
+        SIGNATURE="$SRC.asc"
+      else
+        rm $SRC_DIR/$SRC.asc
+        echo "Error getting source's signature file"
+        exit $ERROR_GPG
+      fi
+    fi
+  fi
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
+echo Checking $SRC_DIR/$SRC with gpg using $SRC_DIR/$SIGNATURE...
+gpg --verify "$SRC_DIR/$SIGNATURE" "$SRC_DIR/$SRC" || exit $ERROR_GPG
+echo Success.
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR 
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING* ChangeLog* LICENSE* NEWS* NOTICE README*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-      |-----handy-ruler-----------------------------------------------------|
+      |-----handy-ruler-------------------------------------------------------|
 raptor: raptor (RDF parser/serializer library)
 raptor:
 raptor: Raptor is a free software / Open Source C library that provides a
@@ -114,18 +217,13 @@ raptor: The serializing syntaxes ar eRDF/XML, N-Triples and RSS 1.0.
 raptor:
 raptor:
 raptor:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in AUTHORS COPYING* ChangeLog* INSTALL* LICENSE* NEWS* NOTICE README*; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 6143a65d39808aabdca6710092f0d43328bad7c8..635922beef26356dbe31690ba6350ff408322d0e 100644 (file)
@@ -77,11 +77,17 @@ mkdir -p "$REPOS" || exit $ERROR_MKDIR
 mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
 # Get svn source code
-[ "`find "$SRC_DIR/" -name .svn`" != "" ] && SVN_ACTION="update" || SVN_ACTION="checkout"
 cd "$SRC_DIR"
-svn $SVN_ACTION svn://svn.icculus.org/smpeg/trunk $PKG_SRC || exit $ERROR_VCS
-SND_DIR="`ls -l | awk '/^d/ { print $NF }'`"
-cd $SND_DIR
+SND_DIR="`basename svn://svn.icculus.org/smpeg/trunk`"
+
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout svn://svn.icculus.org/smpeg/trunk $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
+
 PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
 
 # Copy svn source
index 9b861d7290dea21db4506ebb2001ada6a2d99173..6fc50b954b7abadb990cfc522ed9557428fd8114 100755 (executable)
 #!/bin/bash
 #
-# got it from http://ftp.cgu.edu.tw/Mirror/linuxpackages/Slackware-10.2-x86_64/pcxz/speex/speex.SlackBuild
-# small changes by rhatto
+#  speex.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  speex.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for speex, by Silvio Rhatto
+# requires:  
+# tested: speex-1.2beta3
 #
 
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-PACKAGE="speex"
-VERSION=${VERSION:=1.0.5}
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="speex"
+PKG_NAME="speex"
 ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.2beta3}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
-SRC_DIR=${SRC:=$CWD}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://downloads.us.xiph.org/releases/speex/$SRC"
-
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
-
-if [ "$ARCH" == "i386" ]; then
+if [ "$ARCH" = "i386" ]; then
   SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
-elif [ "$ARCH" == "i486" ]; then
+elif [ "$ARCH" = "i486" ]; then
   SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
-elif [ "$ARCH" == "s390" ]; then
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
-elif [ "$ARCH" == "x86_64" ]; then
+elif [ "$ARCH" = "x86_64" ]; then
   SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR="/usr/lib64"
-else
-  LIBDIR="/usr/lib"
-fi
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-TMP="$TMP/$PACKAGE"
-PKG=$TMP/package-$PACKAGE
-rm -rf $TMP
-mkdir -p $PKG
-cd $TMP
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-rm -rf speex-$VERSION
-tar xvf$tarflag $SRC_DIR/speex-$VERSION.tar.gz
-cd speex-$VERSION
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-chown -R root.root .
-find . -perm 777 -exec chmod 755 {} \;
-find . -perm 664 -exec chmod 644 {} \;
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.xiph.org/releases/speex/$SRC"
 
-LDFLAGS=-L$LIBDIR \
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure --prefix=/usr --sysconfdir=/etc --disable-debug --libdir=$LIBDIR \
-             --program-prefix="" --program-suffix="" $ARCH-slackware-linux
-make || exit 32
-make install DESTDIR=$PKG
-
-( cd $PKG
-            for dn in usr usr/local usr/X11R6
-             do
-                 for dn2 in bin sbin
-                 do
-                    for file in `find $dn/$dn2 -type f 2> /dev/null`
-                    do
-                       chown root.bin $PKG/$file /$file 2> /dev/null
-                    done
-                 done
-              done
-)
-( cd $PKG
-             for dn in usr usr/local usr/X11R6
-             do
-                 for dn2 in man share/man info share/info
-                 do
-                    for file in `find $dn/$dn2 -type f 2> /dev/null`
-                    do
-                        gzip -9f $PKG/$file /$file  2> /dev/null
-                    done
-                 done
-             done
-)
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
 
-( cd $PKG
-  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-)
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
+
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-mkdir -p $PKG/usr/doc/speex-$VERSION
-cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/speex-$VERSION
-mkdir -p $PKG/install
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
 
-cat << EOF > $PKG/install/slack-desc
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-     |-----handy-ruler-----------------------------------------------------|
+     |-----handy-ruler--------------------------------------------------------|
 speex: speex
 speex:
-speex: The Speex is a patent-free, Open Source/Free Software voice codec.
-speex:
-speex:
-speex:
+speex: Speex is an Open Source/Free Software patent-free audio
+speex: compression format designed for speech. The Speex Project
+speex: aims to lower the barrier of entry for voice applications
+speex: by providing a free alternative to expensive proprietary
+speex: speech codecs. Moreover, Speex is well-adapted to Internet
+speex: applications and provides useful features that are not
+speex: present in most other codecs.
 speex:
 speex:
-speex:
-speex:
-speex:
-EOF
+EODESC
 
-if [ -f $CWD/slack-required ]; then
-  cat $CWD/slack-required > $PKG/install/slack-required
-fi
-
-cd $PKG
-makepkg -l y -c n $REPOS/speex-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/media/libs/unicap/unicap.SlackBuild b/media/libs/unicap/unicap.SlackBuild
new file mode 100755 (executable)
index 0000000..ddc4689
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  unicap.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  unicap.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for unicap, by Rafael Diniz
+# requires:  
+# tested: unicap-0.2.23
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="unicap"
+PKG_NAME="unicap"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.2.23}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j3"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://unicap-imaging.org/downloads/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+      |-----handy-ruler-------------------------------------------------------|
+unicap: unicap (video capture library)
+unicap:
+unicap: Unicap provides a uniform interface to video capture 
+unicap: devices. It allows applications to use any supported
+unicap: video capture device via a single API.
+unicap:
+unicap:
+unicap:
+unicap:
+unicap: http://unicap-imaging.org/
+unicap:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/media/libs/zvbi/zvbi.SlackBuild b/media/libs/zvbi/zvbi.SlackBuild
new file mode 100755 (executable)
index 0000000..f0d8ca3
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  zvbi.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  zvbi.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for zvbi, by Rafael Diniz
+# requires:  
+# tested: zvbi-0.2.30
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="zvbi"
+PKG_NAME="zvbi"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.2.30}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://ufpr.dl.sourceforge.net/sourceforge/zapping/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+    |-----handy-ruler---------------------------------------------------------|
+zvbi: zvbi by Slack.Sarava
+zvbi: 
+zvbi: The ZVBI library provides routines to access raw VBI sampling devices,
+zvbi: a versatile raw VBI bit slicer, decoders for various data services and 
+zvbi: basic search, render and export functions for text pages. The library 
+zvbi: was written for the Zapping TV viewer and Zapzilla Teletext browser.
+zvbi:
+zvbi:
+zvbi:
+zvbi:
+zvbi:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index e7908c18b21e708907e8ff3a9dffdce325ddf1e4..919eba29a9f9403086a6b7ae8c0383a77d258d64 100644 (file)
@@ -1 +1,4 @@
-swfdec
+# Dependency list to swfdec-mozilla
+#
+# dependency [condition] [version]]
+swfdec                         
index b2a852d7e3e61514da4222cb949ddd004adf6096..9d4ffec4eacc4d7a5e79da758cc1c2815478eefc 100755 (executable)
 #!/bin/bash
 #
-#  swfdec-mozilla.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  swfdec-mozilla.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  swfdec-mozilla.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  swfdec-mozilla.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for swfdec-mozilla
-# by rhatto at riseup.net
+# slackbuild for swfdec-mozilla, by Silvio Rhatto
+# requires: swfdec 
+# tested: swfdec-mozilla-0.7.4
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building swfdec-mozilla are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="swfdec-mozilla"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="swfdec-mozilla"
+PKG_NAME="swfdec-mozilla"
 ARCH=${ARCH:=i486}
-VERSION=${0.6.0}
+SRC_VERSION=${VERSION:=0.7.4}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://swfdec.freedesktop.org/download/swfdec-mozilla/0.5/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://swfdec.freedesktop.org/download/swfdec-mozilla/0.7/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
 
-CWD="`pwd`"
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
 
-cd $TMP/package-$PACKAGE
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
 
-mkdir install
-cat << EOF > install/slack-desc
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-              |-----handy-ruler-----------------------------------------------------|
+              |-----handy-ruler-----------------------------------------------|
 swfdec-mozilla: swfdec-mozilla
 swfdec-mozilla:
 swfdec-mozilla: Swfdec-Mozilla contains a plugin for Mozilla browsers that uses the
@@ -114,20 +173,13 @@ swfdec-mozilla:
 swfdec-mozilla:
 swfdec-mozilla:
 swfdec-mozilla:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-DOCS="AUTHORS COPYING ChangeLog NEWS README"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 4c871f38313d3c42f3dd26d5f82f44924636531b..afa09d6dc975171eb8fb58701c7868cace0e9cd1 100644 (file)
@@ -1,3 +1,13 @@
-liboil
-ffmpeg
-libsoup
+# Dependency list to swfdec
+#
+# dependency [condition] [version]]
+liboil                         
+ffmpeg                         
+libsoup                >=              2.4.0
+glib2          >=              2.16.0
+cairo          >=              1.6.0
+gstreamer                              
+gst-ffmpeg                             
+gst-plugins-base                               
+gst-plugins-good                               
+gst-plugins-ugly                               
index d02c1d221e1d68a38f33980ea1ab7bce90fb2785..a178d1e496f7cb368077196d3f6c386ec16f1df6 100755 (executable)
 #!/bin/bash
 #
-#  swfdec.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  swfdec.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  swfdec.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  swfdec.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for swfdec
-# by rhatto at riseup.net
+# slackbuild for swfdec, by Silvio Rhatto
+# requires: liboil ffmpeg libsoup glib2 cairo gstreamer gst-ffmpeg gst-plugins-base gst-plugins-good gst-plugins-ugly 
+# tested: swfdec-0.7.4
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building swfdec are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="swfdec"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="swfdec"
+PKG_NAME="swfdec"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.5.4}
+SRC_VERSION=${VERSION:=0.7.4}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://swfdec.freedesktop.org/download/swfdec/0.5/$SRC"
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://swfdec.freedesktop.org/download/swfdec/0.7/$SRC"
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
+# Configure
 # https://annarchy.freedesktop.org/show_bug.cgi?id=11607
 sed -e 's/-std=c99/-std=gnu99/g' configure.ac > configure.ac.new
 sed -e 's/-std=c99/-std=gnu99/g' configure > configure.new
 mv configure.ac.new configure.ac
 mv configure.new configure && chmod +x configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR \
-            --enable-gstreamer=no --enable-gnome-vfs=no || exit $ERROR_CONF
-
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-      |-----handy-ruler-----------------------------------------------------|
+      |-----handy-ruler-------------------------------------------------------|
 swfdec: swfdec
 swfdec:
 swfdec: Swfdec is the library for decoding and rendering Flash animations.
@@ -122,20 +178,13 @@ swfdec: encounter such a crash however, make sure to file a bug immediately.
 swfdec:
 swfdec:
 swfdec:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-DOCS="AUTHORS COPYING ChangeLog NEWS README"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index dc755fd1757579705b90e65eb6021b1caed636b6..4676b9caa585883f034e822c566b1ccbeb84a091 100644 (file)
@@ -1,2 +1,5 @@
-fftw
-ladspa
+# Dependency list to swh-plugins
+#
+# dependency [condition] [version]]
+fftw                           
+ladspa                         
index dbc0ca3f2acb165fbbaf1f5b315d7c98737a477d..f147083b8d99e4d68eaaa5b670114ef769d95b89 100755 (executable)
 #!/bin/bash
 #
-#  swh-plugins.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  swh-plugins.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  swh-plugins.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  swh-plugins.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for swh-plugins
-# by rhatto at riseup.net
+# slackbuild for swh-plugins, by Silvio Rhatto
+# requires: fftw ladspa 
+# tested: swh-plugins-0.4.15
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building swh-plugins are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="swh-plugins"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="swh-plugins"
+PKG_NAME="swh-plugins"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.4.15}
+SRC_VERSION=${VERSION:=0.4.15}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
-ERROR_TAR=37;       ERROR_MKPKG=38
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://plugin.org.uk/releases/$VERSION/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://plugin.org.uk/releases/0.4.15/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="ABOUT-NLS AUTHORS COPYING ChangeLog NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-           |-----handy-ruler-----------------------------------------------------|
+           |-----handy-ruler--------------------------------------------------|
 swh-plugins: swh-plugins
 swh-plugins:
 swh-plugins: This is a collection of LADSPA plugins available from Steve Harris
@@ -113,20 +173,13 @@ swh-plugins:
 swh-plugins:
 swh-plugins:
 swh-plugins:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 03607b954bd0cd23be3ad0c1e4fa09771b025809..9be6bd2c03174b3c8549885413f858e1292ef1a5 100644 (file)
@@ -1,2 +1,5 @@
-jack
-libsamplerate
+# Dependency list to xmms-jack
+#
+# dependency [condition] [version]]
+xmms                           
+jack                           
index 3da5145fe9c23f30aa72d99b4430f9cd28607e72..278731d384cb2c63a2a3456d902145907ffe638e 100755 (executable)
 #!/bin/bash
 #
-#  xmms-jack.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  xmms-jack.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  xmms-jack.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  xmms-jack.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for xmms-jack
-# by rhatto at riseup.net
+# slackbuild for xmms-jack, by Silvio Rhatto
+# requires: xmms jack 
+# tested: xmms-jack-0.19
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building xmms-jack are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="xmms-jack"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="xmms-jack"
+PKG_NAME="xmms-jack"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.19}
+SRC_VERSION=${VERSION:=0.19}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
-ERROR_TAR=37;       ERROR_MKPKG=38
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/$PACKAGE/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/xmms-jack/$SRC"
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf$tarflag $SRC_DIR/$SRC || exit $ERROR_TAR
-mv $PACKAGE $PACKAGE-$VERSION
-cd $PACKAGE-$VERSION
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS README AUTHORS COPYING ChangeLog*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-         |-----handy-ruler-----------------------------------------------------|
+         |-----handy-ruler----------------------------------------------------|
 xmms-jack: xmms-jack (jack plugin for XMMS)
 xmms-jack:
 xmms-jack: jack output plugin for XMMS by Chris Morgan
@@ -120,20 +173,13 @@ xmms-jack:
 xmms-jack:
 xmms-jack:
 xmms-jack:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog INSTALL" 
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 752eacd81a07a00a3ea5ba0d4fd2815d7ae15e08..f5f5bfb7713bb21eaaf7a5b537c38c4530172b37 100644 (file)
@@ -1 +1,5 @@
-libjackasyn
+# Dependency list to xmms-jackasyn
+#
+# dependency [condition] [version]]
+xmms                           
+jack                           
index d0a1cae79c55b365e0dfc464a2e0f7818f5851c6..a08f09b7b989b04f5a6c3c7fb6d1294ad802c2d3 100755 (executable)
 #!/bin/bash
 #
-#  xmms-jackasyn.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  xmms-jackasyn.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  xmms-jackasyn.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  xmms-jackasyn.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for xmms-jackasyn
-# by rhatto at riseup.net
+# slackbuild for xmms-jackasyn, by Silvio Rhatto
+# requires: xmms jack 
+# tested: xmms-jackasyn-0.3
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building xmms-jackasyn are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="xmms-jackasyn"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="xmms-jackasyn"
+PKG_NAME="xmms-jackasyn"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.3}
+SRC_VERSION=${VERSION:=0.3}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://gige.xdv.org/libjackasyn/download/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://gige.xdv.org/libjackasyn/download/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
 
-CWD="`pwd`"
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
 
-cd $TMP/package-$PACKAGE
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
 
-mkdir install
-cat << EOF > install/slack-desc
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-             |-----handy-ruler-----------------------------------------------------|
+             |-----handy-ruler------------------------------------------------|
 xmms-jackasyn: xmms-jackasyn
 xmms-jackasyn:
 xmms-jackasyn: This plugin enables xmms to playback sound via the JACK audio server.
@@ -114,20 +173,13 @@ xmms-jackasyn:
 xmms-jackasyn:
 xmms-jackasyn:
 xmms-jackasyn:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog NEWS README"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 60064d1c15fca24309faa9dc0a74aaef61ad2e81..abe3a9a2b85a93195e2f8a8a70b6aaa614c8a974 100755 (executable)
@@ -10,9 +10,9 @@
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for gnuradio, by Silvio Rhatto - rhatto at riseup.net
 # requires: boost swig fftw sdcc cppunit jack numpy wxWidgets wxPython 
@@ -87,26 +87,17 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
-# get boost version
-boost="`basename $(ls /var/log/packages/boost-[0-9]* 2> /dev/null)`"
-
-if [ -z "$boost" ]; then
-  echo Error: missing boost package
-  exit $ERROR_CONF
-fi
-
-pack="`basename $boost | sed -e 's/-[^-]*-[^-]*-[^-]*$//'`"
-boost_version="`echo $boost | sed -e "s/^$pack-//" | cut -d "-" -f 1 | \
-                              sed -e 's/\./_/g' -e 's/\([0-9]\+\)_\([0-9]\+\)_0/\1_\2/'`"
-
 CFLAGS="$SLKCFLAGS" \
   CXXFLAGS="$SLKCFLAGS" \
   ./configure \
-  --prefix="$PREFIX" --libdir="$LIBDIR" --sysconfdir=/etc \
-  --with-boost-include-dir=/usr/include/boost-$boost_version $CONF_OPTIONS || exit $ERROR_CONF
+  --prefix="$PREFIX" --libdir="$LIBDIR" --sysconfdir=/etc $CONF_OPTIONS || exit $ERROR_CONF
+
+if [ "$ARCH" == "x86_64" ] && [ "$PKG_VERSION" == "3.1.2" ]; then
+  sed -i -e 's/-L\/usr\/lib /-L\/usr\/lib64 /g' gr-audio-alsa/src/Makefile
+fi
 
 # Compile
 make $NUMJOBS || exit $ERROR_MAKE
@@ -135,9 +126,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
@@ -165,6 +156,9 @@ cat << EOSCRIPT > "$PKG/install/doinst.sh"
 config() {
   NEW="\$1"
   OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
+  OLD="\$(dirname \$NEW)/\$(basename \$OLD .sample)"
+  OLD="\$(dirname \$NEW)/\$(basename \$OLD .dist)"
+
   # If there's no config file by that name, mv it over:
   if [ ! -r \$OLD ]; then
     mv \$NEW \$OLD
@@ -180,7 +174,7 @@ mkgroup() {
   if ! grep -qe "^\$GROUP:" etc/group; then
     echo Creating group \$GROUP...
     chroot . /usr/sbin/groupadd \$GROUP
-  fi 
+  fi
 }
 
 mkuser() {
@@ -196,7 +190,7 @@ mkuser() {
   fi
 }
 
-config etc/gnuradio/conf.d/gnuradio-core.conf.new ; config etc/gnuradio/conf.d/gr-audio-alsa.conf.new ; config etc/gnuradio/conf.d/gr-audio-jack.new ; etc/gnuradio/conf.d/gr-audio-oss.conf.new ; config etc/gnuradio/conf.d/gr-wxgui.conf.new
+config etc/gnuradio/conf.d/gnuradio-core.conf.new ; config etc/gnuradio/conf.d/gr-audio-alsa.conf.new ; config etc/gnuradio/conf.d/gr-audio-jack.conf.new ; etc/gnuradio/conf.d/gr-audio-oss.conf.new ; config etc/gnuradio/conf.d/gr-wxgui.conf.new
 EOSCRIPT
 
 # Build the package
index b6befdfb997e7dcb5ad94637ab264c27e370dfb2..336cf1ec379471727831d6a07568c3e4174b8427 100755 (executable)
 #!/bin/bash
 #
-#  ardour.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
-#
-#  ardour.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
-#
-# SlackBuild script to call ardour.build with correct settings
-#
-
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building ardour are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
+#  ardour.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  ardour.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for ardour, by Silvio Rhatto
+# requires: scons raptor liblrdf ladspa libsamplerate libsndfile jack libgnomecanvas liblo fftw boost aubio 
+# tested: ardour-2.5
+#
 
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="ardour"
-VERSION=${VERSION:=2.4.1}
-ARCH="${ARCH:=i486}"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="ardour"
+PKG_NAME="ardour"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.5}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
 
-rm -rf $TMP/$PACKAGE
-mkdir -p $SRC_DIR/$PACKAGE $TMP/$PACKAGE
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
 
-export PACKAGE VERSION ARCH BUILD SRC_DIR TMP REPOS
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-if which simpletrack &> /dev/null; then
-  simpletrack $PACKAGE.build
-else
-  slacktrack -b $REPOS -x $TMP,$SRC_DIR,/dev -jefkzp "$PACKAGE-$VERSION-$ARCH-$BUILD.tgz" "./$PACKAGE.build"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://ardour.org/files/releases/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP/$PACKAGE
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
+
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
+# Compile
+
+# This section and the install section uses code from
+# http://slackbuilds.org/slackbuilds/12.1/audio/ardour/ardour.SlackBuild,
+# which licence is:
+
+# Copyright 2008 Heinz Wiesinger <hmwiesinger@gmx.at>
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script 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.
+
+scons PREFIX=/usr \
+  DIST_TARGET="none" \
+  ARCH="$(echo $SLKCFLAGS)" \
+  FREEDESKTOP=1 || exit $ERROR_MAKE
+
+# Install
+scons \
+  PREFIX=/usr \
+  DIST_TARGET="none" \
+  ARCH="$(echo $SLKCFLAGS)" \
+  FREEDESKTOP=0 \
+  DESTDIR=$PKG \
+  install || exit $ERROR_INSTALL
+
+# We'll have to install the freedesktop stuff manually
+# See the FREEDESKTOP target in $srcdir/gtk2_ardour/Sconscript
+# to be sure this is synced with future releases
+cd gtk2_ardour
+  # First, install the icons
+  mkdir -p $PKG/usr/share/icons/hicolor/{16x16,22x22,32x32,48x48}/apps
+  install -m 0644 icons/ardour_icon_16px.png \
+    $PKG/usr/share/icons/hicolor/16x16/apps/ardour2.png || exit $ERROR_INSTALL
+  install -m 0644 icons/ardour_icon_22px.png \
+    $PKG/usr/share/icons/hicolor/22x22/apps/ardour2.png || exit $ERROR_INSTALL
+  install -m 0644 icons/ardour_icon_32px.png \
+    $PKG/usr/share/icons/hicolor/32x32/apps/ardour2.png || exit $ERROR_INSTALL
+  install -m 0644 icons/ardour_icon_48px.png \
+    $PKG/usr/share/icons/hicolor/48x48/apps/ardour2.png || exit $ERROR_INSTALL
+  # Next, install the mime xml file
+  mkdir -p $PKG/usr/share/mime/packages
+  install -m 0644 ardour2.xml $PKG/usr/share/mime/packages || exit $ERROR_INSTALL
+  # Now install the mimetype icons
+  mkdir -p $PKG/usr/share/icons/hicolor/{16x16,22x22,32x32,48x48}/mimetypes
+  install -m 0644 icons/application-x-ardour_16px.png \
+    $PKG/usr/share/icons/hicolor/16x16/mimetypes/application-x-ardour2.png || exit $ERROR_INSTALL
+  install -m 0644 icons/application-x-ardour_22px.png \
+    $PKG/usr/share/icons/hicolor/22x22/mimetypes/application-x-ardour2.png || exit $ERROR_INSTALL
+  install -m 0644 icons/application-x-ardour_32px.png \
+    $PKG/usr/share/icons/hicolor/32x32/mimetypes/application-x-ardour2.png || exit $ERROR_INSTALL
+  install -m 0644 icons/application-x-ardour_48px.png \
+    $PKG/usr/share/icons/hicolor/48x48/mimetypes/application-x-ardour2.png || exit $ERROR_INSTALL
+  # Finally, install the desktop file
+  mkdir -p $PKG/usr/share/applications
+  install -m 0644 ardour2.desktop.in \
+    $PKG/usr/share/applications/ardour2.desktop || exit $ERROR_INSTALL
+cd -
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS AUTHORS.es BUILD CONTRIBUTORS FAQ README TRANSLATORS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+      |-----handy-ruler-------------------------------------------------------|
+ardour: ardour (Digital Audio Workstation)
+ardour:
+ardour: Ardour is a professional multitrack/multichannel audio recorder and
+ardour: DAW for Linux, using ALSA-supported audio interfaces. It supports
+ardour: up to 32 bit samples, 24+ channels at up to 96kHz, full MMC control,
+ardour: a non-destructive, non-linear editor, and LADSPA plugins.
+ardour:
+ardour:
+ardour:
+ardour:
+ardour:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index 1a5394ff9c38dec369f61136365cce8eca2ff622..822da59197b4e7e1cbde55bf83a129e3cc4feb1a 100644 (file)
@@ -1,11 +1,15 @@
-scons
-raptor
-liblrdf
-ladspa
-libsamplerate
-libsndfile
-jack
-libgnomecanvas
-liblo
-fftw
-boost
+# Dependency list to ardour
+#
+# dependency [condition] [version]]
+scons                          
+raptor                         
+liblrdf                                
+ladspa                         
+libsamplerate                          
+libsndfile                             
+jack                           
+libgnomecanvas                         
+liblo                          
+fftw                           
+boost                          
+aubio                          
index 4b9afa22a200ca5450aff5ddc5b14b82acfc8929..3f0a831fec44033d0f0d03906aaacb3d57414f1b 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for audacity, by Silvio Rhatto
-# requires: wxWidgets
-# tested: audacity-1.3.4
+# requires: wxWidgets 
+# tested: audacity-1.3.5
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="audacity-src"
 PKG_NAME="audacity"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=1.3.4}
+SRC_VERSION=${VERSION:=1.3.5}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -55,8 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -83,11 +84,10 @@ if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -123,9 +123,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index 2b2b301bbe7632f9daf2afb0bcd05b7a7552f829..63e2ed59b696e873fcf6dabf17529cbbc8f7a302 100755 (executable)
 #!/bin/bash
 #
-#  camp.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  camp.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  camp.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  camp.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for camp
-# by rhatto at riseup.net
+# slackbuild for camp, by Silvio Rhatto
+# requires:  
+# tested: camp-1.5.3455
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building camp are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="camp"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="camp"
+PKG_NAME="camp"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.5.3455}
+SRC_VERSION=${VERSION:=1.5.3455}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://www.sector7.nu/camp/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.sector7.nu/camp/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-
-CWD="`pwd`"
-
-mkdir -p $TMP/package-$PACKAGE
-cd $TMP/package-$PACKAGE
-
-mkdir -p usr/bin usr/share/$PACKAGE
-
-cp $CWD/camp usr/bin
-cp $CWD/camp.ini usr/share/$PACKAGE
-
-( cd usr/share/$PACKAGE && tar xvf $CWD/skins.tar )
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+mkdir -p $PKG/usr/bin $PKG/usr/share/$PKG_NAME
+cp camp $PKG/usr/bin
+cp camp.ini $PKG/usr/share/$PKG_NAME
+tar -C $PKG/usr/share/$PKG_NAME -xvf skins.tar
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="CREDITS ChangeLog Compatibility Players.info RCLayout.txt README Skin-HOWTO.txt tip.txt"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-    |-----handy-ruler-----------------------------------------------------|
+    |-----handy-ruler---------------------------------------------------------|
 camp: camp (cursed mp3 player)
 camp:
 camp: Console Ansi Mpeg Player interface.
@@ -121,20 +176,13 @@ camp:
 camp:
 camp:
 camp:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-DOCS="CREDITS ChangeLog Compatibility Players.info RCLayout.txt README Skin-HOWTO.txt tip.txt"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index ff20822a77713e9634ef679432141422888a05ed..c82d6b7ca66fbcadf512cb917186a1f396e2b839 100755 (executable)
 #!/bin/bash
 #
-#  cmt.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  cmt.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  cmt.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  cmt.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for cmt
-# by rhatto at riseup.net
+# slackbuild for cmt, by Silvio Rhatto
+# requires: ladspa 
+# tested: cmt-1.16
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building cmt are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="cmt"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="cmt_src"
+PKG_NAME="cmt"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.15}
+SRC_VERSION=${VERSION:=1.16}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
-ERROR_TAR=37;       ERROR_MKPKG=38
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="tgz"
-SRC="$PACKAGE"_src_"$VERSION.$PACKAGE_EXT"
-URL="http://www.ladspa.org/download/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+# Dowload source if necessary
+SRC="$SRC_NAME"_"$VERSION.tgz"
+URL="http://www.ladspa.org/download/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
+# Configure
 cd src
 
-sed -e 's/\/usr\/local\/lib\/ladspa\//\/usr\/lib\/ladspa\//' makefile > makefile.tmp || exit $ERROR_CONF
+sed -e 's/\/usr\/local\/lib\/ladspa\//\/usr\/lib\/ladspa\//' \
+    -e 's/\/usr\/local\/bin\//\/usr\/bin\//' makefile > makefile.tmp || exit $ERROR_CONF
 
-echo "PREFIX = $TMP/package-$PACKAGE" >> makefile.tmp || exit $ERROR_CONF
+echo "PREFIX = $PKG" >> makefile.tmp || exit $ERROR_CONF
+
+sed -e 's/$(INSTALL_PLUGINS_DIR)/$(PREFIX)\/$(INSTALL_PLUGINS_DIR)/g' \
+    -e 's/$(INSTALL_INCLUDE_DIR)/$(PREFIX)\/$(INSTALL_INCLUDE_DIR)/g' \
+    -e 's/$(INSTALL_BINARY_DIR)/$(PREFIX)\/$(INSTALL_BINARY_DIR)/g' makefile.tmp > makefile || exit $ERROR_CONF
 
 sed -e 's/cp $(PLUGIN_LIB) $(INSTALL_PLUGINS_DIR)/cp $(PLUGIN_LIB) $(PREFIX)\/$(INSTALL_PLUGINS_DIR)/g' \
      makefile.tmp > makefile || exit $ERROR_CONF
 
-mkdir -p $TMP/package-$PACKAGE/usr/lib/ladspa
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
 
-make || exit $ERROR_MAKE
-make install || exit $ERROR_INSTALL
+# Install
+mkdir -p $PKG/usr/lib/ladspa
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
 cd ..
 
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="README doc/*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-   |-----handy-ruler-----------------------------------------------------|
+   |-----handy-ruler----------------------------------------------------------|
 cmt: cmt (ladspa plugin package)
 cmt:
 cmt: The Computer Music Toolkit (CMT) is a collection of LADSPA plugins
@@ -124,20 +184,13 @@ cmt:
 cmt:
 cmt:
 cmt:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-DOCS="COPYING *html"
-
-for file in $DOCS; do
-  cp $CWD/docs/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 6c92f463a623b1aa1f1e2d4c5c4e62a0ac608344..6839f3e840fb9cc172962e434554048c3d61a77d 100644 (file)
@@ -1 +1,4 @@
-ladspa
+# Dependency list to cmt_src
+#
+# dependency [condition] [version]]
+ladspa                         
index e24d3fd32c3a09397f562f72d610836eb08b9b12..48c18a40ec0bae04ff8a34eea58111ef1487a222 100755 (executable)
 #!/bin/bash
 #
-#  darkice.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  darkice.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  darkice.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  darkice.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for darkice
-# by rhatto at riseup.net
+# slackbuild for darkice, by Silvio Rhatto
+# requires: lame jack twolame 
+# tested: darkice-0.19
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building darkice are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="darkice"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="darkice"
+PKG_NAME="darkice"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.18.1}
+SRC_VERSION=${VERSION:=0.19}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://darkice.tyrell.hu/dist/$VERSION/darkice-$VERSION.tar.gz"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
-
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
-fi
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://darkice.tyrell.hu/dist/0.19/$SRC"
 
-if [ "$ARCH" == "x86_64" ] && [ -f "$CWD/$PACKAGE-$VERSION-x86_64.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION-x86_64.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR 
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog FAQ NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-       |-----handy-ruler-----------------------------------------------------|
+       |-----handy-ruler------------------------------------------------------|
 darkice: darkice (an icecast and shoutcast streaming originator)
 darkice:
 darkice: DarkIce is an IceCast, IceCast2 and ShoutCast live audio streamer.
@@ -118,18 +173,13 @@ darkice:
 darkice:
 darkice:
 darkice:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in AUTHORS COPYING ChangeLog FAQ INSTALL INSTALL.lame INSTALL.vorbis NEWS README TODO; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index b63aeae6ef1eee1a340ba99abb860bb948101185..839b3d852e5d118d4924a54e94e1dddb303a0eb1 100644 (file)
@@ -1,3 +1,6 @@
-lame
-jack
-twolame
+# Dependency list to darkice
+#
+# dependency [condition] [version]]
+lame                           
+jack                           
+twolame                                
index dd102e48f222ea66c61f31e42bf4d14e8dbb0053..df929eb2ea0bf9c37f069e8dd112069859e5d7be 100755 (executable)
 #!/bin/bash
 #
-#  darksnow.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  darksnow.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  darksnow.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  darksnow.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for darksnow
-# by rhatto at riseup.net
+# slackbuild for darksnow, by Silvio Rhatto
+# requires: darkice 
+# tested: darksnow-0.6.1
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building darksnow are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="darksnow"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="darksnow"
+PKG_NAME="darksnow"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.6.1}
+SRC_VERSION=${VERSION:=0.6.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://darksnow.radiolivre.org/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://darksnow.radiolivre.org/$SRC"
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
-fi
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR 
-make || exit 32
+# Install
 strip darksnow
 make make_pkg
 
-mv *-1rd.tgz $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+mv *-1rd.tgz $REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index e91d07dfc3f5a23d63b5e84082710fe6628beeae..bd6b8736d743e4c79caaa20f16983c65fc02c4ae 100644 (file)
@@ -1 +1,4 @@
-darkice
+# Dependency list to darksnow
+#
+# dependency [condition] [version]]
+darkice                                
index 2f9fc14e9f3ae3e9caeaa1c501d84f0aed7f8afe..a79fa14c27bd0e207a6eaf4cc9883e118c8a32cf 100755 (executable)
 #!/bin/bash
 #
-#  envy24control.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  envy24control.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  envy24control.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  envy24control.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for envy24control
-# by rhatto at riseup.net
+# slackbuild for envy24control, by Silvio Rhatto
+# requires:  
+# tested: envy24control-1.0.17
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building envy24control are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="envy24control"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="alsa-tools"
+PKG_NAME="envy24control"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.0.16}
+SRC_VERSION=${VERSION:=1.0.17}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="bz2"
-SRC="alsa-tools-$VERSION.tar.$PACKAGE_EXT"
-URL="ftp://ftp.alsa-project.org/pub/tools/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/alsa-tools"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="ftp://ftp.alsa-project.org/pub/tools/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd alsa-tools-$VERSION/$PACKAGE
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC/$PKG_NAME"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
 
-CWD="`pwd`"
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
 
-cd $TMP/package-$PACKAGE
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
 
-mkdir install
-cat << EOF > install/slack-desc
+# Install documentation
+DOCS="AUTHORS COPYING README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-             |-----handy-ruler-----------------------------------------------------|
+             |-----handy-ruler------------------------------------------------|
 envy24control: envy24control (Control tool for Envy24 (ice1712) based soundcards)
 envy24control:
 envy24control: Envy24control is a graphical utility for controlling cards based on
@@ -114,20 +173,13 @@ envy24control: level meter for each input and output channel.
 envy24control:
 envy24control:
 envy24control:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING README"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index d47db8d9033325faa9d80b5a888d2276d1d92002..1f0dc30afe456f5a233417c467bbe17a83b69709 100644 (file)
---- hydrogen-0.9.3/src/lib/xml/tinyxml.h~      2006-03-15 15:43:13.000000000 +0000
-+++ hydrogen-0.9.3/src/lib/xml/tinyxml.h       2006-03-15 15:43:33.000000000 +0000
-@@ -823,9 +823,9 @@
- #endif
-       /// Construct.
--      TiXmlDeclaration::TiXmlDeclaration( const char * _version,
--                                                                              const char * _encoding,
--                                                                              const char * _standalone );
-+      TiXmlDeclaration( const char * _version,
-+                              const char * _encoding,
-+                              const char * _standalone );
+diff -Naur hydrogen-0.9.3.orig/Makefile.in hydrogen-0.9.3/Makefile.in
+--- hydrogen-0.9.3.orig/Makefile.in    2005-11-10 16:00:08.000000000 -0200
++++ hydrogen-0.9.3/Makefile.in 2008-07-24 19:43:46.000000000 -0300
+@@ -225,7 +225,7 @@
+       mkdir -p $(DESTDIR)$(prefix)/share/hydrogen/data/
+       cp -R data $(DESTDIR)$(prefix)/share/hydrogen
+       mkdir -p $(DESTDIR)$(prefix)/share/hydrogen/data/
+-      @install -vD hydrogen.desktop $(DESTDIR)$(prefix)/share/applications/hydrogen.desktop
++      @install -vD -m 644 hydrogen.desktop $(DESTDIR)$(prefix)/share/applications/hydrogen.desktop
+       cd plugins;make install;cd ..
+       
+       
+diff -Naur hydrogen-0.9.3.orig/configure.in hydrogen-0.9.3/configure.in
+--- hydrogen-0.9.3.orig/configure.in   2006-01-18 20:02:37.000000000 -0200
++++ hydrogen-0.9.3/configure.in        2008-07-24 19:43:40.000000000 -0300
+@@ -367,6 +367,8 @@
+ echo "--- Checking for PortAudio -------------------------------------"
  
-       virtual ~TiXmlDeclaration()     {}
+ portaudio_support=false
++AC_ARG_ENABLE(portaudio, [  --disable-portaudio   Compile without portaudio support], [want_portaudio=$enableval])
++if test "x$want_portaudio" != "xno"; then
+ AC_MSG_CHECKING([whether PORTAUDIOPATH environment variable is set])
+ if test "x$PORTAUDIOPATH" = "x"; then
+       AC_MSG_RESULT(PORTAUDIOPATH is not set. No PortAudio support.)
+@@ -389,6 +391,7 @@
+ echo "-----------------------------------------------------------------"
+ echo ""
  
-
---- hydrogen-0.9.3/src/tools/HydrogenPlayer.cpp~       2007-04-01 21:01:06.000000000 +0000
-+++ hydrogen-0.9.3/src/tools/HydrogenPlayer.cpp        2007-04-01 21:01:28.000000000 +0000
-@@ -25,6 +25,7 @@
++fi
  
- #include <qapplication.h>
  
-+#include <cstdlib>
- #include <iostream>
- #include <stdio.h>
- #include <string>
---- hydrogen-0.9.3/src/gui/DrumkitManager.cpp~ 2007-04-01 21:03:50.000000000 +0000
-+++ hydrogen-0.9.3/src/gui/DrumkitManager.cpp  2007-04-01 21:03:58.000000000 +0000
-@@ -22,6 +22,7 @@
-  *
-  */
- #include <qcursor.h>
-+#include <cstdlib>
- #include "config.h"
- #include "Skin.h"
---- hydrogen-0.9.3/src/gui/HydrogenApp.cpp~    2007-04-01 21:04:29.000000000 +0000
-+++ hydrogen-0.9.3/src/gui/HydrogenApp.cpp     2007-04-01 21:04:37.000000000 +0000
-@@ -46,6 +46,7 @@
- #include "LadspaFXProperties.h"
- #include "SongEditor/SongEditorPanel.h"
-+#include <cstdlib>
- #include <qdockwindow.h>
- #include <qsplitter.h>
- #include <qhbox.h>
---- hydrogen-0.9.3/src/gui/main.cpp~   2007-04-01 21:05:56.000000000 +0000
-+++ hydrogen-0.9.3/src/gui/main.cpp    2007-04-01 21:06:04.000000000 +0000
-@@ -42,6 +42,7 @@
- #include "lib/DataPath.h"
- #include "lib/Exception.h"
-+#include <cstdlib>
- #include <iostream>
- using namespace std;
-
---- hydrogen-0.9.3/src/lib/FLACFile.cpp
-+++ hydrogen-0.9.3/src/lib/FLACFile.cpp
-@@ -39,6 +39,8 @@
- #undef LEGACY_FLAC
- #endif
  
-+#include <cstring>
+diff -Naur hydrogen-0.9.3.orig/configure.in~ hydrogen-0.9.3/configure.in~
+--- hydrogen-0.9.3.orig/configure.in~  1969-12-31 21:00:00.000000000 -0300
++++ hydrogen-0.9.3/configure.in~       2006-01-18 20:02:37.000000000 -0200
+@@ -0,0 +1,557 @@
++d added Qt .dylib search for OS X systems (2004/12/17 Jonathan Dempsey)
 +
- /// Reads a FLAC file...not optimized yet
- class FLACFile_real : public FLAC::Decoder::File, public Object
---- hydrogen-0.9.3/src/lib/drivers/OssDriver.cpp
-+++ hydrogen-0.9.3/src/lib/drivers/OssDriver.cpp
-@@ -31,6 +31,8 @@
- #include <pthread.h>
-+#include <cstring>
 +
- audioProcessCallback ossDriver_audioProcessCallback;
- bool ossDriver_running;
- pthread_t ossDriverThread;
---- hydrogen-0.9.3/src/lib/FLACFile.cpp.old    2007-02-11 20:12:34.000000000 +0100
-+++ hydrogen-0.9.3/src/lib/FLACFile.cpp        2007-02-11 20:18:25.000000000 +0100
++dnl Process this file with autoconf to produce a configure script.
++AC_INIT(README)
++#AC_PREREQ(2.58)
++
++extra_version=""
++hydrogenVersion="0.9.3$extra_version"
++
++echo "
++
++-----------------------------------------------------------------
++Starting Hydrogen $hydrogenVersion configuration...
++-----------------------------------------------------------------
++
++"
++#ac_qmake_lflags="-static"
++#AC_SUBST(ac_qmake_lflags)
++
++
++# static build
++#ac_libraries=-static
++
++
++AC_DEFINE_UNQUOTED(VERSION, "${hydrogenVersion}", [Version])
++
++
++AC_CONFIG_HEADER(config.h)
++
++dnl Set default installation prefix.
++AC_PREFIX_DEFAULT(/usr/local)
++ac_prefix=$prefix
++if test "x$ac_prefix" = "xNONE"; then
++    ac_prefix=$ac_default_prefix
++fi
++AC_SUBST(ac_prefix)
++AC_DEFINE_UNQUOTED(CONFIG_PREFIX, ["$ac_prefix"], [Default installation prefix.])
++
++
++AC_ARG_ENABLE(profile, [  --enable-profile     enable profile info (default=no)], [useProfile="yes"], [useProfile="no"])
++if test "x$useProfile" = "xyes"; then
++      ac_qmake_cflags="-pg"
++      ac_qmake_cxxflags="-pg"
++      ac_qmake_lflags="-pg"
++      AC_SUBST(ac_qmake_cflags)
++      AC_SUBST(ac_qmake_cxxflags)
++      AC_SUBST(ac_qmake_lflags)
++fi
++
++dnl Enable debugging argument option.
++AC_ARG_ENABLE(debug, [  --enable-debug          enable debugging (default=no)], [ac_debug="debug"], [ac_debug="release"])
++AC_SUBST(ac_debug)
++if test "x$ac_debug" = "xdebug"; then
++      AC_DEFINE(CONFIG_DEBUG, 1, [Define if debugging is enabled.])
++      features_list="${features_list} (Debug)"
++      echo " * Debug mode enabled."
++#     CXXFLAGS="${CXXFLAGS} -g -O3"
++#else
++#     CXXFLAGS="${CXXFLAGS} -O3"
++fi
++
++ladspa_enabled=yes
++AC_ARG_ENABLE(ladspa, [  --disable-ladspa          disable LADSPA support (default=no)], [ladspa_enabled=$enableval])
++
++if test "x$ladspa_enabled" = "xyes"; then
++      AC_DEFINE(LADSPA_SUPPORT, 1, [Define if LADSPA support is enabled.])
++else
++      echo " * LADSPA support disabled."
++fi
++
++
++dnl Checks for programs.
++AC_PROG_CC
++AC_PROG_CPP
++AC_PROG_CXX
++AC_PROG_CXXCPP
++AC_PROG_GCC_TRADITIONAL
++
++dnl Checks for languages.
++AC_LANG_C
++AC_LANG_CPLUSPLUS
++
++
++
++########################
++#
++# QT
++#
++#####################
++echo ""
++echo "--- Checking for QT Libs ----------------------------------------"
++
++#dnl Check for QTDIR environment variable.
++AC_MSG_CHECKING([whether QTDIR environment variable is set])
++if test "x$QTDIR" = "x"; then
++      # is not set
++      AC_MSG_RESULT([no])
++      AC_MSG_WARN([QTDIR must be properly set.])
++
++      echo " * Searching for Qt library"
++      ac_qtlib=""
++      for X in /usr/share/qt /usr/share/qt3 /usr/lib/qt3 /usr/lib/qt-3.1; do
++              if test "x$ac_qtlib" = "x"; then
++                      if test -f $X/lib/libqt-mt.so -o -f $X/lib/libqt-mt.a -o -f $X/lib/libqt-mt.dylib; then
++                              ac_qtlib=$X
++                              QTDIR=$X
++                              echo "   |-> searching QT in $X *** Found ***"
++                      else
++                              echo "   |-> searching QT in $X *** Not found ***"
++                      fi
++              fi
++      done
++else
++      AC_MSG_RESULT([$QTDIR])
++      echo " * Searching for Qt library"
++      ac_qtlib=""
++      if test "x$ac_qtlib" = "x"; then
++              if test -f $QTDIR/lib/libqt-mt.so -o -f $QTDIR/lib/libqt-mt.a -o -f $QTDIR/lib/libqt-mt.dylib; then
++                      ac_qtlib=$QTDIR
++                      echo "   |-> searching QT in $QTDIR *** Found ***"
++              else
++                      echo "   |-> searching QT in $QTDIR *** Not found ***"
++              fi
++      fi
++fi
++
++#dnl Checks for Qt library.
++#AC_CACHE_CHECK([for Qt library],
++#     ac_qtlib, [
++#     for X in qt-mt qt; do
++#             if test "x$ac_qtlib" = "x"; then
++#                     if test -f $QTDIR/lib/lib$X.so -o -f $QTDIR/lib/lib$X.a; then
++#                             ac_qtlib=$X
++#                     fi
++#             fi
++#     done
++#])
++
++if test "x$ac_qtlib" = "x"; then
++      AC_MSG_WARN([Qt library not found. Maybe QTDIR isn't properly set.])
++fi
++AC_SUBST(ac_qtlib)
++
++
++#dnl Check for Qt multi-thread support.
++#if test "x$ac_qtlib" = "xqt-mt"; then
++#  ac_thread="thread"
++#fi
++#AC_SUBST(ac_thread)
++#
++CFLAGS="$CFLAGS -I$QTDIR/include"
++CPPFLAGS="$CPPFLAGS -I$QTDIR/include"
++LIBS="-L$QTDIR/lib -L/usr/X11R6/lib"
++
++#AC_CACHE_CHECK([for Qt library version >= 3.1.1],
++#  ac_qtlib_version, [
++#  AC_TRY_LINK([#include "qglobal.h"], [
++#if QT_VERSION < 0x030101
++#error Qt library 3.1.1 or greater required.
++#endif
++#    ],
++#    ac_qtlib_version="yes", [
++#      echo "no; Qt 3.1.1 or greater is required"
++#      exit
++#    ])
++#])
++
++dnl A common error message:
++ac_qtdir_errmsg="not found in current PATH. Maybe QT development environment isn't available (qt3-devel)."
++
++# Check for Qt qmake utility.
++#AC_PATH_PROG(ac_qmake, qmake, [no], $QTDIR/bin:${PATH})
++AC_PATH_PROG(ac_qmake, qmake, [no], $QTDIR/bin)
++if test "x$ac_qmake" = "xno"; then
++      AC_MSG_ERROR([qmake $ac_qtdir_errmsg])
++fi
++AC_SUBST(ac_qmake)
++
++# Check for Qt moc utility.
++#AC_PATH_PROG(ac_moc, moc, [no], $QTDIR/bin:${PATH})
++AC_PATH_PROG(ac_moc, moc, [no], $QTDIR/bin)
++if test "x$ac_moc" = "xno"; then
++      AC_MSG_ERROR([moc $ac_qtdir_errmsg])
++fi
++AC_SUBST(ac_moc)
++
++# Check for Qt uic utility.
++#AC_PATH_PROG(ac_uic, uic, [no], $QTDIR/bin:${PATH})
++AC_PATH_PROG(ac_uic, uic, [no], $QTDIR/bin)
++if test "x$ac_uic" = "xno"; then
++      AC_MSG_ERROR([uic $ac_qtdir_errmsg])
++fi
++AC_SUBST(ac_uic)
++
++
++
++echo ""
++echo "-----------------------------------------------------------------"
++echo "Checking for libraries.."
++echo "-----------------------------------------------------------------"
++
++
++
++dnl Checks for libraries.
++AC_CHECK_LIB(m, main)
++AC_CHECK_LIB(X11, main)
++AC_CHECK_LIB(Xext, main)
++AC_CHECK_LIB($ac_qtlib, main)
++
++dnl Checks for header files.
++AC_HEADER_STDC
++AC_HEADER_SYS_WAIT
++AC_CHECK_HEADERS(fcntl.h sys/ioctl.h unistd.h poll.h)
++
++dnl Checks for library functions.
++AC_CHECK_FUNCS(system)
++
++
++
++#################################
++#
++# libSndFile
++#
++#################################
++echo ""
++echo "--- Checking for libsndfile -------------------------------------"
++sndfile_found=false
++AC_CHECK_LIB([sndfile], sf_open, sndfile_found=yes)
++#PKG_CHECK_MODULES(LIBSNDFILE, sndfile, sndfile_found=true, sndfile_found=false)
++if test "$sndfile_found" = "false"; then
++      AC_MSG_ERROR("sndfile library not found. Website: http://www.mega-nerd.com/libsndfile/")
++else
++      ac_libraries="${ac_libraries} $( pkg-config --libs sndfile )"
++fi
++echo "-----------------------------------------------------------------"
++echo ""
++
++
++
++
++######################
++#
++# FLAC
++#
++########################
++echo ""
++echo "--- Checking for FLAC++ Libs ------------------------------------"
++flac_support=yes
++AC_ARG_ENABLE(flac_support, [  --disable-flac-support  Compile without FLAC support], [flac_support=$enableval])
++
++if test "$flac_support" != "no"; then
++
++      flac_found=no
++      #AC_CHECK_HEADERS(FLAC/file_decoder.h)
++      #AC_CHECK_LIB(FLAC, FLAC__file_decoder_new, flac_found=yes)
++
++      AC_CHECK_HEADERS(FLAC++/all.h, flac_found=yes)
++      #AC_CHECK_LIB(FLAC++, FLAC::Decoder::File, flac_found=yes)
++
++      if test "$flac_found" = "no"; then
++              AC_MSG_ERROR("FLAC++ library not found. FLAC website: http://flac.sourceforge.net")
++      else
++              AC_DEFINE(FLAC_SUPPORT, 1, [Define to enable FLAC support])
++              ac_libraries="${ac_libraries} -lFLAC++ -lFLAC"
++              features_list="${features_list} (FLAC)"
++      fi
++else
++      AC_MSG_WARN("FLAC++ library disabled. WARNING: Many drumkits will not work without FLAC support!!")
++fi
++
++echo "-----------------------------------------------------------------"
++echo ""
++
++
++
++
++##############################
++#
++#     JACK SUPPORT
++#
++################################
++echo ""
++echo "--- Checking for JACK -------------------------------------------"
++jack_support=yes
++AC_ARG_ENABLE(jack-support, [  --disable-jack-support   Compile without JACK support], [jack_support=$enableval])
++
++JACK_SUPPORT=0
++
++if test "$jack_support" != "no"; then
++      AC_CHECK_LIB(jack, main, [ac_jack_lib="yes"], [ac_jack_lib="no"])
++      if test "x$ac_jack_lib" = "xno"; then
++              AC_MSG_WARN([ *** Could not find the JACK library, disabling JACK driver])
++      else
++              JACK_SUPPORT=1
++              AC_DEFINE(JACK_SUPPORT, 1, [Define to enable JACK driver])
++              features_list="${features_list} (Jack)"
++              ac_libraries="${ac_libraries} -ljack"
++      fi
++else
++      echo "JACK support disabled"
++fi
++echo "-----------------------------------------------------------------"
++echo ""
++
++##########################
++#
++# ALSA
++#
++##########################
++echo ""
++echo "--- Checking for ALSA Libs --------------------------------------"
++
++use_alsa=yes
++
++AC_ARG_ENABLE(alsa, [  --disable-alsa   Compile without ALSA support], [use_alsa=$enableval])
++if test "$use_alsa" = "yes"; then
++      alsa_found=no
++      AC_CHECK_HEADERS(alsa/asoundlib.h)
++dnl   if test "x${ac_cv_header_alsa_asoundlib_h}" = xyes ; then
++dnl   fi
++
++      AC_CHECK_LIB(asound, snd_seq_open, alsa_found=yes)
++      if test "$alsa_found" = "no" ; then
++              AC_MSG_WARN([ *** Could not find the ALSA library, disabling ALSA support])
++      else
++              AC_DEFINE( ALSA_SUPPORT, 1, [Define to use ALSA Audio support])
++              features_list="${features_list} (Alsa)"
++              ac_libraries="${ac_libraries} -lasound"
++      fi
++else
++      echo "ALSA support disabled."
++fi
++
++echo "-----------------------------------------------------------------"
++echo ""
++
++
++##########################
++#
++#     OSS SUPPORT
++#
++##########################
++echo ""
++echo "--- Checking for OSS --------------------------------------------"
++oss_support=yes
++
++AC_ARG_ENABLE(oss-support, [  --disable-oss-support   Compile without OSS support], [oss_support=$enableval])
++if test "$oss_support" = "yes"; then
++      AC_DEFINE(OSS_SUPPORT, 1, [Define to enable OSS driver])
++      features_list="${features_list} (OSS)"
++else
++      echo "OSS support disabled."
++fi
++
++echo "-----------------------------------------------------------------"
++echo ""
++
++
++
++#################################
++#
++# PortAudio
++#
++#################################
++echo ""
++echo "--- Checking for PortAudio -------------------------------------"
++
++portaudio_support=false
++AC_MSG_CHECKING([whether PORTAUDIOPATH environment variable is set])
++if test "x$PORTAUDIOPATH" = "x"; then
++      AC_MSG_RESULT(PORTAUDIOPATH is not set. No PortAudio support.)
++else
++      AC_MSG_RESULT("[$PORTAUDIOPATH]")
++      if test -f $PORTAUDIOPATH/pa_unix_oss/libportaudio.so; then
++              echo "   |-> searching PortAudio in $PORTAUDIOPATH *** Found ***"
++              ac_libraries="${ac_libraries} -L${PORTAUDIOPATH}/pa_unix_oss -lportaudio"
++              features_list="${features_list} (PortAudio)"
++              AC_DEFINE(PORTAUDIO_SUPPORT, 1, [Define to enable PortAudio driver])
++
++              ac_qmake_cxxflags="$ac_qmake_cxxflags -I$PORTAUDIOPATH/pa_common"
++              AC_SUBST(ac_qmake_cxxflags)
++              portaudio_support=true
++      else
++              echo "   |-> searching PortAudio in $PORTAUDIOPATH *** Not found ***"
++      fi
++
++fi
++echo "-----------------------------------------------------------------"
++echo ""
++
++
++
++
++#################################
++#
++# PortMidi
++#
++#################################
++echo ""
++echo "--- Checking for PortMidi -------------------------------------"
++portmidi_support=false
++AC_MSG_CHECKING([whether PORTMIDIPATH environment variable is set])
++if test "x$PORTMIDIPATH" = "x"; then
++      AC_MSG_RESULT(PORTMIDIPATH is not set. No PortMidi support.)
++else
++      AC_MSG_RESULT("[$PORTMIDIPATH]")
++      if test -f $PORTMIDIPATH/pm_linux/libportmidi.a; then
++              echo "   |-> searching PortMidi in $PORTMIDIPATH *** Found ***"
++              ac_libraries="${ac_libraries} ${PORTMIDIPATH}/pm_linux/libportmidi.a ${PORTMIDIPATH}/porttime/libporttime.a"
++              features_list="${features_list} (PortMidi)"
++              AC_DEFINE(PORTMIDI_SUPPORT, 1, [Define to enable PortMidi driver])
++
++              ac_qmake_cxxflags="$ac_qmake_cxxflags -I$PORTMIDIPATH/pm_common -I$PORTMIDIPATH/porttime"
++              AC_SUBST(ac_qmake_cxxflags)
++              portmidi_support=true
++      else
++              echo "   |-> searching PortMidi in $PORTMIDIPATH *** Not found ***"
++      fi
++
++fi
++
++echo "-----------------------------------------------------------------"
++echo ""
++
++
++
++
++##################################
++#
++# LRDF
++#
++###################################
++echo ""
++echo "--- Checking for LRDF -------------------------------------------"
++LRDF_SUPPORT=0
++lrdf_check=yes
++AC_ARG_ENABLE(lrdf-support, [  --disable-lrdf-support   Compile without LRDF support], [lrdf_check=$enableval])
++if test "$lrdf_check" = "yes"; then
++      lrdf_found=no
++      AC_CHECK_HEADERS(lrdf.h, lrdf_found=yes)
++#     AC_CHECK_LIB(lrdf, lrdf_init, lrdf_found=yes)
++      if test "$lrdf_found" = "no" ; then
++              AC_MSG_WARN([ *** Could not find the LRDF library])
++      else
++              LRDF_SUPPORT=1
++              AC_DEFINE(LRDF_SUPPORT, 1, [Define to enable LRDF support])
++              ac_libraries="${ac_libraries} -llrdf -lraptor -lxml2"
++              features_list="${features_list} (LRDF)"
++      fi
++fi
++echo "-----------------------------------------------------------------"
++echo ""
++
++
++
++##################################
++#
++# define the DATA path
++#
++###################################
++AC_DEFINE_UNQUOTED(DATA_PATH, "${ac_prefix}/share/hydrogen/data", [Data dir])
++AC_DEFINE_UNQUOTED(COMPILED_FEATURES, "${features_list}", [Compiled features])
++
++
++
++
++AC_SUBST(ac_libraries)
++
++
++AC_OUTPUT(
++Makefile 
++hydrogen.pro 
++hydrogenPlayer.pro 
++hydrogenBenchmark.pro 
++hydrogen2Midi.pro 
++hydrogenCUI.pro 
++hydrogen.desktop 
++plugins/Makefile
++plugins/wasp/Makefile
++)
++
++
++echo "
++
++-----------------------------------------------------------------
++ Hydrogen ${hydrogenVersion} configuration:
++-----------------------------------------------------------------
++
++      Source code location:   ${srcdir}
++      Prefix                  ${ac_prefix}
++      Data path               ${ac_prefix}/share/hydrogen
++      LDFLAGS                 ${ac_libraries}
++"
++if test "x$ac_debug" = "xdebug"; then
++      echo "  Debug messages:         yes"
++else
++      echo "  Debug messages:         no"
++fi
++
++if test "${flac_found}" = "yes"; then
++      echo "  FLAC:                   yes"
++else
++      echo "  FLAC:                   no"
++fi
++
++if test "${LRDF_SUPPORT}" = "1"; then
++      echo "  LRDF:                   yes"
++else
++      echo "  LRDF:                   no"
++fi
++
++echo ""
++
++if test "${JACK_SUPPORT}" = "1"; then
++      echo "  Jack:                   yes"
++else
++      echo "  Jack:                   no"
++fi
++
++if test "${alsa_found}" = "yes"; then
++      echo "  ALSA :                  yes"
++else
++      echo "  ALSA :                  no"
++fi
++
++if test "${oss_support}" = "yes"; then
++      echo "  OSS:                    yes"
++else
++      echo "  OSS:                    no"
++fi
++
++
++if test "${portaudio_support}" = "true"; then
++      echo "  PortAudio               yes"
++else
++      echo "  PortAudio               no"
++fi
++
++if test "${portmidi_support}" = "true"; then
++      echo "  PortMidi:               yes"
++else
++      echo "  PortMidi:               no"
++fi
++
++
++echo "
++      Features list = ${features_list}
++
++-----------------------------------------------------------------
++Now type make to build Hydrogen.
++-----------------------------------------------------------------
++
++If you're not a member of hydrogen-dev mailing list yet, please join.
++Please see http://www.hydrogen-music.org for details.
++
++"
+diff -Naur hydrogen-0.9.3.orig/src/lib/FLACFile.cpp hydrogen-0.9.3/src/lib/FLACFile.cpp
+--- hydrogen-0.9.3.orig/src/lib/FLACFile.cpp   2005-11-08 07:31:22.000000000 -0200
++++ hydrogen-0.9.3/src/lib/FLACFile.cpp        2008-07-24 19:43:59.000000000 -0300
 @@ -33,6 +33,13 @@
  //#include "FLAC/file_decoder.h"
  #include <FLAC++/all.h>
 +#endif
  }
  
---- a/hydrogen-0.9.3/data/demo_songs/TR808kit-demo.h2song      2005-10-18 00:32:04.000000000 +0200
-+++ b/hydrogen-0.9.3/data/demo_songs/TR808kit-demo.h2song      2007-06-05 15:33:19.000000000 +0200
-@@ -1,5 +1,5 @@
- <song>
--    <version>0.9.2-cvs</version>
-+    <version>0.9.3</version>
-     <bpm>125</bpm>
-     <volume>0.71</volume>
-     <metronomeVolume>0.5</metronomeVolume>
-@@ -7,10 +7,14 @@
-     <author>ArtemioLabs</author>
-     <notes>Demo patterns for the TR-808 Emulation Kit.</notes>
-     <loopEnabled>true</loopEnabled>
--    <mode>song</mode>
-+    <mode>pattern</mode>
-     <humanize_time>0</humanize_time>
-     <humanize_velocity>0</humanize_velocity>
-     <swing_factor>0</swing_factor>
-+    <delayFXEnabled>false</delayFXEnabled>
-+    <delayFXWetLevel>1</delayFXWetLevel>
-+    <delayFXFeedback>0.4</delayFXFeedback>
-+    <delayFXTime>48</delayFXTime>
-     <instrumentList>
-         <instrument>
-             <id>0</id>
-@@ -18,8 +22,10 @@
-             <name>Kick Long</name>
-             <volume>1</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -44,8 +50,10 @@
-             <name>Kick Short</name>
-             <volume>1</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -70,8 +78,10 @@
-             <name>Snare 1</name>
-             <volume>1</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -96,8 +106,10 @@
-             <name>Snare 2</name>
-             <volume>1</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -122,8 +134,10 @@
-             <name>Clap</name>
-             <volume>1</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -148,8 +162,10 @@
-             <name>Tom Low</name>
-             <volume>0.77</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>0.52</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -174,8 +190,10 @@
-             <name>Tom Mid</name>
-             <volume>0.79</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -200,8 +218,10 @@
-             <name>Tom Hi</name>
-             <volume>0.79</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>0.48</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -226,8 +246,10 @@
-             <name>Closed Hat</name>
-             <volume>1</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -252,8 +274,10 @@
-             <name>Pedal Hat</name>
-             <volume>1</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -278,8 +302,10 @@
-             <name>Open Hat</name>
-             <volume>1</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -304,8 +330,10 @@
-             <name>Cymbal</name>
-             <volume>0.82</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -330,8 +358,10 @@
-             <name>Shaker</name>
-             <volume>0.84</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -356,8 +386,10 @@
-             <name>Conga</name>
-             <volume>0.88</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>0.9</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -382,8 +414,10 @@
-             <name>Clave</name>
-             <volume>0.84</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>0.96</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -408,8 +442,10 @@
-             <name>Cowbell</name>
-             <volume>0.85</volume>
-             <isMuted>false</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>0.96</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -434,8 +470,10 @@
-             <name>17</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -453,8 +491,10 @@
-             <name>18</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -472,8 +512,10 @@
-             <name>19</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -491,8 +533,10 @@
-             <name>20</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -510,8 +554,10 @@
-             <name>21</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -529,8 +575,10 @@
-             <name>22</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -548,8 +596,10 @@
-             <name>23</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -567,8 +617,10 @@
-             <name>24</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -586,8 +638,10 @@
-             <name>25</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -605,8 +659,10 @@
-             <name>26</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -624,8 +680,10 @@
-             <name>27</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -643,8 +701,10 @@
-             <name>28</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -662,8 +722,10 @@
-             <name>29</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -681,8 +743,10 @@
-             <name>30</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -700,8 +764,10 @@
-             <name>31</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -719,8 +785,10 @@
-             <name>32</name>
-             <volume>0.8</volume>
-             <isMuted>true</isMuted>
-+            <isLocked>false</isLocked>
-             <pan_L>1</pan_L>
-             <pan_R>1</pan_R>
-+            <gain>1</gain>
-             <FX1Level>0</FX1Level>
-             <FX2Level>0</FX2Level>
-             <FX3Level>0</FX3Level>
-@@ -1602,15 +1670,6 @@
-                             <length>-1</length>
-                             <instrument>9</instrument>
-                         </note>
--                        <note>
--                            <position>168</position>
--                            <velocity>0.8</velocity>
--                            <pan_L>1</pan_L>
--                            <pan_R>1</pan_R>
--                            <pitch>0</pitch>
--                            <length>-1</length>
--                            <instrument>9</instrument>
--                        </note>
-                     </noteList>
-                 </sequence>
-                 <sequence>
-@@ -1792,7 +1851,17 @@
-                     <noteList />
-                 </sequence>
-                 <sequence>
--                    <noteList />
-+                    <noteList>
-+                        <note>
-+                            <position>156</position>
-+                            <velocity>0.8</velocity>
-+                            <pan_L>1</pan_L>
-+                            <pan_R>1</pan_R>
-+                            <pitch>0</pitch>
-+                            <length>-1</length>
-+                            <instrument>26</instrument>
-+                        </note>
-+                    </noteList>
-                 </sequence>
-                 <sequence>
-                     <noteList />
-
+diff -Naur hydrogen-0.9.3.orig/src/lib/xml/tinyxml.h hydrogen-0.9.3/src/lib/xml/tinyxml.h
+--- hydrogen-0.9.3.orig/src/lib/xml/tinyxml.h  2005-10-17 20:32:04.000000000 -0200
++++ hydrogen-0.9.3/src/lib/xml/tinyxml.h       2008-07-24 19:44:04.000000000 -0300
+@@ -823,7 +823,7 @@
+ #endif
+       /// Construct.
+-      TiXmlDeclaration::TiXmlDeclaration( const char * _version,
++      TiXmlDeclaration( const char * _version,
+                                                                               const char * _encoding,
+                                                                               const char * _standalone );
index fda2692b7e00525682db04752283eaeea3d954e0..11f4b7b72c07a7768ba0033811714a8b829b0a22 100755 (executable)
 #!/bin/bash
 #
-#  hydrogen.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  hydrogen.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  hydrogen.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  hydrogen.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for hydrogen
-# by rhatto at riseup.net
+# slackbuild for hydrogen, by Silvio Rhatto
+# requires: libsndfile 
+# tested: hydrogen-0.9.3
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building hydrogen are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="hydrogen"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="hydrogen"
+PKG_NAME="hydrogen"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.9.3}
+SRC_VERSION=${VERSION:=0.9.3}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/hydrogen/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/hydrogen/$SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
-
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR 
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
@@ -114,18 +173,13 @@ hydrogen: pan capabilities, and import of samples in wave, au, and aiff format.
 hydrogen:
 hydrogen:
 hydrogen:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-for file in AUTHORS COPYING ChangeLog INSTALL README; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 7d55e12e1fb65c893c07e3749ed4f7e9f93e4d03..c98af1ab4c00d21548c0eace7bf430d9dfb9afc8 100644 (file)
@@ -1 +1,4 @@
-libsndfile
+# Dependency list to hydrogen
+#
+# dependency [condition] [version]]
+libsndfile                             
index 2f277018a1690e8a5c739ca8810b90057e70173b..9e3524998b894934bb02b1c4c2fd4c93306a3b82 100755 (executable)
 #!/bin/bash
 #
-#  jack-rack.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  jack-rack.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  jack-rack.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  jack-rack.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for jack-rack
-# by rhatto at riseup.net
+# slackbuild for jack-rack, by Silvio Rhatto
+# requires: jack ladspa 
+# tested: jack-rack-1.4.7
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building jack-rack are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="jack-rack"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="jack-rack"
+PKG_NAME="jack-rack"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.4.4}
+SRC_VERSION=${VERSION:=1.4.7}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="bz2"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/jack-rack/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://downloads.sourceforge.net/jack-rack/$SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+# Import minimized signing key from
+if echo [[SIGNING KEY URL]] | grep -q -v "SIGNING KEY URL"; then
+  lynx -dump [[SIGNING KEY URL]] | gpg --import || exit $ERROR_GPG
+elif echo B94D2E95 | grep -q -v "SIGNING KEY ID"; then
+  gpg --recv-keys B94D2E95 || exit $ERROR_GPG
+else
+  gpg --import << EOKEY || exit $ERROR_GPG
+[[SIGNING KEY]]
+EOKEY
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR 
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
+# Download source's signature if necessary and check it
+if echo http://downloads.sourceforge.net/jack-rack/jack-rack-1.4.7.tar.bz2.asc | grep -q -v "SIGNING URL"; then
+  SIGNATURE="`basename http://downloads.sourceforge.net/jack-rack/jack-rack-1.4.7.tar.bz2.asc`"
+  if [ ! -s "$SRC_DIR/$SIGNATURE" ]; then
+    wget "http://downloads.sourceforge.net/jack-rack/jack-rack-1.4.7.tar.bz2.asc" -O "$SRC_DIR/$SIGNATURE" || exit $ERROR_WGET
+  fi
+else
+  if [ -s "$SRC_DIR/$SRC.sig" ]; then
+    SIGNATURE="$SRC.sig"
+  elif [ -s "$SRC_DIR/$SRC.asc" ]; then
+    SIGNATURE="$SRC.asc"
+  else
+    echo Trying to get signature file from $URL.sig...
+    if wget "$URL.sig" -O "$SRC_DIR/$SRC.sig"; then
+      SIGNATURE="$SRC.sig"
+    else
+      rm $SRC_DIR/$SRC.sig
+      echo Trying to get signature file from $URL.asc...
+      if wget "$URL.asc" -O "$SRC_DIR/$SRC.asc"; then
+        SIGNATURE="$SRC.asc"
+      else
+        rm $SRC_DIR/$SRC.asc
+        echo "Error getting source's signature file"
+        exit $ERROR_GPG
+      fi
+    fi
+  fi
+fi
 
-CWD="`pwd`"
+echo Checking $SRC_DIR/$SRC with gpg using $SRC_DIR/$SIGNATURE...
+gpg --verify "$SRC_DIR/$SIGNATURE" "$SRC_DIR/$SRC" || exit $ERROR_GPG
+echo Success.
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="ABOUT-NLS AUTHORS BUGS COPYING ChangeLog NEWS README THANKS TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-         |-----handy-ruler-----------------------------------------------------|
+         |-----handy-ruler----------------------------------------------------|
 jack-rack: jack-rack
 jack-rack:
 jack-rack: JACK Rack is a LADSPA effects rack for the JACK audio API. It
@@ -114,18 +217,13 @@ jack-rack:
 jack-rack:
 jack-rack:
 jack-rack:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in ABOUT-NLS AUTHORS BUGS COPYING ChangeLog INSTALL NEWS README THANKS TODO; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 1a3011d8427c0a61279fd6b84cc876b900eefc7e..db6dcdb1574a6b206289b4485520acb786eb7b52 100644 (file)
@@ -1,2 +1,5 @@
-jack
-ladspa
+# Dependency list to jack-rack
+#
+# dependency [condition] [version]]
+jack                           
+ladspa                         
index b5975dfca75a85b916e9826b185c639d7b71f2dd..b7ccaa22291c828ce690965ebc78f952b48dc3be 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for jack, by Rudson R. Alves
 # requires: libsndfile libfreebob 
-# tested: jack-0.109.0
+# tested: jack-0.109.2
 #
 
 # Look for slackbuildrc
@@ -55,8 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -86,7 +87,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -122,9 +123,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index f752914307749e59291b5e757dfc8d8906d5fbd9..040339d87d80ebe8780cbe60e30c445047d63463 100755 (executable)
@@ -10,9 +10,9 @@
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for lame, by Rudson R. Alves
 # requires:  
@@ -55,8 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -86,7 +87,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -122,9 +123,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index c8f6e5c6a0ccd27897449c4118fbe513d247a698..9bbe776cd66ad8cc5ab88df346038b0fec7916f0 100755 (executable)
 #!/bin/bash
 #
-#  lmms.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  lmms.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  lmms.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  lmms.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for lmms
-# by rhatto at riseup.net
+# slackbuild for lmms, by Silvio Rhatto
+# requires: ladspa 
+# tested: lmms-0.3.2
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building lmms are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="lmms"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="lmms"
+PKG_NAME="lmms"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.2.1}
+SRC_VERSION=${VERSION:=0.3.2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
-ERROR_TAR=37;       ERROR_MKPKG=38
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="bz2"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/lmms/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://downloads.sourceforge.net/lmms/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
 
-CWD="`pwd`"
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
 
-cd $TMP/package-$PACKAGE
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
 
-mkdir install
-cat << EOF > install/slack-desc
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog INSTALL README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-    |-----handy-ruler-----------------------------------------------------|
+    |-----handy-ruler---------------------------------------------------------|
 lmms: lmms (Linux MultiMedia Studio)
 lmms:
 lmms: LMMS aims to be a free alternative to popular (but commercial and
@@ -113,20 +173,13 @@ lmms:
 lmms:
 lmms:
 lmms:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-DOCS="AUTHORS COPYING ChangeLog INSTALL README TODO"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 6c92f463a623b1aa1f1e2d4c5c4e62a0ac608344..6aa881a87677aec8644c814341c6dece95c9990f 100644 (file)
@@ -1 +1,4 @@
-ladspa
+# Dependency list to lmms
+#
+# dependency [condition] [version]]
+ladspa                         
index 172ca66f0f6070062d933f5e577d25c30856d16b..91da9532da195f1d7f64e0446124cdbc9f24527d 100755 (executable)
 #!/bin/bash
 #
-#  mp3blaster.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  mp3blaster.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  mp3blaster.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  mp3blaster.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for mp3blaster
-# by rhatto at riseup.net
+# slackbuild for mp3blaster, by Silvio Rhatto
+# requires:  
+# tested: mp3blaster-3.2.0
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building mp3blaster are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="mp3blaster"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="mp3blaster"
+PKG_NAME="mp3blaster"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=3.2.0}
+SRC_VERSION=${VERSION:=3.2.0}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--enable-newthreads"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://www.stack.nl/%7Ebrama/mp3blaster/src/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.stack.nl/~brama/mp3blaster/src/$SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
-
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR --enable-newthreads
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS BUGS COPYING CREDITS ChangeLog FAQ NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-          |-----handy-ruler-----------------------------------------------------|
+          |-----handy-ruler---------------------------------------------------|
 mp3blaster: mp3blaster (a ncurses based audio player)
 mp3blaster:
 mp3blaster: MP3Blaster is a text console based program for playing mainly mp3
@@ -114,18 +173,13 @@ mp3blaster:
 mp3blaster:
 mp3blaster:
 mp3blaster:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-for file in AUTHORS BUGS COPYING CREDITS ChangeLog FAQ NEWS README TODO; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/media/sound/pulseaudio/pulseaudio-0.9.10.diff b/media/sound/pulseaudio/pulseaudio-0.9.10.diff
new file mode 100644 (file)
index 0000000..ae593e2
--- /dev/null
@@ -0,0 +1,22 @@
+--- src/daemon/caps.h.old      2008-06-29 20:37:31.000000000 -0300
++++ src/daemon/caps.h  2008-06-29 20:38:09.000000000 -0300
+@@ -25,7 +25,7 @@
+ ***/
+ void pa_drop_root(void);
+-void pa_drop_caps(void);
++int pa_drop_caps(void);
+ int pa_limit_caps(void);
+ #endif
+--- src/daemon/caps.c.old      2008-06-29 20:37:24.000000000 -0300
++++ src/daemon/caps.c  2008-06-29 20:38:07.000000000 -0300
+@@ -113,7 +113,7 @@
+ }
+ /* Drop all capabilities, effectively becoming a normal user */
+-void pa_drop_caps(void) {
++int pa_drop_caps(void) {
+     cap_t caps;
+     pa_assert_se(prctl(PR_SET_KEEPCAPS, 0, 0, 0, 0) == 0);
diff --git a/media/sound/pulseaudio/pulseaudio.SlackBuild b/media/sound/pulseaudio/pulseaudio.SlackBuild
new file mode 100755 (executable)
index 0000000..ac6c018
--- /dev/null
@@ -0,0 +1,193 @@
+#!/bin/bash
+#
+#  pulseaudio.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  pulseaudio.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for pulseaudio, by Rafael Diniz
+# requires:  
+# tested: pulseaudio-0.9.10
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="pulseaudio"
+PKG_NAME="pulseaudio"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.9.10}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=" --with-system-user=pulseaudio --with-system-group=pulseaudio --with-access-group=users "}
+NUMJOBS=${NUMJOBS:="-j3"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Creating build user and group
+if ! grep -qe "^$PKG_NAME:" /etc/group; then
+  groupadd $PKG_NAME
+fi
+if ! grep -qe "^$PKG_NAME:" /etc/passwd; then
+  useradd $PKG_NAME -g $PKG_NAME
+fi
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://0pointer.de/lennart/projects/pulseaudio/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np0 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np0 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np0 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np0 || exit $ERROR_PATCH
+  fi
+done
+
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np0 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np0 || exit $ERROR_PATCH
+    else
+      patch -Np0 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+          |-----handy-ruler---------------------------------------------------|
+pulseaudio: pulseaudio (sound server daemon)
+pulseaudio:
+pulseaudio: PulseAudio is a sound server for POSIX and Win32 systems.
+pulseaudio:
+pulseaudio:
+pulseaudio:
+pulseaudio:
+pulseaudio:
+pulseaudio:
+pulseaudio: http://www.pulseaudio.org/
+pulseaudio:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index e93b4c42b77b842bafeff48006da0dfca2cf741e..6817779ecc1ea2636cc2301f2cb51b19076131c0 100755 (executable)
 #!/bin/bash
 #
-#  qjackctl.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  qjackctl.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  qjackctl.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  qjackctl.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for qjackctl
-# by rhatto at riseup.net
+# slackbuild for qjackctl, by Silvio Rhatto
+# requires: jack 
+# tested: qjackctl-0.2.23
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building qjackctl are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="qjackctl"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="qjackctl"
+PKG_NAME="qjackctl"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.2.21}
+SRC_VERSION=${VERSION:=0.2.23}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/qjackctl/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/qjackctl/$SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
-
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR 
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
@@ -114,18 +173,13 @@ qjackctl:
 qjackctl:
 qjackctl:
 qjackctl:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-for file in AUTHORS COPYING ChangeLog INSTALL README TODO; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index c052c24956417075b20b36c3e21038e1eb5e82e7..405e3b6d1d2f2f6d944e1f54cf5224ae7900981e 100644 (file)
@@ -1,2 +1,4 @@
-jack
-qt
+# Dependency list to qjackctl
+#
+# dependency [condition] [version]]
+jack                           
index 113f01a9ce048e1bae8ad9395e863d6050130380..a0bab82e3029417c829fda7ab2f1d760ef388a16 100755 (executable)
@@ -43,7 +43,7 @@ REPOS=${REPOS:=$TMP}
 PREFIX=${PREFIX:=/usr}
 PKG_WORK="$TMP/$SRC_NAME"
 CONF_OPTIONS=${CONF_OPTIONS:=}
-NUMJOBS=${NUMJOBS:=}
+NUMJOBS=${NUMJOBS:=-j3}
 
 # Set optmization flags based on $ARCH
 if [ "$ARCH" = "i386" ]; then
index ababd17498b2362d2c17ab398d9a8119a31e451e..c43ef3c9eb8c13bd89c130586ac43f2dc0d340d0 100755 (executable)
 #!/bin/bash
 #
-#  twolame.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  twolame.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  twolame.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  twolame.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for twolame
-# by rhatto at riseup.net
+# slackbuild for twolame, by Silvio Rhatto
+# requires:  
+# tested: twolame-0.3.12
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building twolame are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="twolame"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="twolame"
+PKG_NAME="twolame"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.3.10}
+SRC_VERSION=${VERSION:=0.3.12}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/twolame/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/twolame/$SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
-
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR 
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-       |-----handy-ruler-----------------------------------------------------|
+       |-----handy-ruler------------------------------------------------------|
 twolame: twolame
 twolame:
 twolame: TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on
@@ -114,18 +173,13 @@ twolame:
 twolame:
 twolame:
 twolame:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-for file in AUTHORS COPYING ChangeLog README TODO; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/media/tv/tvtime/tvtime.SlackBuild b/media/tv/tvtime/tvtime.SlackBuild
new file mode 100644 (file)
index 0000000..ffc8129
--- /dev/null
@@ -0,0 +1,143 @@
+#!/bin/bash
+#
+# SlackBuild for tvtime
+# http://ufpr.dl.sourceforge.net/sourceforge/tvtime/
+#
+# Author: Rudson R Alves
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="tvtime"
+PKG_NAME="tvtime"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.0.2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rra}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_SRC="$TMP/$SRC_NAME-$SRC_VERSION"
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mtune=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2"
+  LIBDIR="$PREFIX/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_SRC" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$SRC_VERSION.tar.gz"
+URL="http://ufpr.dl.sourceforge.net/sourceforge/tvtime/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$TMP"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+
+cd "$PKG_SRC"
+
+# Patch source
+if [ "$( gcc --version | head -1 | awk '{print $3}' | cut -c1-3 )" = "4.1" ]; then
+    if [ ! -e $SRC_DIR/tvtime-1.0.2-gcc41.patch ]; then
+       wget http://svn.pardus.org.tr/pardus/devel/applications/multimedia/tvtime/files/tvtime-1.0.2-gcc41.patch -P $SRC_DIR/ || exit $ERROR_WGET
+    fi
+    cd /tmp
+    patch -p0 -N -E < $SRC_DIR/tvtime-1.0.2-gcc41.patch
+    cd -
+fi
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" || exit $ERROR_CONF
+
+# Compile
+make -j2 || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS README AUTHORS INSTALL COPYING.LGPL ABOUT-NLS ChangeLog COPYING"
+mkdir -p "$PKG/$PREFIX/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+cp -a $DOCS "$PKG/$PREFIX/doc/$PKG_NAME-$PKG_VERSION"
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+      |-----handy-ruler------------------------------------------------------|
+tvtime: tvtime SlackBuild by rralves
+tvtime: 
+tvtime: tvtime is a high quality television application for use with
+tvtime: video capture cards on Linux systems. tvtime processes the
+tvtime: input from a capture card and displays it on a computer
+tvtime: monitor or projector.
+tvtime: 
+tvtime: 
+tvtime: 
+tvtime: 
+tvtime: 
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_SRC" "$PKG"
+fi
+
index 3c49add1035eaf81e6f56ae14228285c7f70f3a7..61980566112f43609d907acebfd025fd63176d11 100755 (executable)
 #!/bin/bash
 #
-#  cinelerra.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  cinelerra.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  cinelerra.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  cinelerra.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for cinelerra
-# by rafael at riseup.net
+# slackbuild for cinelerra, by Silvio Rhatto
+# requires: openexr libdv libx264 mjpegtools fftw liba52 lame libsndfile faac faad2 libraw1394 libiec61883 libavc1394 
+# tested: cinelerra-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building cinelerra are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="cinelerra"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="cinelerra"
+PKG_NAME="cinelerra"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=svn}
-BUILD=${BUILD:=1rd}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41;
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
-fi
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP=$TMP/$PACKAGE
-rm -rf $TMP
-mkdir -p $TMP
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename svn://svn.skolelinux.org/cinelerra/trunk/hvirtual`"
 
-if [ -d "$SRC_DIR/cinelerra" ]; then
-  cd $SRC_DIR/cinelerra
-  svn update || exit $ERROR_VCS 
-else 
-  cd $SRC_DIR 
-  svn checkout svn://svn.skolelinux.org/cinelerra/trunk/hvirtual || exit $EROR_VCS
-  mv hvirtual cinelerra
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout svn://svn.skolelinux.org/cinelerra/trunk/hvirtual $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
 fi
 
-cd $SRC_DIR/cinelerra
-VERSION=r"`svnversion cinelerra`"
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-# X.org 7.2 work-around!!! -- for slackware 12
-#if [ -f "$CWD/$PACKAGE.diff" ]; then
-#  patch -p0 < $CWD/$PACKAGE.diff || exit $ERROR_PATCH
-#fi
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
+# Configure
 if [ "$ARCH" == "i586" ] || [ "$ARCH" == "i686" ]; then
-  EXTRA_ACFLAGS=" --enable-mmx"
+  CONF_OPTIONS="$CONF_OPTIONS --enable-mmx"
 fi
 
 if [ "$HAVE_ALTIVEC" == "true" ]; then
-  EXTRA_ACFLAGS=" --enable-altivec"
+  CONF_OPTIONS="$CONF_OPTIONS --enable-altivec"
   if [ -f "$CWD/$PACKAGE-altivec.diff" ]; then
     patch -p0 < $CWD/$PACKAGE-altivec.diff || exit $ERROR_PATCH
   fi 
 fi
 
 ./autogen.sh || exit $ERROR_CONF
-./configure --prefix=/usr --libdir=$LIBDIR $EXTRA_ACFLAGS || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-         |-----handy-ruler-----------------------------------------------------|
+         |-----handy-ruler----------------------------------------------------|
 cinelerra: cinelerra (cinelerra is powerfull Non Linear Video Editor)
 cinelerra:
 cinelerra: Heroine Virtual Ltd. presents an advanced content creation system 
@@ -125,18 +191,13 @@ cinelerra: This version is the cv.cinelerra.org branch (in fact, a fork).
 cinelerra: 
 cinelerra: http://cv.cinelerra.org/
 cinelerra: 
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS README TODO;do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 649a19c4a0b0389f86354ad16aae0fe7939878da..8b10b8d6a0f001b337af7da86586a437ce038281 100644 (file)
@@ -1,17 +1,16 @@
-libogg
-libvorbis
-libtheora
-libtiff
-openexr
-libdv
-libx264
-mjpegtools
-fftw
-liba52
-lame
-libsndfile
-faac
-faad2
-libraw1394
-libiec61883
-libavc1394
+# Dependency list to cinelerra
+#
+# dependency [condition] [version]]
+openexr                                
+libdv                          
+libx264                                
+mjpegtools                             
+fftw                           
+liba52                         
+lame                           
+libsndfile                             
+faac                           
+faad2                          
+libraw1394                             
+libiec61883                            
+libavc1394                             
index be97fffb4bf3afc538be8804b3e61bf36da31d3c..ce947508665d2b7abe7d6d9583228a3498692ab9 100755 (executable)
 #!/bin/bash
 #
-#  dvgrab.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  dvgrab.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  dvgrab.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  dvgrab.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for dvgrab
-# by rafael at riseup.net
+# slackbuild for dvgrab, by Silvio Rhatto
+# requires: libraw1394 libavc1394 libiec61883 libdv 
+# tested: dvgrab-3.1
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building dvgrab are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="dvgrab"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="dvgrab"
+PKG_NAME="dvgrab"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=3.1}
-BUILD=${BUILD:=1rd}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=3.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--with-docdir=/usr/doc/$PKG_NAME-$VERSION"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://ufpr.dl.sourceforge.net/sourceforge/kino/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/kino/$SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
-
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR --with-docdir=/usr/doc/$PACKAGE-$VERSION
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-      |-----handy-ruler-----------------------------------------------------|
+      |-----handy-ruler-------------------------------------------------------|
 dvgrab: dvgrab (dvgrab is a ieee1394 dv grabber)
 dvgrab:
 dvgrab: Excellent command line audio and video DV grabber data via IEEE1394
@@ -113,18 +173,13 @@ dvgrab:
 dvgrab: 
 dvgrab: 
 dvgrab: 
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-for file in AUTHORS COPYING ChangeLog INSTALL NEWS README TODO;do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index b7947dd4b2640aaa0226138dbbb4609896990ede..b1d9c0dff61f88667ea83a8895586ce772762e6c 100644 (file)
@@ -1,4 +1,7 @@
-libraw1394
-libavc1394
-libiec61883
-libdv
+# Dependency list to dvgrab
+#
+# dependency [condition] [version]]
+libraw1394                             
+libavc1394                             
+libiec61883                            
+libdv                          
index d2877773e22ee8575bf64c9828217d594d245156..c21a8e1a0e697dca73bed084e2fd29d946005674 100755 (executable)
 #!/bin/bash
 #
-#  ffmpeg.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  ffmpeg.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  ffmpeg.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  ffmpeg.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for ffmpeg
-# by rhatto at riseup.net
+# slackbuild for ffmpeg, by Silvio Rhatto
+# requires: lame faac libx264 
+# tested: ffmpeg-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building ffmpeg are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="ffmpeg"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="ffmpeg"
+PKG_NAME="ffmpeg"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="$EXTRA_AC_FLAGS --enable-shared --enable-pthreads --enable-swscale --enable-x11grab --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libfaac --enable-libx264 --enable-postproc --enable-gpl"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="svn"
-PACKAGE_EXT=""
-SRC=""
-URL=""
-
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
-
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename svn://svn.mplayerhq.hu/ffmpeg/trunk`"
+
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
 else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
+  svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk $PACKAGE
-cd $PACKAGE
-# we need that to compile 05/01/2007 ffmpeg.... 
-# may be we should remove that in any future
-svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-export EXTRA_AC_FLAGS=""
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
+# Configure
 if [ "$ARCH" == "powerpc" ]; then
-  export EXTRA_AC_FLAGS="--disable-altivec"
+  EXTRA_AC_FLAGS="--disable-altivec"
 fi
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Lets make our package compatible with the ffmpeg debian package
+mkdir $PKG/usr/include/ffmpeg
+cp $PKG/usr/include/libavutil/* $PKG/usr/include/ffmpeg
+cp $PKG/usr/include/libavdevice/* $PKG/usr/include/ffmpeg
+cp $PKG/usr/include/libavformat/* $PKG/usr/include/ffmpeg
+cp $PKG/usr/include/libswscale/* $PKG/usr/include/ffmpeg
+cp $PKG/usr/include/libavcodec/* $PKG/usr/include/ffmpeg
+mkdir $PKG/usr/include/postproc
+cp $PKG/usr/include/libpostproc/* $PKG/usr/include/postproc
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="COPYING CREDITS Changelog MAINTAINERS README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-
-./configure --prefix=/usr --libdir=$LIBDIR $EXTRA_AC_FLAGS --enable-shared --enable-pthreads --enable-swscale --enable-x11grab --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libfaac --enable-libx264 --enable-postproc --enable-gpl
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-      |-----handy-ruler-----------------------------------------------------|
+      |-----handy-ruler-------------------------------------------------------|
 ffmpeg: ffmpeg (ffmpeg multimedia system)
 ffmpeg:
 ffmpeg: FFmpeg is a complete solution to record, convert and stream audio
@@ -120,18 +192,13 @@ ffmpeg:
 ffmpeg:
 ffmpeg:
 ffmpeg:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in COPYING CREDITS Changelog Doxyfile INSTALL MAINTAINERS README; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 33504221170f4c2adc7ea600f619d56066189e5b..54b5b619172de5f270f2f4d1bdcd4734c1fc7449 100644 (file)
@@ -1,3 +1,6 @@
-lame
-faac
-libx264
+# Dependency list to ffmpeg
+#
+# dependency [condition] [version]]
+lame                           
+faac                           
+libx264                                
index 9fd59855429c59a7f0cd3ad188beff389276102a..ceeaae532ceffbcf3f0195f17c2d38d1189d5f81 100755 (executable)
 #!/bin/bash
 #
-#  ffmpeg2theora.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  ffmpeg2theora.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  ffmpeg2theora.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  ffmpeg2theora.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for ffmpeg2theora
-# by rhatto at riseup.net
+# slackbuild for ffmpeg2theora, by Silvio Rhatto
+# requires: ffmpeg 
+# tested: ffmpeg2theora-0.21
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building ffmpeg2theora are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="ffmpeg2theora"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="ffmpeg2theora"
+PKG_NAME="ffmpeg2theora"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.20}
+SRC_VERSION=${VERSION:=0.21}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="bz2"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://www.v2v.cc/~j/ffmpeg2theora/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://v2v.cc/~j/ffmpeg2theora/$SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
-
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-./configure --prefix=/usr --libdir=$LIBDIR 
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-            |-----handy-ruler-----------------------------------------------------|
+             |-----handy-ruler------------------------------------------------|
 ffmpeg2theora: ffmpeg2theora
 ffmpeg2theora:
 ffmpeg2theora: A simple converter to create Ogg Theora files.
@@ -114,18 +173,13 @@ ffmpeg2theora:
 ffmpeg2theora:
 ffmpeg2theora:
 ffmpeg2theora:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-for file in AUTHORS COPYING ChangeLog INSTALL NEWS README TODO; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 20645e641240cb419f5fc66c14c1447e91daf669..bddca68a8ef692d032913bfa5a56143f308c196b 100644 (file)
@@ -1 +1,4 @@
-ffmpeg
+# Dependency list to ffmpeg2theora
+#
+# dependency [condition] [version]]
+ffmpeg                         
index 03393d5d47cd4eec503c33f3377e54129cebc46e..973b7ea11786a5727f4606709269b0b7f9ea49ce 100755 (executable)
 #!/bin/bash
 #
-#  kino.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  kino.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  kino.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  kino.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for kino
-# by rafael at riseup.net
+# slackbuild for kino, by Silvio Rhatto
+# requires: libsamplerate libraw1394 libavc1394 libdv libiec61883 libquicktime 
+# tested: kino-1.3.0
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building kino are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="kino"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="kino"
+PKG_NAME="kino"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.2.0}
-BUILD=${BUILD:=1rd}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=1.3.0}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--enable-quicktime --sysconfdir=/etc --with-docdir=/usr/doc/$PACKAGE-$VERSION"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://ufpr.dl.sourceforge.net/sourceforge/kino/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/kino/$SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
-
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p0 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-# options --with-libdv and --with-libdv-only is used because of incompatibilities of kino 0.9.5 with latest ffmpeg....
-#./configure --prefix=/usr --enable-quicktime --with-libdv --with-libdv-only --sysconfdir=/etc --libdir=$LIBDIR --with-docdir=/usr/doc/$PACKAGE-$VERSION
-./configure --prefix=/usr --enable-quicktime --sysconfdir=/etc --libdir=$LIBDIR --with-docdir=/usr/doc/$PACKAGE-$VERSION
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="ABOUT-NLS BUGS AUTHORS COPYING ChangeLog INSTALL NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-    |-----handy-ruler-----------------------------------------------------|
+    |-----handy-ruler---------------------------------------------------------|
 kino: kino (Kino is a non-linear DV editor for GNU/Linux)
 kino:
 kino: Kino is a non-linear DV editor for GNU/Linux. It features excellent 
@@ -115,18 +173,13 @@ kino:
 kino: 
 kino: http://www.kinodv.org/
 kino: 
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-for file in ABOUT-NLS BUGS AUTHORS COPYING ChangeLog INSTALL NEWS README TODO;do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 06d0c7f9055e43b2c294be06af429bb9789c1927..3fc6c61a1d0681d640c28324745400f92c6930ff 100644 (file)
@@ -1,6 +1,9 @@
-libsamplerate
-libraw1394
-libavc1394
-libdv
-libiec61883
-libquicktime
+# Dependency list to kino
+#
+# dependency [condition] [version]]
+libsamplerate                          
+libraw1394                             
+libavc1394                             
+libdv                          
+libiec61883                            
+libquicktime                           
index fa94dd45676954da20379ccf6bced3541a68cd21..16aafc44198d3dfb1e6cf10a35cbaa10e80de2bf 100755 (executable)
 #!/bin/bash
 #
-#  mjpegtools.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  mjpegtools.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  mjpegtools.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  mjpegtools.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for mjpegtools
-# by rafael at riseup.net
+# slackbuild for mjpegtools, by Silvio Rhatto
+# requires: libdv libquicktime 
+# tested: mjpegtools-1.9.0rc3
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building mjpegtools are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="mjpegtools"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="mjpegtools"
+PKG_NAME="mjpegtools"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.9.0rc3}
-BUILD=${BUILD:=1rd}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=1.9.0rc3}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--with-docdir=/usr/doc/$PKG_NAME-$VERSION"}
+NUMJOBS=${NUMJOBS:=""}
 
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
-fi
-
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://ufpr.dl.sourceforge.net/sourceforge/mjpeg/$SRC"
-
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
+if [ "$ARCH" == "i386" ] || [ "$ARCH" == "i486" ]; then
+  CONF_OPTIONS="$CONF_OPTIONS --disable-simd-accel"
 fi
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$ARCH" == "powerpc" ] && [ "$HAVE_ALTIVEC" != "true" ] && [ "$VERSION" == "1.8.0" ] ; then
-  patch -p0 < $CWD/$PACKAGE-$VERSION-powerpc.diff
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-RERUN_AUTOCONF="no"
-if [ "$ARCH" == "x86_64" ] && [ "$VERSION" == "1.9.0rc2" ]; then
-  patch -p0 < $CWD/$PACKAGE-$VERSION-x86_64.diff
-  RERUN_AUTOCONF="yes"
-fi
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/mjpeg/$SRC"
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p0 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-EXTRA_AC_OPTIONS=""
-
-if [ "$ARCH" == "i386" ] || [ "$ARCH" == "i486" ]; then
-  EXTRA_AC_OPTIONS=" --disable-simd-accel"
-fi
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ "$RERUN_AUTOCONF" == "yes" ]; then
-  autoreconf -f -i
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR --with-docdir=/usr/doc/$PACKAGE-$VERSION $EXTRA_AC_OPTIONS
-
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+autoreconf -vif 
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS BUGS CHANGES COPYING ChangeLog INSTALL NEWS PLANS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-          |-----handy-ruler-----------------------------------------------------|
+          |-----handy-ruler---------------------------------------------------|
 mjpegtools: mjpegtools (mjpegtools is a set of softwares for MPEG A/V)
 mjpegtools:
 mjpegtools: The mjpeg programs are a set of tools that can do recording of videos
@@ -134,18 +178,13 @@ mjpegtools:
 mjpegtools:
 mjpegtools: http://mjpeg.sourceforge.net/
 mjpegtools: 
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in AUTHORS BUGS CHANGES COPYING ChangeLog INSTALL NEWS PLANS README TODO;do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index cd1ee77b1ce8196e8941995e13b6c169fe74c396..8a2c6399c0caeffbcc4d8d37bd06d09e9e916308 100644 (file)
@@ -1,2 +1,5 @@
-libdv
-libquicktime
+# Dependency list to mjpegtools
+#
+# dependency [condition] [version]]
+libdv                          
+libquicktime                           
index 832e6112c93d96d56695caf3c85c59fcafb6e746..7f5feaa3e06c3b391dbbc0b89408666dcda25ba2 100755 (executable)
 #!/bin/bash
 #
-#  MPlayer.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  MPlayer.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  MPlayer.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  MPlayer.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for MPlayer
-# by rhatto at riseup.net
+# slackbuild for MPlayer, by Silvio Rhatto
+# requires: speex jack libx264 faac faad2 
+# tested: MPlayer-1.0rc2
 #
-# Modified: Alexandre aka xdoctor
-# Date: 11/03/2007
-# Acrescimo do download de Skin e instalação
-
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building MPlayer are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
 
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default package settings
-PACKAGE="MPlayer"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="MPlayer"
+PKG_NAME="MPlayer"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.0rc2}
-BUILD=${BUILD:=2rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=1.0rc2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--disable-ivtv --confdir=/etc --language=pt_BR --enable-largefiles --enable-gui --enable-real"}
+NUMJOBS=${NUMJOBS:=""}
 
-# default skin settings
-SKIN="Blue"
-VERSION_SKIN="1.7"
-SKIN_EXT="bz2"
-PACKAGE_SKIN=${PACKAGE_SKIN:=$SKIN-$VERSION_SKIN.tar.$SKIN_EXT}
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
 
-# -------  error codes for createpkg  --------------
-ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
-ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
-ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+if [ "$ARCH" == "i586" ] || [ "$ARCH" == "i686" ]; then
+  CONF_OPTIONS="$CONF_OPTIONS --enable-qtx"
+fi
 
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# URL do MPlayer
-RTOOL="wget"
-PACKAGE_EXT="bz2"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://www1.mplayerhq.hu/MPlayer/releases/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-# URL do Skin do MPlayer
-URL_SKIN="http://www.mplayerhq.hu/MPlayer/skins/$SKIN-$VERSION_SKIN.tar.$SKIN_EXT"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-# Download do MPlayer
-if [ "$RTOOL" == "wget" ]; then
- if [ ! -f "$SRC_DIR/$SRC" ]; then
-   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
- fi
-fi
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://www1.mplayerhq.hu/MPlayer/releases/$SRC"
 
-# Download do Skin
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$PACKAGE_SKIN" ]; then
-  wget "$URL_SKIN" -O "$SRC_DIR/$PACKAGE_SKIN" || exit 
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
-
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p0 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
-fi
+# Download skin
+SKIN="Blue"
+SKIN_VERSION="1.7"
+SKIN_EXT="bz2"
+SKIN_SRC=${PACKAGE_SKIN:=$SKIN-$SKIN_VERSION.tar.$SKIN_EXT}
+SKIN_URL="http://www.mplayerhq.hu/MPlayer/skins/$SKIN_SRC"
 
-if [ "$ARCH" == "i586" ] || [ "$ARCH" == "i686" ]; then
-  EXTRA_ARGS=" --enable-qtx"
+if [ ! -s "$SRC_DIR/$SKIN_SRC" ] || ! bunzip2 -t "$SRC_DIR/$SKIN_SRC" 2> /dev/null; then
+  wget "$SKIN_URL" -O "$SRC_DIR/$SKIN_SRC" || exit $ERROR_WGET
 fi
 
-# add --enable-runtime-cpudetection for package creation!
-# removing ivtv as for slack 12.1 it`s not compiling
-./configure --disable-ivtv --prefix=/usr --libdir=$LIBDIR --confdir=/etc --language=pt_BR --enable-largefiles --enable-gui --enable-real $EXTRA_ARGS || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-echo "$TMP/package-$PACKAGE/$PACKAGE"
-make DESTDIR=$TMP/package-$PACKAGE/$PACKAGE install || exit $ERROR_INSTALL
-
-CWD="`pwd`"
-echo $CWD
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE/$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Skin installation
+SKIN_DIR=${SKIN_DIR:=$PKG/usr/share/mplayer/skins}
+mkdir -p $SKIN_DIR
+tar jxvf $SRC_DIR/$SKIN_SRC -C $SKIN_DIR
+mv $SKIN_DIR/$SKIN $SKIN_DIR/default
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS ChangeLog Copyright DOCS LICENSE README TOOLS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-       |-----handy-ruler-----------------------------------------------------|
+       |-----handy-ruler------------------------------------------------------|
 MPlayer: MPlayer (A Movie Player)
 MPlayer:
 MPlayer: MPlayer is a movie and animation player that supports a wide range
@@ -142,27 +194,13 @@ MPlayer: and Win32 codec DLLs. It has basic VCD/DVD playback functionality,
 MPlayer: including DVD subtitles, but supports many text-based subtitle formats
 MPlayer: too. For video output, nearly every existing interface is supported.
 MPlayer: 
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in AUTHORS ChangeLog Copyright DOCS LICENSE README TOOLS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-# Extracao e criacao da pasta para Skin
-# criacao do diretorio
-SKIN_DIR=${SKIN_DIR:=$TMP/package-$PACKAGE/$PACKAGE/usr/share/mplayer/skins}
-mkdir -p usr/share/mplayer/skins
-cd $SKIN_DIR
-tar jxvf $SRC_DIR/$PACKAGE_SKIN
-mv $SKIN default
-cd $TMP/package-$PACKAGE/$PACKAGE
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 30e2fe842cd0c1c67e32678d8f2cb74ea52f29e2..102254b83672f4958916c471b7f68224e781d3a4 100644 (file)
@@ -1,14 +1,8 @@
-libmad
-esound
-glib
-libogg
-libvorbis
-libungif
-arts
-audiofile
-sdl
-cdparanoia
-libtheora
-speex
-jack
-libx264
+# Dependency list to MPlayer
+#
+# dependency [condition] [version]]
+speex                          
+jack                           
+libx264                                
+faac                           
+faad2                          
index 912d2ace9ccd9d22a253bf4e15397a6a4f061f6b..9c46c7f64defef4277d8aee94318a882fad64b60 100755 (executable)
 #!/bin/bash
 #
-#  oggfwd.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  oggfwd.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  oggfwd.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  oggfwd.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for oggfwd
-# by rafael at riseup.net
+# slackbuild for oggfwd, by Silvio Rhatto
+# requires: speex libshout 
+# tested: oggfwd-0.2
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building oggfwd are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="oggfwd"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="oggfwd"
+PKG_NAME="oggfwd"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.2}
-BUILD=${BUILD:=1rd}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=0.2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://v2v.cc/~j/oggfwd/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://juba.tvlivre.org/$SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
-
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p0 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np0 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np0 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np0 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np0 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np0 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np0 || exit $ERROR_PATCH
+    else
+      patch -Np0 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="ChangeLog README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-      |-----handy-ruler-----------------------------------------------------|
+      |-----handy-ruler-------------------------------------------------------|
 oggfwd: OggFWD (a simple ogg streamer)
 oggfwd:
 oggfwd: A simple ogg streamer (to icecast compatible servers), very useful 
@@ -113,18 +167,13 @@ oggfwd:
 oggfwd:
 oggfwd: http://v2v.cc/~j/oggfwd/
 oggfwd:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-for file in ChangeLog README; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index fe98230d16e48f19f100a3f0b491d854be83d812..b096d477e654ff96fa9c77089e2aeb4dc933c2a7 100644 (file)
@@ -1,2 +1,5 @@
-speex
-libshout
+# Dependency list to oggfwd
+#
+# dependency [condition] [version]]
+speex                          
+libshout                               
index 9c53a7b6c6e2f0aac971564f5d49d5afba5c53a3..2523d4dedc23e5664ccd38e3b39cb4a6a65848ed 100644 (file)
@@ -1,3 +1,6 @@
-dvgrab
-ffmpeg2theora
-oggfwd
+# Dependency list to theorur
+#
+# dependency [condition] [version]]
+dvgrab                         
+ffmpeg2theora                          
+oggfwd                         
index f2431b4d2f5d03e8c69b591249899f0998abd719..fb21cb16c242f8c084751c209652268d6a51907a 100755 (executable)
 #!/bin/bash
 #
-#  theorur.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  theorur.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  theorur.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  theorur.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for theorur
-# by rafael at riseup.net
+# slackbuild for theorur, by Silvio Rhatto
+# requires: dvgrab ffmpeg2theora oggfwd 
+# tested: theorur-0.5.3
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building theorur are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="theorur"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="theorur"
+PKG_NAME="theorur"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.5.3}
-BUILD=${BUILD:=1rd}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=0.5.3}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://theorur.tvlivre.org/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://theorur.tvlivre.org/$SRC"
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
-fi
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR 
-make || exit 32
-strip darksnow
+# Install
+strip theorur
 make make_pkg
 
-mv *-1rd.tgz $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+mv *-1rd.tgz $REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/media/video/ucview/slack-required b/media/video/ucview/slack-required
new file mode 100644 (file)
index 0000000..481322f
--- /dev/null
@@ -0,0 +1,3 @@
+unicap
+GConf
+dbus
diff --git a/media/video/ucview/ucview.SlackBuild b/media/video/ucview/ucview.SlackBuild
new file mode 100755 (executable)
index 0000000..3b938e3
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  ucview.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  ucview.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for ucview, by Rafael Diniz
+# requires:  
+# tested: ucview-0.20.1
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="ucview"
+PKG_NAME="ucview"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.20.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j3"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://unicap-imaging.org/downloads/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+      |-----handy-ruler-------------------------------------------------------|
+ucview: ucview (video capture program)
+ucview:
+ucview: UCView is a video capture and display program 
+ucview: based on the unicap video imaging library. 
+ucview: 
+ucview:
+ucview:
+ucview:
+ucview:
+ucview: http://unicap-imaging.org/ucview.htm
+ucview:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index 354e851e13bfbd9dc0e0e992fc4a045d05cd46a9..55260c439213ac3a7a68e295f42453d88fb76441 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for vlc, by Silvio Rhatto
 # requires: jack libraw1394 libdc1394 mpeg2dec liba52 faac lame wxWidgets libshout ffmpeg 
-# tested: vlc-0.8.6f
+# tested: vlc-0.8.6i
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="vlc"
 PKG_NAME="vlc"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=0.8.6f}
+SRC_VERSION=${VERSION:=0.8.6i}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -57,6 +57,7 @@ elif [ "$ARCH" = "s390" ]; then
 elif [ "$ARCH" = "x86_64" ]; then
   SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -77,7 +78,7 @@ mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
 # Dowload source if necessary
 SRC="$SRC_NAME-$VERSION.tar.gz"
-URL="http://download.videolan.org/pub/videolan/vlc/0.8.6f/$SRC"
+URL="http://download.videolan.org/pub/videolan/vlc/0.8.6i/$SRC"
 
 if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
@@ -86,7 +87,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -122,9 +123,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index ccb7da5a60fbe734bf9918a7451d1262f637f4ab..7ec8a42f681b3d89ac926be0b6de29901eb20389 100755 (executable)
@@ -15,7 +15,8 @@
 #  Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
 #  MA 02111-1307, USA
 #
-# SlackBuild for Nagios Plugins (http://nagiosplugins.org/)
+# SlackBuild for Nagios Plugins
+# http://nagiosplugins.org/
 #
 # Author: Luis ( luis at riseup d0t net )
 #
@@ -32,7 +33,7 @@ CWD="$(pwd)"
 SRC_NAME="nagios-plugins"
 PKG_NAME="nagios-plugins"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=1.4.11}
+SRC_VERSION=${VERSION:=1.4.12}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1ls}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
index 6a6f00e0784520c99fe33183114a5e0ed90ff661..46b9c5a4afc408fa5d30e861669a92f5b1cec0ac 100755 (executable)
@@ -15,7 +15,8 @@
 #  Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
 #  MA 02111-1307, USA
 #
-# SlackBuild for Nagios (http://www.nagios.org/)
+# SlackBuild for Nagios
+# http://www.nagios.org/
 #
 # Author: Luis ( luis at riseup d0t net )
 #
@@ -32,7 +33,7 @@ CWD="$(pwd)"
 SRC_NAME="nagios"
 PKG_NAME="nagios"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=2.11}
+SRC_VERSION=${VERSION:=3.0.3}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1ls}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -103,9 +104,17 @@ make install-commandmode DESTDIR="$PKG" || exit $ERROR_INSTALL
 make install-config DESTDIR="$PKG" || exit $ERROR_INSTALL
 mv "$PKG/etc/rc.d/init.d/nagios" "$PKG/etc/rc.d/rc.nagios.new"
 rmdir "$PKG/etc/rc.d/init.d"
-for file in $(ls -1 "$PKG/$PREFIX"/etc/*); do
-  mv "$file" "$file".new
-done
+( cd "$PKG/$PREFIX"/etc
+  for file in $(ls -1); do
+    if [ -f "$file" ]; then
+      mv "$file" "$file".new
+    fi
+  done
+  cd objects
+  for file in $(ls -1); do
+    mv "$file" "$file".new
+  done
+)
 
 # Strip binaries
 ( cd "$PKG"
index 478680d5167201cefb387b07530fb6e142717b66..a4f3f3eb646e2264f389055ad9cb933aad5d857d 100755 (executable)
@@ -43,7 +43,7 @@ REPOS=${REPOS:=$TMP}
 PREFIX=${PREFIX:=/usr}
 PKG_WORK="$TMP/$SRC_NAME"
 CONF_OPTIONS=${CONF_OPTIONS:=}
-NUMJOBS=${NUMJOBS:=-j3}
+NUMJOBS=${NUMJOBS:=}
 
 # Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
diff --git a/net/im/bitlbee/bitlbee-1.2.1-x86_64.diff b/net/im/bitlbee/bitlbee-1.2.1-x86_64.diff
new file mode 100644 (file)
index 0000000..ce2dcb5
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Naur bitlbee-1.2.1.orig/configure bitlbee-1.2.1/configure
+--- bitlbee-1.2.1.orig/configure       2008-06-09 20:09:06.000000000 -0300
++++ bitlbee-1.2.1/configure    2008-07-15 12:40:40.000000000 -0300
+@@ -340,7 +340,7 @@
+ echo 'SSL_CLIENT=ssl_'$ssl'.o' >> Makefile.settings
+-for i in /lib /usr/lib /usr/local/lib; do
++for i in /lib64 /usr/lib64 /usr/local/lib64 /lib /usr/lib /usr/local/lib; do
+       if [ -f $i/libresolv.a ]; then
+               echo '#define HAVE_RESOLV_A' >> config.h
+               echo 'EFLAGS+='$i'/libresolv.a' >> Makefile.settings
index b95db5157fac49271227b62d606b8f3fda201b75..66c52acf4cb8180ba42ff567396399de3f89b65a 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for bitlbee, by Silvio Rhatto
 # requires: gnutls 
-# tested: bitlbee-1.2
+# tested: bitlbee-1.2.1
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="bitlbee"
 PKG_NAME="bitlbee"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=1.2}
+SRC_VERSION=${VERSION:=1.2.1}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -87,9 +87,41 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
+
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
+
 # Configure
 CFLAGS="$SLKCFLAGS" \
   CXXFLAGS="$SLKCFLAGS" \
@@ -123,9 +155,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
@@ -168,7 +200,7 @@ mkgroup() {
   if ! grep -qe "^\$GROUP:" etc/group; then
     echo Creating group \$GROUP...
     chroot . /usr/sbin/groupadd \$GROUP
-  fi 
+  fi
 }
 
 mkuser() {
index c5f8abe0bc50ecf44f2db63201eb27a53bb46054..300296cdddd250b6b254284e2974fc0439291ada 100755 (executable)
 #!/bin/bash
 #
-#  feast.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  feast.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  feast.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  feast.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for feast
-# by rhatto at riseup.net
+# slackbuild for feast, by Silvio Rhatto
+# requires: libiconv silc-toolkit 
+# tested: feast-03b
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building feast are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="feast"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="feast"
+PKG_NAME="feast"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=03b}
+SRC_VERSION=${VERSION:=03b}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="tgz"
-SRC="$PACKAGE"_"$VERSION.$PACKAGE_EXT"
-URL="http://www.hick.org/~raffi/download/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Dowload source if necessary
+SRC="$SRC_NAME"_"$VERSION.tgz"
+URL="http://www.hick.org/~raffi/download/$SRC"
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd "$PACKAGE"_"$VERSION"
-
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
-fi
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
 
+# Compile
 if [ "$ARC" == "x86_64" ]; then
   sed -e 's/\/usr\/lib/\/usr\/lib64/' Makefile > Makefile.tmp
   mv Makefile.tmp Makefile
 fi
+make $NUMJOBS || exit $ERROR_MAKE
 
-make || exit $ERROR_MAKE
-
-CWD="`pwd`"
-
-mkdir -p $TMP/package-$PACKAGE
-cd $TMP/package-$PACKAGE
-
+# Install
+strip feast
 mkdir -p usr/bin
 cp $CWD/feast usr/bin
 
 mkdir -p etc/feast
 cp $CWD/feast.conf etc/feast.conf.new
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Install documentation
+DOCS="license.txt readme.txt"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-     |-----handy-ruler-----------------------------------------------------|
+     |-----handy-ruler--------------------------------------------------------|
 feast: feast (silc to irc translator)
 feast:
 feast: SILC stands for Secure Internet Live Conferencing.
@@ -124,23 +136,55 @@ feast:
 feast:
 feast:
 feast:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-DOCS="license.txt readme.txt"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
+EODESC
+
+# Add a post-installation script (doinst.sh)
+cat << EOSCRIPT > "$PKG/install/doinst.sh"
+config() {
+  NEW="\$1"
+  OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
+  OLD="\$(dirname \$NEW)/\$(basename \$OLD .sample)"
+  OLD="\$(dirname \$NEW)/\$(basename \$OLD .dist)"
+
+  # If there's no config file by that name, mv it over:
+  if [ ! -r \$OLD ]; then
+    mv \$NEW \$OLD
+  elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
+    # toss the redundant copy
+    rm \$NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+mkgroup() {
+  GROUP="\$1"
+  if ! grep -qe "^\$GROUP:" etc/group; then
+    echo Creating group \$GROUP...
+    chroot . /usr/sbin/groupadd \$GROUP
+  fi
+}
+
+mkuser() {
+  USER="\$1"
+  if [ ! -z "\$2" ]; then
+    GROUP="\$2"
+  else
+    GROUP="\$USER"
+  fi
+  if ! grep -qe "^\$USER:" etc/passwd; then
+    echo Creating user \$USER...
+    chroot . /usr/sbin/useradd \$USER -g \$GROUP
+  fi
+}
 
-# install script
-echo '( if [ ! -f "etc/feast.conf" ]; then mv etc/feast.conf.new etc/feast.conf; fi )' > install/doinst.sh
+config etc/feast.conf.new
+EOSCRIPT
 
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index a22b636abcbb25ee4dbf6060c51fec1be83cb166..948dca1872b67a3e5c29b3d1b3e639cebc9ebe80 100644 (file)
@@ -1,2 +1,5 @@
-libiconv
-silc-toolkit
+# Dependency list to feast
+#
+# dependency [condition] [version]]
+libiconv                               
+silc-toolkit                           
diff --git a/net/im/pidgin/pidgin.SlackBuild b/net/im/pidgin/pidgin.SlackBuild
new file mode 100644 (file)
index 0000000..d030db2
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  pidgin.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  pidgin.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for pidgin, by Rudson R. Alves
+# requires:  
+# tested: pidgin-2.4.3
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="pidgin"
+PKG_NAME="pidgin"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.4.3}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rra}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--disable-gtkspell --disable-gstreamer --disable-meanwhile --disable-avahi"}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://downloads.sourceforge.net/pidgin/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING COPYRIGHT ChangeLog ChangeLog.API ChangeLog.win32 HACKING INSTALL PLUGIN_HOWTO README README.MTN README.mingw NEWS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+      |-----handy-ruler-------------------------------------------------------|
+pidgin: pidgin by Slack.Sarava
+pidgin:
+pidgin: Pidgin is a multi-protocol Instant Messaging client that
+pidgin: allows you to use all of your IM accounts at once.
+pidgin:
+pidgin: Pidgin is free software. It is licensed under the GNU
+pidgin: General Public License (GPL) version 2.
+pidgin:
+pidgin:
+pidgin:
+pidgin:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index 1d7072169142c00df1858aa531be9d635e131e3f..3fd81069eb0aa32d3e6c3ec0681b906427410228 100755 (executable)
@@ -39,7 +39,7 @@ fi
 # default settings
 PACKAGE="libsoup"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=2.2.98}
+VERSION=${VERSION:=2.4.1}
 BUILD=${BUILD:=1rha}
 SRC_DIR=${SRC:=$CWD}
 TMP=${TMP:=/tmp}
@@ -60,8 +60,8 @@ ERROR_PATCH=40
 
 RTOOL="wget"
 PACKAGE_EXT="gz"
-SRC="$PACKAGE"_"$VERSION.orig.tar.$PACKAGE_EXT"
-URL="http://ftp.debian.org/debian/pool/main/libs/libsoup/$SRC"
+SRC=$PACKAGE-$VERSION.tar.$PACKAGE_EXT
+URL="http://ftp.acc.umu.se/pub/gnome/sources/libsoup/2.4/$SRC"
 
 SRC_DIR="$SRC_DIR/$PACKAGE"
 mkdir -p $SRC_DIR
diff --git a/net/libs/libsoup/slack-required b/net/libs/libsoup/slack-required
new file mode 100644 (file)
index 0000000..db5ab1b
--- /dev/null
@@ -0,0 +1 @@
+glib2 >= 2.15.3
index cfc7f69bb6072b89e20bc26da107bea341189a54..3d893452d9506abeb55b2ab48ac624dfaa50194e 100755 (executable)
 #!/bin/bash
 #
-#  bogofilter.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  bogofilter.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  bogofilter.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  bogofilter.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for bogofilter
-# by rhatto at riseup.net
+# slackbuild for bogofilter, by Rudson R. Alves
+# requires: sqlite 
+# tested: bogofilter-1.1.7
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building bogofilter are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="bogofilter"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="bogofilter"
+PKG_NAME="bogofilter"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.1.1}
-BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=1.1.7}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/bogofilter/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
-
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://downloads.sourceforge.net/bogofilter/$SRC"
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR 
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING GETTING.STARTED INSTALL NEWS NEWS.0 README README.svn RELEASE.NOTES TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-          |-----handy-ruler-----------------------------------------------------|
+          |-----handy-ruler---------------------------------------------------|
 bogofilter: bogofilter (bayesian spam filter)
 bogofilter:
 bogofilter: Bogofilter is a mail filter that classifies mail as spam or ham
@@ -114,18 +141,13 @@ bogofilter:
 bogofilter:
 bogofilter:
 bogofilter:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-for file in AUTHORS COPYING Doxyfile GETTING.STARTED INSTALL NEWS* README README.cvs RELEASE.NOTES TODO; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/net/mail-filter/bogofilter/slack-required b/net/mail-filter/bogofilter/slack-required
new file mode 100644 (file)
index 0000000..32a3aea
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to bogofilter
+#
+# dependency [condition] [version]]
+sqlite                         
index 97e78cc3182732ee5bb87dd2f6c07798e9517d5c..2aa850aec2990421eb74fc0b2f0c587f977b5404 100755 (executable)
 #!/bin/bash
 #
-#  mairix.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  mairix.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  mairix.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  mairix.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for mairix
-# by rhatto at riseup.net
+# slackbuild for mairix, by Silvio Rhatto
+# requires:  
+# tested: mairix-0.21
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building mairix are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="mairix"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="mairix"
+PKG_NAME="mairix"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.19}
+SRC_VERSION=${VERSION:=0.21}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
-
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/mairix/$SRC"
-SIG="$PACKAGE-$VERSION-tar-gz-asc.txt"
-SIG_URL="http://www.rpcurnow.force9.co.uk/mairix/$SIG"
-
-gpg --import << EOF
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.2.3 (GNU/Linux)
-
-mQGiBDls5WERBADcHuihXLXH2eOkQVgzl/M7UJuVN9fz8lcbmKYZX7zeaDF8tgR+
-PwmL3khiQZj0sxvPlUOCOfWXwegcGGzoztgB+j+E8Y+buDbGP9bcv4n/CFZ5/3RU
-QpPTwAzUx9VnPWvPxamabCHb9F+6BWo0piHafWDSKEaN1AllvAU+9zRfjwCgzRfF
-EdAcWmJWgZfjIapK1+Wq0g0D/jSymdlmiKo1fiLuXsvJAqDYidlGWaveEBwq8twM
-qpQ1mXxlFatA5Oi1S0ZS0TC5cNfyBYv4s5OxRRVBe2v4iM01XP4JaYR2Gx5VAjkw
-9ZYp6M9BWU0TDImZuY0teM9614EIFyFznvegS6VNFAk7vGPbu3+sPW9dfK/NCsOa
-IigzBADaKGH+epArnAev+TmfmrROdDJrrGkkzA8PzZQM+9VVYcqpfkpcuFKz8vFr
-E2RiqzjBpI6P899j7B6+UktryCy3Ha1fNtEd1hltwVKGvkqCC8TFcwv8J1mBNg7b
-iprjY596UTgZfd8lTTBL4VrNTBz9ewigPtaT3GZmkkkgdraHCrQhUmljaGFyZCBQ
-LiBDdXJub3cgPHJjQHJjMC5vcmcudWs+iGIEExECABoFCwcKAwQDFQMCAxYCAQIX
-gAIZAQUCPPK+SAASB2VHUEcAAQEJECAJ33qn0z3sNssAoKmPpIwNcZo5sUZVwEuz
-s8YaIvjQAKCRVY2zOqpDtu/WodLBxLyQ8nLwFNHHPcc7ARAAAQEAAAAAAAAAAAAA
-AAD/2P/gABBKRklGAAEBAQBIAEgAAP/+AC9SaWNoYXJkIFBldGVyIEN1cm5vdywg
-dGFrZW4gaW4gU2VwdGVtYmVyIDE5OTb/2wBDAA4KCw0LCQ4NDA0QDw4RFiQXFhQU
-FiwgIRokNC43NjMuMjI6QVNGOj1OPjIySGJJTlZYXV5dOEVmbWVabFNbXVn/2wBD
-AQ8QEBYTFioXFypZOzI7WVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZ
-WVlZWVlZWVlZWVlZWVlZWVn/wAARCACMAEkDASIAAhEBAxEB/8QAGwAAAQUBAQAA
-AAAAAAAAAAAABAECAwUGAAf/xAA2EAACAQMDAQYEAwcFAAAAAAABAgMABBESITEF
-BhNBUWFxFCIygUKRoSNSU5Kx4fAzQ4LR8f/EABgBAAMBAQAAAAAAAAAAAAAAAAAB
-AgME/8QAHREBAQADAQEBAQEAAAAAAAAAAAECESExQQMSIv/aAAwDAQACEQMRAD8A
-SCMxAFjl8c+XtU3ev5/pUcCpDbIpcEAfUTzThJEdhIh9iK5b665rRTM43Bz6Uxbk
-SZUMM+Kkb08AZ+1DXsMLrrZ+7deH4IogquvLCTmICRP3TyPY0AkeiQb48CrbEVZQ
-dTCMY7ghscOo5pbm6s54mGRrA+UleDWktnxjZjfACszBYo1CM/4vE1bWkEdqmAoZ
-zyxqsS3+IjYxt86kkevpRnT7sS/spf8AUHBPj/ejLeuD89fVdcJiWRcYwTihsVb3
-kANySOGGaF+Fb90flVy8Z5cujNaRAd5+2ccLn5RT+/WcKs8+hfBUXAFMtLGW6bbK
-p50Xe2kFlbAKA0r7Zaldb0uS62HNzJA5EM7uuNt+KikkkmOZXJPrUYBOwzn0FGRW
-FxIusxNpPjiq1IXaCY42GNqYWzyKKurYxMQRjHh40IQR4U02WJIZnhkDocEeFTzu
-shFxHhT+IDwPnQeDT4n7ttxlTsRRZ9EvxbG4E9ss2wZDhhTe+oK3lEEpD7xuMEen
-nSf8qmTR5f661CKsSBEACjgCqPrMhN0F8ANqv8Zqv6x0wiNrkuQy4BXGxrLD3bfO
-c4E6NbGWUyEDA2rYQIEQVnejtotyqqe8UZK4/WryNLxodUbRqwGdLKd/vV3tGPIZ
-edLt7oliulz+IVWN2cXJJYEDjFXlnM7grdRCJ84+ob0S8fOGGKOnysfcdGMMZKrt
-jJJqklgKGvQZQvDMpHFZrtCiIqFABvjAFPG3ac8ZZtTrD3lozjdozv7UNt5mpYZ2
-il1Dg7EeBpdUfkarrC6acyFPmxnG9G9VSOTp+QSSxGfvVfIyvC2kjdciuXqEV3YJ
-FuJlYB9ueaxxdVoy1hTRE2n5uM+lEXVrdSAfDy6GB/SksBrgUEferNI2x4n22qoK
-FkOhMOxYgj6ua55knuFQxgqRvvuaiud59HlwKiI7u7RjnBGNvCjfT/ngKeKymmcW
-0ksRBxjJIzVD1OWSQmORsmM1rLiGJASkarvk4FZK8Z/ipTwJDgA7ZAqpd1nnyBYG
-jMTRyDc7g+RrtD/umppUiOghCjDGSCCDRmhP4kn8hp7ZaQCb5EBydKkUR02M6GcD
-l/6f+1XL87Kq5yTjJrWW/TvhIzAdyM7nx2zRZqKw7VhZR6Y0xRRuO72qC1YFE9DX
-XcTMdUbFTWbad9RMCZCy8k53FdHMZbpTIANORtSDv40zrBPtUNsss051qFxvnO9C
-9J71IwjMRj22rD3syz3gYE6RtnNarr1x3Nk+DuRpHvWLq8J9c/6ZfFgkcMkyDToB
-O7YwKu/i7b+Mf5BWWVyOKk1jyp/zUzKHRHTIjeRBr1NraO6gRuGIBDV5WK9L7N3P
-xXRbds5ZBoPuP8FWiXQOWGS1lwwwM7GpEfIzV5JGkqFXXUDVVcdPkiJaL5k8vEVF
-xbTPaJwMZ586CkuFiJ4A5NdNJODoEbFvAbVnuuwdRjY95EwhO+pNx96mY7VctQH1
-m/F3PpQ5jTx8zVbScV1aSac9u7stdv8A4K6uz60ElU1ruxF9pmms3OzjWvuOf0/p
-WPBo3pt2bO+huB/tsCfUUw9ZpDsDnio4JVljV1OVYAg+lOkAZSp4I3pqZhOsRR9W
-cMIzBI+hGH1KfP2q+VA0WlhkGsd1yxjtOoP3ORHgMdxsc8CtfZTC4s4Zl2DqDSxV
-kxHavo4spxcwj9jKcED8LVm69W6pZpfWEsD/AIhsfI+Bry2aNoZXjcYZCQRTrNHX
-V1dSB9OBpgNKKA9D7JXvxPShETl4Dp+3hV8TuDXnvZK9+F6ssbHCTDSffwrfudO+
-MimbF9XD3fVZwjg5JwCdtsCrvsxcrLYtBw0Jxj0P+GsxLIk8+RnvWkOc7AA1P0+7
-bpl4ny/i0yaTnKn/AKqJetbNxuTwawva/pfw86XkY+SXZ/Rq3KsHTUpyCMg0Nf2i
-X9tJbSfSw58jVsnlFdU93bva3MkEgw6HBqCkRaWm0vhQEsMrRSpIpwysGH2r1W3n
-F1YxzIdnQMPyryYV6J2RkaToaBjkKzAe1OBkSyiacTK/fajpPA5qRg0YbvBmRsMj
-Bs1KsKS9UuxIuoK7434wagt4xL3mpm+RMrvxWbaeNp0GUzdKhyTqX5Gz6f2qyGyM
-x5NZ/sjK8ttdBznD5/Mf2q46rI0PTZ3TZljJH5VpPGd9eddoblbnrNw6fSDpz542
-qspWJJJPJpKSX//ZiFwEExECABwFAjz0AhACGwMECwcDAgMVAgMDFgIBAh4BAheA
-AAoJECAJ33qn0z3sgX0AniODMzRDWaBQvAMgTff4HESG/jxjAKDHZQcFhDreiV7O
-UZ4wKsjDkA0Z57QxUmljaGFyZCBQLiBDdXJub3cgPHJpY2hhcmRAcnBjdXJub3cu
-Zm9yY2U5LmNvLnVrPoheBBMRAgAeBQI/nCfMAhsDBgsJCAcDAgMVAgMDFgIBAh4B
-AheAAAoJECAJ33qn0z3sVRAAoLsQtka0AY3RhfLQOlk45KW1/hH0AJ4n8bTV8iyj
-fuvsMRxXoerIX8BI0rkBjQQ5bOcoEAYAtiw2lhJ5SghGR+Kx8wjWxk9MwrdF0i0K
-wLTp0ILeNpYY40nrIRU7z+Pvpf0GujQtCXNW81ufK5cwhcUNyzCd2eL0F+wjcHa/
-sk+fUUo803dgzo7CADwNHSjihQJGt5d6G2boz8IxHPjV9Pkg+pgDxVRFWFY3KE66
-chY+kx2EEh1jshE1/toclxpTVRsV5npYHadpOho2ClNAo0tmPGx0A84HiqG/Fp2Z
-VHoBIeO0yIShrPiojsdyYx7qsb1G3R//AAMHBfsGE4lFR8z6u6NeP9kW+g9cuWks
-GG0Gp4s0v8Mg2c0v/W+85Zdvx+8LjbygYAMksjeUYhZJJe8jov2bJWPDzoeb2G5T
-mg/DYG/cjLLVrUfMoDtt4zHBvqW16lrZ2yzAydpMKy885hmc1QUAB8xyMpLx/zQR
-/UUuLJHZu8FeSkfEe6o7lwq+xwEQi/M1fqebous++ay3y/tS3x2t+4O4J9hgiezP
-Iof3RlN+IjVrQ0gSZMnLew3+UEI5k+G9/fS5ar6ITgQYEQIABgUCOWznKAASCRAg
-Cd96p9M97AdlR1BHAAEBNIYAn0tlnu/LIRZGV/gTfFBbED5VDF2vAKCllpFbtTd4
-iyEQhSCBS+wk6SoOgg==
-=yT3y
------END PGP PUBLIC KEY BLOCK-----
-EOF
-
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
-
-if [ "$RTOOL" == "wget" ]; then
-  if [ ! -f "$SRC_DIR/$SRC" ]; then
-    wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
-  fi
-  if [ ! -f "$SRC_DIR/$SIG" ]; then
-    wget "$SIG_URL" -O "$SRC_DIR/$SIG" || exit $ERROR_WGET
-  fi
-fi
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-gpg --verify $SRC_DIR/$SIG $SRC_DIR/$SRC || exit $ERROR_GPG
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/mairix/$SRC"
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-./configure --prefix=/usr || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="ACKNOWLEDGEMENTS COPYING NEWS README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-      |-----handy-ruler-----------------------------------------------------|
+      |-----handy-ruler-------------------------------------------------------|
 mairix: mairix (index and search engine for mail folders)
 mairix:
 mairix: Mairix is a program for indexing and searching email messages stored
@@ -201,20 +173,13 @@ mairix:
 mairix:
 mairix:
 mairix:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="ACKNOWLEDGEMENTS COPYING INSTALL NEWS README"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/net/mail/offlineimap/offlineimap.SlackBuild b/net/mail/offlineimap/offlineimap.SlackBuild
new file mode 100755 (executable)
index 0000000..8f6dadd
--- /dev/null
@@ -0,0 +1,176 @@
+#!/bin/bash
+#
+#  offlineimap.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  offlineimap.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for offlineimap, by Silvio Rhatto
+# requires:  
+# tested: offlineimap-6.0.2
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="offlineimap"
+PKG_NAME="offlineimap"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=6.0.2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="241?attachment_id=332"
+URL="http://software.complete.org/software/versions/download/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
+
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
+
+# Build and install package
+python setup.py build install --root=$PKG
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="COPYING COPYRIGHT FAQ.html README UPGRADING"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+           |-----handy-ruler--------------------------------------------------|
+offlineimap: offlineimap
+offlineimap:
+offlineimap: OfflineIMAP is a tool to simplify your e-mail reading.
+offlineimap: With OfflineIMAP, you can read the same mailbox from multiple
+offlineimap: computers. You get a current copy of your messages on each computer,
+offlineimap: and changes you make one place will be visible on all other systems.
+offlineimap: For instance, you can delete a message on your home computer, and it
+offlineimap: will appear deleted on your work computer as well. OfflineIMAP is
+offlineimap: also useful if you want to use a mail reader that does not have IMAP
+offlineimap: support, has poor IMAP support, or does not provide disconnected
+offlineimap: operation.
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index dd6fade585cd50c74ebd0429fa2528bba0a6e62a..a5db2a01f451b3be82a816ee00e9fbcef71397df 100644 (file)
@@ -1 +1,4 @@
-libevent
+# Dependency list to tor
+#
+# dependency [condition] [version]]
+libevent                               
index 8c04b2fce2333ced0ed10a52a43a76530c81d9aa..3dae6fa841246d7c43ac5df14f05928ad82b06dc 100755 (executable)
 #!/bin/bash
 #
-#  tor.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  tor.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  tor.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  tor.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for tor
-# by rhatto at riseup.net
+# slackbuild for tor, by Silvio Rhatto
+# requires: libevent 
+# tested: tor-0.2.0.30
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building tor are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="tor"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="tor"
+PKG_NAME="tor"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.1.1.23}
+SRC_VERSION=${VERSION:=0.2.0.30}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
 
-# -------  error codes for createpkg  --------------
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
-fi
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://tor.eff.org/dist/$SRC"
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.torproject.org/dist/$SRC"
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
+# Import minimized signing key from
+if echo [[SIGNING KEY URL]] | grep -q -v "SIGNING KEY URL"; then
+  lynx -dump [[SIGNING KEY URL]] | gpg --import || exit $ERROR_GPG
+elif echo 0x28988BF5 0x165733EA | grep -q -v "SIGNING KEY ID"; then
+  gpg --recv-keys 0x28988BF5 0x165733EA || exit $ERROR_GPG
 else
-  tarflag="z"
+  gpg --import << EOKEY || exit $ERROR_GPG
+[[SIGNING KEY]]
+EOKEY
 fi
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
-  wget "$URL.asc" -O "$SRC_DIR/$SRC.asc" || exit $ERROR_WGET
+# Download source's signature if necessary and check it
+if echo [[SIGNING URL]] | grep -q -v "SIGNING URL"; then
+  SIGNATURE="`basename [[SIGNING URL]]`"
+  if [ ! -s "$SRC_DIR/$SIGNATURE" ]; then
+    wget "[[SIGNING URL]]" -O "$SRC_DIR/$SIGNATURE" || exit $ERROR_WGET
+  fi
+else
+  if [ -s "$SRC_DIR/$SRC.sig" ]; then
+    SIGNATURE="$SRC.sig"
+  elif [ -s "$SRC_DIR/$SRC.asc" ]; then
+    SIGNATURE="$SRC.asc"
+  else
+    echo Trying to get signature file from $URL.sig...
+    if wget "$URL.sig" -O "$SRC_DIR/$SRC.sig"; then
+      SIGNATURE="$SRC.sig"
+    else
+      rm $SRC_DIR/$SRC.sig
+      echo Trying to get signature file from $URL.asc...
+      if wget "$URL.asc" -O "$SRC_DIR/$SRC.asc"; then
+        SIGNATURE="$SRC.asc"
+      else
+        rm $SRC_DIR/$SRC.asc
+        echo "Error getting source's signature file"
+        exit $ERROR_GPG
+      fi
+    fi
+  fi
 fi
 
-gpg --keyserver subkeys.pgp.net --recv-keys 0x28988BF5
-gpg --keyserver subkeys.pgp.net --recv-keys 0x165733EA
-gpg --verify $SRC_DIR/$SRC.asc $SRC_DIR/$SRC || exit $ERROR_GPG
-sleep 3
+echo Checking $SRC_DIR/$SRC with gpg using $SRC_DIR/$SIGNATURE...
+gpg --verify "$SRC_DIR/$SIGNATURE" "$SRC_DIR/$SRC" || exit $ERROR_GPG
+echo Success.
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
 
-tar xvf$tarflag $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
 
-mkdir $TMP/package-$PACKAGE/etc/rc.d
-cp $CWD/rc.tor.new $TMP/package-$PACKAGE/etc/rc.d
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
 
-CWD="`pwd`"
-cd $TMP/package-$PACKAGE
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
 
-mv etc/tor/tor-tsocks.conf etc/tor/tor-tsocks.conf.sample
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Copy init scripts
+mkdir -p $PKG/etc/rc.d
+cp $CWD/rc.* $PKG/etc/rc.d/
+
+# Install documentation
+DOCS="AUTHORS ChangeLog LICENSE README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-   |-----handy-ruler-----------------------------------------------------|
+   |-----handy-ruler----------------------------------------------------------|
 tor: tor (An anonymous Internet communication system)
 tor:
 tor: Tor is a toolset for a wide range of organizations and people that
@@ -129,24 +221,60 @@ tor: can build new applications with built-in anonymity, safety, and
 tor: privacy features.
 tor:
 tor:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in AUTHORS ChangeLog INSTALL LICENSE README; do 
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
+# Move config files to .new to avoid overwriting any system config
+for config_file in etc/tor/tor-tsocks.conf; do
+  mv $PKG/$config_file $PKG/$config_file.new
 done
 
-# install script
-echo '( chroot . /sbin/ldconfig )' > install/doinst.sh
-echo '( if [ ! -f "etc/rc.d/rc.tor" ]; then mv etc/rc.d/rc.tor.new etc/rc.d/rc.tor ; fi )' >> install/doinst.sh
-echo '( if [ ! -f "etc/tor/torrc" ]; then mv etc/tor/torrc.sample etc/tor/torrc ; fi )' >> install/doinst.sh
-echo '( if [ ! -f "etc/tor/tor-tsocks.conf" ]; then mv etc/tor/tor-tsocks.conf.sample etc/tor/tor-tsocks.conf ; fi )' >> install/doinst.sh
+# Add a post-installation script (doinst.sh)
+cat << EOSCRIPT > "$PKG/install/doinst.sh"
+config() {
+  NEW="\$1"
+  OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
+  OLD="\$(dirname \$NEW)/\$(basename \$OLD .sample)"
+  OLD="\$(dirname \$NEW)/\$(basename \$OLD .dist)"
 
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+  # If there's no config file by that name, mv it over:
+  if [ ! -r \$OLD ]; then
+    mv \$NEW \$OLD
+  elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
+    # toss the redundant copy
+    rm \$NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
 
+mkgroup() {
+  GROUP="\$1"
+  if ! grep -qe "^\$GROUP:" etc/group; then
+    echo Creating group \$GROUP...
+    chroot . /usr/sbin/groupadd \$GROUP
+  fi
+}
+
+mkuser() {
+  USER="\$1"
+  if [ ! -z "\$2" ]; then
+    GROUP="\$2"
+  else
+    GROUP="\$USER"
+  fi
+  if ! grep -qe "^\$USER:" etc/passwd; then
+    echo Creating user \$USER...
+    chroot . /usr/sbin/useradd \$USER -g \$GROUP
+  fi
+}
+
+config etc/rc.d/rc.tor.new ; config etc/tor/torrc.sample ; config etc/tor/tor-tsocks.conf.new
+EOSCRIPT
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/net/p2p/nicotine+/nicotine+.SlackBuild b/net/p2p/nicotine+/nicotine+.SlackBuild
new file mode 100755 (executable)
index 0000000..3fa17a4
--- /dev/null
@@ -0,0 +1,144 @@
+#!/bin/bash
+#
+#  nicotine+.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  nicotine+.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for nicotine+, by Silvio Rhatto
+# requires:  
+# tested: nicotine+-1.2.9
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="nicotine+"
+PKG_NAME="nicotine+"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.2.9}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://downloads.sourceforge.net/nicotine-plus/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Build and install package
+python setup.py build install --root=$PKG
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="COPYING MANIFEST"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler----------------------------------------------------|
+nicotine+: nicotine+ (soulseek client clone)
+nicotine+:
+nicotine+: Nicotine is a SoulSeek client written in Python, based on the
+nicotine+: PySoulSeek project by Alexander Kanavin. It features, among other
+nicotine+: things, a completely rewritten graphical user interface which uses
+nicotine+: the PyGTK-2 toolkit and a less strict user request policy.
+nicotine+:
+nicotine+: This version is the forked one distributed at
+nicotine+: http://nicotine-plus.sourceforge.net
+nicotine+:
+nicotine+:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index 800e29e8980296f4fc0cf607a2b9a802343429c8..64cb000a740876e584c01acbeec31f434ed7304b 100755 (executable)
 #!/bin/bash
 #
-#  nicotine.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  nicotine.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  nicotine.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  nicotine.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# SlackBuild script to call nicotine.build with correct settings
+# slackbuild for nicotine, by Silvio Rhatto
+# requires:  
+# tested: nicotine-1.0.8
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building nicotine are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="nicotine"
-VERSION=${VERSION:=1.0.8}
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="nicotine"
+PKG_NAME="nicotine"
 ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.0.8}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-rm -rf $TMP/$PACKAGE
-mkdir -p $SRC_DIR/$PACKAGE $TMP/$PACKAGE $REPOS
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-export PACKAGE VERSION ARCH BUILD SRC_DIR TMP REPOS
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://nicotine.thegraveyard.org/$SRC"
 
-if which simpletrack &> /dev/null; then
-  simpletrack $PACKAGE.build
-else
-  slacktrack -b $REPOS -x $TMP,$SRC_DIR,/dev -jefkzp "$PACKAGE-$VERSION-$ARCH-$BUILD.tgz" "./$PACKAGE.build"
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Build and install package
+python setup.py build install --root=$PKG
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="CHANGELOG COPYING KNOWN_BUGS MAINTAINERS MANIFEST PKG-INFO README README.import-winconfig TODO TRANSLATORS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler-----------------------------------------------------|
+nicotine: nicotine (soulseek client clone)
+nicotine:
+nicotine: Nicotine is a SoulSeek client written in Python, based on the
+nicotine: PySoulSeek project by Alexander Kanavin. It features, among other
+nicotine: things, a completely rewritten graphical user interface which uses
+nicotine: the PyGTK-2 toolkit and a less strict user request policy.
+nicotine:
+nicotine:
+nicotine:
+nicotine:
+nicotine:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP/$PACKAGE
+  rm -rf "$PKG_WORK" "$PKG"
 fi
index 58b169fdc098f7e013acf9967098141c106e54c5..2f0a34b5578ca15fabeb0b0bb53fc111ecbfd506 100755 (executable)
 #!/bin/bash
 #
-#  privoxy.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  privoxy.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  privoxy.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  privoxy.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# SlackBuild script to call privoxy.build with correct settings
+# slackbuild for privoxy, by Silvio Rhatto
+# requires:  
+# tested: privoxy-3.0.9-beta
 #
 
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="privoxy"
-VERSION=${VERSION:=3.0.3}
-ARCH="${ARCH:=i486}"
-BUILD=${BUILD:=2rha}
-SRC_DIR=${SRC:=$CWD}
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="privoxy"
+PKG_NAME="privoxy"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=3.0.9-beta}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc/privoxy"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-rm -rf $TMP/$PACKAGE
-mkdir -p $SRC_DIR/$PACKAGE $TMP/$PACKAGE
+# Creating build user and group
+if ! grep -qe "^$PKG_NAME:" /etc/group; then
+  groupadd $PKG_NAME
+fi
+if ! grep -qe "^$PKG_NAME:" /etc/passwd; then
+  useradd $PKG_NAME -g $PKG_NAME
+fi
 
-export PACKAGE VERSION ARCH BUILD SRC_DIR TMP REPOS
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION-src.tar.gz"
+URL="http://downloads.sourceforge.net/ijbswa/$SRC"
 
-if which simpletrack &> /dev/null; then
-  simpletrack $PACKAGE.build
-else
-  slacktrack -b $REPOS -x $TMP,$SRC_DIR,/dev -jefkzp "$PACKAGE-$VERSION-$ARCH-$BUILD.tgz" "./$PACKAGE.build"
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
+
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
+
+# Configure
+autoheader || exit $ERROR_CONF
+autoconf || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Copy init scripts
+mkdir -p $PKG/etc/rc.d
+cp $CWD/rc.* $PKG/etc/rc.d/
+
+# Install documentation
+DOCS="AUTHORS ChangeLog LICENSE Makefile README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+privoxy: privoxy (A Web proxy with advanced filtering capabilities)
+privoxy:
+privoxy: Privoxy is a Web proxy based on Internet Junkbuster with advanced
+privoxy: filtering capabilities for protecting privacy, filtering Web page
+privoxy: content, managing cookies, controlling access, and removing ads,
+privoxy: banners, pop-ups, and other obnoxious Internet junk. Privoxy has a
+privoxy: very flexible configuration and can be customized to suit individual
+privoxy: needs and tastes. Privoxy is useful for both stand-alone systems and
+privoxy: multi-user networks.
+privoxy:
+privoxy:
+EODESC
+
+# Move config files to .new to avoid overwriting any system config
+for config_file in etc/privoxy/config etc/privoxy/trust; do
+  mv $PKG/$config_file $PKG/$config_file.new
+done
+
+# Add a post-installation script (doinst.sh)
+cat << EOSCRIPT > "$PKG/install/doinst.sh"
+config() {
+  NEW="\$1"
+  OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
+  OLD="\$(dirname \$NEW)/\$(basename \$OLD .sample)"
+  OLD="\$(dirname \$NEW)/\$(basename \$OLD .dist)"
+
+  # If there's no config file by that name, mv it over:
+  if [ ! -r \$OLD ]; then
+    mv \$NEW \$OLD
+  elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
+    # toss the redundant copy
+    rm \$NEW
+  fi
+  # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+mkgroup() {
+  GROUP="\$1"
+  if ! grep -qe "^\$GROUP:" etc/group; then
+    echo Creating group \$GROUP...
+    chroot . /usr/sbin/groupadd \$GROUP
+  fi
+}
+
+mkuser() {
+  USER="\$1"
+  if [ ! -z "\$2" ]; then
+    GROUP="\$2"
+  else
+    GROUP="\$USER"
+  fi
+  if ! grep -qe "^\$USER:" etc/passwd; then
+    echo Creating user \$USER...
+    chroot . /usr/sbin/useradd \$USER -g \$GROUP
+  fi
+}
+
+mkgroup privoxy ; mkuser privoxy ; config etc/privoxy/config.new ; config etc/privoxy/trust.new
+EOSCRIPT
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP/$PACKAGE
+  rm -rf "$PKG_WORK" "$PKG"
 fi
index 63b7e30336d1bc7975583b60a282f65ace0ef714..971803ad23d8a53b7b57a1807ad230095a75bd73 100755 (executable)
 #!/bin/bash
 #
-#  tsocks.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  tsocks.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  tsocks.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  tsocks.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for tsocks
-# by rhatto at riseup.net
+# slackbuild for tsocks, by Silvio Rhatto
+# requires:  
+# tested: tsocks-1.8beta5
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building tsocks are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="tsocks"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="tsocks"
+PKG_NAME="tsocks"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.8beta5}
-BUILD=${BUILD:=2rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_VERSION=${VERSION:=1.8beta5}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
-
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://ftp1.sourceforge.net/tsocks/$SRC"
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/tsocks/$SRC"
 
-if echo $VERSION | grep -q "beta"; then
-  cd $PACKAGE-`echo $VERSION | sed -e 's/beta.*//'`
-else
-  cd $PACKAGE-$VERSION
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
-fi
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION-$ARCH.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION-$ARCH.diff || exit $ERROR_PATCH
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="COPYING ChangeLog FAQ TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-      |-----handy-ruler-----------------------------------------------------|
+      |-----handy-ruler-------------------------------------------------------|
 tsocks: tsocks (a transparent SOCKS proxying library)
 tsocks:
 tsocks: tsocks' role is to allow these non SOCKS aware applications (e.g
@@ -123,20 +173,13 @@ tsocks:
 tsocks:
 tsocks:
 tsocks:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-DOCS="COPYING ChangeLog FAQ INSTALL TODO" 
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/net/www/gnash/gnash-0.8.3.diff b/net/www/gnash/gnash-0.8.3.diff
new file mode 100644 (file)
index 0000000..7e9eb16
--- /dev/null
@@ -0,0 +1,69 @@
+--- configure.old      2008-07-01 00:28:27.000000000 -0300
++++ configure  2008-07-01 00:34:13.000000000 -0300
+@@ -36489,38 +36489,38 @@
+ if test x"${nspr}" = x"yes"; then
+ # Check whether --with-nspr_lib was given.
+-if test "${with_nspr_lib+set}" = set; then
+-  withval=$with_nspr_lib; with_nspr_lib=${withval}
+-fi
+-
+-      if test "${ac_cv_path_nspr_lib+set}" = set; then
+-  echo $ECHO_N "(cached) $ECHO_C" >&6
+-else
+-
+-      if test x"${with_nspr_lib}" != x ; then
+-              { echo "$as_me:$LINENO: checking for libnspr library in specified directory" >&5
+-echo $ECHO_N "checking for libnspr library in specified directory... $ECHO_C" >&6; }
+-              if test -f ${with_nspr_lib}/lib$name.a -o -f ${with_nspr_lib}/lib$name.${shlibext}; then
+-                      tmp="`(cd ${with_nspr_lib}; pwd)`"
+-                      ac_cv_path_nspr_lib="-L${tmp} -l$name"
+-                      { echo "$as_me:$LINENO: result: yes" >&5
+-echo "${ECHO_T}yes" >&6; }
+-              else
+-                      { { echo "$as_me:$LINENO: error: ${with_nspr_lib} directory doesn't contain library $name." >&5
+-echo "$as_me: error: ${with_nspr_lib} directory doesn't contain library $name." >&2;}
+-   { (exit 1); exit 1; }; }
+-                      { echo "$as_me:$LINENO: result: no" >&5
+-echo "${ECHO_T}no" >&6; }
+-              fi
+-      fi
+-
+-fi
+-
++#if test "${with_nspr_lib+set}" = set; then
++#  withval=$with_nspr_lib; with_nspr_lib=${withval}
++#fi
++#
++#     if test "${ac_cv_path_nspr_lib+set}" = set; then
++#  echo $ECHO_N "(cached) $ECHO_C" >&6
++#else
++#
++#     if test x"${with_nspr_lib}" != x ; then
++#             { echo "$as_me:$LINENO: checking for libnspr library in specified directory" >&5
++#echo $ECHO_N "checking for libnspr library in specified directory... $ECHO_C" >&6; }
++#             if test -f ${with_nspr_lib}/lib$name.a -o -f ${with_nspr_lib}/lib$name.${shlibext}; then
++#                     tmp="`(cd ${with_nspr_lib}; pwd)`"
++#
++#                     { echo "$as_me:$LINENO: result: yes" >&5
++#echo "${ECHO_T}yes" >&6; }
++#             else
++#                     { { echo "$as_me:$LINENO: error: ${with_nspr_lib} directory doesn't contain library $name." >&5
++#echo "$as_me: error: ${with_nspr_lib} directory doesn't contain library $name." >&2;}
++#   { (exit 1); exit 1; }; }
++#                     { echo "$as_me:$LINENO: result: no" >&5
++#echo "${ECHO_T}no" >&6; }
++#             fi
++#     fi#
++#
++#fi
++              ac_cv_path_nspr_lib="-L/usr/lib/seamonkey -lplds4 -lplc4 -lnspr4 -lpthread -ldl"
+         if test x$cross_compiling = xno; then
+         if test x"$PKG_CONFIG" != x -a x"${ac_cv_path_nspr_lib}" = x; then
+                 $PKG_CONFIG --exists libDOWN && ac_cv_path_nspr_lib="`$PKG_CONFIG --libs-only-l libDOWN`"
+-                $PKG_CONFIG --exists nspr && ac_cv_path_nspr_lib="`$PKG_CONFIG --libs-only-l nspr`"
++                $PKG_CONFIG --exists seamonkey-nspr && ac_cv_path_nspr_lib="`$PKG_CONFIG --libs-only-l seamonkey-nspr`"
+                 $PKG_CONFIG --exists lib$name && ac_cv_path_nspr_lib="`$PKG_CONFIG --libs-only-l lib$name`"
+                 $PKG_CONFIG --exists $name && ac_cv_path_nspr_lib="`$PKG_CONFIG --libs-only-l $name`"
+                 { echo "$as_me:$LINENO: checking for libnspr library" >&5
index 3809e9bb09d9bdefac313c62fbf3d955f04b2a21..dc62ae2f56fb90e3d7d2478667715c0b765e5bda 100755 (executable)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for gnash, by Rudson R. Alves
-# requires:  
-# tested: gnash-0.8.2
+# requires: agg boost ffmpeg 
+# tested: gnash-0.8.3
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="gnash"
 PKG_NAME="gnash"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=0.8.2}
+SRC_VERSION=${VERSION:=0.8.3}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rra}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -40,8 +40,8 @@ PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
 PREFIX=${PREFIX:=/usr}
 PKG_WORK="$TMP/$SRC_NAME"
-CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc --with-plugindir=$LIBDIR/mozilla/plugins --x-libraries=$LIBDIR"}
-NUMJOBS=${NUMJOBS:="-j4"}
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc --with-plugindir=$LIBDIR/mozilla/plugins --x-libraries=$LIBDIR --enable-nspr --enable-media=ffmpeg --with-ffmpeg-incl=/usr/include --with-nspr-incl=/usr/include/seamonkey/nspr --with-nspr-lib=/usr/lib/seamonkey --with-boost-incl=/usr/include/boost/boost "}
+NUMJOBS=${NUMJOBS:="-j3"}
 
 # Set system libraries' path and optmization flags based on $ARCH
 LIBDIR="$PREFIX/lib"
@@ -55,8 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -77,7 +78,7 @@ mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
 # Dowload source if necessary
 SRC="$SRC_NAME-$VERSION.tar.bz2"
-URL="ftp://mirrors.kernel.org/gnu/gnash/0.8.2/$SRC"
+URL="ftp://mirrors.kernel.org/gnu/gnash/0.8.3/$SRC"
 
 if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
@@ -86,9 +87,41 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np0 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np0 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np0 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np0 || exit $ERROR_PATCH
+  fi
+done
+
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np0 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np0 || exit $ERROR_PATCH
+    else
+      patch -Np0 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
+
 # Configure
 CFLAGS="$SLKCFLAGS" \
   CXXFLAGS="$SLKCFLAGS" \
@@ -110,7 +143,7 @@ make install DESTDIR="$PKG" || exit $ERROR_INSTALL
 )
 
 # Install documentation
-DOCS="ABOUT-NLS AUTHORS COPYING ChangeLog ChangeLog-0.8.0 ChangeLog-0.8.1 INSTALL NEWS README TODO"
+DOCS="ABOUT-NLS AUTHORS COPYING ChangeLog ChangeLog-0.8.0 ChangeLog-0.8.1 ChangeLog-0.8.2 ChangeLog-0.8.3 INSTALL NEWS README TODO"
 mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
 for doc in $DOCS; do
   if [ -f "$doc" ]; then
@@ -122,9 +155,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
diff --git a/net/www/gnash/slack-required b/net/www/gnash/slack-required
new file mode 100644 (file)
index 0000000..28c0757
--- /dev/null
@@ -0,0 +1,6 @@
+# Dependency list to gnash
+#
+# dependency [condition] [version]]
+agg                            
+boost                          
+ffmpeg                         
index 6afe3d0d59a2d7131c2fd9efa159cbf95ac2f4fc..0dbdc797e2100e733f276e7ceebb7fc46705a99c 100755 (executable)
 #!/bin/bash
 #
-#  mplayerplug-in.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  mplayerplug-in.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  mplayerplug-in.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  mplayerplug-in.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for mplayerplug-in
-# by rhatto at riseup.net
+# slackbuild for mplayerplug-in, by Silvio Rhatto
+# requires:  
+# tested: mplayerplug-in-3.55
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building mplayerplug-in are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="mplayerplug-in"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="mplayerplug-in"
+PKG_NAME="mplayerplug-in"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=3.31}
+SRC_VERSION=${VERSION:=3.55}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-GECKO_VERSION=${GECKO_VERSION:=1.7.13}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc --localstatedir=/var --enable-gmp"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/$PACKAGE/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-GECKO="gecko-sdk-i686-pc-linux-gnu-$GECKO_VERSION.tar.gz"
-GECKO_URL="http://releases.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.7.13/gecko-sdk-i686-pc-linux-gnu-1.7.13.tar.gz"
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/mplayerplug-in/$SRC"
 
-if [ "$RTOOL" == "wget" ]; then
-  if [ ! -f "$SRC_DIR/$SRC" ]; then
-    wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
-  fi
-  if [ ! -f "$SRC_DIR/$GECKO" ]; then
-    wget "$GECKO_URL" -O "$SRC_DIR/$GECKO" || exit $ERROR_WGET
-  fi
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$GECKO || exit $ERROR_TAR
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --libdir=$LIBDIR --with-gecko-sdk=../gecko-sdk || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="ChangeLog DOCS LICENSE README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-              |-----handy-ruler-----------------------------------------------------|
-mplayerplug-in: mplayerplug-in
-mplayerplug-in:
-mplayerplug-in:
-mplayerplug-in:
+              |-----handy-ruler-----------------------------------------------|
+mplayerplug-in: mplayerplug-in (browser plugin to play media from websites)
 mplayerplug-in:
+mplayerplug-in: This plug-in gives Mozilla the ability to play media from a website
+mplayerplug-in: the net without reading the source html and getting the url manually.
+mplayerplug-in: Media is played embedded in the page or in a separate window depending
+mplayerplug-in: on how the author of the webpage intended the media to be seen.
 mplayerplug-in:
 mplayerplug-in:
 mplayerplug-in:
 mplayerplug-in:
 mplayerplug-in:
-mplayerplug-in:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-DOCS="ChangeLog DOCS INSTALL LICENSE README"
+EODESC
 
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index b75bb8a476b54ce9c37f2e0c6ea46a9ddaf4fd71..bb7048cdc600c039d6d04c37839646287a6b7b3d 100755 (executable)
@@ -1,7 +1,7 @@
 ###################################################
 ## Generic template for SlackBuilds
 ##
-## Version 0.8.5 - Luis ( luis at riseup d0t net)
+## Version 0.8.6 - Luis ( luis at riseup d0t net)
 ##
 ###################################################
 #!/bin/bash
@@ -49,7 +49,7 @@ REPOS=${REPOS:=$TMP}
 PREFIX=${PREFIX:=[[PREFIX]]}
 PKG_SRC="$TMP/$SRC_NAME-$SRC_VERSION"
 CONF_OPTIONS=${CONF_OPTIONS:=[[OTHER CONFIGURE ARGS]]}
-NUMJOBS=${NUMJOBS:=-j4}
+NUMJOBS=${NUMJOBS:=-j3}
 
 # Set system libraries' path and optmization flags based on $ARCH
 LIBDIR="$PREFIX/lib"
diff --git a/others/unclassified/exempi/exempi.SlackBuild b/others/unclassified/exempi/exempi.SlackBuild
new file mode 100644 (file)
index 0000000..7852798
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  exempi.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  exempi.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for exempi, by Alexandre Vieira de Souza
+# requires:  
+# tested: exempi-2.0.1
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="exempi"
+PKG_NAME="exempi"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.0.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1avs}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://libopenraw.freedesktop.org/download/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+      |-----handy-ruler-------------------------------------------------------|
+exempi: exempi by Slack.Sarava
+exempi:
+exempi: Exempi provides a library for easy parsing of XMP metadata. It is
+exempi: a port of Adobe XMP SDK to work on UNIX and to be built with GNU
+exempi: automake. It includes XMPCore and XMPFiles.
+exempi:
+exempi:
+exempi:
+exempi:
+exempi: by avs
+exempi:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/patches/glib2/glib2.SlackBuild b/patches/glib2/glib2.SlackBuild
new file mode 100644 (file)
index 0000000..a365b92
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  glib2.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  glib2.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for glib2, by Rafael Diniz
+# requires:  
+# tested: glib2-2.16.3
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="glib"
+PKG_NAME="glib2"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.16.3}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j3"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://ftp.gnome.org/pub/GNOME/sources/glib/2.16/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+     |-----handy-ruler--------------------------------------------------------|
+glib2: glib2 (library of C routines)
+glib2:
+glib2: GLib is a library which includes support routines for C such as lists,
+glib2: trees, hashes, memory allocation, and many other things.
+glib2:
+glib2:
+glib2:
+glib2:
+glib2:
+glib2: Patch from slack.sarava.org
+glib2:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/patches/gnutls/gnutls.SlackBuild b/patches/gnutls/gnutls.SlackBuild
new file mode 100755 (executable)
index 0000000..77b0f94
--- /dev/null
@@ -0,0 +1,197 @@
+#!/bin/bash
+#
+#  gnutls.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gnutls.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gnutls, by Silvio Rhatto
+# requires:  
+# tested: gnutls-2.4.1
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gnutls"
+PKG_NAME="gnutls"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.4.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=" --sysconfdir=/etc --localstatedir=/var --infodir=/usr/info --mandir=/usr/man --enable-static=no --enable-guile=no"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="ftp://ftp.gnutls.org/pub/gnutls/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Import minimized signing key from
+if echo http://josefsson.org/key.txt | grep -q -v "SIGNING KEY URL"; then
+  lynx -dump http://josefsson.org/key.txt | gpg --import || exit $ERROR_GPG
+elif echo [[SIGNING KEY ID]] | grep -q -v "SIGNING KEY ID"; then
+  gpg --recv-keys [[SIGNING KEY ID]] || exit $ERROR_GPG
+else
+  gpg --import << EOKEY || exit $ERROR_GPG
+[[SIGNING KEY]]
+EOKEY
+fi
+
+# Download source's signature if necessary and check it
+if echo [[SIGNING URL]] | grep -q -v "SIGNING URL"; then
+  SIGNATURE="`basename [[SIGNING URL]]`"
+  if [ ! -s "$SRC_DIR/$SIGNATURE" ]; then
+    wget "[[SIGNING URL]]" -O "$SRC_DIR/$SIGNATURE" || exit $ERROR_WGET
+  fi
+else
+  if [ -s "$SRC_DIR/$SRC.sig" ]; then
+    SIGNATURE="$SRC.sig"
+  elif [ -s "$SRC_DIR/$SRC.asc" ]; then
+    SIGNATURE="$SRC.asc"
+  else
+    echo Trying to get signature file from $URL.sig...
+    if wget "$URL.sig" -O "$SRC_DIR/$SRC.sig"; then
+      SIGNATURE="$SRC.sig"
+    else
+      rm $SRC_DIR/$SRC.sig
+      echo Trying to get signature file from $URL.asc...
+      if wget "$URL.asc" -O "$SRC_DIR/$SRC.asc"; then
+        SIGNATURE="$SRC.asc"
+      else
+        rm $SRC_DIR/$SRC.asc
+        echo "Error getting source's signature file"
+        exit $ERROR_GPG
+      fi
+    fi
+  fi
+fi
+
+echo Checking $SRC_DIR/$SRC with gpg using $SRC_DIR/$SIGNATURE...
+gpg --verify "$SRC_DIR/$SIGNATURE" "$SRC_DIR/$SRC" || exit $ERROR_GPG
+echo Success.
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING* ChangeLog INSTALL NEWS README THANKS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+      |-----handy-ruler-------------------------------------------------------|
+gnutls: Gnutls (Transport Layer Security)
+gnutls: 
+gnutls: This is the GNU TLS library. More up to date information can be found
+gnutls: at http://www.gnu.org/software/gnutls/ and http://www.gnutls.org/
+gnutls: 
+gnutls: 
+gnutls: 
+gnutls: 
+gnutls: 
+gnutls: 
+gnutls:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/patches/libgcrypt/libgcrypt.SlackBuild b/patches/libgcrypt/libgcrypt.SlackBuild
new file mode 100755 (executable)
index 0000000..612a793
--- /dev/null
@@ -0,0 +1,197 @@
+#!/bin/bash
+#
+#  libgcrypt.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  libgcrypt.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for libgcrypt, by Silvio Rhatto
+# requires:  
+# tested: libgcrypt-1.4.1
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libgcrypt"
+PKG_NAME="libgcrypt"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.4.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=" --infodir=/usr/info --enable-shared=yes --enable-static=yes"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="ftp://ftp.gnupg.org/gcrypt/libgcrypt/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Import minimized signing key from
+if echo [[SIGNING KEY URL]] | grep -q -v "SIGNING KEY URL"; then
+  lynx -dump [[SIGNING KEY URL]] | gpg --import || exit $ERROR_GPG
+elif echo 1CE0C630 | grep -q -v "SIGNING KEY ID"; then
+  gpg --recv-keys 1CE0C630 || exit $ERROR_GPG
+else
+  gpg --import << EOKEY || exit $ERROR_GPG
+[[SIGNING KEY]]
+EOKEY
+fi
+
+# Download source's signature if necessary and check it
+if echo [[SIGNING URL]] | grep -q -v "SIGNING URL"; then
+  SIGNATURE="`basename [[SIGNING URL]]`"
+  if [ ! -s "$SRC_DIR/$SIGNATURE" ]; then
+    wget "[[SIGNING URL]]" -O "$SRC_DIR/$SIGNATURE" || exit $ERROR_WGET
+  fi
+else
+  if [ -s "$SRC_DIR/$SRC.sig" ]; then
+    SIGNATURE="$SRC.sig"
+  elif [ -s "$SRC_DIR/$SRC.asc" ]; then
+    SIGNATURE="$SRC.asc"
+  else
+    echo Trying to get signature file from $URL.sig...
+    if wget "$URL.sig" -O "$SRC_DIR/$SRC.sig"; then
+      SIGNATURE="$SRC.sig"
+    else
+      rm $SRC_DIR/$SRC.sig
+      echo Trying to get signature file from $URL.asc...
+      if wget "$URL.asc" -O "$SRC_DIR/$SRC.asc"; then
+        SIGNATURE="$SRC.asc"
+      else
+        rm $SRC_DIR/$SRC.asc
+        echo "Error getting source's signature file"
+        exit $ERROR_GPG
+      fi
+    fi
+  fi
+fi
+
+echo Checking $SRC_DIR/$SRC with gpg using $SRC_DIR/$SIGNATURE...
+gpg --verify "$SRC_DIR/$SIGNATURE" "$SRC_DIR/$SRC" || exit $ERROR_GPG
+echo Success.
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS BUGS COPYING* ChangeLog INSTALL NEWS README README.SVN THANKS TODO VERSION"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler----------------------------------------------------|
+libgcrypt: libgcrypt (General purpose crypto library)
+libgcrypt:
+libgcrypt: Libgcrypt is a general purpose crypto library based on the code 
+libgcrypt: used in GnuPG. 
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index 77a67f062d0a11f400819ea4f205a4475d15ea7b..a218cb32f842d03e31554deb317d6be2318a8eb0 100755 (executable)
@@ -31,7 +31,7 @@ fi
 # default settings
 PACKAGE="libpng"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=1.2.18}
+VERSION=${VERSION:=1.2.29}
 BUILD=${BUILD:=1rha}
 SRC_DIR=${SRC:=$CWD}
 TMP=${TMP:=/tmp}
@@ -95,14 +95,6 @@ if [ "$ARCH" == "x86_64" ]; then
   zcat $CWD/libpng.libs.diff.gz | patch -p1 --verbose || exit $ERROR_PATCH
   ln -sf scripts/makefile.linux ./Makefile
 
-  # makefile.linux breaks on trying to deal with MMX on AMD64.
-  # If we use automake, the Makefile doesn't deal with certain
-  # exported functions we need (e.g. png_read_destroy)
-  # We *could* patch libpng to use 64 bit safe MMX instructions, but
-  # the tested and recommended way appears to be to disable the MMX
-  # instructions on AMD64
-  zcat $CWD/libpng.mmx-x86-only.diff.gz | patch -p1 --verbose || exit 1 # Patch from Mandriva
-
   ./configure --prefix=/usr --libdir=$LIBDIR || exit $ERROR_CONF
 
 else
diff --git a/patches/libxml2/libxml2.SlackBuild b/patches/libxml2/libxml2.SlackBuild
new file mode 100755 (executable)
index 0000000..d611917
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  libxml2.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  libxml2.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for libxml2, by Silvio Rhatto
+# requires:  
+# tested: libxml2-2.6.32
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libxml2"
+PKG_NAME="libxml2"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.6.32}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="ftp://xmlsoft.org/libxml2/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog Copyright NEWS README TODO TODO_SCHEMAS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+libxml2: libxml2 (XML parser library)
+libxml2:
+libxml2: Libxml2 is the XML C parser library and toolkit.  XML itself is a
+libxml2: metalanguage to design markup languages  -- i.e. a text language where
+libxml2: structures are added to the content using extra "markup" information
+libxml2: enclosed between angle brackets.  HTML is the most well-known markup
+libxml2: language.  Though the library is written in C, a variety of language
+libxml2: bindings make it available in other environments.
+libxml2:
+libxml2:
+libxml2:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/patches/libxslt/libxslt.SlackBuild b/patches/libxslt/libxslt.SlackBuild
new file mode 100755 (executable)
index 0000000..b9d7d82
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  libxslt.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  libxslt.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for libxslt, by Silvio Rhatto
+# requires:  
+# tested: libxslt-1.1.24
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libxslt"
+PKG_NAME="libxslt"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.1.24}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="ftp://xmlsoft.org/libxslt/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog Copyright FEATURES NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+       |-----handy-ruler------------------------------------------------------|
+libxslt: libxslt (XML transformation library)
+libxslt:
+libxslt: XSLT support for libxml2.  (XSLT is a language used for transforming
+libxslt: XML documents)
+libxslt:
+libxslt:
+libxslt:
+libxslt:
+libxslt:
+libxslt:
+libxslt:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/patches/openssl/certwatch.gz b/patches/openssl/certwatch.gz
new file mode 100644 (file)
index 0000000..06cd1d8
Binary files /dev/null and b/patches/openssl/certwatch.gz differ
diff --git a/patches/openssl/doinst.sh-openssl-solibs.gz b/patches/openssl/doinst.sh-openssl-solibs.gz
new file mode 100644 (file)
index 0000000..a8a303f
Binary files /dev/null and b/patches/openssl/doinst.sh-openssl-solibs.gz differ
diff --git a/patches/openssl/doinst.sh-openssl.gz b/patches/openssl/doinst.sh-openssl.gz
new file mode 100644 (file)
index 0000000..aa74c81
Binary files /dev/null and b/patches/openssl/doinst.sh-openssl.gz differ
index 979ebf373ee91c3ddb0caf0fd573adff202dee49..a94ecc4a8c4e7b5cf5026756aa0516ba5d11fdb6 100755 (executable)
@@ -1,16 +1,4 @@
 #!/bin/bash
-#
-#  openssl.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
-#
-#  openssl.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
 # Copyright 2000 BSDi, Inc. Concord, CA, USA
 # Copyright 2001, 2002 Slackware Linux, Inc.  Concord, CA, USA
 # Copyright 2005 Patrick J. Volkerding, Sebeka, MN, USA
@@ -45,7 +33,7 @@ elif [ -f /etc/slackbuildrc ]; then
 fi
 
 PACKAGE="openssl"
-VERSION=${VERSION:=0.9.7l}
+VERSION=${VERSION:=0.9.8h}
 ARCH=${ARCH:=i486}
 BUILD=${BUILD:=1rha}
 SRC_DIR=${SRC:=$CWD}
@@ -57,159 +45,511 @@ PACKAGE_EXT="gz"
 SRC="openssl-$VERSION.tar.$PACKAGE_EXT"
 URL="http://www.openssl.org/source/$SRC"
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
+# -------  error codes for createpkg  --------------
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40
 
 SRC_DIR="$SRC_DIR/$PACKAGE"
 mkdir -p $SRC_DIR
 
 if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then 
   rm -f $SRC_DIR/$SRC.asc
-  wget "$URL" -O "$SRC_DIR/$SRC"
-  wget "$URL.asc" -O "$SRC_DIR/$SRC.asc"
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+  wget "$URL.asc" -O "$SRC_DIR/$SRC.asc" || exit $ERROR_WGET
 fi
 
 gpg --import << EOGPG
 -----BEGIN PGP PUBLIC KEY BLOCK-----
 Version: PGP Key Server 0.9.6
 
-mQGiBD+T8ZcRBAC5vVAcK1C/RIgL4tzwfU4k3vWEGHt4Ukt4nIctAMYJkfuzq9FS
-AL4c4xEpVTHRxDXNoSC+ialnJfX5qfhjrixE7wRR01TG7kvpbr76v8x88+LiBpwN
-QTZlsz2OmbHeeWRxnCOgw79+5umLOWRmjDY9om6+8JbG4DtCiZokq4UoRwCgyFrG
-T8ov4iBf0lUkd+/lS5MmPT8D/0fRaM3LrT8/3kWBZd9bT6UwqK9c3AT1JthZH5GI
-5Bl4xL2JcL0paLLDbGRErIf+BrAHEioYdFlR3f4GlFEs6n9LwBfew/46Tz5Z42is
-R5eSmYpPgv8cSl+fhw0ff78TQ8hoOlTCwzB2aLcdLlQB+j7joqk2zITLuYkyntyY
-xle8A/9XFMEOg90bbqgUyBI8OF/aYFRLDffGd2BEJcytC5dgPJv+/RRn0QSlUAyq
-jiws1JAV3Q9fvJMhxg6aO4/6Ab+lK1SwlTC71r24kxv+nQsot495b4AS4ns54MeY
-7Zot7/zrgQ7MjXutb/oOg1le1hjTS2ONJjGv2aNUxpYtiZqzc7QfUmljaGFyZCBM
-ZXZpdHRlIDxsZXZpdHRlQGxwLnNlPokBHAQQAQIABgUCQjymlQAKCRCi0pt78pXH
-WfILB/9Ti9I34nli2O37oWFek1A5hVxCuh5T7vOjtQ501yi0YG+SJIqKprZD96Oh
-Tc49qQhOaXWD6SSyVxZPuj2tTYPRe07qZol1Fn6SA2QgBNix2nNLNeDhaJny+gdT
-JGRgcURcBR31hTsWFb3abGk7TBZpbw1Zy3CFJM/n5XJQwQbOOWJISFIfllJe359j
-ffaYP51BOaRGYsakSHfJfShm6ASDpnCb7Pj4t6xamVPrghftmXOpV5V1DcTDin4W
-Xi/iK9hA8X8/fJva6alJ7xvOXIiAWbL9yiQyVQInjGm30PECnD6IU4zBX9rA+LLj
-DzCXI5gWFcwKGzF4A+BqTP+x7GPTiEYEEBECAAYFAkKQuxgACgkQi9gubzC5S1z3
-owCgn7u/b8zXjf8xt6D1dspy5LusNwIAoITRPt3eYwD6X76lhavRJvbelvXIiEYE
-EhECAAYFAkPYEwwACgkQOaMLcr2S8YSALgCdH1DrjK2v6BhC57Za7a7bp9lZbakA
-oIecfRB1e2sLSCVNg6JT60dFPUPIiEYEEhECAAYFAkPYExYACgkQOaMLcr2S8YS5
-wwCcDM+QznStikChAoCGXBNTjuTuYZEAniE1Hut9Cqpr7AdUvFc7jjeII2r0iJwE
-EwECAAYFAkJM+8YACgkQ7q1M/UmlY9nGfwP+MHyp4UlQwNYQUM1ENj5UP5Io3xFt
-QdEbyaXX5+eHGWHGlbUZidbemTG0Lk25gHuRPwNWbX6hUde0Sxn1SwPsqhA4F3Je
-i5mvwIclrOAXt1rA7bXxTe4f0vPR8r88Ci5ObZ4v0pgbTzAD2SuwkrfX6onBo7af
-0v12WyU+OTmN8daJAhwEEwECAAYFAkJa4rIACgkQquPmzmahRGg4gxAAzFma8T3U
-9EKbUw43a+1wOQ9rPyg665CRfLTjBa+s1XPeUguirnRYKQM90g9b12cnVsCg6XNx
-l+Kg2SZ2UzOdbuvIkH+wcamw2xrGKWK/m2UZVlQ+fj51PS4QjJ/p+mBu4jdDYcVK
-J9YrPK9X9Kl2jDTHO4T0j7ViOWtqNhUHr6EqSeaVhMiGnRR3/2aXCZh8Em9io7ss
-YvVrJAtbptkNAfO8fc0AJc/xHMZYgrwaS4zGO5Ilf7E2ra/doWYLg9auuKs6rv21
-HmuAf90dJo8qMLZpiuQTiLTOAZDcL5wfsfWklXVpImVyvZHHbyPh2bqZp2a9ztub
-TS1AJ5cCSq7Qd1TAJ36hPPyl41dqHtvCiKzxtUTgeKsChLme0dGhwEzM5i8fN7L8
-+8k/a1GBtPGPZJHMx+CjZd+c6Q5W1UqEZtZeiGbSLrsc1wz391aD7wKMt2uHdy65
-41rLWgZ29lvGzH/M3mZj13jyFauO0nbdYWoYBLzE1bYScpGM+kPh4J1TB3G6fCuN
-NgtoQY3Y30drP7BZoQPhm8I0d1hvw+/qIO7voVPdPwfxwcDH3Q3vifwEO74+obK3
-VB9Teelm1GuOmpmq4sB0EenwKuOT/x9ACDFAtNu+23i3ku/pmnnTVlk0Z80S2sCq
-vaQRKljpoziZ1/NxHN4vWHyAMSTxwkDe1w2IRgQTEQIABgUCQlriXAAKCRAYWdAf
-Z3uh7GkYAKCAPD3fbfppX2kem3wZ+pEnCYr59QCgh+w3dHA5IO94Yoldea4qOLW1
-JraIRgQTEQIABgUCQlrieQAKCRCBwvfr4hO2kqw4AJ4m/OrsWYukwhIHfbeivjxW
-i3jXeACfUqdl34TuVjGNBLqBju6QLgO/Fx+IRgQTEQIABgUCQlrilQAKCRBrcOzZ
-XcP0c5F9AKDjzYkwo2tnhdobBqHTYey49t7gQwCdGAFezw4OVhWAo1CiXcHIJs05
-1+WIXgQTEQIAHgIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAUCQjyIlQAKCRCnr554
-9wlFOzL5AJ4/Q66TSctpsVz7CHSwmD3DKJQGBgCgsYZduBOSmro4QNMyplc7s755
-jluIXgQTEQIAHgIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAUCQpYRkAAKCRCnr554
-9wlFO90xAJ9vPJdwKtv7DRHjAFYzozCTww8b2ACdEPD6pi4uLzXgKtmtLbMwnptK
-WKuIZAQTEQIAJAUCP5PyQwIbAwUJAeEzgAYLCQgHAwIDFQIDAxYCAQIeAQIXgAAK
-CRCnr5549wlFO0KdAKC39VTsm6AoiAclGqOVPMbJvoozZQCdGoJNFZa8UDuAsb3+
-wNY+Mqdap/20JVJpY2hhcmQgTGV2aXR0ZSA8bGV2aXR0ZUBvcGVuc3NsLm9yZz6J
-ARwEEAECAAYFAkI8ppUACgkQotKbe/KVx1kyrgf/WscI5eTUUPNEwWeX7miwMfXR
-y+U9MAxgKFTqVpqPiM4ZEJ/z/7yr6AspQmmh9I0oOKXp0YRgzavftBVsE7B5EfyP
-4dy5B4K7AF4+TXYJre9154ogB9r+U3HTYDUJAX4KSu0CXJ/6iu2O9vgIVQwT4S+x
-n/SRBuU9HFw/axCsNV5VfucFEm3TXgiGd2urGHtW2xsF1jiSFKoqZl3ucRAUIyJg
-z5Tu4EfM17s+3CrwG0i1vOwzjGchMFCq7BTYRouutls5yMMa1nH+XOojY812c3GK
-hl5PDzcN6lNg/eqrKAwK9wlq8YZtrmJHiE/UHQl8dL3ZVwZ63Fhzib/revQjKYhG
-BBARAgAGBQJCkLsYAAoJEIvYLm8wuUtcGKIAn2kocBh8whznWT/Hc8qb05sGkKm0
-AJ9GYHEcFzEEdTJJGq1Q25zCjvw/JohGBBIRAgAGBQJD2BMMAAoJEDmjC3K9kvGE
-gC4AnR9Q64ytr+gYQue2Wu2u26fZWW2pAKCHnH0QdXtrC0glTYOiU+tHRT1DyIic
-BBMBAgAGBQJCTPvGAAoJEO6tTP1JpWPZSFYEAJFpGBWD4GKkvVYyNDqIBki4flmw
-UpNVeMsrh46CYRmj30bSmgYgJaeW+AsfqGCK/M9Lsw7itX2lwNwQqv5ef1CavZmM
-61K2qg5NvMTyd0i5Wz6cXXjNyDi0VWua9mlbcN5rxuQ+70FdNJZvkkmFYaSE2meq
-6p+Fx9HVc6KdYH1xiQIcBBMBAgAGBQJCWuK0AAoJEKrj5s5moURoVzMQAInFp73E
-eruDwDXu2+wMp8j/U38YXn9urfEFHXU8V5XJI2lPGx52lAKrFZdfB3T+WXGzQhD0
-u+eZNjmFBn1o6hmAstZ800/PKq83OHxlp46FxjLZ39tkqmkRpWNzXlsYDl7nEQb/
-SMRdwLa6VCWO3w/37CRqjqsE2X9r66udwcGzHhxmvt8ovhTfjCK5jcownVSM5TCK
-zF3bnH22UdN4j0KuZrVV3KavQHnIeeXAAfiHGapnsXJDe8nHVryo5fCdbPWpFLDZ
-h+gQX/Bqn0wsJTM8tVtHkePpiVO98Y/6IpZV0Rr9pPCPGWYCtlXYBFmuhHb3Ruek
-k42G0v/1slFPfRYb5C/f5G/+Yhg1+m37K3+B9/8i6b4H4964F76aDwhOcP3SjLvR
-KER+I+fR6rpOeH7H0wAyXvOm5W4ZbNQ647Wt1c/urScYgF6fS50MRfDak+8HRTxB
-Y88ZPM3NBP0YPtMckB9gG8VFpFCRrcRjOdVQvUsKc5QDaavLByjESzBMZCGRRHcL
-hOoK2T12+2deY5F3X9nvOF3Yra9NZrS4ZuYPmGJkkGXfm3MPT8GArqKkik4x5dfz
-mMpyzLF8l0+70tekHEp2GwjbmMJuqhxrb+QCuVVmRjQjsZ5JRi7aizKaZUvriP1q
-bU+LIbfpyIdHKkXRMMqMwHEMcFY/RJbaz4ZTiEYEExECAAYFAkJa4lwACgkQGFnQ
-H2d7oew3DgCePtMnWqEdPCtb8KnfcadZ3DnqI0AAoIvSG5CRnCdgSbyUiXcIEX+t
-Oc32iEYEExECAAYFAkJa4noACgkQgcL36+ITtpLr0gCfSuXhzTRvPHRTJKehkh2m
-YZYTw8IAn3JomkcurEehYU/8TOd9Yv2xlhQIiEYEExECAAYFAkJa4pUACgkQa3Ds
-2V3D9HN4FwCfeyPKu8icMqk9XVSWMYd2Ti09ffMAnjmUMO7qqtCohvXPYbdjgIDS
-Kw1wiF4EExECAB4CGwMGCwkIBwMCAxUCAwMWAgECHgECF4AFAkI8iI4ACgkQp6+e
-ePcJRTvD6wCguZBUlPqFDBBe/JPallz8hQD5eTsAn1bpP2RKZ82qD14kjdLQP4Kd
-6zzciF4EExECAB4CGwMGCwkIBwMCAxUCAwMWAgECHgECF4AFAkKWEZAACgkQp6+e
-ePcJRTt8DQCghwRswzDVI4mMkxHHL25N7VU+8jgAoLjXT6abchXw3Yt78OThDam9
-nk96iGQEExECACQFAj+T8lsCGwMFCQHhM4AGCwkIBwMCAxUCAwMWAgECHgECF4AA
-CgkQp6+eePcJRTv8zwCeKoTy01uOrRfK4JsukggpPqXrvjAAn2Ovc7iunYASMz9j
-0DhMTAg1m6JLtCVSaWNoYXJkIExldml0dGUgPHJpY2hhcmRAbGV2aXR0ZS5vcmc+
-iQEcBBABAgAGBQJCPKaNAAoJEKLSm3vylcdZX3AH/RyxnnH+ofdF+uOtFWPco9J6
-i5Bou0c7ck++VfFGKU0KqaMAHfSGBXe3wlE7dO9YGDL8SXeoPPi6pDgDjBQwWfcD
-P4pf+2vTk1dUwdcs4G6n1I6zcVtl7OrHZnhyeOKqFRDpFVsBK2UONnm47VTniyew
-WzcAZEIeHrF9e95pW9S5oCLujFhgFruPopEcm9Vra/HMuHMS+RE9foXe3ZvQN332
-iyZqOE1U9BA4XfFuLLzPCIsUs6GPghyg9YFZtR/aYJwarMERlZ/we6Qp4iHz0nsd
-LmgCEcOXFliA4wZuswQH81AztlzYNMBcwdWGQp1KPmtX2whj6Pee0U8hboyL5tKI
-RgQQEQIABgUCQpC7FQAKCRCL2C5vMLlLXDkFAJ4vyNfsPt4SqTsIOQPhUsILAPjM
-uACbBkoG+Wybsigsfusslr8pz1Pr8iaIRgQSEQIABgUCQ9gTFgAKCRA5owtyvZLx
-hPS8AJ93BGLefJ6NQ+iPz6wyS9cXyY+xFwCgyjo5ZofWVpDTSRRUBy/aMeu9nPuI
-nAQTAQIABgUCQkz7kQAKCRDurUz9SaVj2alrA/4tXzj8JNHiXedZBArOoC8nnbUS
-eMbZSXmV5bIjtXhuDPH99EEK7u3mOT5wPSeUB2p58xzAnNUOVIOS24GXKgtSwg3J
-hTaBwDFf3qlE4bzaFJPAAQ2AMH9RY9XgNG0eIbvoD6gUmCiE1uQNwQwQ4t3LY8MM
-q9bGNVYBJW3A5b6RoYkCHAQTAQIABgUCQlrirwAKCRCq4+bOZqFEaBxlD/46fbco
-iPE8hJbmNuqNimXJZhE6ME17AdsaplbTFOjAaO9dIo57DfGDyGIsgrdsnqa8o3pD
-9zptv3P9N/aDrSMyhdEAZXrfQfmj2S9Te3CNOhyKHT5ntsJtUYnT+LXrgej0vA8V
-KK1Lt3emjJ2btNODui/BTecmAD0qERy6VGYstEeUo1U3njKGWr0wBaJZgiaWUbnN
-fkacbr8agm4+VT+c3hJUU1HlSCAQY/DlE/TXBV8UjcwkgTYIgcVTIXig7RnZGebA
-YPf4j0+voa1rD64791R+CefVHq5uvvahCqiFB2fCJ9WIYzS0R5ECECNxn/n7xHxj
-yo9PiO1C02Fuxfd03K1V0HCxxiB/A5r5RcCYkR3915bT1HrUAAI3YVekcu/Lxk6x
-0liAIs5o6GFQVhVrWBbbQwjz1RZc9+IWY/V4V2AClV843ASOThWvX2eacro4mJ3j
-y240itG3ljA1c97PtmYbYhOJOwlwhGQBet2CHJBaOBqPAOVMts+vnfz9H5NWUEqJ
-3xNAO4Nk3Wbd1Wd5EbUl3F64XDe3Jiivc/YqwIxUgIEtFGudiCCJn6oL360WJ+Gf
-5Gh7siyf8X1Qju9cLiTYWB8byEP/FW98z8Lzpq6RiO1ozxSKRWxGcA3XysAbOz34
-EoKU11Ox11zfneXe934MdkWTnNl0Ax6E++63YohGBBMRAgAGBQJCWuJcAAoJEBhZ
-0B9ne6HsscgAoIutMM9ufkf8IGNOxggqx0PKnbo0AJ9mR28UgXZ5vWmuPgr8MnL8
-q4R3Q4hGBBMRAgAGBQJCWuJ5AAoJEIHC9+viE7aSXuMAni9xQOR98wsBN7/ElQZP
-pJOxJTvVAJsE7/NF0JsLH8NaXQzBce5JDd9vEYhGBBMRAgAGBQJCWuKVAAoJEGtw
-7Nldw/RzXcMAoMZfw2ISflPnQEeJer/BtvrstDw5AKCAkbQmMDzfd6CY3h9E1f0S
-2BHgzIheBBMRAgAeAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheABQJCPIiVAAoJEKev
-nnj3CUU7jj4An00ybqwiQn60qhcZOSZnK26Og4tfAJ0YdY2YojjBBGJSNMiHRN1w
-DSEAeoheBBMRAgAeAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheABQJClhGJAAoJEKev
-nnj3CUU7K14An2XcFSO38LFim7ihbwEeTbX90qQHAKCHST1auSRutD4JaAjoa2yy
-Yaw9mIhkBBMRAgAkBQI/k/GXAhsDBQkB4TOABgsJCAcDAgMVAgMDFgIBAh4BAheA
-AAoJEKevnnj3CUU7+EwAmwZ+dl0hDw3bi97Dhh2roWbE8oWMAJ9MsHVDZYofEXGo
-j6yixKfxl8MlQLkCDQQ/k/G2EAgAveqxdc+BRyB5Oe56+v9nwf4mxfHgxs3nAOfY
-EBQa8TefH+K/AtrLdruc+TCv+rLdRDuzrtFSiVTg/sY98k7A6PzTo54hnSem0R/4
-iIG430UyhjfAbSWL/mAkoADo9/PD7UJE0uvvSWqY4+LjSkPf8Dta50EzcMVid0Pj
-F0dEp/gyHD3+9IDKTnLgrSIz4oKb4cY/wjYiDB+Kwp57f9XHvyCD6JJq/fbTBpK6
-9x2GBb/Lt6ms5oVlQ19TM13Ya+TOsE/eV6GfqhJooX+Z9soKDFRw49zlegJYS415
-0jbxL6/ZDK+GbP4i1RYvP7Twf1Y3ozFN69bvT6oUwssc1C3odwADBQgAsZFE6c0n
-qf+zxWysJERgnfv8BVV/ZXq3T4KC0pUqDu8VT6xdURn0Yfgb7KWN644jiJFpMgO5
-xVybz6Q4Ti2WjZRJiZ2vuxiqDcxkNodz7Sik3PW/wvt4FT2qCOZwYMwtCK0drWTh
-rLLpCdT9vJr+leRdQB/hvC3UKBOrJrvl2X1FBGBlH/ucPTzJuIQz6zENgPt9ewD1
-a/RISa0Q0XsGpEM7EznRnTBellHWBUbRAZtAHnc/hW/ynjvNQ4UwDgZ/7SHRWvBe
-kM5pvzfgmFhvY0D1SCmz76KhiTpeMwJUZUp4XKSil6gkCjumTvPyYYG/MdaSBvmw
-xdydjOJPeopowohJBBgRAgAJAhsMBQJClhIjAAoJEKevnnj3CUU79/IAoJ5oKNsH
-/idN19rlt61VJllm2R/WAJ9uyWcqpOAThvzO/FIVHiEDmJAT6Q==
-=N1Yk
+mI0DMxFj8gAAAQQA6WhM5TR/jDsUNEwzqQD/pdrNfEn8cfx2yZvoTtG5h9WVex2Q
+LDFQE6TJb4BiGQdthTCcHmoGgVTIutssa7AodbUqcDCBt5ktMfmepAukDREsZVm/
+e3MiYpR3LLEGmFlYLgh4SBRuX1xz6mI6wQnxDMXuCerBaj8q7q1M/UmlY9kABRG0
+Fk1hcmsgQ294IDxtYXJrQGMyLm5ldD6JAJUDBRA1/Rjj7q1M/UmlY9kBAfwzBADc
+i7X+/fq9+cOGULYBE9Tr4VxjG4T9JxE5BeoR/2JdOWefnfGtpHgusO/Ii0yOqC9V
+9SunEZfhut5E4Q3Fhz011aQaXjGLc2zVcO0fCAZOdue/lUd5xXdupZfVScHv2arQ
+Sd3nameuFAdNVkt6npYp6GRiLHX1aD17VBKfMbL2WYkCFQMFED6kWILNY9HdhPkm
+TwECvtwP/iGf6TbQTIjkujYW5xVvnGVM7NqMAiICDsDOkkPcrm8PhqTViJrQHGWr
+U6Xre51jdJj/lGByCr/YhicUxUO44MttQ52x5JFhQd+oP/OMCvO4FJZIPx9paUX4
+RzimHr+MW9B4K1rbKcRKTjBXTqaLl5zrA4i5N77NDW4Or2PBqD57vCple+THgv7o
+WdU1ebnWniayK8L4edZ5OAXIUziOqZjyYyGd6wXu5wo7pFsycP27FjTmerMq2nky
+Cl5PHcFZ9+65BuuF+P/DBRgLOa/EM30yU6oNMII/9Umswj5nhL7yE8EZQM2KwmBS
+p5fW9/mvZPKbdZit/JNmh7JzmmOCXiFtKUxjHJ/yzIuYOHrSz+eVRGa5JVDvWNsm
+i9iar40b1rzW67t6JXwu9YvHwdMNr5t1TD0qg3xbYa8cMKbVNO0l+P9XPJ6PrDS3
+3oK28ED0Y5c/oFgD5yl1LxeJoGI2RXiSRUKRLasoIXaDhABtbK6AGyhsXP3DSNCU
+jREXAaHxqRp71tX3W/KKJiahYWAQtGwdry7dRHUl0mbplWUZIyuoVEDwsJCCFZcG
+QdKCVPrWot+HQzM/UVqv82SmNNpTBnbq0wCVlvWEjA8Qkiv1q5R2TlSg5LTG0PXQ
+fWucZesgZnAXJIx1JGSD3TDjtLTR0omcz/7Ogshk0i7Pq9Ztf/3AiQCVAwUwP/7O
+wO6tTP1JpWPZAQHn9QP8DsaxtiTlp36JiX/FFM9z0K/x4Ic2DBaNrxx+Houl+Ue7
+Jcfq3yRogEGr0K+oP7e8OQZb6xinDlyeFSKwGn5hLwZDrP0m4gQTQooN1PFy4uBb
+JtyO6sCBA0D/sIMP/yhO/j0TIJbw1EGcC21GdN00/At5GicXcgpxVHfB7stYNnOJ
+AhwEEAECAAYFAkF/LBAACgkQquPmzmahRGh1Xg/9Hzk7/7yH6o24wrrTnTczVsbE
+vz037xDbJOwTv3lxkX9BIrOsVPzC3LiROhSfA+Zcyoptb5qzmDVYJ1K7EHpTCQcF
+pXWqvYokHgLjyF5440HGDyjkR1DTSgUjAZ3UOPNlc7r8WneeQHqNO4UWBT7F6VPt
+cLJdN6F/ucDzt72IbTo1l3D6WNEnlnlxbLlq378fpaugBvb2LyFapSG4s8gnkWyT
+8bal9vZc4h/ELDr4OdD8zrqXzFOR6Xw/bmZmmnHQR9uUwJ0QEIhWEFoAgSoQ6g80
+eiJUPoOYA51c/85mQdJEXVTcu2dhy5kjgeMEjxTRnZXb+L7afY3cWpC+aakt1ykK
+EIQ9I7y0nYJ0pziXr7nVaKDUDCEs40LVNtnBd6L+IePPZ9Mng0kymWCuKUA89p+B
+wIQ3Cmgxz1yE6kiOy/HBQl6xetg9JbCWku9f/RSEl8O+4XC5lBWd9eSsmCDgwZes
+B/9lSlrt8qnYD8H0eZR4e0hmEPLgXRiLQMc4IZtWrzRl6ejTVoQq23OBkjtfaFt6
+9TDyIyaww+3igqJkVNIVTeSQco39rPauve7bwhZ4wu315EpJX7YlPnF52FfZOOwi
+Z86/I02W8FzTi4kd9QKTvm8wOdL6UY7IWwpR437M22E6HCuyWGl5ngnoGgN+Ndcn
+h1N/6PtNhAFwCEtcDV+IRgQQEQIABgUCO9CTnwAKCRBVlt0M6b9lPRO1AJ41uuX4
+2r22KYa0wQPQEs6wgzWtWgCfRyYZ/mwhh2l3phacCs1MNb+18iWJAEYEEBECAAYF
+Aj3dKwkACgkQVZHiwGZkwHjrLwCeNSSWj0EHcfbDiVhUM3o4soLtBnUAoLV1U5hB
+nqJYgdrzqeyQhfi+G2WgiQBGBBARAgAGBQI94XDpAAoJEDLsF1kwoh1VUK8AnikK
+B5AAr/GULEWHDZp6sMEc93KEAJ9RpmQEdKuzrQNRG2zMT6Ts7xMV6IkARgQQEQIA
+BgUCPqRX2gAKCRAxhs0ETwnwVSlvAKCkFfJMhy8bEMfOpknpYE//SvXKiQCfY34b
+zc8lBnYwuCCGw4UjcdC1WXOIRgQQEQIABgUCQiut5wAKCRDmG6SJFeu5q/n0AJsG
+9YDoDypuN7pYYvdtORrCbeDwEgCdHGFDFDWAICDnBxLIWr3FbKi9ZfaIRQQSEQIA
+BgUCQFiGxQAKCRDIgd1HSuerR54aAKCfTrkm3w17KpoM2OBKNMefkIHegwCXbJpp
+WaHSNZQjw6JEBRomFfETkYhGBBMRAgAGBQI9DyzcAAoJEEq61lpJwpzCznYAoMnU
+KJowCPxfaM1CEbt5/VQlOaaUAJ0QrowZcGEP8dsfvjnF+/F/C0y3ZYhGBBMRAgAG
+BQI93REmAAoJEEzETQAR34fp8PcAn3nWBPZntvVu/33wic9F88Vj58CBAJ9ap25z
+QJ2iAZiNZwBWGosMUuyi+ohGBBMRAgAGBQI+U5aSAAoJENjDuVLpGrm5wakAn19H
++FsME+6pOX88oS/I8wdxpxs/AKCfi8znKAHS989o/8+IB+L0Aj1J54hGBBMRAgAG
+BQI/egclAAoJEBhZ0B9ne6HsxPIAnjyFgDBUTNDfLGMDBRqe6ylRdnbeAJ91zA6l
+Vvnj4FvW1jdhED5rVhZtP4hGBBMRAgAGBQI/wcWSAAoJEDYVIteCq3vRggMAoKC7
+qznvT6OR/i4YMqck4OdyB00UAJ92X5n89ANw4zdHre511XnqXv3/J4hGBBMRAgAG
+BQJABH++AAoJEIHC9+viE7aSJogAn1bvaogGFGb3YBz7EuCfTgMsA8AwAJ9L7pRq
+AtaeCOxX5YI++Ez0LJOUXIhGBBMRAgAGBQJAC1JDAAoJEGtw7Nldw/RzmD0AoO1u
+zGhzzCy8hmZ8S8honUbc9HtxAJ97WJkzvER3QPi7jyqoNsLf99JzU7QWTWFyayBD
+b3ggPG1jb3hAYzIubmV0PokAlQMFEDRypQTurUz9SaVj2QEBAPED/R0o1TC6IXzl
+TtLR3C0QwXg350ZwcYE3hez9rvKgfnjni6gcxzZhP4ETlrmVzqZMXgqk9Bht6F6p
+khJlTrQ7CSvdrCr7U3STgBqveVECN7dSMeojR5FSX6NdUZCclNoi+lxUdfed50t9
+8ShnW1Or++SlQrtyU3tZAxAzsjFQ3UZliQCVAwUQN58E7TGmPZbsFAuBAQHY1wP/
+b0v/5PBNeWa4L+Rx25soKdawL0gzUI/Cey03h73t5pBKAaS2v45JFeB5xGPBZZhT
+ujffIUb62jdnpsgtGO3r4W4Xf70KPOvLwXQeRj20GHPRNYAidJBEyPSHIe/DXZTv
+QiKVY+JppduO/aig9WvqiwYtc42nxq24tAjf72Ynv0aJAD8DBRA6ynJd/W+IxiHQ
+pxsRAn41AJ0TE+0HYlNdTzXjrX9iCsziPoIuYgCgkNNAQ9v4KCRrNzsqqATqRmyb
+pEKJAJUDBRA61iXnms08wKmfdd0BAacGA/9EqsT2tIdhJTYBgCKaLffwmFnG2n3N
+k52rTdI8sQWv1bNj4VjDbVl0ITqCzCPRnKMzRIl7PVEPnHtsRLYc7AiljMUJoAvy
+FaAUc8AmJ8CV+rdiTbeBncYviwMOrB4cGK+INvi2cFZ/jJzE6cS0IfGQvnvVOuO0
+bEsQ4WWlUBv5vokAPwMFEDrWKObdumS6LDEtLxECYd8AniafVeerYuG405ntW6/J
+PW/SUBdpAKCnen2pD3hHEEhbneGcXSAN4JYe2okCFQMFED6kWILNY9HdhPkmTwEC
+94IP/Ryk3u2h41n1o5wSiCmAD5Xy+5l2fuNfvEJUm8jyG1cqT/zPzPNdHrs+JmkS
+lTtYHbUAdS/7rLhbjFIaPhY7/W11pVLB7Bo0XGRAZFUVlrdRYirl/4WOFJL7rRx0
+8X8GtVmuD7nQuR9wnY3KLy6jbVhLOnTfTSsAGEHZDCu1vQEG9wwN1jSLRVRPxQzy
+XYKA0LqHXG465syIHdgiCtrD8cPxx4FhUzKc/nfuTCihCuTRVMfZycoo+yepXQ8q
+Gbjjv7sjoa0mTc258z2lBjh9WcsAiFuY0rlCsXE2/9PfJhsSaU+8YS6uIbdmorlM
+/AL1wT8uqq1hF6cmdt0v1wlbUDTgyI2+ade5vsCm2EjtVmx3n3xG98ieJ9yUTks2
+PCaBlp1Px4NbMoXWIHNlmvD8Tv6OQO2R/+ncJGE4UD7K33NQ4wSw0MetSytPbFzQ
+dbSUXf5n7I2OYVZ6edQrsJ9iNvrLY98+piUx04duil9UZQqVrxz0+hlZvkJTrXly
+hs+MD18/Og19vNMzmc23DdEcTLpY3cqBZmE8wN7zLGH5yH+34KaZ3ATuWyU2BmnF
+YGiA3Qfv15TcAfNgFj4aX/YnKN0S6qZbUeCTNMY9QDUPhzN7J6d9EvhJzozGdZ16
+lMAatTv3V+a+R1A8UKd64DO3IPVd9V5lvDtoJUwZC5bK8I46iQCVAwUwP/7OyO6t
+TP1JpWPZAQEMMgP+O4Xqe5bEOm644k+SqHdwcF4S+FptgLOrnGMGF5SOjV6HCz8l
+GI8U7UKdjFpsdL0BZhXHySrOPsnqJrxgcrzFBg6K9OEoUjRoBAwskd8BPLkS5wJR
+LDgKzuhxcThVFFtMXPePx0mHDQmnZOH6lTOKHdtCG7pAW3bHOCjbOisj24SJAhwE
+EAECAAYFAkF/LBMACgkQquPmzmahRGhcyhAAxQPS4xY+KvV352ctr1DuGM6xENQ3
+gMW4aKnWwb6tdUlnxdziwrenpf5f389Hhy7f6oDljjmq70o/P5QqZ4G/raE7CSRA
+j7Mlkjfs2UYGFKigVbvKq3TwgcGcp1ThnJ2FFuPqr8RzNAtLmLnZzMwrMnP0dalD
+ZB+L6goF3a9DQI4IdG7wMXxvQ8tEIvnT1TiW5aaZyNRV+jrJGQhQl5wkLEDGGlfC
+qGkp90JsTxFvEZK6QZHJRlHracn4ZcV7TVN0NYgmBHId25oBaZLON5vj6HSbqmMC
+ihJe+KoIp+ic7uEsHewbDsWoH7u53451LZ1DIwhN17pM/AFB7zy/q2nCOvazs6bQ
+x8H8wY9F6MpImiMBSSiYsTrYDUfE4g6qhoDnkRKn5HjlMetM2FYGZ6YqsEjAJZ1E
+LokdF5/s0FZ/SCrZDkCjF0++65nmFXS4C/dgZJnK4lqmSPnbspfcmSUlOKRlQ4Kf
+sHI1ui516uC3S5JK2fcMj8MlPMNzFq2vCIOVTkC67qSQPEEdXmnCEd3RQkcMTeho
+rgItfshB5wFFcHnkAYrztXIXobZPtGFGfb2skOdeU6DuR6nd1vTDiUEe06lp3V52
+FKebLhPkLTk3b4FzC8JZg8WpjUn1QkWy4/j5Nj3flg6x2Q0vW6ZNPdZJToOwsxpx
+8VtcbnfHoKdi3VyIRgQQEQIABgUCOjcVuwAKCRDe3YS5RDds3E3+AKC6fAZPreRs
+dDRv5/OzcI3ozjadxwCfbEf0ShLygKRRgU9Yo1/XdCiSQ2yIRgQQEQIABgUCOl4t
+JgAKCRAjbz4VJTe1Ubh+AJ4zuIl+pHzAipWjKWAy5nn5GsM+RQCcDynXECFq/ylQ
+0nTrJFJ3RI6y0ZmIRgQQEQIABgUCO9CTnwAKCRBVlt0M6b9lPVA7AJ99GXT9WU50
+04DzPOGgVgnG2eL2xQCfbVuBzx7xm0XaAVLrmWk8G1Uv0XCIRgQQEQIABgUCPB/k
+ZgAKCRBudrHI8aOrvRpwAKCwsMfQSuQh/HJl4ElTuBwAt40G2gCcDLMhFwFxhtJN
+a1kGWs2qkRf2Fn2JAEYEEBECAAYFAj3dKv4ACgkQVZHiwGZkwHg/7QCg4ASyAyVB
+m9NCU53Hq7bMqKyziRgAoODvdotzHuK4xYKnBt+RAxOonyKJiQBGBBARAgAGBQI9
+4PDVAAoJEDLsF1kwoh1VchEAnjI3X9jH+zHbYaeM8rzQPf/LjNWLAKCG1H1wBkfh
+D6qDcMABF/VrMF7jkYkARgQQEQIABgUCPqRX2gAKCRAxhs0ETwnwVa6gAKCl45uG
+vpcGKv/T+zC645eqbdNj0ACgloG9dKOa1m9elcJPWTRQ9+2hiRCIRgQQEQIABgUC
+Qiut5wAKCRDmG6SJFeu5qwQxAKCT1l/tYLkt1juNlpf2yBQJ3QYPTwCeK30CIZWJ
+bo0Gtmlhv/UPnVRCkmeIRgQSEQIABgUCQFiGxQAKCRDIgd1HSuerR6MlAJ0UTnZI
+lRVlyBfu8in1Bpoz8kTSggCbBLbbi2Z7ryzftwwu34hRXXVgyHCIRgQTEQIABgUC
+PQ8s3AAKCRBKutZaScKcwi0wAJ9duhlMD4DOVcNkq5VcIieX3gC8HQCgyUXU9iiF
+VqTJXHN3XQngN8Hz+YGIRgQTEQIABgUCPd0RJQAKCRBMxE0AEd+H6UXvAJ9i7ZjE
+V9xbLRNEavi5DP7FvkqSzACfX9mr/SsVt0tvCcjXLmTC7SFj4zyIRgQTEQIABgUC
+PlOWkgAKCRDYw7lS6Rq5uXOPAJ0XBekPz3gBlUdCAAq5PrMhdJTbWACgrFrY2vLi
+RJXVx8qRVJxBdsQC9XWIRgQTEQIABgUCP3oHJQAKCRAYWdAfZ3uh7Px7AKCOVwkr
+fw7Io4sQKwVK0T+k+GkksgCdF2ii9fDFJ/QP8+h47Rvw8GfT+l2IRgQTEQIABgUC
+P8HFkgAKCRA2FSLXgqt70RbtAJ45F98zx1LOgWEm88Zsy0bFkmJvlACfSB9WUEgl
+OkzJBqk562xScNM1aTWIRgQTEQIABgUCQAR/vgAKCRCBwvfr4hO2kpq9AJ99HI/J
+uWXddSx961rClVS9q/7c1ACfbHhqk5fpcZiWux+2Y7R8CXxfQ56IRgQTEQIABgUC
+QAtSQwAKCRBrcOzZXcP0cw41AKCZc+W+8iCdDFx9S6KIRQ1e2WC4uQCgtBFf+JcN
+KtXSGoxOz7T6u8BDJqu0F01hcmsgQ294IDxtYXJrQGF3ZS5jb20+iQCVAwUQNC9h
+Me6tTP1JpWPZAQH+EwP+LHqkBr7hmAVA1EBzt8L4ji4Za9egjw3zC2CImL//wpzW
++O29PKUs8pUEOzLWKGxtU6MPc1QSQf3lM0jdCFV4LAk+XZ7caAWXbneGPwlqL2yc
+ePvmleNBerQ3FD8lFKsQCqsUzv7JEs+zvMPCwyhzY7Hl6ariOhVrezJlQTBbsvGJ
+AJUDBRA0cqUE7q1M/UmlY9kBAQDxA/0dKNUwuiF85U7S0dwtEMF4N+dGcHGBN4Xs
+/a7yoH5454uoHMc2YT+BE5a5lc6mTF4KpPQYbeheqZISZU60Owkr3awq+1N0k4Aa
+r3lRAje3UjHqI0eRUl+jXVGQnJTaIvpcVHX3nedLffEoZ1tTq/vkpUK7clN7WQMQ
+M7IxUN1GZYkBFQMFEDSxC7XWVFscz8EA9QEBViEH/0bcjPEcNNUXUFx+XwNoy2kJ
+cA/1RtXZcagHCylUCCke+4gT3X3K1i8nsRoEJpbblUxrOVNVz3+3X39tTT+/WoJb
+w/YZZfNi+cGUMmzactqOv+uhD6eDlhdf1huyYbgkX8udx/fNxEWZ6hg+GHgWnyxy
+PaBgIsWfRv/nBbMT3Xty7+yI/9R8KXjQByUImwZKXatvSsnv/jx4BNB0zEmqWFzf
+2FUwqRBcxOOmJw/wY82fxNVApb3LFmVaKj0eOhwEVUDbvjH6Ef1kgQDo+uQ7eaAW
+U3C6EO08g3HeILy4Xcy1KPpG6Bk47Ry73rGgFii0lrSmOhvCMu0efjLNIXpSxWiJ
+AD8DBRA02GubUX4eqU/cq8ERAgUbAKCO913wXBCqiBfQBT5F6koRZRRvbQCffJ+Y
+14jFEx+cfCdDIUjjD0l4/diJAJUDBRA2VRWaYlyoKdWSjeUBAeplA/9UIUQI73sv
+Y85udqTPAkPHuWs5p+xjmOWZSNeRmt0RAq8MF6OLqaW0GGpBJ+w0uYCzgReg/uYI
+EhrgdCJcG4//Qw3+uAP2ddiZDTYrf8NE2tzkctGEIt7hrhYfQVSWp9Po2A5ZSe77
+9IrMP6CaIbE51YdN3wXkoyz4gqoqBoRshokAlQMFEDefBO0xpj2W7BQLgQEB2NcD
+/29L/+TwTXlmuC/kcdubKCnWsC9IM1CPwnstN4e97eaQSgGktr+OSRXgecRjwWWY
+U7o33yFG+to3Z6bILRjt6+FuF3+9Cjzry8F0HkY9tBhz0TWAInSQRMj0hyHvw12U
+70IilWPiaaXbjv2ooPVr6osGLXONp8atuLQI3+9mJ79GiQA/AwUQOspyV/1viMYh
+0KcbEQI3fwCgkl6kpk5685Z6YGMDBEkIikMXzssAnjblMtKuuWvgv2sgu7eheoof
+fm3FiQA/AwUQOspyXf1viMYh0KcbEQJ+NQCdExPtB2JTXU81461/YgrM4j6CLmIA
+oJDTQEPb+Cgkazc7KqgE6kZsm6RCiQCVAwUQOtYl55rNPMCpn3XdAQGnBgP/RKrE
+9rSHYSU2AYAimi338JhZxtp9zZOdq03SPLEFr9WzY+FYw21ZdCE6gswj0ZyjM0SJ
+ez1RD5x7bES2HOwIpYzFCaAL8hWgFHPAJifAlfq3Yk23gZ3GL4sDDqweHBiviDb4
+tnBWf4ycxOnEtCHxkL571TrjtGxLEOFlpVAb+b6JAD8DBRA61ijm3bpkuiwxLS8R
+AmHfAJ4mn1Xnq2LhuNOZ7VuvyT1v0lAXaQCgp3p9qQ94RxBIW53hnF0gDeCWHtqJ
+AJUDBRA7GlanaDk/TNILou0BAVJrBAC21HKwrPq8H6Gk8HAz6Asxi6WYKgloHxkn
+nCbXspnkJIkHqI8SLFaMNuEc9rA3hoUEdGBfhkmzGZWvGViFmAvgsIU7LH7FnHkj
+pQZ51LlWR0KUbTgOkj3blZNphq7sNw66ZN66FFzWVGOtkR8l4YvfMgNyjS8JbaxC
+3QzA5xF8iIkCFQMFED6kWIPNY9HdhPkmTwECSQwP/jVC3qEpWUJ+nOCQ6lQuvm4z
+44zWMV08RzQzt8fT443vW1ZJRxljXCQamhQUyK6Zk6479Oc8uKfdSbejyIQOhTVH
+LGfrFbQUUNVZW1POlEVrPY6lI3UfscKQB6n0gZ8oR1q6bZk363RtrF8XVLXIMhrA
+et0vCoKxe8t0HMe/vFft+9Rg1F2OZVcReK9R/0DqMbK+Hp/ZFq70VPKUOEAM3v/E
+5jowfQxeVtZR+m976ilSWkW1fS+hEEhCF2TrtFduc2M8sPyJaRIpHLg3311rRKpS
+yt8oLtsDL8tFgCQrhkzbidNIisKWWZvjTnlqS8s0E8f7In+fAaSRPBz53iAxMe0P
+SBMF89T+NNdh4aeKUnW6oOgLyRFiPIQ+QWLP/Epoj5pChQEVWLbUA9WJmJNrXUfj
+vh4mQtPiU/8F20W1aZfimGN25wncQNynCOVCinvX3nTtiJEimFqHVMZgqYFIdK5t
+jNm3txFy78WDbP+grpiWWO/ef2SitGnmb6wMuR5Sc+aqB0pGP7CKpUAfC7eJU+WD
+tl5XpktqjVBjn/cCkJa1MjEq8I4sl5fcfs4kmLOmoGjjIRv/ag0RTUcftUhSLmUB
+d7lmy3glsRhO/M1AvM++or2nAMlCJMeWsF2TNqFQaWSsbSDaePIssb6FSBwepthV
+xJsdRgjntWmjQA+V3StqiQCVAwUTQJ93jBsIDEUnGa81AQEaAQP9E61JHRPRkC2p
+GzYtbbtSLoBIcDkkRrmDegGfoLXhEijNxFiTKsdu0LQYz8rfbZkWH9bV3Xb99b0H
+CIxDIlZ/hECvncOFJtzMLesHUcSa6LundtCbIFHhS/v36RBHrUEUzNinsNg1J6xb
+78T4gS5+qw3VVMKaCvutKR3yEgZotEKJARUDBRNCX9AzRU0ZVEdB/5kBARo7B/0V
+RMky44acC07ue1JQacpAu4q0k9oPORUpgrhGNZi+t27CrrvDzcjdRjp4TnyHZj67
+r9jkO+OR/HPSX/Sud33BM+orGWNwlNz0LmL6dXvsk4T5VvVBw6yqffIIVpweYbK3
+ET9XDc7vrsN02G3V/X0LZAJ37QFJZncQYRkGiKM3kQMlepyieFdMVrzxCt7kH+G4
+MAVXKGZnxhnHrd8kijSwW+csxpI2sD+q8zWk4/ild2aywYu6T0UIqytSSgMLRR52
+5pfH0hHswnDlhMoVrS+sPWdvnVS0V/3dsYk1mB8REcOdeVKRo4FH3JHD8Bk60b3I
+KGVoilZIspGfRUELriWJiQIcBBABAgAGBQJBfywOAAoJEKrj5s5moURoRQ4QAMI6
+MBt1T+8t0DwXrUxCWUgjGV4Nv3clowsb2n6ur+kyrSCWN1UFeLtPVet4qAKKgiKh
+tE/L+QIIf+tHjdOmipX5/QMmAINxOKUz23JowPNxGirKjjjuvbxMQRny0b84YrS5
+OxNJlRqrq2fC/0dy4oc66xOybK7OKAhEKWzuqs4O38V2zSPqFDTyr+D6sFillg1K
+1BdFVCLgHWZ6aL9AIAdg24dwe6WAhTOxkPtNiNaqmQ48TtPXe2qxZ6ssztUxP3ub
+PtUQCb51StpAkQHzMy4du+3hzdvaDhoDp3zoBVFjlXjghPqoHTbGH9CH1/SxyabM
+FPZRk/DsZvtj9yzM2zaWUGuPE2gtsC59TNLRQUDPX9zxIfXNbMkVQOW4Q+nMCSq+
+cQvkgVj3mVHmM0jJ2loe3X2QQeVKqyk419MzQ+dLH6+pd2ClT4Nxj31RKbTGebdF
+UZoWUCCeANFj1w2FyxeGp6jH6uYHAXIP9YajoCsKntEhu3hYY0cZ+WKQNcWvARBh
+bk5MFVF9Ef0tlDO2ZH18aeSupAKiWShfq5C+SRRuaA7YdCNXSxH/Xqa4sGZ9Odqy
+ePzlEkIO4Bs3I44w6VvnS1KcExT1PCrYTWMuQyux85YFBEDzr0pppo4VAypIkdnA
+maEIRVj/SVuMJe+vW7rVAf7gFdsEYH4UToGM3WRdiQBGBBARAgAGBQI2treyAAoJ
+EBPfD2hdwuxYIP0AoJK8ShF0Im36lJ3FZFNM2rxHXkF9AKC7fkMG1me1Je2GiIe4
+5Tahdoes9IkARgQQEQIABgUCOG/pBQAKCRAXWVXOQ77mqABMAKCgO+LVARom7t/X
+mRw4w4TO9IkM9gCgh2URPU7tqECsr+WuVfC/v/7evVWIRgQQEQIABgUCOjcVtAAK
+CRDe3YS5RDds3Dz/AJ9UaB2vKuteTC+gm80f028DPbmCegCg3ZM1Rt2WMDS/wHW7
+nQJ/xnyg8PuIRgQQEQIABgUCOjcVuwAKCRDe3YS5RDds3E3+AKC6fAZPreRsdDRv
+5/OzcI3ozjadxwCfbEf0ShLygKRRgU9Yo1/XdCiSQ2yIRgQQEQIABgUCOl4tHgAK
+CRAjbz4VJTe1UVx0AJ9MQMyjIUgLk2qqYpJGMd6d+C9RIgCdE5M8p4pPDNML2iQU
+JlmBiWrQsVqIRgQQEQIABgUCO8wKhAAKCRChUPwthaj3i+wvAJ0a+3dLzfhNVttf
+F4yLRaJy8ONqkwCeMVKz7Enbos1EJzrs3UfMdseMhMiIRgQQEQIABgUCO9CTnAAK
+CRBVlt0M6b9lPSdNAJ92qffxJFFh4gbf4sg+oF04Ovf0nACaA4fb83aGMDZn/hAw
+6OtDiAiCkA+IRgQQEQIABgUCO9CTnwAKCRBVlt0M6b9lPVA7AJ99GXT9WU5004Dz
+POGgVgnG2eL2xQCfbVuBzx7xm0XaAVLrmWk8G1Uv0XCIRgQQEQIABgUCPB/kUQAK
+CRBudrHI8aOrvQMKAKCgzQs5Z5l33X3yx105EjCgHwFA5ACcDu9No3tcnEIOCHnF
+hKz1uh8zIE6JAEYEEBECAAYFAjxqpMoACgkQu+iXKGr9sujpfQCgvJAlUnChTbdR
+NOAl6TmteV+kQPoAoIV3lfgP1vxphc7ypid0iCCbRYjYiQBGBBARAgAGBQI8aqUD
+AAoJECGRgM3bQqYOhyIAoJme17J7e/2F2o7SvfzBDu2vw6kvAJ9T+oJax4TjAJpl
+OlVsEb6rtgUt1okARgQQEQIABgUCPd0rKgAKCRBVkeLAZmTAeF0pAJ9mJT2NZdTN
+vmKk0yHnviv1fLUsKgCghZaHV3m2YKtay7GDlZLSR8Ns8B2JAEYEEBECAAYFAj3g
+8KkACgkQMuwXWTCiHVVOtQCfTEkzIy3COXq7heHViNOKIxZdHC0An1vCcjM/Nx40
+4IiztPWcf1THtoTLiEYEEBECAAYFAj4r+nYACgkQZjW2wN6IXdNchwCdHVrtTjPS
+C4tSP/Oo4UdEMnL9Dc4Anj7ti/5sSrYpqR3k4JfzsLpP1STiiQBGBBARAgAGBQI+
+pFcNAAoJEDGGzQRPCfBVKhMAoKShW6L8xFb+MZOLGrQ57A5eBwBDAKDjhGoyIyHY
+Eu3/YomOQOtQx9Ro/4hGBBARAgAGBQJCK63nAAoJEOYbpIkV67mr7DgAn16nUBNs
+RZoRy1mbJ03y0P8jTvbQAKDLqMJtFKz+DfRxF0PN3qXxrP8wzYhGBBARAgAGBQJD
+mISxAAoJEFQUZr6xLcGbNsAAoMOxM3OY5Z/dXlRHwIMcTvRjM+dwAJ0aVJv5/hKC
+PcNGKKcA+3aLoBpLmIhGBBARAgAGBQJDmI2lAAoJEDebzld4aIv1RKQAn1VlfJQ+
+Zn/aGX97fIZvgVRi9805AJ93TGM7Omr9CCZHOnLZz4fTPbLgdYhGBBARAgAGBQJI
+P+UcAAoJEJ6pE3mBTTdr0qYAn19RVF2F9/CPFcghZTod0cM3cAkFAJ9dEIvqwgIk
+CRw6nhNJaFie+KxcLohGBBIRAgAGBQJAWIbAAAoJEMiB3UdK56tHb7oAoIwZQxqR
+cFTOZ3mNiKSv1KzMVc2CAKCHXNW5B0B8OJhNTsBTHP8VYWFxxohGBBIRAgAGBQJA
+YtEkAAoJECbcEWqoXz32yBQAnRH/bkM074aA8IhuSm258MSdFQlCAJ9Wgjdx3vrI
+jkaSM3E21bR8kGGVRIhGBBMRAgAGBQI9DyzZAAoJEEq61lpJwpzCdLsAoLHgWIjQ
+8euCIIh4k2FDUFtgMCp9AKDUY2SM/+HMgV4YYDkT4vpSLkpnFIhGBBMRAgAGBQI9
+pELwAAoJEIvYLm8wuUtcB6sAoJoSfvcCiMcItoVRsc1aR0jjkqXCAJ94bp/CcLS7
+WZsbSxr4G5bMWCoja4hGBBMRAgAGBQI93REdAAoJEEzETQAR34fpK7kAnjvm87Om
+dDAOUcHCmgsIXVYibRH0AJ4kynpr2eFEdBHGiYNnpRh3qK5qxYhGBBMRAgAGBQI+
+U5aKAAoJENjDuVLpGrm54p4An3Gb/2j4EXeKrzFjs59827BqowhnAJ0RVJdZEJmb
+OmMFpwBo7LhD9gBVLYhGBBMRAgAGBQI/egclAAoJEBhZ0B9ne6HsM+AAni/tnDZr
+Zwl1uualOOVJnPw75ZUmAJ9Mm5xujIHrcOvarJ2AfJNq8Wt1ZIhGBBMRAgAGBQI/
+wcWSAAoJEDYVIteCq3vRFtsAoOnFKKYO7VRxGVOD0QiLR2LcBrAOAJ4vl4jWkNNB
+zjEby0kt0nqm9WO45YhGBBMRAgAGBQJABH++AAoJEIHC9+viE7aSlEQAn0jJOYsh
+0BaCzK7uCiHwV4KvMiZqAJ9fru1ModJdUTN/16dRG0imAJKhCIhGBBMRAgAGBQJA
+C1JDAAoJEGtw7Nldw/RzI4IAn1xUC9quEoyAbYUvgj0OaEhIlccvAKC26LisG96K
+wErSP1Tg+ixXxSkc3IhGBBMRAgAGBQJA9TxWAAoJEF5UgINlDViCpzMAni3HC2SC
+Xda/KKfpWxac/RdGUzJ5AJ0QC3u11GHeAD4JrM0pLKTBLUxMlYhGBBMRAgAGBQJB
+WMVYAAoJEObKgOUdJeNXa0QAoJlmX4rq4joxNtmA8PHgknGmUug9AJ9JFa3n6SA6
+O/SVUex+5sS2Ol00rohGBBMRAgAGBQJBjuccAAoJEFuWgBDgT5qJCewAn3x8pxFw
+1xYeOiu3aEwprGZWc2tiAJ0VX1RQrs2NLSZVATLWg5x8xzt9FYhJBDARAgAJBQI+
+DTRdAh0AAAoJEIvYLm8wuUtcIYgAnjJSBE2O1tJTiSrPIW0Jb+kh/xsXAJ9E+4NA
+rWqdnQFdM58AzjEzlLeV9rQZTWFyayBDb3ggPG1hcmtAdWt3ZWIuY29tPokAlQMF
+EDMRY/LurUz9SaVj2QEB83kD/jdJ0A2z81nqi7LEC8oRZI8Oc2QcjetI/KdufuiR
+Ku0V4JDdXB7QHR+SzMEQBn3NufH+z/UsqeuJR/LOF1mEl+Rl/GAPDLqzqyZqBhay
+bP8sVp4PMbcSPbRVJ7qCGx6pw+xwkvTo9SDXcskLgsWWBhwIMR4aXzU2bft97TEh
+SGU0iQA/AwUQM9vDiGfM5V5WR8xwEQI3uQCg3I89jtujpNviFZQgARGzVf6Eu1MA
+n1WN+fCGzkxNwr/2K51xZ5h8PWp8iQA/AwUQOspyZ/1viMYh0KcbEQKIIwCgoRWV
+UPW16urENfzQ8T3OPRr2xoMAoP09unnhIUsA/yPH5EgbXGrS/9PdiQIVAwUQPqRY
+gs1j0d2E+SZPAQK8Cg//WwGDf4tsPUyuZ+Lb9i0zwVoVjC792tIyvh9Q+shxna4l
+m9k2ddmzErvSeXyRe3A4ct8sgBZh1f0bXUQk2x3X0knri762rFpeQ3lvUPG0g/Ok
+ZD2AQLrHl/u93Hhm5ojpyZMU8amB4iqPwVgX3VuMLep46RfzAFQ1rf4JMdmvh2EQ
+cHD/80IE0Cazh0s4hvejrFwwhiUVKZRVZlcZ6m4uCulQZzD6T7eYHfU8ijXIiMqo
+eu/glQjg2YUoe55E4GS8G0I6ALKChE7GZ7PpTXuHoTMLdcSfLQQUfLaptIUsDQyS
+EJM8euhYtpn+G9xnaX5dMeDSZDNzIQ18x/qgLfqClr1dVjirjknwfdyyEzgvhX+H
+UpMhfkSRN5qd5rQncp5GyqWT74luilto7i6m8drmNnlFKnrzal3mXvH+/QLXwMpM
+BQY8tvLWCWL5nmzvRfXjvd29/CeP7x9c2s6eMac0oFV+Ib8/Qex4FRq9GF4fH8lP
+WsxZ6jPHuH4bdMDPrtz8TJFeEPCy4P/pKfWCioJGBm5NRdltNRTA61PgMTeVUK7G
+dwd066ywo38Hf6YITohU+BSAtPrwRuq6wNCMt52UN3+vAsDkmxBIaW/xK9j0r+LQ
+GYCTMnUSv6f0jh+BHZz8xwkdoptU6QGupVm4FbOD44cROqyelIbJB74+mdGm5imJ
+AJUDBTA//s647q1M/UmlY9kBAfuJBACdJkVfhC2TlOtNvj3CNKKHnPCSg+g84kTh
+9kwKPoPEWoiEHItk/BqSJY7+vdy26eUDWLsr4OzrWvWOYiuKFReSkrk7uL7mPieJ
+GYNCYOGO+LIA/8q2mMkCBF86BY54DxF3KMZ5X8LpvrjgxY+iT4ty2OoF3cSLiylp
+yt/DwQ59QokCHAQQAQIABgUCQX8sFQAKCRCq4+bOZqFEaNdNEAChi7q/CjEDxowk
+UXw6EpsrMlfs2QnbmXRZBDzrzhXuYas3sYkvhJl9PTl8KKBQzk31qcsn8oWc4pOh
+ozwwoVj6kXQQdrVOObhxLKcp/wh4L2giWcMzNB9uBbIUTp7ak1wIlnwq74kvyuRH
+gMxYBJ3reMKMcEMbHfBVoS99Br1GGXbBpBKtbtQODyJWB22VHJylTCsAXKQ5ktL4
+aPbStyJ9NFBvs/o214O/JNGtR0ySAOmuN8ytBwfRW1gb8PrpwSU8v6j7OU8Hapk+
+325A1/o3Acbram8bbL+1DQ1KXkkwvK627apjqBEV6wMCouznNu6ERpapZWVlE+Mt
+MgRKE3QoBYitvPz+mbqd5ttznLkWaN1uupMAYXfpNBFXRKlSXatOzRpFgwf8KJE2
+3d0YI7NmzQKhWyfwQ+0hNHCUnMfuQSnpH8wGBjNH+AFo0sLe+EyTyqa8++eRsTqj
+ZRscXezdl2PuPOdKxY9VBYLx1TNcorgceajF7a0faViuQaR6IDiMYpoYqzXDGuMy
+aAlUELzLUPUmoGrTJkK0ltPL+ZGGAk/BC5DhD9SbxT3oPgHEZkJQZwsVN4dVacC+
+T/uZkImspNW2vf6nZ/tGtvUUDTbskRdUCaLZ5xefnz+gFiLGI31DU9OdxeZbetVt
+f6mZNtToVzXnyq+PIFbT3xqNxHwRLIhGBBARAgAGBQI6NxW7AAoJEN7dhLlEN2zc
+H1IAn28uZU7W7ipawo7DoSabb1FkZRefAJ42HaWNrSqcEgBDYfXZvjStCH/fZ4hG
+BBARAgAGBQI6Xi0mAAoJECNvPhUlN7VRZLIAmgPOIx8kd25qU4kpz4yOc0j88XDl
+AJ4l9DGjandMt1qBGzGvlDJGO2kTNohGBBARAgAGBQI70JOfAAoJEFWW3Qzpv2U9
+9k8An0LioH7vUEx2iYnE0bIQVBWPvijKAJ9S+N7/BbX+E0QbGSWzuVsEdwQ5+YkA
+RgQQEQIABgUCPd0q9AAKCRBVkeLAZmTAeKSUAJ9+5U7gj4AkDWNTQbi0JCExB4x0
+qwCfWqNJjzdo6lHBzf4rvkZdEQ2f8paJAEYEEBECAAYFAj3hcQIACgkQMuwXWTCi
+HVWMbgCg/33EcsjhDPVl+ediUO2TuJ2MoYwAoNuZqoMB2EJTWLkq14ha6zkM1X8D
+iQBGBBARAgAGBQI+pFfaAAoJEDGGzQRPCfBVc1UAoNXysAgyr0VizQx9vxK8UiY0
+PjiXAKCbX62nB/F+RMvyRRrZ55P+F+xSwohGBBARAgAGBQJCK63nAAoJEOYbpIkV
+67mr554AoKo+Q/nsymocXLStgtQC+7AQZymxAJ9Jd5iHZf4R3hVDl5phQH7IyuuW
+34hGBBIRAgAGBQJAWIbFAAoJEMiB3UdK56tH20gAoIu80L4lRxsuMc3Kl1aRjTP6
+O4BmAJ9X4sdddtYTkk+Zh+xEA3igOWX0XohGBBMRAgAGBQI9DyzcAAoJEEq61lpJ
+wpzCbCoAoMC94ZeKg1Tl12jD90iistw2IJRzAKCHfR2PAJYxjWzJvWc7PPT1lj9Z
+D4hGBBMRAgAGBQI93RElAAoJEEzETQAR34fpgOUAniSAl9TMx7RA2l68XRjJm4hn
+c6nrAJ459a49JmI/JfaqGI542+1o89/1aohGBBMRAgAGBQI+U5aSAAoJENjDuVLp
+Grm57l4AoIoEEnqZZxBfh+ASmqwJ00iAg1KVAJ9Z8jzAKJ80r46e72IoSUws5IB/
+DYhGBBMRAgAGBQI/egclAAoJEBhZ0B9ne6HsPhIAn0iiaKPZzu2Gixl4Kro8l30d
+D+MeAJ9YjO/fjFQ9DUqpd0ZxdevGZofvCIhGBBMRAgAGBQI/wcWSAAoJEDYVIteC
+q3vR77AAniRLS5k06FMwFf8zhjJlRjAwbcdjAJ4gJxs1LSLVzzBlmUU4QrYDLham
+ZIhGBBMRAgAGBQJABH++AAoJEIHC9+viE7aSm5kAnjIDS7K9MrIrOElA+lwnDsOo
+GWZAAJwJudIPx1JBZwxijdDxcmid7k7PSYhGBBMRAgAGBQJAC1JDAAoJEGtw7Nld
+w/RzeqMAn2xXXajj2GxDDMNZqkNzBjZME1nhAJ91PzI0flS5S7bSUpzSmjIDW29Z
+RrQZTWFyayBDb3ggPG1qY0BhcGFjaGUub3JnPokAlQMFEDnhoc/urUz9SaVj2QEB
+J/UEALArEG/mixNmkkiIqx2Kb8/Ysc61T3U17yTFN2vvxDzpwdLPxXQTED8VYqQ4
++AQcAidxci00fS3eka1RsBxi5PzfRjs4mAtl0RazNBxuynvaeUrRx5npIVET+i4O
+VyfJqKi7byXgkaW22qLTzI7otxfexAPzANpCGhSgJ73CD95qiQA/AwUQOspycv1v
+iMYh0KcbEQIywwCg8ZGLF8wA0B3ArQ7AWNrIwfQZXQ8AniQ/tTGVHcORT/nBM5l0
+Yv/NFEcmiQCVAwUQOstTJRsIDEUnGa81AQHdeAP/Yz1flyCqMi2bi8f0KOQAQ699
+iHQqMNPL39YDSZUNxe9X1FkYwydaZIqDXINmngDyVYRCSTpXFkQzBbU9O2wWU4DI
+RBPZCJFC1Lq0VOPxf1pnprQ95gXk/JLbSG8nNheluiCR6YEW1QOax9dOhKg7pTPU
+Tep5NhggwHTWkiZe92mJAhUDBRA+pFiDzWPR3YT5Jk8BAtE/D/9xk6zix7wK3TeP
+Lpmp/pXX/n3GIWhE6AePnSpX80CIfcYRNXwCWVVs9sQlcuOC3iHT807mTAnupg/u
+q7O+2jwAy/OoFGL5ylZRPaJafLCwRPdquJvm3b5CJ9cYCiJ2prqlh2/7gQpSe3DL
+r4pLKoobRVrIma3H06OmXZyYS3cIJmDEnmIqdCnAbfW1G59C92yR8YMjPimGa3yJ
+MKONtxPdhrjKMZjHJEH1WrX/7TobPl1h8LszOuFfKGYUiQD6qPaiCN5XRl7X3e/H
+stY7vxs8drtvyeSg35HApn/AJw286ei0hpbOAWsxXYePx5RVZVwwAvgniN8HpheS
+yEpj9L6IFYZUY88x7yu9upXCS+Jgiu/vlXXQuVk3XaorStNeivivjIifq2+QP/Zm
+JbHaCrmr1RnTWM9A7dotnGEU06PXd9u3wTpDbp3wffhp79VqGzuXr0slIOHjJgG/
+N4De9s3NT7AAldckJyBom37rGacYirc/p/CjvUyXjbI6HsMuc2GfQeMzD7QejrW4
+4PXAGnxm3KFwi4CjJNk1JMx5MviYaBi6GseUGTrNb3dSCD8+RNLGrQfFY1+rjqWG
++pjcDmxqdo3Hfyst+ui7PrECD9E0fNYE5pQB6jMiJ4YqTf+GVMTCa8nJKII4kGuK
+dk3MKDUfyqAIMh+u7u69SfCJa/wxv4kBFQMFE0Jf0DtFTRlUR0H/mQEBA3cH+wZG
+sQDeor3w9X0ceBYRTV68O87rsn0GtdX2CUCmNmd5kTMzKcIn77ra91gvfGSN91EF
+5EWs8+sg7gcFCiCTbeKriOjXeL+c47X+cEjoa1cLFMJeXnOyhL7oC2KYSt2yLStN
+uMomfNzhoifUzlI5VPE7eS9e65vSc+IpCToZBmHZHGseF5QS8ITDzCjqkyVObgSe
+j0C7fcB1tpyLnKlyOiij5R4AZw2f+8BMEcGSWyzQBCSBq175dOduEReTkv92e5rp
+UtcWd65ZsziXD51JY8qykJzvyZziTE42jwaLAPi7LRBsqi/xX+1oPcpBuWxoIDJL
+1LNWtPCcqG7Xo9xAoFCJAhwEEAECAAYFAkF/LBgACgkQquPmzmahRGiFKA//fkXV
+fkSyx/Ft30SvBmByA+6H9+sy5GXOgQe2dC0zBPTww0UX8/0lJ4k1Ei2KwcWW8kZu
+hWm8thgRsCmZwtrw6WVV3URRh3JMX27xm4EhVKMvC+xqkCY5v7poMS0HFGvCfVk8
+RNxMJQMN0iLKKOaU0/1rMTzNnqA+Cif0laeBoGNKNF9OD69vfEaf/3U3t2SEiDQY
+VjqVuqU0+XVv4jXBnlwtY1XY67OWyIcLn60IkbAAVfsSW5s6foFaBfXDtMvXWelR
+gvSn1LQ7/QVolUS7wLgbkqoaQkJQhEM8rI10fBACMIMhKmJ/1DvpXZkUG1pSMNRH
+smn0T8GMZG9nL13yOfahbhJrmBsY6vHyU/m+6+KIOd02i/jMPOPJ3pPQvlQ90K7p
+0ZephIPJtYYHlVM5RXCwazXsm5rlNB5LrUY1Cje++VdbxlkvHN59CInKFkYBEWDm
+hfSdzUEwqPYdgrart/xey7Y+w8SAkcbd65ef9pKI8WTB5UwkrgUyFUg8Q9pv/my4
+D29HexTQoWXip5Jg6ohACzFkACr/qVLwWdHSKI3SKaH16P0T99B1Fep6t3hY6v9I
+Eh71gl6Saca3ag5zw+XyJnt7ntLOYf/l625/MTFFWcT8Wc2mXZ9bOszfZNxYhoLF
+xt4fs21jq4DyiAPsWml6caHYJkhAa9i57FjsYbWIRgQQEQIABgUCO9CTnwAKCRBV
+lt0M6b9lPV0GAJsHzqlmk8CRTdG8//Ty5cSUTtCfmQCgh1DC9y9jdcqkdAl0ztgu
+NHw47DKIRgQQEQIABgUCPB/kZQAKCRBudrHI8aOrvYRhAJ9/pPQ+0ztsbMg846Zv
+IjTy+wcAdACfYq5t8HIDupDyzKs9Wnb61S+blbeIRgQQEQIABgUCPFF21QAKCRCh
+UPwthaj3i/d9AKDuHK4d07k7T27iXNWG6EsdPoZZQACg6e5+mTFgZHFG9odW3gcn
+tfazsc+JAEYEEBECAAYFAjxqpM0ACgkQu+iXKGr9suh4ogCcDqexb2yOkYbOIy7T
+u5a8hhV+pI8AoKJwbmokFHTc/IqC68yBuaVoF9TDiQBGBBARAgAGBQI8aqUQAAoJ
+ECGRgM3bQqYObkIAnit3UaYBa0kRSiZk8L0rkjXdpL33AJ4kccIPIHN/D3OWbXiL
+rkNSmmaQH4kARgQQEQIABgUCPd0rHwAKCRBVkeLAZmTAeAXVAKDMuq+O1UGD4XcI
+Ndva1TbgtTo6lwCdE8Aym++ehBmhI+8TYRy+yIRkbOmJAEYEEBECAAYFAj3g8L4A
+CgkQMuwXWTCiHVWgTgCgx6iYyMaR2nsbkU2DaI7AUhfwDcEAniOSsZOIpFfyOSs/
+pPiXCpWlRXsviEYEEBECAAYFAj4r+n0ACgkQZjW2wN6IXdOJSwCfRv0IhvT1jMOA
+yXJGN0xPZqkjUXIAn0TV92IVHMyRSCCfjPGUhZIOERx/iQBGBBARAgAGBQI+pFcN
+AAoJEDGGzQRPCfBVnLQAn37Yfz7gDbt4iLiybCWRbyVmmYiXAKC5EUQ4qUkNrI23
+bBj+/57ppshFe4hGBBARAgAGBQJCK63nAAoJEOYbpIkV67mr6SgAoLf6RZAkMNg5
+BCi4WMRnn62O/S08AJkBjrIHgkaCM0BtDNMkZXd0dbwSwIhGBBARAgAGBQJDmISx
+AAoJEFQUZr6xLcGb6p4AoIr8/C7/tVGYW5xewnXZ1TE+xuLlAJ4s/AO0jwfQfFJj
+kxvE2hPKM3Zk94hGBBARAgAGBQJDmI2lAAoJEDebzld4aIv1//UAoNvPQ6cJDYz5
+YLrYwUL1qq6+P7WWAJ9EBXP5EWqKp5iRJcqtKqq6gNZUDYhGBBARAgAGBQJIP+Uc
+AAoJEJ6pE3mBTTdrCM8AniNzwdK0egOyNW9YEVpKozeykQxpAJ97VliYhhnXCO24
+tKJAcnPRVmqdEohGBBIRAgAGBQJAWIbFAAoJEMiB3UdK56tHySkAn1dmTX67d5OP
+JFW2633X0rQ9rswsAJ9g+XOCnaNUmG57GK+WmbExEpPDOIhGBBIRAgAGBQJAYtEk
+AAoJECbcEWqoXz32tooAmwW+pG8Ctz4ENRRk1MnDrSTSK9XlAJ4yJUSa/4RCFF0H
+E4KB0uD9RN7YcIhGBBMRAgAGBQI9DyzcAAoJEEq61lpJwpzCP+MAoMdNBnr7sjBq
+H0op6s+4cLkfGyzQAJ92C1bBq+3q8n152E+fsf7t2PUubYhGBBMRAgAGBQI9pELy
+AAoJEIvYLm8wuUtcMRMAn2qBlINeKeWKrkTMITDn3EcidWKwAJ9aEyBHy7UGTevr
+9e4BUdmK/r1gk4hGBBMRAgAGBQI93RAXAAoJEFz9N/rMeMiTlLAAnjBVm8cqj672
+t7grsUZJ30Urgi+NAKDyJ2cDfXsLMUfpz2WcTrovxHwT8IhGBBMRAgAGBQI93REl
+AAoJEEzETQAR34fp3HoAnA2860a7hYXqbR6s9au8ZSJYljYrAJ9uTk/NEGBCbMTg
+kwDbFoUkee+AqYhGBBMRAgAGBQI+U5aSAAoJENjDuVLpGrm5wo0AnRROvia4b1ZO
+EEJSV5alEC/ZnSQCAJ4nz4q0wi5eLXfV2dtwx+jz/V89RIhGBBMRAgAGBQI/egcl
+AAoJEBhZ0B9ne6Hs3yQAn0+aZiFvTJhmqkqUNrarb2E9L4I2AJ9PGTSke5P6j9Kh
+SmHh0eNdm4/bbIhGBBMRAgAGBQI/wcWSAAoJEDYVIteCq3vROGkAn0LCooDX1yq6
+Z81HxIknF5Ji1JMTAJwLlOYkw65hM6QuM7Se1QZdcscN/ohGBBMRAgAGBQJABH++
+AAoJEIHC9+viE7aSZ/sAnRzgSosC9+V6lgHIRfOQ1AWCutBjAJwJHHgIHbOq2xVK
+HD5SLcmpEkWSCohGBBMRAgAGBQJAC1JDAAoJEGtw7Nldw/RzXnIAoP3Qq84Yd0pB
+GY1S+iAghKLvsgx/AJ96bQF4+XyfkEgXanyvdXy9CHKQr4hGBBMRAgAGBQJA9TxX
+AAoJEF5UgINlDViCb1gAoK+K2DOOgKERH3bdorIy/WIawhNPAJ9R4s/neXOT82fz
++9yv4SNk+xzsQohGBBMRAgAGBQJBWMVZAAoJEObKgOUdJeNX8/MAn2BzGi5+0awo
+L9XdNbl/+RxO2CKkAJ9AhydDWW8sFVY2thmpIfIG6H4NEIhGBBMRAgAGBQJBjucc
+AAoJEFuWgBDgT5qJeQwAn2/H2/w16IU7s8903nWqlxqSsog0AJ9sm96+wHrh7TgH
+cQ+KlBia+nS+hIhJBDARAgAJBQI+DTRdAh0AAAoJEIvYLm8wuUtcnqgAn2kYIHE9
+tlar53PWKGdMd7LG++xcAJ9cTxMVNTvDED1wuA0zc3OEozNpSLQZTWFyayBDb3gg
+PG1qY0ByZWRoYXQuY29tPokAlQMFEDnhofnurUz9SaVj2QEBJxcD/017e1bFJGNc
+ISL2dIvINhnXnzHxL6B66exG+8+1pFkR8e/EvgEvXHMs2+AqDfUxkb1PNSoq/u/m
+/VpJGEWoObuSkiwiqUYrmXcJGElUQyHMLDKSLQQhG4PkeSp0T2yX+Fk+5F3vIOdK
+53jsD21zXqB5QD7TjCLSGkU+BiLuLGX6iQA/AwUQOspyeP1viMYh0KcbEQLMNwCg
+qnAhaObs1O1xKJvNh571+5Ejw7QAniKjp8xzGwK6ZgwHJJy8XJrI6dieiQIVAwUQ
+PqRYgs1j0d2E+SZPAQL6Cg//SJ5zFcNZwmpsqLNopZYa0/L4b3gRN0rsHMBD5BaB
+GF7m05bS7LCZhTt9tNn5m1h0Az7a+NcGFAfKNpoKq1OTzCb2KH2JGYXri2upgoEb
+ZS0OUr5ZR3HIwx3ku7wGl7pVVjXBpKXl85JnEXgoKOlm6uIwqpji2uQfpYX8MMio
+z74sda/FBU9Tzi1zbsYu0WramkqKwwVWdGW7BxrBHYsO2Z242+M6VQHbekuT28cb
+VIJ1Xd0vP/dF3fzQcibs6+W/LRSDyb5Z5UbbWLs0MlX2oEFkDQx5A6meEhB99jM9
+/WbHHifcatg59vHWnNPkkuAJTr7wpi6LPKJdtmkuYg8IGq6n7FjhhjCtAvwdgWeC
++PAjpkAzsGACj/u3TCSBt8pp0mifY0DReF6pLcUfZpmQSMwtu3ymCvsWkZ5qTdPd
+mc26A9iWnTjpNWNN3l92YFvWrHbA423crDNBL3yH/OAGNdLGcJ/f1rW3xzt/oRZ6
+0Y5sVzt/jUIf1SgK4Sw56jH/XaoS65Il2Ll3eAG2O6ULCg08krEkTEUhpG8OKnmN
+zrmyPuyc/8RqTmML2WmpyJmwyR6y1n4ruG1QDhuUqVeDbuvMjoUyVGQnxfOGMVyZ
+0BrNs2/Y5uM0FPUHF6kTjPwuWranlBleVH+dRzMxo6d493LLYB2NGPKLSa6ezpfS
+YLOJAJUDBRNAn3eRGwgMRScZrzUBAVimA/0ccmqUiNBWDF8AeNK6P/P6sFZ+54Fz
+/WMyij3gJVpWIyxiVFxd98H13QpL0rJTsFAbHhWeOeAuTu7BtRGHwbXmB0Qhw3mm
+7UwQwc1lixWvPTX2uIiiWfFvinxIwd+7VA7Lz9TCjFvLwp964Bq6GCXIyMSpmZfd
+4ClAHr4csOGJxIkBFQMFE0Jf0DtFTRlUR0H/mQEBgDQH/2gLOGumxjRRASPT1DRI
+xIZp5Fp1tABWgEvZj+exb+13uwOr3X/Lv3M0mo8JVlUVMXbsBVtMtq4kLj/Y0xim
+htFdb7nv7xJwrO9A4q6Els46Zr6mh9eRBFl9AxGixAzhjTvrdfM/RDEateA2+RuI
+YmmepkHnvvEYZ0C5q5pqvo/og5hxdvJHV05URXXxbF10NmK0K/aZ27xSv5A2MLFr
+K7Xo0qn2pIO99+dH7tZBQAlJJ0u3U2IAEX6dW7OYR1p1cajhkJx+6I32bWixF/kU
+3xflXk5UFKm6PVPMQPdIvSS5LnzUSN2iqgHqGllr4CxeTPP3IyJlBJ0jcYa9EP8G
+wUSJAhwEEAECAAYFAkF/LAUACgkQquPmzmahRGhwHg/8CHAOtHqWKHhqXsWlkUPX
+D8IXHdbUw/WRdw4ZXV4wK0pehrzzLFhLaLDd3NBnMe9LeH0F/YARg89Rn4f2bIxw
+w+HprCFLcUgiomziQn/hSyAnwztc+r6p6qrEf4dLGMN1WXpx+6OeGLG51qMatbWD
+kdtDjQ8PIWO5ifB6eb5oj+HiNoJ62d+exuto3AIylmrq+EvzCdVyqmsYHxjHhUER
+AsRyzjxP9o9Kdv7KE+S3WCxTcdXdfatP1WAd5Du5WbJMUbX8u/B/458ap/l87Uxd
+Y1nRXqVrwEhT/vrM1YPxymcf3vBbgjZTajsddVwDzRLRtmYq2vnBSinpDt6OdLkF
+EHoizFdEf80wowDtBh/EG51NdF5c+SFLce3WNgHfgqYSe8vrJXhb9mHJpLw3zLZj
+BiPbiS4xLsNWIGla8AUnhwZCgxxzTjKVZ6nRLp1IbvC40ZMhfGObWLCGH4wOt0tt
+ex/EQet9ZUY8NTsy9ZSaJIEykIImXQYpUq1+l4BVNaB5+YdVbf6kIPz/CWgDKY9l
+918dw2O/t5qpWB+NmyqQH6/jEelwOaaUhvu07X86Uw0GZKKTVunkzB00j6I2MEIB
+YjlSIanFPfflxKZC2+7dFh4qfUMgGfb+JOSBqBdHuPtksBna8K28CI3h7/Acb2+9
+RIRbn6/GZyd6yj4XPp3TR6uIRgQQEQIABgUCO8wKigAKCRChUPwthaj3i4gqAKC6
+7ZkCrpAZWQKPJdwTw6zn6GsyVwCfQyoy5lGIuGBu0je6You3NEakk36IRgQQEQIA
+BgUCO9CTnwAKCRBVlt0M6b9lPaepAJ95aOucDKsv12xvkYHiZa0EJNL+bQCfXsy1
+VOaFbX5x+ibwGRb4vLLnUYaIRgQQEQIABgUCPB/kZgAKCRBudrHI8aOrvZfSAJ9n
+Um/M6Ou0o4uDyNKOL351kFsnmACgw9lilXurgbdtBaAZ48jLqZfpwxOJAEYEEBEC
+AAYFAjxqpM0ACgkQu+iXKGr9sujtBwCg31cMbdi4Ss+TTJEv67WyP3QhESEAnjHw
+1kOrI07bSP408fAEqueiGTeZiQBGBBARAgAGBQI8aqUQAAoJECGRgM3bQqYOd7gA
+njjBoLwHHHraqbH0WwmWjbUxaD4XAJ93AQPTJjb6QIqCsPdVBVK41zu9IYkARgQQ
+EQIABgUCPd0rFAAKCRBVkeLAZmTAeO8UAKDIqfxLevuzssGdhFEba0NPtU0NNgCg
+poqPDTAvdGsf4ZIO9aOeMbzertOJAEYEEBECAAYFAj3g8MUACgkQMuwXWTCiHVVB
+BQCfetJylp/yjm8BQo5Sa0SBe2Xu1tsAn37Q+GA59Ayb/apg2B57n+0wWQICiEYE
+EBECAAYFAj4r+n0ACgkQZjW2wN6IXdPS4ACcD2SWANWId+IS+gxm8+jtgoxYDyIA
+oLpoGnL5yrUX9V5lb5dTiQLBW7mQiQBGBBARAgAGBQI+pFcNAAoJEDGGzQRPCfBV
+KN4AnikRahLcHkIHIaU4rRxjNy3BQjVlAKDJ/eUong1iNx8DJ76WIRp7MtVjBYhG
+BBARAgAGBQJCK63iAAoJEOYbpIkV67mr/xcAniZFpL6HbGWe0VUYvnLanDIBgR95
+AJ9x5Dm+bCcIUkfqxi7ZpBkrwXtaaYhGBBARAgAGBQJDmISvAAoJEFQUZr6xLcGb
+1UsAmQEEssiSDbFtiWQu0OM+rl0ztsmnAJ4kY2ondUEZWsdct3QS8ZE0hpLBSIhG
+BBARAgAGBQJDmI2YAAoJEDebzld4aIv1ye4AnAg8HsS7zwUF+TZUgeF/442ACHmA
+AJsEV9gKLJeLtiPiJN2+ikcd81845IhGBBARAgAGBQJIP+UWAAoJEJ6pE3mBTTdr
+zT8An3yF7p8M592smPGc384BBPRFaf8wAJ0c8/HwopOQw8MgGs4aEfGe0d/3CYhG
+BBIRAgAGBQJAWIbFAAoJEMiB3UdK56tHLKEAn1wokVVNh7P8J/+NDQD70rHwWm23
+AKCfPxSRh2PytUAg2WKBmsva4xPTQ4hGBBIRAgAGBQJAYtEeAAoJECbcEWqoXz32
+UBIAn07wew+6lzSTaeX3ZR4/x2oLFoCxAJ4uLgHVuC4JifULAHE0fmZnl/iuHIhG
+BBMRAgAGBQI9DyzdAAoJEEq61lpJwpzC6T8An2TMEEKSqg5gbrA4qvFSYt2K+L2Y
+AJwLn+ijrxMydaKSlxY1k3xJVUNdGYhGBBMRAgAGBQI9pELyAAoJEIvYLm8wuUtc
+2CkAoJ28MIz2gmDGXQgk09DwLtT3ueF0AKCi2E5JRcmmGpMBJwkc7ZdDzs0/I4hG
+BBMRAgAGBQI93RElAAoJEEzETQAR34fpwH4AnR7/FFpwfa9JvI2KGKlTUheKuZDu
+AJ43qmr+w2y+NseyMqCdSsyWCETfFYhGBBMRAgAGBQI+U5aSAAoJENjDuVLpGrm5
+cVYAmwVR1P1T8R+iVKS2rpgZ9qfZ6JbRAJ46neZUV8300hVOsNbHF0LAdAVRVohG
+BBMRAgAGBQI+02l5AAoJELe3RcLFV1VCLjgAn2/Zf5VI/cYJhxK+oedWkilvxfGF
+AKCCG/BqSo2m2wmj3kWLh0ExAbPT0ohGBBMRAgAGBQI/egcdAAoJEBhZ0B9ne6Hs
+R58AoICX/kZv7fIgkL9cwb2KXszHR/0aAJ0foJT25uZSv+3vfqVr6MKx1VctGohG
+BBMRAgAGBQI/wcWPAAoJEDYVIteCq3vRQywAn1X65SzANKEQS0Rw+kQUPDNLCVXB
+AKDObzsyYC++VungE1WYoiW6XplXPIhGBBMRAgAGBQJABH+2AAoJEIHC9+viE7aS
+aBkAnjiMq5SsQWE1TFCkRhMDu3sLukdSAKCFhl2WBiOhZ8nhlZglIgYwRMo+LYhG
+BBMRAgAGBQJAC1I7AAoJEGtw7Nldw/RzC+4An1jgbx5Td3XjH84CgJafCoGmqUIk
+AKCphv6vi5DuEG8iy7H4bnUD+VJqt4hGBBMRAgAGBQJA9TxUAAoJEF5UgINlDViC
+GE8AoL9TKZFL9L+hF0i86Oovm9dkzjKyAJ9xsCZ2nnIn2cYoFcf7nUCQgLM0rohG
+BBMRAgAGBQJBWMVWAAoJEObKgOUdJeNXxDMAnRZlZgT4gORKzP6eGASoOVdmY6aO
+AJ9xoDnTO6cKtWjwYTitFbszTOD7xYhGBBMRAgAGBQJBjucXAAoJEFuWgBDgT5qJ
+/uAAn3fzRuRD0CyOmC7FlhvjEtyEM3a+AKCUl1Sm1qWIvc+chF9zRcnW3TuxlYhJ
+BDARAgAJBQI+DTRdAh0AAAoJEIvYLm8wuUtce+wAoKnnM7ZQlnk6Jt9nt4cttNHo
+UrreAJ9zaKwZWP2exTw20WO2hn3DqQQAbrQnVGhhd3RlIEZyZWVtYWlsIE1lbWJl
+ciA8bWFya0B1a3dlYi5jb20+iQCVAwUQNGFfj5dgIMVmPTs/AQH1SQP+Ps74i6sE
+/HubCUY4Ww8dseRWarz+FJyFDe7rttHTEBjESFsaIbb22UFYIt/jSS3HXpi11v72
+9VNgBl2oNzboiP6Pe4F4kNMN/0y/maENtRQz1spfxNdT2RY3YQ5P7boNNm+GNH84
+vLc8gpDvlxh52he8lu3JRVIizxJ9nZrUVgqJAEYEEBECAAYFAj3dKukACgkQVZHi
+wGZkwHik2ACgkYCcgp4vbyZejRyqhHylEr06aV8An22CfdklGu38/U9tbXA2C+nY
+3VrjtgAAABdNYXJrIENveCA8bWFya0Bhd2UuY29tPokAlQMFEDQvYTHurUz9SaVj
+2QEB/hMD/ix6pAa+4ZgFQNRAc7fC+I4uGWvXoI8N8wtgiJi//8Kc1vjtvTylLPKV
+BDsy1ihsbVOjD3NUEkH95TNI3QhVeCwJPl2e3GgFl253hj8Jai9snHj75pXjQXq0
+NxQ/JRSrEAqrFM7+yRLPs7zDwsMoc2Ox5emq4joVa3syZUEwW7LxiQEVAwUQNLEL
+tdZUWxzPwQD1AQFWIQf/RtyM8Rw01RdQXH5fA2jLaQlwD/VG1dlxqAcLKVQIKR77
+iBPdfcrWLyexGgQmltuVTGs5U1XPf7dff21NP79aglvD9hll82L5wZQybNpy2o6/
+66EPp4OWF1/WG7JhuCRfy53H983ERZnqGD4YeBafLHI9oGAixZ9G/+cFsxPde3Lv
+7Ij/1HwpeNAHJQibBkpdq29Kye/+PHgE0HTMSapYXN/YVTCpEFzE46YnD/BjzZ/E
+1UClvcsWZVoqPR46HARVQNu+MfoR/WSBAOj65Dt5oBZTcLoQ7TyDcd4gvLhdzLUo
++kboGTjtHLvesaAWKLSWtKY6G8Iy7R5+Ms0helLFaIg/AwUQNNhrm1F+HqlP3KvB
+EQIFGwCgjvdd8FwQqogX0AU+RepKEWUUb20An3yfmNeIxRMfnHwnQyFI4w9JeP3Y
+iD8DBRA6ynJX/W+IxiHQpxsRAjd/AKCSXqSmTnrzlnpgYwMESQiKQxfOywCeNuUy
+0q65a+C/ayC7t6F6ih9+bcWIRgQQEQIABgUCOG/pBQAKCRAXWVXOQ77mqABMAKCg
+O+LVARom7t/XmRw4w4TO9IkM9gCgh2URPU7tqECsr+WuVfC/v/7evVWIRgQQEQIA
+BgUCOjcVtAAKCRDe3YS5RDds3Dz/AJ9UaB2vKuteTC+gm80f028DPbmCegCg3ZM1
+Rt2WMDS/wHW7nQJ/xnyg8PuIRgQQEQIABgUCO8wKhAAKCRChUPwthaj3i+wvAJ0a
++3dLzfhNVttfF4yLRaJy8ONqkwCeMVKz7Enbos1EJzrs3UfMdseMhMiIRgQQEQIA
+BgUCO9CTnAAKCRBVlt0M6b9lPSdNAJ92qffxJFFh4gbf4sg+oF04Ovf0nACaA4fb
+83aGMDZn/hAw6OtDiAiCkA+2AAAAGU1hcmsgQ294IDxtamNAYXBhY2hlLm9yZz6J
+AJUDBRA54aHP7q1M/UmlY9kBASf1BACwKxBv5osTZpJIiKsdim/P2LHOtU91Ne8k
+xTdr78Q86cHSz8V0ExA/FWKkOPgEHAIncXItNH0t3pGtUbAcYuT830Y7OJgLZdEW
+szQcbsp72nlK0ceZ6SFRE/ouDlcnyaiou28l4JGlttqi08yO6LcX3sQD8wDaQhoU
+oCe9wg/eaog/AwUQOspycv1viMYh0KcbEQIywwCg8ZGLF8wA0B3ArQ7AWNrIwfQZ
+XQ8AniQ/tTGVHcORT/nBM5l0Yv/NFEcmiQCVAwUQOstTJRsIDEUnGa81AQHdeAP/
+Yz1flyCqMi2bi8f0KOQAQ699iHQqMNPL39YDSZUNxe9X1FkYwydaZIqDXINmngDy
+VYRCSTpXFkQzBbU9O2wWU4DIRBPZCJFC1Lq0VOPxf1pnprQ95gXk/JLbSG8nNhel
+uiCR6YEW1QOax9dOhKg7pTPUTep5NhggwHTWkiZe92mIRgQQEQIABgUCO9CTnwAK
+CRBVlt0M6b9lPV0GAJsHzqlmk8CRTdG8//Ty5cSUTtCfmQCgh1DC9y9jdcqkdAl0
+ztguNHw47DK2AAAAGU1hcmsgQ294IDxtamNAcmVkaGF0LmNvbT6JAJUDBRA54aH5
+7q1M/UmlY9kBAScXA/9Ne3tWxSRjXCEi9nSLyDYZ158x8S+geunsRvvPtaRZEfHv
+xL4BL1xzLNvgKg31MZG9TzUqKv7v5v1aSRhFqDm7kpIsIqlGK5l3CRhJVEMhzCwy
+ki0EIRuD5HkqdE9sl/hZPuRd7yDnSud47A9tc16geUA+04wi0hpFPgYi7ixl+og/
+AwUQOspyeP1viMYh0KcbEQLMNwCgqnAhaObs1O1xKJvNh571+5Ejw7QAniKjp8xz
+GwK6ZgwHJJy8XJrI6dieiEYEEBECAAYFAjvMCooACgkQoVD8LYWo94uIKgCguu2Z
+Aq6QGVkCjyXcE8Os5+hrMlcAn0MqMuZRiLhgbtI3umKLtzRGpJN+iEYEEBECAAYF
+AjvQk58ACgkQVZbdDOm/ZT2nqQCfeWjrnAyrL9dsb5GB4mWtBCTS/m0An17MtVTm
+hW1+cfom8BkW+Lyy51GG
+=r/SQ
 -----END PGP PUBLIC KEY BLOCK-----
 EOGPG
 
-gpg --verify $SRC_DIR/$SRC.asc $SRC_DIR/$SRC || echo WARNING: Could not check signature or WRONG signature found.
-sleep 3
+gpg --verify $SRC_DIR/$SRC.asc $SRC_DIR/$SRC || exit $ERROR_GPG
 
 if [ "$ARCH" == "x86_64" ]; then
   LIBDIR=/usr/lib64
@@ -241,21 +581,22 @@ relink() {
 }
 
 cd $TMP
-tar xvf$tarflag $SRC_DIR/$SRC
+rm -rf $PKG1 $PKG2 openssl-$VERSION || exit 1
+tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
 cd openssl-$VERSION
-# Use .so.0, not .so.0.9.7:
-zcat $CWD/openssl.soname.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit
+# Use .so.0, not .so.0.9.8:
+zcat $CWD/openssl.soname.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit $ERROR_PATCH
 
 # Fix CAN-2005-2969 (SSL 2.0 rollback bug):
 for vulnerable in 0.9.7g 0.9.7f 0.9.7e 0.9.7d 0.9.7c 0.9.7b 0.9.7a 0.9.7 0.9.8; do
   if [ "$VERSION" == "$vulnerable" ]; then
-    zcat $CWD/patch-CAN-2005-2969.diff.gz | patch -p0 --backup --verbose --suffix=.orig || exit
+    zcat $CWD/patch-CAN-2005-2969.diff.gz | patch -p0 --backup --verbose --suffix=.orig || exit $ERROR_PATCH
   fi
 done
 
 if [ "$ARCH" = "i486" ]; then
   # Build with -march=i486 -mcpu=i686:
-  zcat $CWD/openssl.optsx86.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit
+  zcat $CWD/openssl.optsx86.diff.gz | patch -p1 --backup --verbose --suffix=.orig || exit $ERROR_PATCH
 fi
 chown -R root.root .
 mkdir -p $PKG1/usr/doc/openssl-$VERSION
@@ -268,9 +609,20 @@ find $PKG1/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \;
 # MDC-2: 4,908,861 13/03/2007, not included.
 # IDEA:  5,214,703 25/05/2010, not included.
 # RC5:   5,724,428 03/03/2015, not included.
-./config --prefix=/usr --openssldir=/etc/ssl no-mdc2 no-idea no-rc5 shared
-make -j4
-make install INSTALL_PREFIX=$PKG1
+./config --prefix=/usr --openssldir=/etc/ssl no-mdc2 no-idea no-rc5 shared || exit $ERROR_CONF
+
+make depend || exit $ERROR_MAKE
+
+# Use -j1 here if you know what's good for you.
+make || exit $ERROR_MAKE
+
+make install INSTALL_PREFIX=$PKG1 || exit $ERROR_INSTALL
+
+# Add a cron script to warn root if a certificate is going to expire soon:
+mkdir -p $PKG1/etc/cron.daily
+zcat $CWD/certwatch.gz > $PKG1/etc/cron.daily/certwatch.new
+chmod 755 $PKG1/etc/cron.daily/certwatch.new
+
 mv $PKG1/etc/ssl/openssl.cnf $PKG1/etc/ssl/openssl.cnf.new
 
 if [ "$ARCH" == "x86_64" ]; then
@@ -299,9 +651,9 @@ done
 cd $PKG1
 chmod 755 usr/lib/pkgconfig
 mkdir -p install
-zcat $CWD/doinst.sh.gz > install/doinst.sh
+zcat $CWD/doinst.sh-openssl.gz > install/doinst.sh
 cat $CWD/slack-desc.openssl > install/slack-desc
-makepkg -l y -c n $REPOS/${NAME1}.tgz
+makepkg -l y -c n $REPOS/${NAME1}.tgz || exit $ERROR_MKPKG
 
 # Make runtime package:
 
@@ -326,9 +678,9 @@ find $PKG2/usr/doc/openssl-$VERSION -type d -exec chmod 755 {} \;
 find $PKG2/usr/doc/openssl-$VERSION -type f -exec chmod 644 {} \;
 cd $PKG2
 mkdir -p install
-zcat $CWD/doinst.sh.gz > install/doinst.sh
+zcat $CWD/doinst.sh-openssl-solibs.gz > install/doinst.sh
 cat $CWD/slack-desc.openssl-solibs > install/slack-desc
-makepkg -l y -c n $REPOS/${NAME2}.tgz
+makepkg -l y -c n $REPOS/${NAME2}.tgz || exit $ERROR_MKPKG
 
 if [ "$CLEANUP" == "yes" ]; then
   rm -rf $TMP
index c45092b046ddfc95c4bc15465a64fd8a8efe0b09..c02ce5e103132fb434f1fed19d92bae677e221ec 100644 (file)
Binary files a/patches/openssl/openssl.soname.diff.gz and b/patches/openssl/openssl.soname.diff.gz differ
diff --git a/patches/pcre/pcre.SlackBuild b/patches/pcre/pcre.SlackBuild
new file mode 100755 (executable)
index 0000000..e141513
--- /dev/null
@@ -0,0 +1,197 @@
+#!/bin/bash
+#
+#  pcre.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  pcre.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for pcre, by Silvio Rhatto
+# requires:  
+# tested: pcre-7.7
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="pcre"
+PKG_NAME="pcre"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=7.7}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--enable-utf8 --mandir=/usr/man"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://downloads.sourceforge.net/pcre/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Import minimized signing key from
+if echo [[SIGNING KEY URL]] | grep -q -v "SIGNING KEY URL"; then
+  lynx -dump [[SIGNING KEY URL]] | gpg --import || exit $ERROR_GPG
+elif echo FB0F43D8 | grep -q -v "SIGNING KEY ID"; then
+  gpg --recv-keys FB0F43D8 || exit $ERROR_GPG
+else
+  gpg --import << EOKEY || exit $ERROR_GPG
+[[SIGNING KEY]]
+EOKEY
+fi
+
+# Download source's signature if necessary and check it
+if echo [[SIGNING URL]] | grep -q -v "SIGNING URL"; then
+  SIGNATURE="`basename [[SIGNING URL]]`"
+  if [ ! -s "$SRC_DIR/$SIGNATURE" ]; then
+    wget "[[SIGNING URL]]" -O "$SRC_DIR/$SIGNATURE" || exit $ERROR_WGET
+  fi
+else
+  if [ -s "$SRC_DIR/$SRC.sig" ]; then
+    SIGNATURE="$SRC.sig"
+  elif [ -s "$SRC_DIR/$SRC.asc" ]; then
+    SIGNATURE="$SRC.asc"
+  else
+    echo Trying to get signature file from $URL.sig...
+    if wget "$URL.sig" -O "$SRC_DIR/$SRC.sig"; then
+      SIGNATURE="$SRC.sig"
+    else
+      rm $SRC_DIR/$SRC.sig
+      echo Trying to get signature file from $URL.asc...
+      if wget "$URL.asc" -O "$SRC_DIR/$SRC.asc"; then
+        SIGNATURE="$SRC.asc"
+      else
+        rm $SRC_DIR/$SRC.asc
+        echo "Error getting source's signature file"
+        exit $ERROR_GPG
+      fi
+    fi
+  fi
+fi
+
+echo Checking $SRC_DIR/$SRC with gpg using $SRC_DIR/$SIGNATURE...
+gpg --verify "$SRC_DIR/$SIGNATURE" "$SRC_DIR/$SRC" || exit $ERROR_GPG
+echo Success.
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING INSTALL LICENCE NEWS NON-UNIX-USE README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+    |-----handy-ruler---------------------------------------------------------|
+pcre: pcre (Perl-compatible regular expression library)
+pcre:
+pcre: The PCRE library is a set of functions that implement regular
+pcre: expression pattern matching using the same syntax and semantics as
+pcre: Perl 5, with just a few differences (documented in the man page).
+pcre:
+pcre: The PCRE library is used by KDE's Konqueror browser.
+pcre:
+pcre:
+pcre:
+pcre:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index 4240d7a146d58adecf78280610d082749f71ec1b..4cf904f0663ba5aee65ad2c4841266bf71fc1fe6 100755 (executable)
 # Changed by rhatto at riseup.net to fit slack.sarava.org needs
 #
 
-# needs a function from simplepkg, but slightly changed
+# needs a function from simplepkg
 function default_version {
 
   # get version from /etc/slackware-version
-  if [ -f "$1/etc/slackware-version" ]; then # TODO: this changes :/
-    cat $1/etc/slackware-version | awk '{ print $2 }' | sed -e 's/.0$//' | tr -d .
+  if [ -f "$1/etc/slackware-version" ]; then
+    cat $1/etc/slackware-version | awk '{ print $2 }' | sed -e 's/.0$//'
+  elif [ -f "$1/etc/slamd64-version" ]; then
+    cat $1/etc/slamd64-version | awk '{ print $2 }' | sed -e 's/.0$//'
+  elif [ -f "$1/etc/bluewhite64-version" ]; then
+    cat $1/etc/bluewhite64-version | awk '{ print $2 }' | sed -e 's/.0$//'
+  elif [ -f "$1/etc/sflack-version" ]; then
+    cat $1/etc/sflack-version | awk '{ print $2 }' | sed -e 's/.0$//'
   else
-    echo "none"
+    aaa_base="`basename $(ls $1/var/log/packages/aaa_base-[0-9]* 2> /dev/null)`"
+    echo `package_version $aaa_base`
   fi
 
 }
 
+function distro_version {
+
+  default_version | tr -d .
+
+}
+
 if [ -s "slack-required" ]; then
   echo Recomended and required packages for building php are:
   cat slack-required | sed -e 's/^/\t/'
@@ -60,7 +73,7 @@ fi
 
 PACKAGE="php"
 PHP_SERIES=${PHP_SERIES:=5}
-VERSION=${VERSION:=5.2.5}
+VERSION=${VERSION:=5.2.6}
 PINE=${PINE:=4.64}
 ARCH=${ARCH:=i486}
 BUILD=${BUILD:=1rha}
@@ -81,15 +94,15 @@ SRC="$PACKAGE-$VERSION.tar.bz2"
 URL="http://br.php.net/distributions/$SRC"
 
 # pear modules
-DB="DB-1.7.11.tgz"
+DB="DB-1.7.13.tgz"
 HTTP="HTTP-1.4.0.tgz"
 MAIL="Mail-1.1.14.tgz"
-SMTP="Net_SMTP-1.2.10.tgz"
-SOCKET="Net_Socket-1.0.8.tgz"
+SMTP="Net_SMTP-1.3.1.tgz"
+SOCKET="Net_Socket-1.0.9.tgz"
 PARSER="XML_Parser-1.2.8.tgz"
 RPC="XML_RPC-1.5.1.tgz"
 TAR="Archive_Tar-1.3.2.tgz"
-GETOPT="Console_Getopt-1.2.2.tgz"
+GETOPT="Console_Getopt-1.2.3.tgz"
 TEMPLATE="HTML_Template_IT-1.2.1.tgz"
 
 PEAR="http://pear.php.net/get"
@@ -177,7 +190,7 @@ mkdir -p $TMP
 cd $TMP
 
 # changed since slackware 12.0
-if (( `default_version` >= 120 )); then
+if (( `distro_version` >= 120 )); then
   mkdir -p $PKG/etc/httpd
   mkdir -p $PKG/etc/php
   # A trick from DaMouse to enable building php into $PKG.
@@ -277,7 +290,7 @@ php_configure() {
 
        if [ "$PHP_SERIES" == "5" ]; then
 
-               if (( `default_version` >= 120 )); then
+               if (( `distro_version` >= 120 )); then
                        $CONFIG_FILES="--with-config-file-scan-dir=/etc/php --with-config-file-path=/etc/httpd"
                        $SNMP="--with-snmp=shared,/usr"
                        $MBSTRING="--enable-mbstring=shared"
@@ -451,7 +464,7 @@ php_configure() {
 # Make the Apache module version of PHP:
 echo "***START APACHE MODULE***"
 
-if (( `default_version` >= 120 )); then
+if (( `distro_version` >= 120 )); then
   php_configure --with-apxs2=/usr/sbin/apxs || exit $ERROR_CONF
 else
   php_configure --disable-static --with-apxs=/usr/sbin/apxs --enable-discard-path || exit $ERROR_CONF
@@ -540,7 +553,7 @@ mkdir -p $PKG/etc/apache
 cp -a php.ini-dist php.ini-recommended $PKG/etc/apache
 
 if [ "$PHP_SERIES" == "5" ]; then
-  if (( `default_version` >= 120 )); then
+  if (( `distro_version` >= 120 )); then
     cp -a $CWD/mod_php$PHP_SERIES-apache2.conf.example $PKG/etc/apache/mod_php.conf.example
   else
     cp -a $CWD/mod_php$PHP_SERIES-apache1.3.conf.example $PKG/etc/apache/mod_php.conf.example
@@ -555,7 +568,7 @@ chown root:root $PKG/etc/apache/*
 # This can go now.
 rm -f $PKG/etc/apache/httpd*
 
-if (( `default_version` >= 120 )); then
+if (( `distro_version` >= 120 )); then
   # Session directory for PHP:
   mkdir -p $PKG/var/lib/php
   chmod 770 $PKG/var/lib/php
diff --git a/sci/astronomy/stellarium/slack-required b/sci/astronomy/stellarium/slack-required
new file mode 100644 (file)
index 0000000..7bc3ca6
--- /dev/null
@@ -0,0 +1,5 @@
+# Dependency list to stellarium
+#
+# dependency [condition] [version]]
+boost                          
+qt4                            
index 79796293634bd79fbcbc9b603665d0822b3d058a..39a9ecaefc4125a3548d70fd8964d34ad9ef84d7 100755 (executable)
 #!/bin/bash
 #
-#  stellarium.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  stellarium.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  stellarium.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  stellarium.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for stellarium
-# by rhatto at riseup.net
+# slackbuild for stellarium, by Silvio Rhatto
+# requires: boost qt4 
+# tested: stellarium-0.9.1
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building stellarium are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="stellarium"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="stellarium"
+PKG_NAME="stellarium"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.8.2}
+SRC_VERSION=${VERSION:=0.9.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/$PACKAGE/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/stellarium/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Configure
+cmake .
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="ABOUT-NLS AUTHORS COPYING ChangeLog NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-          |-----handy-ruler-----------------------------------------------------|
+          |-----handy-ruler---------------------------------------------------|
 stellarium: stellarium (A 3D astronomical sky renderer)
 stellarium:
 stellarium: Stellarium is a free GPL software which renders realistic skies in
@@ -114,20 +170,13 @@ stellarium:
 stellarium:
 stellarium:
 stellarium:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 117c0cd75897c066b246491457c2af63d39777e4..c3b48ab20cd9c1231e82db0b83450ea92e8ac945 100755 (executable)
@@ -33,7 +33,7 @@ CWD="$(pwd)"
 SRC_NAME="gtkwave"
 PKG_NAME="gtkwave"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=3.1.9}
+SRC_VERSION=${VERSION:=3.1.12}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1ls}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
index 3a9a6ef72c9c1edc69bcfec829d2bcb15200fea1..523bed15bc51d6c1fdc5dbc3af0389385dd4a415 100755 (executable)
 #!/bin/bash
 #
-#  fftw.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  fftw.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  fftw.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  fftw.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for fftw
-# by rhatto at riseup.net
+# slackbuild for fftw, by Silvio Rhatto
+# requires:  
+# tested: fftw-3.1.2
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building fftw are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="fftw"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="fftw"
+PKG_NAME="fftw"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=3.1.2}
+SRC_VERSION=${VERSION:=3.1.2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--enable-shared --enable-float"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://www.fftw.org/$SRC"
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
-
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC"
-fi
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.fftw.org/$SRC"
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR --enable-shared 
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR --enable-shared --enable-float
-make || exit 32
-make DESTDIR=$TMP/package-$PACKAGE install
-
-CWD="`pwd`"
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-cd $TMP/package-$PACKAGE
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Thanks to Kyle Guinn <elyk at 3@gmail.com> for the section below,
+# obtained from http://slackbuilds.org/slackbuilds/12.1/libraries/fftw/fftw.SlackBuild
+# Small changes by Rhatto
+
+# compile fftw3
+CFLAGS= \
+CXXFLAGS= \
+FFLAGS= \
+./configure \
+  --prefix=/usr \
+  --sysconfdir=/etc \
+  --libdir="$LIBDIR" \
+  --localstatedir=/var \
+  --mandir=/usr/man \
+  --infodir=/usr/info \
+  --docdir=/usr/doc/fftw-$PKG_VERSION \
+  --enable-shared \
+  --disable-static \
+  --enable-threads || exit $ERROR_CONF
+make $NUMJOBS || exit $ERROR_MAKE
+make install-strip DESTDIR="$PKG" || exit $ERROR_INSTALL
+make clean || exit $ERROR_MAKE
+
+# compile fftw3f
+CFLAGS= \
+CXXFLAGS= \
+FFLAGS= \
+./configure \
+  --prefix=/usr \
+  --sysconfdir=/etc \
+  --libdir="$LIBDIR" \
+  --localstatedir=/var \
+  --mandir=/usr/man \
+  --infodir=/usr/info \
+  --docdir=/usr/doc/fftw-$PKG_VERSION \
+  --enable-shared \
+  --disable-static \
+  --enable-threads \
+  --enable-float || exit $ERROR_CONF
+make $NUMJOBS || exit $ERROR_MAKE
+make install-strip DESTDIR="$PKG" || exit $ERROR_INSTALL
+make clean || exit $ERROR_MAKE
+
+# compile fftw3l
+CFLAGS= \
+CXXFLAGS= \
+FFLAGS= \
+./configure \
+  --prefix=/usr \
+  --sysconfdir=/etc \
+  --libdir="$LIBDIR" \
+  --localstatedir=/var \
+  --mandir=/usr/man \
+  --infodir=/usr/info \
+  --docdir=/usr/doc/fftw-$PKG_VERSION \
+  --enable-shared \
+  --disable-static \
+  --enable-threads \
+  --enable-long-double || exit $ERROR_CONF
+make $NUMJOBS || exit $ERROR_MAKE
+make install-strip DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS CONVENTIONS COPYING COPYRIGHT ChangeLog NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-     |-----handy-ruler-----------------------------------------------------|
+    |-----handy-ruler---------------------------------------------------------|
 fftw: fftw (the fastest fourier transform in the west)
 fftw:
 fftw: FFTW is a C subroutine library for computing the discrete Fourier
@@ -118,18 +223,13 @@ fftw: most applications.
 fftw:
 fftw:
 fftw:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in AUTHORS CONVENTIONS COPYING COPYRIGHT ChangeLog INSTALL NEWS README TODO; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/sci/libs/lapack/lapack.SlackBuild b/sci/libs/lapack/lapack.SlackBuild
new file mode 100644 (file)
index 0000000..d68259c
--- /dev/null
@@ -0,0 +1,160 @@
+#!/bin/bash
+#
+#  lapack.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  lapack.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for lapack, by Rudson R. Alves
+# requires:  
+# tested: lapack-3.1.1
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="lapack"
+PKG_NAME="lapack"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=3.1.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME.tgz"
+URL="http://www.netlib.org/lapack/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+cp INSTALL/make.inc.gfortran make.inc
+sed -i 's/RANLIB   = ranlib/RANLIB   = echo/' make.inc
+sed -i 's/lib: lapacklib tmglib/lib: blaslib lapacklib tmglib/' Makefile
+
+# Compile
+make clean
+make all || exit $ERROR_MAKE
+
+# Install
+mkdir -p $PKG/$LIBDIR
+cp blas_LINUX.a lapack_LINUX.a tmglib_LINUX.a $PKG/$LIBDIR
+( 
+    cd $PKG/$LIBDIR
+    ln -s lapack_LINUX.a liblapack.a
+    ln -s blas_LINUX.a libblas.a
+    ln -s tmglib_LINUX.a libtmglib.a
+)
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="COPYING README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+      |-----handy-ruler-------------------------------------------------------|
+lapack: lapack by Slack.Sarava
+lapack:
+lapack: LAPACK is a library of Fortran 77 subroutines for solving
+lapack: the most commonly occurring problems in numerical linear algebra.
+lapack: It is freely-available software, and is copyrighted.
+lapack:
+lapack:
+lapack:
+lapack:
+lapack:
+lapack:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index cdc2906336b2bcdcf0e0d31f8793129fe64e80ba..eb25c6145394b79bef3d2e8978ab6874a2466d9b 100644 (file)
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
 # slackbuild for octave, by Rudson R. Alves
 # requires: gcc flex bison gperf 
-# tested: octave-3.0.0
+# tested: octave-3.0.1
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="octave"
 PKG_NAME="octave"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=3.0.0}
+SRC_VERSION=${VERSION:=3.0.1}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rra}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -41,7 +41,7 @@ REPOS=${REPOS:=$TMP}
 PREFIX=${PREFIX:=/usr}
 PKG_WORK="$TMP/$SRC_NAME"
 CONF_OPTIONS=${CONF_OPTIONS:=""}
-NUMJOBS=${NUMJOBS:="-j7"}
+NUMJOBS=${NUMJOBS:="-j4"}
 
 # Set system libraries' path and optmization flags based on $ARCH
 LIBDIR="$PREFIX/lib"
@@ -55,8 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -86,7 +87,7 @@ fi
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $8 }'`"
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -110,7 +111,7 @@ make install DESTDIR="$PKG" || exit $ERROR_INSTALL
 )
 
 # Install documentation
-DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING readme.*"
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
 mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
 for doc in $DOCS; do
   if [ -f "$doc" ]; then
@@ -122,9 +123,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index c2c3c20d4261027c0a057bc9e146ee50268ca938..a86a445fea01159ad7acb99db500f8340a6a599e 100755 (executable)
 #!/bin/bash
 #
-#  grub.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  grub.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  grub.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  grub.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for grub
-# by rhatto at riseup.net
+# slackbuild for grub, by Silvio Rhatto
+# requires:  
+# tested: grub-1.96
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building grub are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="grub"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="grub"
+PKG_NAME="grub"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.97}
+SRC_VERSION=${VERSION:=1.96}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
-fi
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="ftp://alpha.gnu.org/gnu/grub/$SRC"
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="ftp://alpha.gnu.org/gnu/grub/$SRC"
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
-
-./configure --prefix=/usr --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README THANKS TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-    |-----handy-ruler-----------------------------------------------------|
+    |-----handy-ruler---------------------------------------------------------|
 grub: grub (GNU GRUB Legacy bootloader)
 grub:
 grub: This is the legacy (0.9x) version of GNU GRUB, the GRand Unified
@@ -110,18 +141,13 @@ grub:
 grub: 
 grub:
 grub:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-for file in AUTHORS BUGS COPYING ChangeLog INSTALL MAINTENANCE NEWS README THANKS TODO; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/sys/fs/cryptsetup-luks/cryptsetup-luks.SlackBuild b/sys/fs/cryptsetup-luks/cryptsetup-luks.SlackBuild
new file mode 100755 (executable)
index 0000000..920a9b4
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  cryptsetup-luks.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  cryptsetup-luks.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for cryptsetup-luks, by Silvio Rhatto
+# requires:  
+# tested: cryptsetup-luks-1.0.6
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="cryptsetup"
+PKG_NAME="cryptsetup-luks"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.0.6}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="cryptsetup-$VERSION.tar.bz2"
+URL="http://luks.endorphin.org/source/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+               |-----handy-ruler----------------------------------------------|
+cryptsetup-luks: crypstsetup-luks (userland tool for dm-crypt)
+cryptsetup-luks:
+cryptsetup-luks: LUKS is the upcoming standard for Linux hard disk encryption.
+cryptsetup-luks: By providing a standard on-disk-format, it does not only facilitate
+cryptsetup-luks: compatibility among distributions, but also provide secure management
+cryptsetup-luks: of multiple user passwords. In contrast to existing solution, LUKS
+cryptsetup-luks: stores all setup necessary setup information in the partition header,
+cryptsetup-luks: enabling the user to transport or migrate his data seamlessly. LUKS
+cryptsetup-luks: for dm-crypt is implemented in cryptsetup. cryptsetup-luks is intended
+cryptsetup-luks: as a complete replacement for the original cryptsetup. It provides
+cryptsetup-luks: all the functionally of the original version plus LUKS features.
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index eeb2dfd16d5813be75dd96a2938fc72413c1fc8d..31a06e4cbc65d249fb141865da3f41987390c16c 100755 (executable)
 #!/bin/bash
 #
-#  cryptsetup.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  cryptsetup.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  cryptsetup.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  cryptsetup.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for cryptsetup
-# by rhatto at riseup.net
+# slackbuild for cryptsetup, by Silvio Rhatto
+# requires:  
+# tested: cryptsetup-0.1
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building cryptsetup are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="cryptsetup"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="cryptsetup"
+PKG_NAME="cryptsetup"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=0.1}
+SRC_VERSION=${VERSION:=0.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-if [ "$ARCH" == "x86_64" ]; then
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
-fi
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-RTOOL="wget"
-PACKAGE_EXT="bz2"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://www.saout.de/misc/dm-crypt/$SRC"
-
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$PACKAGE_EXT" == "bz2" ]; then
-  tarflag="j"
-else
-  tarflag="z"
-fi
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://www.saout.de/misc/dm-crypt/$SRC"
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
-
-tar xvf$tarflag $SRC_DIR/$SRC
-cd $PACKAGE-$VERSION
-
-./configure --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
-
-CWD="`pwd`"
-
-cd $TMP/package-$PACKAGE
-
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS=" AUTHORS COPYING ChangeLog NEWS README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-          |-----handy-ruler-----------------------------------------------------|
+          |-----handy-ruler---------------------------------------------------|
 cryptsetup: crypstsetup (userland tool for dm-crypt)
 cryptsetup:
 cryptsetup: cryptsetup is a wrapper for dm-setup to create encrypted volumes.
@@ -115,18 +141,13 @@ cryptsetup:
 cryptsetup:
 cryptsetup:
 cryptsetup:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-for file in ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index a8d7bd5c4abba72dde33c91cd2758f0c80f9f345..d31f32165fe0a06845243150a0c491dab37ba193 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.22.19-vs2.2.0.6
-# Thu Mar 13 00:38:37 2008
+# Mon Jun  9 22:52:06 2008
 #
 CONFIG_X86_64=y
 CONFIG_64BIT=y
@@ -1508,7 +1508,9 @@ CONFIG_VSERVER_LEGACYNET=y
 # CONFIG_VSERVER_COWBL is not set
 CONFIG_VSERVER_VTIME=y
 CONFIG_VSERVER_PROC_SECURE=y
-# CONFIG_VSERVER_HARDCPU is not set
+CONFIG_VSERVER_HARDCPU=y
+CONFIG_VSERVER_IDLETIME=y
+# CONFIG_VSERVER_IDLELIMIT is not set
 # CONFIG_TAGGING_NONE is not set
 # CONFIG_TAGGING_UID16 is not set
 # CONFIG_TAGGING_GID16 is not set
index fed175a0618da9ebe36e1b6c603a0a5005165258..0c5ffbfa64df73de83defbc804fba496d55b7dc7 100644 (file)
 #!/bin/bash
 #
-#  anacron.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  anacron.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  anacron.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  anacron.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for anacron
-# by rhatto at riseup.net
+# slackbuild for anacron, by Sivio Rhatto
+# requires:  
+# tested: anacron-2.3
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building anacron are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="anacron"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="anacron"
+PKG_NAME="anacron"
 ARCH=${ARCH:=i486}
-VERSION=${VERSION:=2.3}
+SRC_VERSION=${VERSION:=2.3}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-RTOOL="wget"
-PACKAGE_EXT="gz"
-SRC="$PACKAGE-$VERSION.tar.$PACKAGE_EXT"
-URL="http://easynews.dl.sourceforge.net/sourceforge/anacron/$SRC"
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-SRC_DIR="$SRC_DIR/$PACKAGE"
-mkdir -p $SRC_DIR
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then
-  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+# Creating build user and group
+if ! grep -qe "^$PKG_NAME:" /etc/group; then
+  groupadd $PKG_NAME
+fi
+if ! grep -qe "^$PKG_NAME:" /etc/passwd; then
+  useradd $PKG_NAME -g $PKG_NAME
 fi
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://downloads.sourceforge.net/anacron/$SRC"
 
-tar xvf $SRC_DIR/$SRC || exit $ERROR_TAR
-cd $PACKAGE-$VERSION
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
 
-if [ -f "$CWD/$PACKAGE-$VERSION.diff" ]; then
-  patch -p1 < $CWD/$PACKAGE-$VERSION.diff || exit $ERROR_PATCH
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
+
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
 fi
 
-make || exit $ERROR_MAKE
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
 
-CWD="`pwd`"
+# Install
+mkdir -p $PKG
+mkdir -p $PKG/usr/sbin $PKG/var/spool/anacron $PKG/usr/man/man5 $PKG/usr/man/man8
 
-mkdir $TMP/package-$PACKAGE
-cd $TMP/package-$PACKAGE
+cp anacron $PKG/usr/sbin
+cp anacrontab.5 $PKG/usr/man/man5
+cp anacron.8 $PKG/usr/man/man8
 
-mkdir -p usr/sbin var/spool/anacron usr/man/man5 usr/man/man8
-cp $CWD/anacron usr/sbin
-cp $CWD/anacrontab.5 usr/man/man5
-cp $CWD/anacron.8 usr/man/man8
+gzip $PKG/usr/man/man5/anacrontab.5
+gzip $PKG/usr/man/man8/anacron.8
 
-gzip usr/man/man5/anacrontab.5
-gzip usr/man/man8/anacron.8
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+# Install documentation
+DOCS="COPYING ChangeLog README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-       |-----handy-ruler-----------------------------------------------------|
+       |-----handy-ruler------------------------------------------------------|
 anacron: anacron (periodic command scheduler)
 anacron:
 anacron: Anacron is a periodic command scheduler. It executes commands at
@@ -121,20 +183,13 @@ anacron: installed and configured properly, Anacron will make sure that the
 anacron: commands are run at the specified intervals as closely as
 anacron: machine-uptime permits.
 anacron:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="COPYING ChangeLog README TODO"
-
-for file in $DOCS; do
-  cp $CWD/$file* usr/doc/$PACKAGE-$VERSION/
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/www/apps/trac/Trac.SlackBuild b/www/apps/trac/Trac.SlackBuild
new file mode 100755 (executable)
index 0000000..af9c227
--- /dev/null
@@ -0,0 +1,136 @@
+#!/bin/bash
+#
+#  Trac.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  Trac.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for Trac, by Silvio Rhatto
+# requires: setuptools pysqlite swig 
+# tested: Trac-0.11rc2
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="Trac"
+PKG_NAME="Trac"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.11rc2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://ftp.edgewall.com/pub/trac/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Build and install package
+python setup.py build install --root=$PKG
+
+# Install documentation
+DOCS="AUTHORS COPYING README RELEASE TESTING-README THANKS UPGRADE"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+    |-----handy-ruler---------------------------------------------------------|
+Trac: Trac 
+Trac:
+Trac: Trac is an enhanced wiki and issue tracking system for software
+Trac: development projects. Trac uses a minimalistic approach to
+Trac: web-based software project management. 
+Trac:
+Trac:
+Trac:
+Trac:
+Trac:
+Trac:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index 0036071e5df6cde37e5dffc223ec4900f24ffa76..76ac4c6351d83ae8f098817c25506fc0314bef7f 100644 (file)
@@ -1,2 +1,8 @@
-pysqlite
-swig
+# Dependency list to Trac
+#
+# dependency [condition] [version]]
+setuptools                             
+pysqlite                               
+swig                           
+Pygments                               
+Genshi                         
diff --git a/www/apps/tracaccountmanager/TracAccountManager.SlackBuild b/www/apps/tracaccountmanager/TracAccountManager.SlackBuild
new file mode 100755 (executable)
index 0000000..910d551
--- /dev/null
@@ -0,0 +1,150 @@
+#!/bin/bash
+#
+#  TracAccountManager.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  TracAccountManager.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for TracAccountManager, by Silvio Rhatto
+# requires: 
+# tested: TracAccountManager-svn_version
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="TracAccountManager"
+PKG_NAME="TracAccountManager"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://trac-hacks.org/svn/accountmanagerplugin/trunk`"
+
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://trac-hacks.org/svn/accountmanagerplugin/trunk $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
+
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Build and install package
+python setup.py build install --root=$PKG
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+                  |-----handy-ruler-------------------------------------------|
+TracAccountManager: TracAccountManager
+TracAccountManager:
+TracAccountManager: The AccountManagerPlugin offers several features for managing user accounts:
+TracAccountManager:
+TracAccountManager:    * allow users to register new accounts
+TracAccountManager:    * login via an HTML form instead of using HTTP authentication
+TracAccountManager:    * allow existing users to change their passwords or delete their accounts 
+TracAccountManager:
+TracAccountManager:
+TracAccountManager:
+TracAccountManager:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/www/apps/tracaccountmanager/slack-required b/www/apps/tracaccountmanager/slack-required
new file mode 100644 (file)
index 0000000..91eecce
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to TracAccountManager
+#
+# dependency [condition] [version]]
+Trac                           
diff --git a/www/apps/tracpageauthzeditor/TracPageAuthzEditor.SlackBuild b/www/apps/tracpageauthzeditor/TracPageAuthzEditor.SlackBuild
new file mode 100755 (executable)
index 0000000..43cbafb
--- /dev/null
@@ -0,0 +1,150 @@
+#!/bin/bash
+#
+#  TracPageAuthzEditor.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  TracPageAuthzEditor.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for TracPageAuthzEditor, by Silvio Rhatto
+# requires: 
+# tested: TracPageAuthzEditor-svn_version
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="TracPageAuthzEditor"
+PKG_NAME="TracPageAuthzEditor"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rha}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://trac-hacks.org/svn/finegrainedpageauthzeditorplugin/0.11`"
+
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://trac-hacks.org/svn/finegrainedpageauthzeditorplugin/0.11 $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
+
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Build and install package
+python setup.py build install --root=$PKG
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="COPYING README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+                   |-----handy-ruler------------------------------------------|
+TracPageAuthzEditor: TracPageAuthzEditor
+TracPageAuthzEditor:
+TracPageAuthzEditor: This is a simple plugin to help edit the fine grained authz permissions file.
+TracPageAuthzEditor: In addition to providing a text editor is also provides a list of the current
+TracPageAuthzEditor: project users, so they are readily available.
+TracPageAuthzEditor:
+TracPageAuthzEditor:
+TracPageAuthzEditor:
+TracPageAuthzEditor:
+TracPageAuthzEditor:
+TracPageAuthzEditor:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/www/apps/tracpageauthzeditor/slack-required b/www/apps/tracpageauthzeditor/slack-required
new file mode 100644 (file)
index 0000000..8fa4d14
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to TracPageAuthzEditor
+#
+# dependency [condition] [version]]
+Trac                           
diff --git a/x11/apps/xev/xev.SlackBuild b/x11/apps/xev/xev.SlackBuild
new file mode 100644 (file)
index 0000000..e3ccb44
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  xev.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  xev.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for xev, by Rudson R. Alves
+# requires:  
+# tested: xev-1.0.1
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="xev"
+PKG_NAME="xev"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.0.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://xorg.freedesktop.org/releases/X11R7.3/src/app/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+   |-----handy-ruler----------------------------------------------------------|
+xev: xev by Slack.Sarava
+xev:
+xev: Xev creates a window and then asks the X server to send it events
+xev: whenever anything happens to the window (such as it being moved, resized,
+xev: typed in, clicked in, etc.). You can also attach it to an existing
+xev: window. It is useful for seeing what causes events to occur and to
+xev: display the information that they contain; it is essentially a debugging
+xev: and development tool, and should not be needed in normal usage.  
+xev:
+xev:
+xev:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/x11/libs/agg/agg.SlackBuild b/x11/libs/agg/agg.SlackBuild
new file mode 100755 (executable)
index 0000000..650b9c4
--- /dev/null
@@ -0,0 +1,154 @@
+#!/bin/bash
+#
+#  agg.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  agg.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for agg, by Rafael Diniz
+# requires:  
+# tested: agg-2.5
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="agg"
+PKG_NAME="agg"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.5}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.antigrain.com/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+sh ./autogen.sh
+
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+   |-----handy-ruler----------------------------------------------------------|
+agg: agg (A High Quality Rendering Engine for C++)
+agg:
+agg: A High Quality Rendering Engine for C++
+agg:
+agg:
+agg:
+agg:
+agg:
+agg:
+agg: http://www.antigrain.com/
+agg:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index 32b3f9997b1dc68bfbf5c61ab2afd2708d2bc14f..78c0e526c4fc1b8bdc5898e934bdf63db65e9846 100755 (executable)
 #!/bin/bash
 #
-#  ecore.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  ecore.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  ecore.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  ecore.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for ecore
-# by rhatto at riseup.net
+# slackbuild for ecore, by Silvio Rhatto
+# requires: eet evas 
+# tested: ecore-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building ecore are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="ecore"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="ecore"
+PKG_NAME="ecore"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/efl"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/e17/libs/ecore" ]; then
-  cd $SRC_DIR/e17/libs/ecore
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/libs/ecore || exit $ERROR_VCS
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-cd $SRC_DIR/e17/libs/ecore
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-CWD="`pwd`"
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://svn.enlightenment.org/svn/e/trunk/ecore`"
 
-cd $TMP/package-$PACKAGE
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://svn.enlightenment.org/svn/e/trunk/ecore $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Configure
+./autogen.sh || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO BUGS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-   |-----handy-ruler-----------------------------------------------------|
+     |-----handy-ruler--------------------------------------------------------|
 ecore: ecore
 ecore:
 ecore: Ecore is the event/X abstraction layer that makes doing selections,
@@ -111,22 +148,13 @@ ecore:
 ecore:
 ecore:
 ecore:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 92adf908df39563818effd2c79873f3aa985ab80..1e2713debb154941c580c6a83c3c75532c0eee2c 100644 (file)
@@ -1,2 +1,5 @@
-eet
-evas
+# Dependency list to ecore
+#
+# dependency [condition] [version]]
+eet                            
+evas                           
index 7b3de5c04d13e864054f64d5604979d358153e04..e3e3e21fd3870911f78234c1922dc59bf9983cf5 100755 (executable)
 #!/bin/bash
 #
-#  esmart.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  esmart.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  esmart.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  esmart.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for esmart
-# by rhatto at riseup.net
+# slackbuild for esmart, by Silvio Rhatto
+# requires: eet evas ecore embryo edje imlib2 epsilon 
+# tested: esmart-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building esmart are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="esmart"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="esmart"
+PKG_NAME="esmart"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/efl"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/e17/libs/esmart" ]; then
-  cd $SRC_DIR/e17/libs/esmart
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/libs/esmart || exit $ERROR_VCS
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-cd $SRC_DIR/e17/libs/esmart
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-CWD="`pwd`"
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://svn.enlightenment.org/svn/e/trunk/esmart`"
 
-cd $TMP/package-$PACKAGE
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://svn.enlightenment.org/svn/e/trunk/esmart $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Configure
+./autogen.sh || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO BUGS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-      |-----handy-ruler-----------------------------------------------------|
+      |-----handy-ruler-------------------------------------------------------|
 esmart: esmart
 esmart: 
 esmart: 
@@ -111,22 +148,13 @@ esmart:
 esmart:
 esmart:
 esmart:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 2b3955f56a3c1821d5e490f755ce2c21e8943a53..7be02dfec565879f3c0566d1414ea6395dd27798 100644 (file)
@@ -1,7 +1,10 @@
-eet
-evas
-ecore
-embryo
-edje
-imlib2
-epsilon
+# Dependency list to esmart
+#
+# dependency [condition] [version]]
+eet                            
+evas                           
+ecore                          
+embryo                         
+edje                           
+imlib2                         
+epsilon                                
index 34d54b94cef04ffc512dc5df540803f6d4c35a29..94832ebeed6799d5d170779130e9cd29fd169ec1 100755 (executable)
 #!/bin/bash
 #
-#  etk.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  etk.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  etk.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  etk.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for etk
-# by rhatto at riseup.net
+# slackbuild for etk, by Silvio Rhatto
+# requires: eet evas ecore embryo edje imlib2 esmart 
+# tested: etk-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building etk are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="etk"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="etk"
+PKG_NAME="etk"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/e17"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/e17/libs/etk" ]; then
-  cd $SRC_DIR/e17/libs/etk
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/libs/etk || exit $ERROR_VCS
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-cd $SRC_DIR/e17/libs/etk
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-CWD="`pwd`"
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://svn.enlightenment.org/svn/e/trunk/etk`"
 
-cd $TMP/package-$PACKAGE
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://svn.enlightenment.org/svn/e/trunk/etk $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Configure
+./autogen.sh || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO BUGS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-   |-----handy-ruler-----------------------------------------------------|
+   |-----handy-ruler----------------------------------------------------------|
 etk: etk
 etk:
 etk: Etk is a toolkit based on the EFL.
@@ -111,22 +148,13 @@ etk:
 etk:
 etk:
 etk:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index d7daf94a96e33885d42f49b0069f432940dd1cb3..1eb3b4b521b6853bfad8a032b4f1156d160cd86d 100644 (file)
@@ -1,7 +1,10 @@
-eet
-evas
-ecore
-embryo
-edje
-imlib2
-esmart
+# Dependency list to etk
+#
+# dependency [condition] [version]]
+eet                            
+evas                           
+ecore                          
+embryo                         
+edje                           
+imlib2                         
+esmart                         
index f0793da90af018f1650170c3b422199a52933dba..c92123a7a7df83501c3ade08a1efb87e10ce0ca7 100755 (executable)
 #!/bin/bash
 #
-#  evas.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  evas.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  evas.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  evas.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for evas
-# by rhatto at riseup.net
+# slackbuild for evas, by Silvio Rhatto
+# requires: eet 
+# tested: evas-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building evas are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="evas"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="evas"
+PKG_NAME="evas"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/efl"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/e17/libs/evas" ]; then
-  cd $SRC_DIR/e17/libs/evas
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/libs/evas || exit $ERROR_VCS
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-cd $SRC_DIR/e17/libs/evas
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-CWD="`pwd`"
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://svn.enlightenment.org/svn/e/trunk/evas`"
 
-cd $TMP/package-$PACKAGE
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://svn.enlightenment.org/svn/e/trunk/evas $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Configure
+./autogen.sh || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO BUGS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-   |-----handy-ruler-----------------------------------------------------|
+    |-----handy-ruler---------------------------------------------------------|
 evas: evas
 evas:
 evas: Evas is a clean display canvas API for several target display systems
@@ -111,22 +148,13 @@ evas:
 evas:
 evas:
 evas:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 93a9f3bc1398de3383f42da91290a343b99a876d..7644978dbaab743f1d3d6f4f7bd0bf28b9687381 100644 (file)
@@ -1 +1,4 @@
-eet
+# Dependency list to evas
+#
+# dependency [condition] [version]]
+eet                            
index 8c48cf2c38c75ebb38ead6f0a468a7d30aa30d7e..381b64f2b6bf80ce1d32e057707c03fba851231d 100755 (executable)
 #!/bin/bash
 #
-#  ewl.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  ewl.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  ewl.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  ewl.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for ewl
-# by rhatto at riseup.net
+# slackbuild for ewl, by Silvio Rhatto
+# requires: eet evas ecore embryo edje imlib2 epsilon 
+# tested: ewl-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building ewl are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="ewl"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="ewl"
+PKG_NAME="ewl"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/efl"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/e17/libs/ewl" ]; then
-  cd $SRC_DIR/e17/libs/ewl
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/libs/ewl || exit $ERROR_VCS
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-cd $SRC_DIR/e17/libs/ewl
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-CWD="`pwd`"
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://svn.enlightenment.org/svn/e/trunk/ewl`"
 
-cd $TMP/package-$PACKAGE
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://svn.enlightenment.org/svn/e/trunk/ewl $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Configure
+./autogen.sh || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO BUGS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-  |-----handy-ruler-----------------------------------------------------|
+   |-----handy-ruler----------------------------------------------------------|
 ewl: ewl (widget library which uses the E Foundation Libraries)
 ewl: 
 ewl: The Enlightened Widget Library (EWL) provides a widget abstraction
@@ -111,22 +148,13 @@ ewl:
 ewl:
 ewl:
 ewl:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index 2b3955f56a3c1821d5e490f755ce2c21e8943a53..6ad1ba913763f215ad119172102de8e156270a41 100644 (file)
@@ -1,7 +1,10 @@
-eet
-evas
-ecore
-embryo
-edje
-imlib2
-epsilon
+# Dependency list to ewl
+#
+# dependency [condition] [version]]
+eet                            
+evas                           
+ecore                          
+embryo                         
+edje                           
+imlib2                         
+epsilon                                
diff --git a/x11/libs/gtkglext/gtkglext.SlackBuild b/x11/libs/gtkglext/gtkglext.SlackBuild
new file mode 100644 (file)
index 0000000..1e1bd48
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  gtkglext.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gtkglext.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gtkglext, by Rudson R. Alves
+# requires: mesa gtk+2 
+# tested: gtkglext-1.2.0
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gtkglext"
+PKG_NAME="gtkglext"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.2.0}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://downloads.sourceforge.net/gtkglext/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING COPYING.LIB INSTALL NEWS README README.win32 TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler-----------------------------------------------------|
+gtkglext: gtkglext by Slack.Sarava
+gtkglext:
+gtkglext: GtkGLExt is an OpenGL extension to GTK.
+gtkglext:
+gtkglext: This package is composed of GdkGLExt library and GtkGLExt library.
+gtkglext: GdkGLExt library provides the GDK objects which support OpenGL
+gtkglext: rendering in GTK. GtkGLExt library provides the GtkWidget API add-ons
+gtkglext: to make GTK+ widgets OpenGL-capable.
+gtkglext:
+gtkglext:
+gtkglext:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/x11/libs/gtkglext/slack-required b/x11/libs/gtkglext/slack-required
new file mode 100644 (file)
index 0000000..3380a59
--- /dev/null
@@ -0,0 +1,5 @@
+# Dependency list to gtkglext
+#
+# dependency [condition] [version]]
+mesa                           
+gtk+2                          
index eb200dd4ebfd35d1121ad6aaaea322b4ff413b50..f87e252bde3d2b6a52dcae0db09a39c041bc782a 100755 (executable)
 #!/bin/bash
 #
-#  libast.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  libast.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  libast.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  libast.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for libast
-# by rhatto at riseup.net
+# slackbuild for libast, by Silvio Rhatto
+# requires:  
+# tested: libast-0.7
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building libast are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="libast"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="libast"
+PKG_NAME="libast"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=0.7}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/eterm"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/eterm/libast" ]; then
-  cd $SRC_DIR/eterm/libast
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co eterm/libast || exit $ERROR_VCS
-fi
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-cd $SRC_DIR/eterm/libast
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://eterm.sourceforge.net/download/$SRC"
 
-CWD="`pwd`"
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
 
-cd $TMP/package-$PACKAGE
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Patch source
+patches="
+         $PKG_NAME.diff $PKG_NAME-$PKG_VERSION.diff
+         $PKG_NAME-$PKG_VERSION-$ARCH.diff $PKG_NAME-$ARCH.diff"
+for patch in $patches; do
+  if [ -f "$CWD/$patch" ]; then
+    patch -Np1 < "$CWD/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch" ]; then
+    patch -Np1 < "$CWD/patches/$patch" || exit $ERROR_PATCH
+  elif [ -f "$CWD/$patch.gz" ]; then
+    gzip -dc "$CWD/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  elif [ -f "$CWD/patches/$patch.gz" ]; then
+    gzip -dc "$CWD/patches/$patch.gz" | patch -Np1 || exit $ERROR_PATCH
+  fi
+done
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+if echo [[PATCH URLS]] | grep -q -v "PATCH URLS"; then
+  for patch_url in [[PATCH URLS]]; do
+    patch="`basename $patch_url`"
+    if [ ! -s "$SRC_DIR/$patch" ]; then
+      wget "$patch_url" -O "$SRC_DIR/$patch" || exit $ERROR_WGET
+    fi
+    if [ "`basename $patch .gz`" != "$patch" ]; then
+      gzip -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    elif [ "`basename $patch .bz2`" != "$patch" ]; then
+      bzip2 -dc $SRC_DIR/$patch | patch -Np1 || exit $ERROR_PATCH
+    else
+      patch -Np1 < "$SRC_DIR/$patch" || exit $ERROR_PATCH
+    fi
+  done
+fi
 
-mkdir install
-cat << EOF > install/slack-desc
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog CHANGELOG NEWS README TODO LICENSE"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-      |-----handy-ruler-----------------------------------------------------|
+      |-----handy-ruler-------------------------------------------------------|
 libast: libast
 libast:
 libast: LibAST is the Library of Assorted Spiffy Things.  It contains many
@@ -111,22 +173,13 @@ libast:
 libast:
 libast:
 libast:
-EOF
+EODESC
 
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
-
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO LICENSE"
-
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
diff --git a/x11/libs/qt4/qt4.SlackBuild b/x11/libs/qt4/qt4.SlackBuild
new file mode 100644 (file)
index 0000000..e331502
--- /dev/null
@@ -0,0 +1,149 @@
+#!/bin/sh
+
+# Slackware build script for Qt 4
+# Written by Aleksandar Samardzic <asamardzic@gmail.com>
+# Modified by Robby Workman <rworkman@slackbuilds.org>
+# Adaptation for slack.sarava.org standard by Rafael Diniz <rafael (at) riseup (dot) net>
+
+PRGNAM=qt4
+VERSION=${VERSION:-4.4.0}
+ARCH=${ARCH:-i486}
+BUILD=${BUILD:-1}
+TAG=${TAG:-rd}
+SRC_DIR=${SRC_DIR:=$CWD}/$PRGNAM
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PRGNAM
+REPOS=${REPOS:=$TMP}
+
+# Dowload source if necessary
+SRC="qt-x11-opensource-src-$VERSION.tar.gz"
+URL="ftp://ftp.trolltech.com/qt/source/$SRC"
+
+
+JOBS=${JOBS:-5}
+
+LIBDIR=/usr/lib
+
+if [ "$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 -fPIC"
+  LIBDIR=/usr/lib64
+fi
+
+set -e
+
+# clean up
+rm -rf "$PKG" 2> /dev/null
+
+# create dirs
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+
+if [ ! -s "$SRC_DIR/$SRC" ]; then
+  wget "$URL" -O "$SRC_DIR/$SRC"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf qt-x11-opensource-src-$VERSION
+tar xvf $SRC_DIR/qt-x11-opensource-src-$VERSION.tar.gz
+cd qt-x11-opensource-src-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+export OPENSOURCE_CXXFLAGS="$SLKCFLAGS"
+echo "yes" | ./configure \
+  -prefix $LIBDIR/qt-$VERSION \
+  -libdir $LIBDIR \
+  -nomake examples \
+  -nomake demos
+
+make -j $JOBS
+make install INSTALL_ROOT=$PKG
+
+( cd $PKG/$LIBDIR ; ln -sf qt-$VERSION qt4 )
+
+( cd $PKG
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+mkdir -p $PKG/usr/bin
+( cd $PKG/usr/bin
+  for file in assistant assistant_adp designer linguist lrelease lupdate moc pixeltool qcollectiongenerator qdbus qdbuscpp2xml qdbusviewer qdbusxml2cpp qhelpconverter qhelpgenerator qmake qt3to4 qtconfig rcc uic uic3 xmlpatterns;
+  do
+    ln -sf $LIBDIR/qt-$VERSION/bin/$file ${file}-qt4 ;
+  done
+)
+
+# mkdir -p $PKG/$LIBDIR/pkgconfig
+# ( cd $PKG/$LIBDIR/pkgconfig
+#   for file in Qt3Support.pc QtAssistantClient.pc QtCore.pc \
+#     QtDBus.pc QtGui.pc QtNetwork.pc QtOpenGL.pc QtScript.pc \
+#     QtSql.pc QtSvg.pc QtTest.pc QtUiTools.pc QtXml.pc ; 
+#   do
+#     ln -sf $LIBDIR/qt-$VERSION/lib/pkgconfig/$file . ;
+#   done
+# )
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a GPL_EXCEPTION.TXT GPL_EXCEPTION_ADDENDUM.TXT INSTALL LICENSE.GPL* \
+  LICENSE.QPL OPENSOURCE-NOTICE.TXT README changes-$VERSION \
+  $PKG/usr/doc/$PRGNAM-$VERSION
+( cd $PKG/usr/doc/$PRGNAM-$VERSION ; ln -sf $LIBDIR/qt-$VERSION/doc/html . )
+
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+   |-----handy-ruler------------------------------------------------------|
+qt4: Qt 4 (Qt4 toolkit)
+qt4:
+qt4: Qt 4 sets the standard for high-performance, cross-platform
+qt4: application development. It includes a C++ class library and
+qt4: tools for cross-platform development and internationalization.
+qt4:
+qt4: Homepage: http://trolltech.com/products/qt/
+qt4:
+qt4:
+qt4:
+qt4:
+EODESC
+
+cat << EODESC > "$PKG/install/doinst.sh"
+#!/bin/sh
+# Add /opt/qt4/lib Qt4 library to /etc/ld.so.conf
+# or not?
+
+#if [ -z "$(cat /etc/ld.so.conf | grep "/opt/qt4/lib")" ]; then
+#   echo "/opt/qt4/lib" >> /etc/ld.so.conf
+#fi
+EODESC
+
+cd $PKG
+/sbin/makepkg -l y -c n $REPOS/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.tgz
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG"
+fi
index f01b4ce8fe3cfa9f63d3c849afc33f5aab8bcb70..33f58e37057cbecc9edb3c0f0d5a501308033e80 100755 (executable)
@@ -1,22 +1,22 @@
 #!/bin/bash
 #
-#  wxwidgets.SlackBuild is free software; you can redistribute
+#  wxWidgets.SlackBuild is free software; you can redistribute
 #  it and/or modify it under the terms of the GNU General Public License as
 #  published by the Free Software Foundation; either version 2 of the License,
 #  or any later version.
 #
-#  wxwidgets.SlackBuild is distributed in the hope that it will
+#  wxWidgets.SlackBuild is distributed in the hope that it will
 #  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
 #  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild for wxwidgets, by Silvio Rhatto
-# requires: 
-# tested: wxwidgets-2.8.7
+# slackbuild for wxWidgets, by Silvio Rhatto
+# requires:  
+# tested: wxWidgets-2.8.8
 #
 
 # Look for slackbuildrc
@@ -31,7 +31,7 @@ CWD="$(pwd)"
 SRC_NAME="wxWidgets"
 PKG_NAME="wxWidgets"
 ARCH=${ARCH:=i486}
-SRC_VERSION=${VERSION:=2.8.7}
+SRC_VERSION=${VERSION:=2.8.8}
 PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
 SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
@@ -55,8 +55,9 @@ elif [ "$ARCH" = "i686" ]; then
 elif [ "$ARCH" = "s390" ]; then
   SLKCFLAGS="-O2"
 elif [ "$ARCH" = "x86_64" ]; then
-  SLKCFLAGS="-O2"
+  SLKCFLAGS="-O2 -fPIC"
   LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
 # Set error codes (used by createpkg)
@@ -83,11 +84,10 @@ if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
   wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
 fi
 
-
 # Untar
 cd "$PKG_WORK"
 tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
-PKG_SRC=`ls -l | awk '/^d/ { print $8 }'`
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
 cd "$PKG_SRC"
 
 # Configure
@@ -127,9 +127,9 @@ done
 mkdir -p "$PKG/install" || exit $ERROR_MKDIR
 cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
index 2200e8efd43fd2bbd09dbd7fe92702428198c4fb..7e112c2762332c06621018599673ccccce341237 100755 (executable)
 #!/bin/bash
 #
-#  entrance.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  entrance.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  entrance.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  entrance.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for entrance
-# by rhatto at riseup.net
+# slackbuild for entrance, by Silvio Rhatto
+# requires: eet evas ecore embryo edje imlib2 esmart 
+# tested: entrance-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building entrance are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="entrance"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="entrance"
+PKG_NAME="entrance"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/e17"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/e17/apps/entrance" ]; then
-  cd $SRC_DIR/e17/apps/entrance
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/apps/entrance || exit $ERROR_VCS
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-cd $SRC_DIR/e17/apps/entrance
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-CWD="`pwd`"
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://svn.enlightenment.org/svn/e/trunk/entrance`"
 
-cd $TMP/package-$PACKAGE
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://svn.enlightenment.org/svn/e/trunk/entrance $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Configure
+./autogen.sh || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO BUGS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
@@ -111,22 +148,13 @@ entrance:
 entrance:
 entrance:
 entrance:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index d7daf94a96e33885d42f49b0069f432940dd1cb3..3a287e91676be2a6efbded77e33b63d32a1a48dd 100644 (file)
@@ -1,7 +1,10 @@
-eet
-evas
-ecore
-embryo
-edje
-imlib2
-esmart
+# Dependency list to entrance
+#
+# dependency [condition] [version]]
+eet                            
+evas                           
+ecore                          
+embryo                         
+edje                           
+imlib2                         
+esmart                         
diff --git a/x11/misc/xbindkeys/slack-required b/x11/misc/xbindkeys/slack-required
new file mode 100644 (file)
index 0000000..f7fdc10
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to xbindkeys
+#
+# dependency [condition] [version]]
+guile                          
diff --git a/x11/misc/xbindkeys/xbindkeys.SlackBuild b/x11/misc/xbindkeys/xbindkeys.SlackBuild
new file mode 100644 (file)
index 0000000..80e12f6
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  xbindkeys.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  xbindkeys.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for xbindkeys, by Rudson R. Alves
+# requires: guile 
+# tested: xbindkeys-1.8.2
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="xbindkeys"
+PKG_NAME="xbindkeys"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.8.2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--with-x"}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://hocwp.free.fr/xbindkeys/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS BUGS COPYING ChangeLog INSTALL NEWS README TODO"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler----------------------------------------------------|
+xbindkeys: xbindkeys by Slack.Sarava
+xbindkeys:
+xbindkeys: xbindkeys is a program that allows you to launch shell commands
+xbindkeys: with your keyboard or your mouse under X Window. It links commands
+xbindkeys: to keys or mouse buttons, using a configuration file. It's
+xbindkeys: independant of the window manager and can capture all keyboard
+xbindkeys: keys (ex: Power, Wake...).
+xbindkeys:
+xbindkeys:
+xbindkeys:
+xbindkeys:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/x11/terms/aterm/aterm.SlackBuild b/x11/terms/aterm/aterm.SlackBuild
new file mode 100644 (file)
index 0000000..a5b4514
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  aterm.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  aterm.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for aterm, by Rudson R. Alves
+# requires:  
+# tested: aterm-1.0.1
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="aterm"
+PKG_NAME="aterm"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=1.0.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://downloads.sourceforge.net/aterm/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="ChangeLog ChangeLog.0.4 INSTALL README.configure"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+     |-----handy-ruler--------------------------------------------------------|
+aterm: aterm by Slack.Sarava
+aterm:
+aterm: aterm is designed to provide pleasing visual effects, while performing such
+aterm: a mundane function as terminal emulation under X. It is largely based on
+aterm: rxvt code. Several points set it apart from other similar applications:
+aterm: * fast pseudo-transparency, that does not consume any additional
+aterm:   resources.
+aterm: * optional off-focus fading of text
+aterm: * NeXT-ish scrollbar
+aterm: * integration with AfterStep window manager
+aterm:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/x11/terms/eterm/Eterm.SlackBuild b/x11/terms/eterm/Eterm.SlackBuild
new file mode 100755 (executable)
index 0000000..4b8c419
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  Eterm.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  Eterm.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for Eterm, by Alexandre Vieira de Souza
+# requires: libast imlib2 
+# tested: Eterm-0.9.5
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="Eterm"
+PKG_NAME="Eterm"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=0.9.5}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1avs}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.gz"
+URL="http://www.eterm.org/download/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! gunzip -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+     |-----handy-ruler--------------------------------------------------------|
+Eterm: Eterm by Slack.Sarava
+Eterm: Eterm (An X11 VT102 emulator with Enlightenment features)
+Eterm:
+Eterm: Eterm is a vt102 terminal emulator intended as a replacement for
+Eterm: xterm. It is designed with a Freedom of Choice philosophy, leaving as
+Eterm: much power, flexibility, and freedom as possible in the hands of the
+Eterm: user. It is designed to look good and work well, but takes a
+Eterm: feature-rich approach rather than one of minimalism. Current features
+Eterm: include color support, background images (all Imlib-supported formats),
+Eterm: theme support, and pseudo-transparency.
+Eterm: by avs
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/x11/terms/eterm/slack-required b/x11/terms/eterm/slack-required
new file mode 100644 (file)
index 0000000..d1d666a
--- /dev/null
@@ -0,0 +1,5 @@
+# Dependency list to Eterm
+#
+# dependency [condition] [version]]
+libast         >=              0.7
+imlib2         >=              1.4.1
diff --git a/x11/themes/gnome-themes/gnome-themes.SlackBuild b/x11/themes/gnome-themes/gnome-themes.SlackBuild
new file mode 100644 (file)
index 0000000..59cdbd2
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  gnome-themes.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gnome-themes.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gnome-themes, by Alexandre Vieira de Souza
+# requires: gtk-engines 
+# tested: gnome-themes-2.22.2
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gnome-themes"
+PKG_NAME="gnome-themes"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.22.2}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1avs}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="ftp://ftp.gnome.org/pub/gnome/sources/gnome-themes/2.22/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+            |-----handy-ruler-------------------------------------------------|
+gnome-themes: gnome-themes by Slack.Sarava
+gnome-themes:
+gnome-themes: This package provides several GTK/GNOME 2 themes, including: Crux, Grand 
+gnome-themes: Canyon, High Contrast, High Contrast Large Print, High Contrast Large
+gnome-themes: Print Inverse, Large Print, Low Contrast Large Print, Mist, Ocean Dream
+gnome-themes: Sandwish, Simple, Smokey Blue, Smokey and Traditional.
+gnome-themes:
+gnome-themes:
+gnome-themes:
+gnome-themes: by avs
+gnome-themes:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/x11/themes/gnome-themes/slack-required b/x11/themes/gnome-themes/slack-required
new file mode 100644 (file)
index 0000000..278519c
--- /dev/null
@@ -0,0 +1,4 @@
+# Dependency list to gnome-themes
+#
+# dependency [condition] [version]]
+gtk-engines            >=              2.14.2
diff --git a/x11/themes/gtk-engines/gtk-engines.SlackBuild b/x11/themes/gtk-engines/gtk-engines.SlackBuild
new file mode 100644 (file)
index 0000000..49438fc
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  gtk-engines.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  gtk-engines.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for gtk-engines, by Alexandre Vieira de Souza
+# requires:  
+# tested: gtk-engines-2.15.1
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="gtk-engines"
+PKG_NAME="gtk-engines"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.15.1}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1avs}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://ftp.gnome.org/pub/GNOME/sources/gtk-engines/2.15/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+           |-----handy-ruler--------------------------------------------------|
+gtk-engines: gtk-engines by Slack.Sarava
+gtk-engines:
+gtk-engines: This package provides four sample theme engines for GTK+:
+gtk-engines: Pixmap, Metal, Redmond95, Notif.
+gtk-engines:
+gtk-engines:
+gtk-engines:
+gtk-engines:
+gtk-engines:
+gtk-engines: by avs
+gtk-engines:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
diff --git a/x11/wm/afterstep/AfterStep.SlackBuild b/x11/wm/afterstep/AfterStep.SlackBuild
new file mode 100644 (file)
index 0000000..7f3f7dd
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  AfterStep.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  AfterStep.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for AfterStep, by Rudson R. Alves
+# requires:  
+# tested: AfterStep-2.2.8
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="AfterStep"
+PKG_NAME="AfterStep"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.2.8}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1srv}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="ftp://ftp.afterstep.org/stable/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="COPYRIGHT COPYRIGHT.OLD ChangeLog ChangeLog.pre2.0 INSTALL NEW NEW.1.x README README.HPUX README.RedHat README.SOLARIS TEAM UPGRADE"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+         |-----handy-ruler----------------------------------------------------|
+afterstep: afterstep by Slack.Sarava
+afterstep:
+afterstep: AfterStep is a window manager for the Unix X Window System. 
+afterstep: Originally based on the look and feel of the NeXTStep interface, it
+afterstep: provides endusers with a consistent, clean, and elegant desktop.
+afterstep: The goal of AfterStep development is to provide for flexibility of
+afterstep: desktopconfiguration, improving aestetics, and efficient use of
+afterstep: system resources.
+afterstep:
+afterstep:
+afterstep:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi
index ab6df565cba9f6917eb926b584f8003be9bc9ebf..a8f5af44cc4b877dc2237d8d0503cfd040b78bee 100755 (executable)
 #!/bin/bash
 #
-#  enlightenment.SlackBuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
+#  enlightenment.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
 #
-#  enlightenment.SlackBuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#  enlightenment.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
 #
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 #
-# slackbuild script for enlightenment
-# by rhatto at riseup.net
+# slackbuild for enlightenment, by Silvio Rhatto
+# requires: eet evas ecore embryo edje efreet imlib2 
+# tested: enlightenment-svn_version
 #
 
-if [ -s "slack-required" ]; then
-  echo Recomended and required packages for building enlightenment are:
-  cat slack-required | sed -e 's/^/\t/'
-  if [ "$INTERACT" != "no" ]; then
-    echo If you dont have those installed, press Ctrl-C. Otherwise, hit ENTER.
-    read crap
-#  else
-#    echo Sleeping 3 seconds...
-#    sleep 3
-  fi
-fi
-
-CWD="`pwd`"
-
+# Look for slackbuildrc
 if [ -f ~/.slackbuildrc ]; then
   source ~/.slackbuildrc
 elif [ -f /etc/slackbuildrc ]; then
   source /etc/slackbuildrc
 fi
 
-# default settings
-PACKAGE="enlightenment"
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="enlightenment"
+PKG_NAME="enlightenment"
 ARCH=${ARCH:=i486}
-VERSION="`date +%Y%m%d`"
+SRC_VERSION=${VERSION:=svn_version}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
 BUILD=${BUILD:=1rha}
-SRC_DIR=${SRC:=$CWD}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
 TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
 REPOS=${REPOS:=$TMP}
-
-if [ "$ARCH" == "x86_64" ]; then
-  export LDFLAGS="-L/lib64 -L/usr/lib64"
-  LIBDIR=/usr/lib64
-else
-  LIBDIR=/usr/lib
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:="--sysconfdir=/etc"}
+NUMJOBS=${NUMJOBS:=""}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
 fi
 
-# -------  error codes for createpkg  --------------
+# Set error codes (used by createpkg)
 ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
 ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
 ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
-ERROR_PATCH=40;     ERROR_VCS=41
-
-SRC_DIR="$SRC_DIR/e17"
-mkdir -p $SRC_DIR
-
-if [ -d "$SRC_DIR/e17/apps/e" ]; then
-  cd $SRC_DIR/e17/apps/e
-  cvs update || exit $ERROR_VCS
-else
-  cd $SRC_DIR
-  # echo "Please hit ENTER on passwd prompt..."
-  # cvs -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e login || exit $ERROR_VCS
-  cvs -z3 -d:pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17/apps/e || exit $ERROR_VCS
-fi
-
-TMP="$TMP/$PACKAGE"
-rm -rf $TMP
-mkdir -p $TMP
-cd $TMP
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
 
-cd $SRC_DIR/e17/apps/e
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
 
-make clean &> /dev/null
-./autogen.sh --prefix=/usr --sysconfdir=/etc --libdir=$LIBDIR || exit $ERROR_CONF
-make || exit $ERROR_MAKE
-make DESTDIR=$TMP/package-$PACKAGE install || exit $ERROR_INSTALL
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
 
-CWD="`pwd`"
+# Get svn source code
+cd "$SRC_DIR"
+SND_DIR="`basename http://svn.enlightenment.org/svn/e/trunk/e`"
 
-cd $TMP/package-$PACKAGE
+if [ "`find "$SRC_DIR/" -name .svn`" != "" ] && [ -d "$SRC_DIR/$SND_DIR" ]; then
+  cd $SND_DIR
+  svn update || exit $ERROR_VCS
+else
+  svn checkout http://svn.enlightenment.org/svn/e/trunk/e $SND_DIR || exit $ERROR_VCS
+  cd $SND_DIR
+fi
 
-find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+PKG_VERSION="`svn info | awk '/Last Changed Rev:/ { print $4 }'`_svn"
+
+# Copy svn source
+cd "$PKG_WORK"
+cp -a $SRC_DIR/* .
+PKG_SRC="$PWD/$SND_DIR"
+cd "$PKG_SRC"
+
+# Configure
+./autogen.sh || exit $ERROR_CONF
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="AUTHORS COPYING ChangeLog NEWS README TODO BUGS"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
 
-mkdir install
-cat << EOF > install/slack-desc
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
 # HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
+# The "handy ruler" below makes it easier to edit a package description. Line
 # up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
+# on the right side marks the last column you can put a character in. You must
 # make exactly 11 lines for the formatting to be correct.  It's also
 # customary to leave one space after the ':'.
 
-             |-----handy-ruler-----------------------------------------------------|
+             |-----handy-ruler------------------------------------------------|
 enlightenment: enlightenment
 enlightenment:
 enlightenment: enlightenment window manager, dev. release 17.
@@ -111,22 +148,13 @@ enlightenment:
 enlightenment:
 enlightenment:
 enlightenment:
-EOF
-
-# docs
-mkdir -p usr/doc/$PACKAGE-$VERSION
+EODESC
 
-DOCS="AUTHORS COPYING ChangeLog CHANGELOG INSTALL NEWS README TODO"
-
-for file in $DOCS; do
-  if [ -f "$CWD/$file" ]; then
-    cp $CWD/$file usr/doc/$PACKAGE-$VERSION/
-  fi
-done
-
-makepkg -c y -l y $REPOS/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz || exit $ERROR_MKPKG
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
 
+# Delete source and build directories if requested
 if [ "$CLEANUP" == "yes" ]; then
-  rm -rf $TMP
+  rm -rf "$PKG_WORK" "$PKG"
 fi
-
index bdb9979d636b31ce33059d66a8e9be3bab5a167f..ce89c63f5ff42d721b8854b243e1195c6ff79e5f 100644 (file)
@@ -1,7 +1,10 @@
-eet
-evas
-ecore
-embryo
-edje
-efreet
-imlib2
+# Dependency list to enlightenment
+#
+# dependency [condition] [version]]
+eet                            
+evas                           
+ecore                          
+embryo                         
+edje                           
+efreet                         
+imlib2                         
diff --git a/x11/wm/metacity/metacity.SlackBuild b/x11/wm/metacity/metacity.SlackBuild
new file mode 100644 (file)
index 0000000..dc83ed1
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+#  metacity.SlackBuild is free software; you can redistribute
+#  it and/or modify it under the terms of the GNU General Public License as
+#  published by the Free Software Foundation; either version 2 of the License,
+#  or any later version.
+#
+#  metacity.SlackBuild is distributed in the hope that it will
+#  be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
+#  Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along
+#  with this program; if not, write to the Free Software Foundation, Inc.,
+#  59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# slackbuild for metacity, by Alexandre Vieira de Souza
+# requires:  
+# tested: metacity-2.22.0
+#
+
+# Look for slackbuildrc
+if [ -f ~/.slackbuildrc ]; then
+  source ~/.slackbuildrc
+elif [ -f /etc/slackbuildrc ]; then
+  source /etc/slackbuildrc
+fi
+
+# Set variables
+CWD="$(pwd)"
+SRC_NAME="metacity"
+PKG_NAME="metacity"
+ARCH=${ARCH:=i486}
+SRC_VERSION=${VERSION:=2.22.0}
+PKG_VERSION="$(echo "$SRC_VERSION" | tr '[[:blank:]-]' '_')"
+BUILD=${BUILD:=1avs}
+SRC_DIR=${SRC_DIR:=$CWD}/$PKG_NAME
+TMP=${TMP:=/tmp}
+PKG=${PKG:=$TMP/package-$PKG_NAME}
+REPOS=${REPOS:=$TMP}
+PREFIX=${PREFIX:=/usr}
+PKG_WORK="$TMP/$SRC_NAME"
+CONF_OPTIONS=${CONF_OPTIONS:=""}
+NUMJOBS=${NUMJOBS:="-j4"}
+
+# Set system libraries' path and optmization flags based on $ARCH
+LIBDIR="$PREFIX/lib"
+
+if [ "$ARCH" = "i386" ]; then
+  SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+elif [ "$ARCH" = "i486" ]; then
+  SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i686" ]; then
+  SLKCFLAGS="-O2 -march=i686"
+elif [ "$ARCH" = "s390" ]; then
+  SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+  SLKCFLAGS="-O2 -fPIC"
+  LIBDIR="$PREFIX/lib64"
+  LDFLAGS="-L/lib64 -L/usr/lib64"
+fi
+
+# Set error codes (used by createpkg)
+ERROR_WGET=31;      ERROR_MAKE=32;      ERROR_INSTALL=33
+ERROR_MD5=34;       ERROR_CONF=35;      ERROR_HELP=36
+ERROR_TAR=37;       ERROR_MKPKG=38;     ERROR_GPG=39
+ERROR_PATCH=40;     ERROR_VCS=41;       ERROR_MKDIR=42
+
+# Clean up any leftovers of previous builds
+rm -rf "$PKG_WORK" 2> /dev/null
+rm -rf "$PKG" 2> /dev/null
+
+# Create directories if necessary
+mkdir -p "$SRC_DIR" || exit $ERROR_MKDIR
+mkdir -p "$PKG" || exit $ERROR_MKDIR
+mkdir -p "$REPOS" || exit $ERROR_MKDIR
+mkdir -p "$PKG_WORK" || exit $ERROR_MKDIR
+
+# Dowload source if necessary
+SRC="$SRC_NAME-$VERSION.tar.bz2"
+URL="http://ftp.gnome.org/pub/gnome/sources/metacity/2.22/$SRC"
+
+if [ ! -s "$SRC_DIR/$SRC" ] || ! bunzip2 -t "$SRC_DIR/$SRC" 2> /dev/null; then
+  wget "$URL" -O "$SRC_DIR/$SRC" || exit $ERROR_WGET
+fi
+
+# Untar
+cd "$PKG_WORK"
+tar --no-same-owner --no-same-permissions -xvf "$SRC_DIR/$SRC" || exit $ERROR_TAR
+PKG_SRC="$PWD/`ls -l | awk '/^d/ { print $NF }'`"
+cd "$PKG_SRC"
+
+# Configure
+CFLAGS="$SLKCFLAGS" \
+  CXXFLAGS="$SLKCFLAGS" \
+  ./configure \
+  --prefix="$PREFIX" --libdir="$LIBDIR" $CONF_OPTIONS || exit $ERROR_CONF
+
+# Compile
+make $NUMJOBS || exit $ERROR_MAKE
+
+# Install
+make install DESTDIR="$PKG" || exit $ERROR_INSTALL
+
+# Strip binaries
+( cd "$PKG"
+  find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
+    xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Install documentation
+DOCS="NEWS TODO README AUTHORS INSTALL ChangeLog MAINTAINERS COPYING LICENSE SIGNATURE readme.*"
+mkdir -p "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION" || exit $ERROR_MKDIR
+for doc in $DOCS; do
+  if [ -f "$doc" ]; then
+    cp -a $doc "$PKG/usr/doc/$PKG_NAME-$PKG_VERSION"
+  fi
+done
+
+# Add package description (slack-desc)
+mkdir -p "$PKG/install" || exit $ERROR_MKDIR
+cat << EODESC > "$PKG/install/slack-desc"
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler-----------------------------------------------------|
+metacity: metacity by Slack.Sarava
+metacity:
+metacity: Metacity is a low-frills Window Manager, and is the default
+metacity: Window Manager of the GNOME 2 desktop. It provides most of
+metacity: the features expected of a Window Manager, but leaves
+metacity: everything it can up to other components of the GNOME
+metacity: environment.
+metacity:
+metacity:
+metacity: by avs
+metacity:
+EODESC
+
+# Build the package
+cd "$PKG"
+makepkg -l y -c n "$REPOS/$PKG_NAME-$PKG_VERSION-$ARCH-$BUILD.tgz" || exit $ERROR_MKPKG
+
+# Delete source and build directories if requested
+if [ "$CLEANUP" == "yes" ]; then
+  rm -rf "$PKG_WORK" "$PKG"
+fi