summaryrefslogtreecommitdiff
path: root/community-testing
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-07-15 23:12:20 +0000
committerroot <root@rshg047.dnsready.net>2011-07-15 23:12:20 +0000
commit76c26b027d797f3671bf0b6c6618eda2496cf88d (patch)
treec386be56a0a3bc7b668a674e9cec6405a4d2fb2f /community-testing
parent29657877f6a02dbba1bd58b417b4ccd211939690 (diff)
Fri Jul 15 23:12:20 UTC 2011
Diffstat (limited to 'community-testing')
-rw-r--r--community-testing/freevo/PKGBUILD44
-rw-r--r--community-testing/freevo/freevo.desktop11
-rw-r--r--community-testing/freevo/freevo.install25
-rw-r--r--community-testing/freevo/imdb-html5lib.patch301
-rw-r--r--community-testing/mypaint/PKGBUILD32
-rw-r--r--community-testing/mypaint/mypaint.install13
-rw-r--r--community-testing/python-scipy/PKGBUILD83
-rw-r--r--community-testing/python-scipy/python-scipy.changelog49
-rw-r--r--community-testing/systemd/PKGBUILD69
-rw-r--r--community-testing/systemd/os-release5
-rw-r--r--community-testing/systemd/systemd.install31
-rw-r--r--community-testing/vhba-module/PKGBUILD28
-rw-r--r--community-testing/vhba-module/vhba-kernel2.6.37.patch56
-rw-r--r--community-testing/vhba-module/vhba-module.install16
14 files changed, 763 insertions, 0 deletions
diff --git a/community-testing/freevo/PKGBUILD b/community-testing/freevo/PKGBUILD
new file mode 100644
index 000000000..c07ec2f34
--- /dev/null
+++ b/community-testing/freevo/PKGBUILD
@@ -0,0 +1,44 @@
+# $Id: PKGBUILD 51736 2011-07-13 19:46:02Z rvanharen $
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+
+pkgname=freevo
+pkgver=1.9.0
+pkgrel=6
+pkgdesc="Freevo is an open-source home theatre PC platform based on Linux and a number of open-source audio/video tools."
+url="http://freevo.sourceforge.net/"
+license=('GPL2')
+arch=('i686' 'x86_64')
+depends=('lame' 'flac' 'faad2' 'cdparanoia' 'vorbis-tools' \
+ 'fbset' 'smpeg' 'pil' 'python-pysqlite-legacy' \
+ 'pyxml' 'lsdvd' 'twisted' 'python2-numpy' 'python-pygame'\
+ 'kaa-metadata' 'kaa-imlib2' 'python-beautifulsoup' 'python-html5lib')
+optdepends=('mplayer: most features' 'xine-lib: can be used instead of mplayer' 'tvtime: watching tv' 'xmltv: parsing online tv guides')
+install=freevo.install
+options=('docs')
+source=(http://downloads.sourceforge.net/freevo/$pkgname-$pkgver.tar.gz \
+ freevo.desktop
+ imdb-html5lib.patch)
+sha1sums=('0533a2d4ff8a7b09b3b233fdf303ff56bda22d16'
+ '5f6e76dc58496f072aca29257c24be5ffa9c6c7d'
+ '57e1099527603500c594fbffa2cb7233b636eed1')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+
+ # patch from http://sourceforge.net/tracker/index.php?func=detail&aid=2924872&group_id=46652&atid=446895
+ patch -p0 < $srcdir/imdb-html5lib.patch
+ python2 setup.py install --prefix=$pkgdir/usr
+
+ install -Dm644 local_conf.py.example $pkgdir/usr/share/doc/freevo/local_conf.py.example
+
+ # install .desktop file and icon
+ install -Dm644 $srcdir/$pkgname-$pkgver/share/icons/misc/freevo_app.png \
+ $pkgdir/usr/share/pixmaps/freevo.png
+ install -Dm644 $srcdir/freevo.desktop \
+ $pkgdir/usr/share/applications/freevo.desktop
+
+ # fix executable for python 2.7
+ sed -i "s|search = ('python', 'python2')|search = ('python2', 'python2.7')|" $pkgdir/usr/bin/freevo
+
+ }
+
diff --git a/community-testing/freevo/freevo.desktop b/community-testing/freevo/freevo.desktop
new file mode 100644
index 000000000..1b57043be
--- /dev/null
+++ b/community-testing/freevo/freevo.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Name=Freevo
+GenericName=Freevo
+Comment=Home theatre
+Exec=freevo
+Terminal=false
+Type=Application
+Icon=/usr/share/pixmaps/freevo.png
+Categories=AudioVideo;
+
diff --git a/community-testing/freevo/freevo.install b/community-testing/freevo/freevo.install
new file mode 100644
index 000000000..06734569d
--- /dev/null
+++ b/community-testing/freevo/freevo.install
@@ -0,0 +1,25 @@
+post_install() {
+ if [ ! -d /etc/freevo ]; then
+ mkdir /etc/freevo
+ fi
+
+ if [ ! -f /etc/freevo/local_conf.py ]; then
+ cp /usr/share/doc/freevo/local_conf.py.example /etc/freevo/local_conf.py
+ fi
+
+cat << _EOF
+
+==> freevo installation notes:
+---------------------------------------
+ Run 'freevo setup --help' and follow the instructions. Then edit
+ /etc/freevo/local_conf.py to suit your needs. This file can be
+ installed on a per-user basis in ~/.freevo and will take precedence
+ over the one in /etc/freevo/.
+
+_EOF
+
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/community-testing/freevo/imdb-html5lib.patch b/community-testing/freevo/imdb-html5lib.patch
new file mode 100644
index 000000000..6f454246e
--- /dev/null
+++ b/community-testing/freevo/imdb-html5lib.patch
@@ -0,0 +1,301 @@
+Index: src/helpers/imdb.py
+===================================================================
+--- src/helpers/imdb.py (revision 11608)
++++ src/helpers/imdb.py (working copy)
+@@ -53,19 +53,19 @@
+ parser = OptionParser(version='%prog 1.0', conflict_handler='resolve', usage="""
+ Search IMDB for a movie or a TV show
+
+-freevo imdb [options] <search> [<output> <video file> [<video file>]]
++freevo imdb [options] | [<result> <fxd file> <video file> [<video file>]]
+
+-Generate <output>.fxd for the movie. Files is a list of files that belongs to
+-this movie. Use [dvd|vcd] to add the whole disc or use [dvd|vcd][title] to add
+-a special DVD or VCD title to the list of files""")
++Generate a fxd for the movie. Files is a list of files that belongs to this
++movie. Use [dvd|vcd] to add the whole disc or use [dvd|vcd][title] to add a
++special DVD or VCD title to the list of files""")
+ parser.add_option('-v', '--verbose', action='count', default=0,
+ help='set the level of verbosity [default:%default]')
+ parser.add_option('-s', '--search', action='store_true', dest='search', default=False,
+ help='search imdb for string [default:%default]')
+ parser.add_option('-g', '--guess', action='store_true', dest='guess', default=False,
+ help='search imdb for possible filename match [default:%default]')
+- parser.add_option('--tv', action='store_true', dest='tv', default=False,
+- help='specify the search is a tv programme [default:%default]')
++ parser.add_option('--tv', action='store', dest='tv', default=None,
++ help='specify the id of a tv programme for a eipsode search [default:%default]')
+ parser.add_option('--season', dest='season', default=None,
+ help='specify the season in the search [default:%default]')
+ parser.add_option('--episode', dest='episode', default=None,
+@@ -116,7 +116,9 @@
+ sys.exit(u'--search requires <search pattern>')
+ elif opts.guess and len(args) < 1:
+ sys.exit(u'--guess requires <guess pattern>')
+- tv_marker = (opts.tv or opts.season or opts.episode) and '"' or ''
++ #elif opts.tv and len(args) < 1:
++ # sys.exit(u'--tv requires <imdb id>')
++ tv_marker = (opts.season or opts.episode) and '"' or ''
+
+ if opts.rom_drive is not None:
+ driveset = True
+@@ -176,6 +178,23 @@
+ print '%s' % title.encode(opts.encoding)
+ sys.exit(0)
+
++ if opts.tv:
++ print "Searching IMDB for '%s' season:%s episode:%s..." % (opts.tv, opts.season, opts.episode)
++ results = fxd.getIMDBid(opts.tv, opts.season, opts.episode)
++ if len(results) == 0:
++ print 'No results'
++ #for result in results:
++ # if result[3]:
++ # title = 'http://www.imdb.com/title/tt%s/ %s %s (%s) %s' % (result[:1] + result[:4])
++ # elif result[2]:
++ # title = 'http://www.imdb.com/title/tt%s/ %s %s (%s)' % (result[:1] + result[:3])
++ # else:
++ # title = 'http://www.imdb.com/title/tt%s/ %s %s' % (result[:1] + result[:2])
++ # title = results
++ title = 'http://www.imdb.com/title/tt%s/ %s' % (results, results)
++ print '%s' % title.encode(opts.encoding)
++ sys.exit(0)
++
+ # normal usage
+ if len(args) < 3:
+ sys.exit(u'requires <imdb id> <fxd filename> <video file>|<cd id>')
+Index: src/util/fxdimdb.py
+===================================================================
+--- src/util/fxdimdb.py (revision 11608)
++++ src/util/fxdimdb.py (working copy)
+@@ -48,8 +48,15 @@
+ import codecs
+ import os
+ import traceback
+-from BeautifulSoup import BeautifulSoup, NavigableString
+-import HTMLParser
++from pprint import pprint, pformat
++try:
++ from html5lib import HTMLParser, treebuilders
++ from html5lib.treebuilders.soup import NavigableString
++ using_html5lib = True
++except ImportError:
++ import HTMLParser
++ from BeautifulSoup import BeautifulSoup, BeautifulStoneSoup, NavigableString
++ using_html5lib = False
+
+ import config
+ import util
+@@ -232,6 +239,7 @@
+ response.close()
+
+ _debug_('id_list has %s items' % (len(self.id_list)))
++ #print 'id_list=%s' % (pformat(self.id_list))
+ if len(self.id_list) > 20:
+ # too many results, check if there are stupid results in the list
+ words = []
+@@ -311,7 +319,11 @@
+ dvd = 0
+
+ try:
+- soup = BeautifulSoup(results.read(), convertEntities='xml')
++ if using_html5lib:
++ parser = HTMLParser(tree=treebuilders.getTreeBuilder('beautifulsoup'))
++ soup = parser.parse(results.read())
++ else:
++ soup = BeautifulSoup(results.read(), convertEntities=BeautifulStoneSoup.HTML_ENTITIES)
+ except UnicodeDecodeError:
+ print "Unicode error: check that /usr/lib/python2.x/site.py has the correct default encoding"
+ traceback.print_exc()
+@@ -336,68 +348,61 @@
+ self.info['year'] = y[1:-1]
+ except (AttributeError, TypeError, ValueError):
+ self.info['title'] = self.title
+- self.info['year'] = title.find('a').string.strip()
++ try:
++ self.info['year'] = title.find('a').contents[0].strip()
++ except AttributeError:
++ self.info['year'] = ''
+
+ # Find the <div> with class info, each <h5> under this provides info
++ wanted_keys = ('release_date', 'genre', 'tagline', 'plot', 'plot_keywords',
++ 'also_known_as', 'mpaa', 'runtime', 'country', 'language',
++ 'color', 'aspect_ratio', 'sound_mix', 'certification',
++ )
++
+ for info in main.findAll('div', {'class' : 'info'}):
+ infoh5 = info.find('h5')
+ if not infoh5:
+ continue
+ try:
+- infostr = infoh5.next
+- key = infostr.string.strip(':').lower().replace(' ', '_')
+- nextsibling = nextsibling = infoh5.nextSibling.strip()
+- sections = info.findAll('a', { 'href' : re.compile('/Sections') })
+- lists = info.findAll('a', { 'href' : re.compile('/List') })
+- if len(nextsibling) > 0:
+- self.info[key] = nextsibling
++ infostr = infoh5.find(text=True)
++ key = infostr.strip().strip(':').lower().replace(' ', '_')
++ if key not in wanted_keys:
++ continue
++ content = info.find('div', {'class' : 'info-content'})
++ infocontent = content.find(text=True)
++ if infocontent:
++ infocontent = infocontent.strip()
++ sections = info.findAll('a', { 'href' : re.compile('^/Sections') })
++ lists = info.findAll('a', { 'href' : re.compile('^/List') })
++ keywords = info.findAll('a', { 'href' : re.compile('^/keyword') })
++ #print 'key=%s content=%r keywords=%r sections=%r lists=%r' % (key, infocontent, keywords, sections, lists)
++ if len(infocontent) > 0:
++ self.info[key] = infocontent
+ elif len(sections) > 0:
+ items = []
+ for item in sections:
+- items.append(item.string)
++ items.append(item.contents[0].strip())
+ self.info[key] = ' / '.join(items)
+ elif len(lists) > 0:
+ items = []
+ for item in lists:
+- items.append(item.string)
++ items.append(item.contents[0].strip())
+ self.info[key] = ' / '.join(items)
++ elif len(keywords) > 0:
++ items = []
++ for item in keywords:
++ items.append(item.contents[0].strip())
++ self.info[key] = ' / '.join(items)
+ except:
+ pass
+
+- # Find Plot Outline/Summary:
+- # Normally the tag is named "Plot Outline:" - however sometimes
+- # the tag is "Plot Summary:" or just "Plot:". Search for all strings.
+- imdb_result = soup.find(text='Plot Outline:')
+- if not imdb_result:
+- imdb_result = soup.find(text='Plot Summary:')
+- if not imdb_result:
+- imdb_result = soup.find(text='Plot:')
+- if imdb_result:
+- self.info['plot'] = imdb_result.next.strip()
+- else:
+- self.info['plot'] = u''
+-
+- # Find tagline - sometimes the tagline is missing.
+- # Use an empty string if no tagline could be found.
+- imdb_result = soup.find(text='Tagline:')
+- if imdb_result:
+- self.info['tagline'] = imdb_result.next.strip()
+- else:
+- self.info['tagline'] = u''
+-
+ rating = soup.find(text='User Rating:').findNext(text=re.compile('/10'))
+- if rating:
++ try:
+ votes = rating.findNext('a')
+- self.info['rating'] = rating.strip() + ' (' + votes.string.strip() + ')'
+- else:
++ self.info['rating'] = rating.strip() + ' (' + votes.contents[0].strip() + ')'
++ except AttributeError:
+ self.info['rating'] = ''
+
+- runtime = soup.find(text='Runtime:')
+- if runtime and runtime.next:
+- self.info['runtime'] = runtime.next.strip()
+- else:
+- self.info['runtime'] = ''
+-
+ # Replace special characters in the items
+ for (k,v) in self.info.items():
+ self.info[k] = self.convert_entities(v)
+@@ -794,10 +799,14 @@
+ _debug_('parsesearchdata(results=%r, url=%r, id=%r)' % (results, url, id))
+
+ self.id_list = []
+- m = re.compile('/title/tt([0-9]*)/')
+- y = re.compile('\(([^)]+)\)')
++ m = re.compile('/title/tt(\d+)/')
++ y = re.compile('\((\d+)\) *(.*)')
+ try:
+- soup = BeautifulSoup(results.read(), convertEntities='xml')
++ if using_html5lib:
++ parser = HTMLParser(tree=treebuilders.getTreeBuilder('beautifulsoup'))
++ soup = parser.parse(results.read())
++ else:
++ soup = BeautifulSoup(results.read(), convertEntities=BeautifulStoneSoup.HTML_ENTITIES)
+ except HTMLParser.HTMLParseError, why:
+ traceback.print_exc()
+ _debug_('Cannot parse %r: %s' % (url, why), DWARNING)
+@@ -806,28 +815,37 @@
+ traceback.print_exc()
+ _debug_('Cannot parse %r: %s' % (url, why), DWARNING)
+ return self.id_list
+- items = soup.findAll('a', href=re.compile('/title/tt'))
++ items = soup.findAll('a', href=re.compile('^/title/tt'))
+ ids = set([])
+ for item in items:
+- idm = m.search(item['href'])
++ idm = item.attrMap['href']
+ if not idm:
+ continue
+- if isinstance(item.next.next, NavigableString):
+- yrm = y.findall(item.next.next)
+-
+- id = idm.group(1)
+- name = item.string
+- # skip empty names
+- if not name:
++ m_match = m.match(idm)
++ if not m_match:
++ # skip invalid titles
+ continue
+- # skip duplicate ids
++ id = m_match.group(1)
+ if id in ids:
++ # skip duplicate ids
+ continue
++ name = item.contents[0]
++ if not isinstance(name, NavigableString):
++ # skip empty names
++ continue
++ if isinstance(item.next.next, NavigableString):
++ yrm = item.next.next.strip()
+ ids.add(id)
+- year = len(yrm) > 0 and yrm[0] or '0000'
+- type = len(yrm) > 1 and yrm[1] or ''
++ y_match = y.match(yrm)
++ if y_match:
++ year = y_match.group(1)
++ type = y_match.group(2)
++ else:
++ year = '0000'
++ type = ''
+ #print 'url', item['href']
+ #print item.parent.findChildren(text=re.compile('[^ ]'))
++ #print 'id=%s name=%s year=%s type=%s' % (id, name, year, type)
+ self.id_list += [ ( id, name, year, type ) ]
+
+ for item in self.id_list:
+@@ -840,7 +858,11 @@
+ Returns a new id for getIMDBid with TV series episode data
+ """
+ try:
+- soup = BeautifulSoup(results.read(), convertEntities='xml')
++ if using_html5lib:
++ parser = HTMLParser(tree=treebuilders.getTreeBuilder('beautifulsoup'))
++ soup = parser.parse(results.read())
++ else:
++ soup = BeautifulSoup(results.read(), convertEntities=BeautifulStoneSoup.HTML_ENTITIES)
+ except UnicodeDecodeError:
+ print "Unicode error; check that /usr/lib/python2.x/site.py has the correct default encoding"
+ pass
+@@ -968,9 +990,6 @@
+ self.image = vfs.basename(self.image)
+
+ _debug_('Downloaded cover image from %s' % (self.image_url))
+- print "Freevo knows nothing about the copyright of this image, please"
+- print "go to %s to check for more information about private." % self.image_url
+- print "use of this image"
+
+
+ def str2XML(self, line):
diff --git a/community-testing/mypaint/PKGBUILD b/community-testing/mypaint/PKGBUILD
new file mode 100644
index 000000000..cc4d4f85b
--- /dev/null
+++ b/community-testing/mypaint/PKGBUILD
@@ -0,0 +1,32 @@
+# $Id: PKGBUILD 51725 2011-07-13 14:26:16Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jon Nordby <jononor@gmail.com>
+
+pkgname=mypaint
+pkgver=0.9.1
+pkgrel=3
+pkgdesc="A fast and easy painting application for digital painters, with brush dynamics"
+arch=('i686' 'x86_64')
+url="http://mypaint.intilinux.com/"
+license=('GPL' 'LGPL')
+depends=('pygtk' 'python2-numpy' 'protobuf-python' 'python2')
+makedepends=('scons>=0.97' 'swig>=1.3.39')
+install=mypaint.install
+source=(http://download.gna.org/$pkgname/$pkgname-$pkgver.tar.bz2)
+md5sums=('6249a16359a438d6dc658f5765b35515')
+
+build() {
+ cd $srcdir/$pkgname-$pkgver
+ # python2 fix
+ sed -i 's_python generate.py_python2 generate.py_' brushlib/SConscript
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' $file
+ sed -i 's_^#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
+ done
+ scons
+}
+
+package() {
+ cd $srcdir/$pkgname-$pkgver
+ scons prefix="$pkgdir"/usr install
+}
diff --git a/community-testing/mypaint/mypaint.install b/community-testing/mypaint/mypaint.install
new file mode 100644
index 000000000..5f0358791
--- /dev/null
+++ b/community-testing/mypaint/mypaint.install
@@ -0,0 +1,13 @@
+post_install() {
+ [ -x `which update-mime-database` ] && update-mime-database usr/share/mime
+ [ -x `which gtk-update-icon-cache` ] && gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ /bin/true
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+post_remove() {
+ post_install $1
+}
diff --git a/community-testing/python-scipy/PKGBUILD b/community-testing/python-scipy/PKGBUILD
new file mode 100644
index 000000000..80a97ca82
--- /dev/null
+++ b/community-testing/python-scipy/PKGBUILD
@@ -0,0 +1,83 @@
+# $Id: PKGBUILD 51728 2011-07-13 14:46:12Z tdziedzic $
+# Maintainer: Angel 'angvp' Velasquez <angvp[at]archlinux.com.ve>
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Douglas Soares de Andrade <dsa@aur.archlinux.org>
+# Contributor: Bodor Dávid Gábor <david.gabor.bodor@gmail.com>
+# Contributor: Andrzej Giniewicz <gginiu@gmail.com>
+
+pkgbase=python-scipy
+_app=scipy
+pkgname=('python-scipy' 'python2-scipy')
+pkgver=0.9.0
+_theapp=$_app-$pkgver
+pkgrel=2
+pkgdesc="SciPy is open-source software for mathematics, science, and engineering."
+arch=('i686' 'x86_64')
+url="http://www.scipy.org/"
+license=('BSD')
+depends=('python-numpy')
+makedepends=('gcc-fortran' 'python2-numpy')
+changelog=$pkgbase.changelog
+source=("http://downloads.sourceforge.net/$_app/$_theapp.tar.gz")
+md5sums=('ebfef6e8e82d15c875a4ee6a46d4e1cd')
+
+build() {
+ unset LDFLAGS
+ unset FFLAGS
+
+ # Compatibility symlinks for current stable numpy
+ # - no need to patch numpy just for this
+ # see http://projects.scipy.org/numpy/ticket/1749
+ ln -sf /usr/lib/liblapack.so liblapack.cpython-32mu.so
+ ln -sf /usr/lib/libblas.so libblas.cpython-32mu.so
+ export LAPACK="$srcdir"
+ export BLAS="$srcdir"
+
+ # Changing the arithmetic parameter (Thanks to Fabrizio Castellano)
+ sed -i "s/\#define\ UNK\ 1/\#define\ IBMPC\ 1/" \
+ $_theapp/$_app/special/cephes/mconf.h
+
+ # 2 builds
+ cp -r $_theapp $_theapp-py2
+
+ # build for python3
+ cd $_theapp
+ python setup.py config_fc --fcompiler=gnu95 build
+
+ # build for python2
+ cd ../$_theapp-py2
+
+ for file in $(find . -name '*.py' -print); do
+ sed -i 's_^#!.*/usr/bin/python_#!/usr/bin/python2_' $file
+ sed -i 's_^#!.*/usr/bin/env.*python_#!/usr/bin/env python2_' $file
+ done
+
+ python2 setup.py config_fc --fcompiler=gnu95 build
+}
+
+package_python-scipy() {
+ provides=('python3-scipy' 'scipy')
+
+ cd "$srcdir/$_theapp"
+
+ python setup.py config_fc --fcompiler=gnu95 install \
+ --prefix=/usr --root="$pkgdir" --optimize=1
+
+ install -Dm644 LICENSE.txt \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+package_python2-scipy() {
+ depends=('python2-numpy')
+ conflicts=('python-scipy<0.9.0')
+
+ cd "$srcdir/$_theapp-py2"
+
+ python2 setup.py config_fc --fcompiler=gnu95 install \
+ --prefix=/usr --root="$pkgdir" --optimize=1
+
+ install -Dm644 LICENSE.txt \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/python-scipy/python-scipy.changelog b/community-testing/python-scipy/python-scipy.changelog
new file mode 100644
index 000000000..76a3e7f35
--- /dev/null
+++ b/community-testing/python-scipy/python-scipy.changelog
@@ -0,0 +1,49 @@
+2011-07-13 Thomas Dziedzic < gostrc at gmail >
+ * 0.9.0-2:
+ rebuild for python3-numpy to python-numpy rename
+ also, minor PKGBUILD cleanup
+
+2011-04-24 Ray Rashif <schiv@archlinux.org>
+
+ * 0.9.0-1:
+ Couldn't release previous update due to lapack/blas issues
+ See http://mailman.archlinux.org/pipermail/arch-general/2011-April/019677.html
+ Hopefully symlink trick from AUR/python3-scipy fixes that
+
+2011-04-05 Ray Rashif <schiv@archlinux.org>
+
+ * 0.9.0-1:
+ Upstream release
+ SciPy now supports Python 3
+ Package split for python(3), python2
+ PKGBUILD cleanup
+
+2010-07-29 Angel 'angvp' Velasquez <angvp@archlinux.org>
+ * Updated to: 0.8.0
+2009-08-05 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated to: 0.7.1
+
+2009-02-11 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updating for i686: 0.7
+
+2008-12-12 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updating for i686: 0.7.0 beta 1
+
+2008-11-07 Douglas Soares de Andrade <douglas@archlinux.org>
+
+ * Updated to svn as scipy 0.6 wont work with python 2.6
+
+2008-02-21 Eric Belanger <eric@archlinux.org>
+
+ * Added x86_64 arch tag
+ * Added license
+
+2007-10-29 Douglas Soares de Andrade <dsa@aur.archlinux.org>
+
+ * Changed email
+ * Fixed some problems in the PKGBUILD
+ * Updated to new release - 0.6.0
+
diff --git a/community-testing/systemd/PKGBUILD b/community-testing/systemd/PKGBUILD
new file mode 100644
index 000000000..f344d4d74
--- /dev/null
+++ b/community-testing/systemd/PKGBUILD
@@ -0,0 +1,69 @@
+# $Id: PKGBUILD 51746 2011-07-13 22:59:52Z dreisner $
+# Maintainer: Dave Reisner <dreisner@archlinux.org>
+
+pkgname=systemd
+pkgver=30
+pkgrel=1
+pkgdesc="Session and Startup manager"
+arch=('i686' 'x86_64')
+url="http://www.freedesktop.org/wiki/Software/systemd"
+license=('GPL2')
+depends=('dbus-core' 'sysvinit' 'util-linux>=2.19' 'udev>=172')
+makedepends=('docbook-xsl' 'libxslt' 'cryptsetup' 'gtk2' 'intltool' 'libnotify')
+optdepends=('cryptsetup: required for encrypted block devices'
+ 'dbus-python: systemd-analyze'
+ 'gtk2: systemadm'
+ 'initscripts: legacy support for hostname and vconsole setup'
+ 'initscripts-systemd: native boot and initialization scripts'
+ 'libnotify: systemadm'
+ 'python2-cairo: systemd-analyze'
+ 'systemd-arch-units: collection of native unit files for Arch daemon/init scripts')
+groups=('systemd')
+options=('!libtool')
+backup=(etc/systemd/system.conf
+ etc/tmpfiles.d/console.conf
+ usr/lib/tmpfiles.d/legacy.conf
+ usr/lib/tmpfiles.d/systemd.conf
+ usr/lib/tmpfiles.d/x11.conf)
+install=systemd.install
+source=("http://www.freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.bz2"
+ "os-release")
+md5sums=('dafd6d2471e2bf80d35525df9801a40f'
+ '752636def0db3c03f121f8b4f44a63cd')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./configure --prefix=/usr \
+ --with-rootdir= \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --disable-audit \
+ --disable-tcpwrap
+
+ make
+
+ # fix .so links in manpages
+ sed -i 's|\.so halt\.8|.so systemd.halt.8|' man/{halt,poweroff}.8
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 "$srcdir/os-release" "$pkgdir/etc/os-release"
+ printf "d /run/console 755 root root\n" > "$pkgdir/etc/tmpfiles.d/console.conf"
+
+ # fix systemd-analyze for python2
+ sed -i '1s/python$/python2/' "$pkgdir/usr/bin/systemd-analyze"
+
+ # rename man pages to avoid conflicts with sysvinit
+ cd "$pkgdir/usr/share/man/man8"
+ for manpage in telinit halt reboot poweroff runlevel shutdown; do
+ mv {,systemd.}"$manpage.8"
+ done
+
+}
+
diff --git a/community-testing/systemd/os-release b/community-testing/systemd/os-release
new file mode 100644
index 000000000..5e24a6031
--- /dev/null
+++ b/community-testing/systemd/os-release
@@ -0,0 +1,5 @@
+NAME="Arch Linux"
+ID=arch
+PRETTY_NAME="Arch Linux"
+ANSI_COLOR="1;36"
+
diff --git a/community-testing/systemd/systemd.install b/community-testing/systemd/systemd.install
new file mode 100644
index 000000000..b4228255d
--- /dev/null
+++ b/community-testing/systemd/systemd.install
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+checkgroups() {
+ getent group lock >/dev/null || groupadd -g 54 lock
+}
+
+post_install() {
+ checkgroups
+
+ [ -f etc/machine-id ] || systemd-machine-id-setup
+
+ echo "systemd has been installed to /bin/systemd. Please ensure you append"
+ echo "init=/bin/systemd to your kernel command line in your bootloader."
+}
+
+post_upgrade() {
+ checkgroups
+
+ [ -f etc/machine-id ] || systemd-machine-id-setup
+ systemctl daemon-reexec >/dev/null || :
+}
+
+pre_remove() {
+ rm -f /etc/systemd/system/default.target
+}
+
+post_remove() {
+ getent group lock >/dev/null && groupdel lock
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community-testing/vhba-module/PKGBUILD b/community-testing/vhba-module/PKGBUILD
new file mode 100644
index 000000000..137897a28
--- /dev/null
+++ b/community-testing/vhba-module/PKGBUILD
@@ -0,0 +1,28 @@
+# $Id: PKGBUILD 51733 2011-07-13 18:23:43Z schiv $
+# Maintainer: Mateusz Herych <heniekk@gmail.com>
+# Contributor: Charles Lindsay <charles@chaoslizard.org>
+
+pkgname=vhba-module
+pkgver=20110416
+_kernver='2.6.39-ARCH'
+pkgrel=1
+pkgdesc="Kernel module that emulates SCSI devices"
+arch=('i686' 'x86_64')
+url="http://cdemu.sourceforge.net/"
+license=('GPL2')
+depends=('kernel26>=2.6.39' 'kernel26<2.6.40')
+makedepends=('kernel26-headers>=2.6.39')
+install=vhba-module.install
+source=(http://downloads.sourceforge.net/cdemu/$pkgname-$pkgver.tar.gz)
+md5sums=('2f91dd4ee8648da92d625221d4275b60')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make -j1 KDIR=/usr/src/linux-${_kernver}
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ install -D vhba.ko "$pkgdir/lib/modules/${_kernver}/extra/vhba.ko"
+ sed -i "s/KERNEL_VERSION='.*'/KERNEL_VERSION='${_kernver}'/" "$startdir/vhba-module.install"
+}
diff --git a/community-testing/vhba-module/vhba-kernel2.6.37.patch b/community-testing/vhba-module/vhba-kernel2.6.37.patch
new file mode 100644
index 000000000..e2b619c74
--- /dev/null
+++ b/community-testing/vhba-module/vhba-kernel2.6.37.patch
@@ -0,0 +1,56 @@
+From 9ad7ec7fae387f05249b9f4e6accb3bc3b0b8b0f Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gmail.com>
+Date: Thu, 6 Jan 2011 03:39:26 -0500
+Subject: [PATCH] Make vhba compatible with kernel 2.6.37 SCSI host API
+
+Due to the SCSI host lock push-down changes introduced in 2.6.37 (see
+http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=f281233d3eba15fb225d21ae2e228fd4553d824a
+for more details), trying to use current vhba on 2.6.37 leads to oopses
+and kernel panics - e.g. see http://bugs.gentoo.org/show_bug.cgi?id=350753
+
+Add some #ifdefs to enable compatibility both with 2.6.37 and older API.
+Note that if future kernel versions remove the DEF_SCSI_QCMD macro, this
+issue will need to be revisited.
+
+Signed-off-by: Alexandre Rostovtsev <tetromino@gmail.com>
+---
+ vhba-module/vhba.c | 9 ++++++++-
+ 1 files changed, 8 insertions(+), 1 deletions(-)
+
+diff --git a/vhba-module/vhba.c b/vhba-module/vhba.c
+index 059f6ce..9d13016 100644
+--- a/vhba-module/vhba.c
++++ b/vhba-module/vhba.c
+@@ -27,6 +27,7 @@
+ #include <linux/miscdevice.h>
+ #include <linux/poll.h>
+ #include <linux/slab.h>
++#include <linux/version.h>
+ #ifdef CONFIG_COMPAT
+ #include <linux/compat.h>
+ #endif
+@@ -363,7 +364,7 @@ static void vhba_free_command(struct vhba_command *vcmd)
+ spin_unlock_irqrestore(&vhost->cmd_lock, flags);
+ }
+
+-static int vhba_queuecommand(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
++static int vhba_queuecommand_lck(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *))
+ {
+ struct vhba_device *vdev;
+ int retval;
+@@ -388,6 +389,12 @@ static int vhba_queuecommand(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmn
+ return retval;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
++DEF_SCSI_QCMD(vhba_queuecommand)
++#else
++#define vhba_queuecommand vhba_queuecommand_lck
++#endif
++
+ static int vhba_abort(struct scsi_cmnd *cmd)
+ {
+ struct vhba_device *vdev;
+--
+1.7.3.4
+
diff --git a/community-testing/vhba-module/vhba-module.install b/community-testing/vhba-module/vhba-module.install
new file mode 100644
index 000000000..edb9e8d2b
--- /dev/null
+++ b/community-testing/vhba-module/vhba-module.install
@@ -0,0 +1,16 @@
+post_install() {
+ echo ">> Place 'vhba' in MODULES= in /etc/rc.conf to enable vhba on system boot."
+ echo ">> This module needs to be recompiled for every kernel version upgrade."
+ KERNEL_VERSION='2.6.39-ARCH'
+ depmod $KERNEL_VERSION > /dev/null 2>&1
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ KERNEL_VERSION='2.6.39-ARCH'
+ depmod $KERNEL_VERSION > /dev/null 2>&1
+}
+